The Macintosh Platform.

tlarkin

VIP Member
So, since everyone likes to toss in their opinions on the matter I would like to create a thread that only provides information. So, if you are going to make fan boy statements don't do it on this thread. This is solely for technical comparisons of the Macintosh platform to all others, be it: Windows, Linux, Unix, Solaris, PPC, x86, etc.

A good place to start is to start at the beginning, and how OS X and a Mac is designed. Apple has a wide range of employees. They have customer service reps, sales reps, service and support staff, engineers, software developers, hardware developers, etc. They design every aspect of their systems from the ground up. They design the hardware, the specs, the chip sets (with some exceptions of what Intel designs), the OS, the APIs, etc. Apple has also taken Unix and made it into their own version of an OS. Even though it is Unix, it is definitely it's own version. All apple applications have their own command line binary as well, which I will get into later on. So, when trying to compare what a Mac is to anything else you must take all of this into consideration. Like trying to compare an iMac to say a HP desktop is not really comparing the same thing. An iMac is an all in one system, and spec for spec it is priced actually OK, more so than most people realize. Which I will touch on later.

Why? Why would anyone want to use a Mac? I think it comes ultimately down to personal preference, but I also think that it comes down to features and benefits as well. When you buy a Mac, you are getting a complete package out of the box. When Apple says, out of the box you can do all of this, they are not kidding. With many PCs you can't accomplish that, and yes there have been tons of articles out there about how to get a PC close to a Mac with free software comparable to iLife and the like, but it still doesn't compare when we talk about features and benefits. If ultimately you dislike OS X, then a Mac is probably not for you, that being said however, does not make it an inferior or over priced product. Most people never take the time to learn the differences, and that is on both sides. Mac elitists never take the time to learn Windows or Linux and vice versa.

Pricing and comparing to other platforms. Like I said earlier, you can't really compare an iMac to a PC desktop because you can't build an All-In-One machine and when you compare it to other All-In-One machines, the iMac is far superior. For grins, let us compare shall you say, an entry level iMac to a custom built PC. Just to give everyone an idea of what it would take to build a machine comparable to an iMac. I won't take the time to dig through newegg or pricewatch and build the cheapest PC out there, but I will instead list of what an iMac is made of to give you an idea of the quality of the machine you are getting for the price. Here is the spec sheet:

http://store.apple.com/1-800-MY-APP...ome/shop_mac/family/imac&sf=wHF2F2PHCCCX72KDY

The first thing I notice is the built in 20" high resolution LED LCD that comes with the entry level iMac for $1200. I am sure that is at least a $350ish retail purchase right there, with out buying any other hardware. It also comes standard with built in WiFi (802.11ABGN), bluetooth, web camera, optical audio out, giga ethernet, media remote, IR sensor, and of course is really thin and takes up little space. So you must take all of that into consideration when comparing it. Apple also uses high quality components in their hardware, which is what they have always done. This also does not include the software, which goes back to what I was saying earlier, features and benefits. We have only touched on the hardware portion of it, and not even included the software portions of it. That we can get into later on.

Security. A lot of people will say that a Mac is more secure, and they are correct to make that assumption by design. However, the Mac is not immune to social engineering attacks and there are some out there that do hijack your Mac. However, given how the POSIX, and Unix permissions work (wikipedia search it for more info), technically from a design aspect Unix and Linux and all OSes of the like are more secure than windows. For one, Windows allows kernel hook access from drivers and applications, which is a big security no no, but at the same time I guess it does offer some robustness. Given how the world works, I personally would rather have security.

Software. This is always a huge debate. Macs don't have enough or the right software. This is just wrong. I have never ever not seen either a Mac version of a program or a Mac alternative. The only exception is gaming, and if that is a huge issue for you, you can just load windows on your Mac, and then there is zero application barrier. If you want to get into enterprise level networks and say that they don't work with AD environments, and exchange support, blah blah blah, sure that is true, but there are work around and there are ways to manage them in mixed environments, that is also a whole other subject, which I have a thread on that on another forum. If you want to read about Macs on the enterprise level you can do so here:

http://forums.macosxhints.com/showthread.php?t=61788

So, there really is no such thing as a Mac not being compatible, because it can do everything that any other platform can.

OS X, is the operating system of Apple and the Mac platform. It is a multi user environment that uses Unix memory management, and runs just like most OSes and a lot like BSD Unix, which it is based off of. There is the whole Kernel > shell > GUI environment. Apple's GUI is called Aqua, and it is an OpenGL driven GUI environment which allows for smooth eye candy effects while in operating mode. The multi tasking abilities built in are very streamlined. I honestly can't work anymore with out expose and spaces. I love out I can have 25 windows open at once and never have to minimize any of them with expose and spaces. The hierarchy of the system is just like the Unix/Linux tree, with some exceptions. That won't matter to most users, so I will keep it simple at first. OS X also has what you call self contained applicaitons and user level preferences. This is very advantageous over windows for several reasons. For one, you do not have a clunky, system wide registry. Every resource an Application needs is in the folder of that Application. The pros of this are as follows. I can move an application anywhere in my file system by simply drag and drop. There are no absolute paths or registry entries that are stopping me from doing this. This is great for rearranging and customizing how you want your filing system to work for you. Since it is a *Nix multi user environment all data is stored under your home directory. That also means all your preferences (.plist files) are also stored in your home directory (under ~/Library/Preferences). This is great for several reasons. In other platforms like windows when a preference for an application goes corrupted you can get things like registry errors that affect all users system wide. Since all preferences are kept at the user level in OS X, when this happens it only affects the user account in question. You can then go out and just delete that .plist file all together and the next time that application launches it will realize that there is no plist file at all, and create a new one. The easiest way to troubleshoot this type of problem is to create a new user account and if the problem does not duplicate then you know it is tied to your user account. Now, there are always exceptions to every rule and there are some Apps out there that are not 100% self contained but for the most part what I said holds true. Resource management is pretty much top notch, and it works a lot like most modern OSes, and Vista uses a lot of the similar things.

I can touch on advanced uses later on, but want to keep it simple, now for the criticisms.

Criticisms of OS X and the Mac platform:

There is no prosumer Mac out there. I think that this is sort of hurting Apple in a way. I mean the jump on their desktop models is iMac to Mac Pro, and a Mac Pro is overkill for 95% of computer users. They need to implement some sort of mid tower non All-In-One desktop system with a core 2 duo or a core 2 quad processor. Then allow users to add whatever HD and video card they want to it. This I think would get that pro-sumer market talking about how they aren't all over priced since most people don't take all features and benefits into consideration. Lack of third party support, but this goes both ways. Apple products have more quality control because it is a closed platform and the down side to that is you get less choices, this hurts consumers in some ways, but in others it is good because generally you get better reliability out of it. There are some basic features and technologies that OS X lacks that other platforms have. There is no system roll back at all, however there is time machine, and while time machine can do some of that stuff, to me it is, well not quite like a system roll back. I have had (on very rare occasion) a system update botch something and make it not work, and there was no way to roll back that system update. Lack of backwards compatibility, and this is another one that goes both ways. When developers have to keep lots of legacy code in their OS it does create a bloat, however, not everyone likes to upgrade all their software every OS release. Apple is a bit notorious for this, and it has happened to me in the past. However, with the release of 10.5 Apple finally started following and creating their own standards, so hopefully that will go away with future releases. Some developers of plug ins and open source software can't always update their product, so sometimes it never gets ported over to the next version. Windows does a pretty good job of backwards compatibility, but it also holds them back a bit as well. There is some lack of customization in the OS natively that can be done with third party apps, but a lot of users would like to see that built in. Their wireless has some issues and is not as controllable in other platforms. There is no way to hardware profile something out in the OS like you can in device manager.

If there are any specific questions to comparing the platform to anything or technical questions about networking, advanced usage, application support, etc, then ask them here.

DO NOT post fan boy comments from either side, I will move to have a mod delete any of those. This thread is to dispel any myths and misinformation about the whole, "Mac Vs every other platform debate."

I will give more examples later on.
 

tlarkin

VIP Member
Some advanced usage of OS X, this is where it shines. Shell scripting, Apple scripting, command line interfaces, etc.

Lets start with simple things that are built in and accessible via the command line:

Open up terminal...

Code:
say 'Welcome to OS X'

Your computer should talk to you, this is part of the command line interface that can access OS features and applications. it also allows you to script (automate certain things) as well.

Lets, say you set your machine up exactly how you want it. Then you create images of how you want in case you need to wipe it out and reload everything, which can be done for free with all kinds of goodies from this site:

www.bombich.com

If you are a Mac user, definitely hit that site up and you will thank me later on....

Now back to the example of the robustness of Unix. So, I have a certain partition schema set up, 50% of the HD goes to the OS, 50% to storage, and now I am going to create back ups to an external FW hard drive. However, since I took all the trouble of setting this up and my computer is important to me I am going to make some shell scripts to automate this process, so if I do have a system crash I can be back up in a few minutes rather than hours of downtime just reloading software.

Disk utility is the app used to create partitions and it has a command line binary called diskutil, so we can use it to help automate our custom schema. So, lets say that my drive crashes for whatever reason be it OS, or hardware failure, and I get a new drive in and want to copy my back ups right over with the right partition schema and be back up and running in no time. I can use a simple script with Bombich's free software to do this.

Code:
#!/bin/bash

#this will invoke disk util to create a 50:50 schema

/usr/sbin/diskutil partitionDisk disk01 2 HFS+ OS 50% HFS+ Storage 50%

That would create two partitions, each of them taking 50% of the total HD space and one named OS and one named Storage, now my syntax may be off and I didn't test this, so don't try to use it, but look at is as an example.

Then you can toss that simple script in the prescript folder in netrestore from the at previous link and when you run the restore of your back up image it will configure it and reimage it accordingly.

I'll post more examples when time permits or when questions are asked.
 

`PaWz

banned
Great thread, man.

Would you mind doing an in depth comparison of Mac vs Linux (specifically, ubuntu or similar)?
 

tlarkin

VIP Member
Great thread, man.

Would you mind doing an in depth comparison of Mac vs Linux (specifically, ubuntu or similar)?

Sure I can touch on that, and that is a world of difference. Then again there is a lot of cross platform between Mac and Linux with things like the Fink project.

I will need more time, maybe later when I have more I can write a mock up on it.
 

Kill Bill

Active Member
Great + I'm still writing the review on the MacBook pro also podcast capture doesnt work for me I need is it OS X Server

Also the speak thing is so cool
 
Last edited:

tlarkin

VIP Member
Great + I'm still writing the review on the MacBook pro also podcast capture doesnt work for me I need is it OS X Server

Also the speak thing is so cool

It wants you to connect to a pod cast server to publish your work, there are other ways to get it to work unfortunately I have yet to play with it that much, but I will take some time soon to learn all the ins and outs since at my work people will want to pod cast, and I think it can be a great educational tool.

Oh and you can have TONS of fun with the say command over ssh to your co-workers....Lets just say I have pulled a few harmless pranks!
 
Last edited:

mep916

Administrator
Staff member
This is a very balanced, through article, and I appreciate the fact that you took the time to write it. You have great fragments of Mac/OSX information spread throughout the forum, but it's nice to see everything compiled into one thread. I look forward to all the additional information you plan to provide, as I plan on purchasing a MacBook Pro sometime this year (probably after a graduate).

I've added a few tags, but apparently each user is only allowed two per thread. Can someone add "OS X" as a tag? Any other relevant tags would be useful.
 

tlarkin

VIP Member
OS X compared to Linux (Ubuntu - Debian)


Some of the first things you will notice when you compare OS X to a Linux distro is how OS X hides certain directories from it's user base. Directories like /etc, /var, /bin, /sbin, are all hidden from the end user, this is because they will never need them for anything in the GUI. You can of course have direct access via the command line, and can run anything as root via sudo. OS X is a lot like Debian based distros in the sense of how it handles the root account. Users that are in the Admin group, are also put in /etc/sudoers and allows them to execute root level commands via sudo from the command line. So, the root account doesn't even need to be enabled to gain root access. A lot of Linux and Unix distributions have followed this model, where as the Red Hat based ones still use the root account. You can however, in OS X enable the root account and I personally do use the root account for a few things, but only those few things. Otherwise I do everything from an admin account.

This brings up my next subject, accounts. In OS X there are several types of user accounts: root, admin, and simple. Root accounts have carte blanche to everything, and require no authentication. It is ideal to just stay out of the root account all together. Later on I can outline some times when it could be considered beneficial to run as root. Admin users, are users that are part of the Admin group and have full access to almost everything, however anything on the system level will require authentication to access. So really for best security practices you can create a simple account and an admin account. Use the simple account for daily use, so if you theoretically get any type of virus/malware/trojan on your system it would not have access to any system level folders with out the admin account's authentication. Then, when you do need authentication (installing updates, software, or making system wide changes) you don't have to log out of the simple account, but just use the local admin accounts credentials to allow it to install. This helps add to the layer of security that is Unix, and is one of the reasons why it is superior and why it is so hard to get a virus running rampart in the wild for the Unix/Linux platforms.

Package Management:

This is going to be some of the bigger differences. Apple has a few ways to install software. Either an image file of the application (via a .dmg file) which to install you simply drag n drop it into the directory you want to install, and since it is self contained (like I said earlier) installing and uninstalling are the simplest and quickest things to do on this platform. I can install Office 2004 on my mac in about 25 seconds, and voila its done. I just drag and drop the application folder from my network share onto the the machine I want to install it on and it is done. The other way to install packages is with Apple's package manager, which is an installation wizard that uses .pkg files. These are used when applications need to put resources in other folders. A lot of times they will need to put things in /Library or in /System to make the application work. So, you can't just drag and drop the application. Most of those things are admin or system level things. Like ARD admin needs files in several places, OS updates, networking software, so on and so forth. Most end user applications (with Adobe being an exception, but they have always been a pain to install) are simply all self contained, drag and drop installations. If you no longer want the Application, you simply trash it and be done with it and there is no messy uninstall process. Which is why a system registry is ultimately a bad idea.

Now, Debian/Ubuntu do some some simple GUI install packages via .deb files (.rpm for redhat based ones), and they have the command line package managers like APT. While these can be robust and awesome, they can also be a pain in the butt. I have had APT not find needed repositories sometimes and botch installs, but open source Linux doesn't quite have the money Apple does either.

Of course now in both OSes if you can get a hold of the binary of an application you can also do manual installs and compile it yourself. You may need to have X11 and developer tools installed on your Mac, which is free when you buy the OS, and you may have to do some advanced nerdy Unix configurations but you can get it to work. The nice thing about OS X is that it is already running both Samba and Apache out of the box, no need to add that at all. It is also running PHP and MySQL (as of 10.5) out of the box. So there is a lot more advanced things you can do out of the box with a Mac than you could before. The great thing about it being built in is that you don't have to mess with installation and configurations. I myself, have had hair pulling sessions when i download the "alphabet soup" of open source installers and only find myself having version conflicts and configuration errors for days on end.

If you were to compare OS X to a Linux distro, I would say Debain based ones come the closest in similarities.


Under the Hood

Now one of the greatest things Apple did was create their OS based off of Unix, and at the same time the end user would never ever once have to touch a command line, nor would they even know it was running Unix. That in itself is genius. Now, furthermore, what is even cooler than that, is putting command line binary for your built in applications. I can write apple scripts that run shell scripts, and automate applications and tasks. A lot of this stuff is not handy really to the average end user, but it is invaluable to advance users and system administrators. One example that an end user might want to fuss with is, lets say they have a good internet connection and a kick ass itunes library. You could open up ssh in your router and forward it to your mac, then remotely from any *nix or windows box even (w/ 3rd party) create an ssh session to your mac. Then tell your mac to run a script that could open up and run iTunes. Your itunes could be set to stream over the internet and you could access all your music at work or where ever and never have to physically transport anything with you to carry it. A simple open -a "itunes.app" from the command line will open up iTunes. Now you could write a script that open it up and then did a few things else. Like open a play list or start playing or what not. You can do that through apple scripting too, by this:

Code:
[COLOR="SeaGreen"]tell application "finder"
open iTunes.app
end tell[/COLOR]

Of course I am barely scratching the surface with this stuff, and several other lines of code can be used to automate even more things.

So, really when you look at OS X and say man that is really simple, that is just so simple, and then look at the advanced configurations under the hood and see how simple and complex it can be, it really starts to amaze you.

The down side to this, like running all Linux/Unix OSes, is that you will have to learn Apple's syntax for commands, and Apple's minor differences on how some commands are used. That however, is not exclusive to OS X, because every version of Linux has slightly different syntax and command line interfaces.
 

mep916

Administrator
Staff member
When you get get a chance, tlarkin, can you cover EFI? You know, how it compares to the BIOS and it's benefits.
 

tlarkin

VIP Member
When you get get a chance, tlarkin, can you cover EFI? You know, how it compares to the BIOS and it's benefits.

EFI stands for Extensible Firmware Interface. It allows hardware developers to develop robust full blown applications in firmware since now flash memory is so cheap. It also allows for higher resolutions and a full functional GUI, so you can have full on mouse and keyboard interaction in EFI. EFI boasts full legacy support for older BIOS like systems, but some things will be lost -- any application that was meant to access or read from a BIOS, like cpuz for example, won't be compatible with EFI. The developer will have to make a new one with EFI capabilities. The up side to that is that it can be way more robust.

Apple currently uses EFI in all the intel based systems, and is really the only major manufacturer using it. It most likely will be the future but since Microsoft couldn't get support out for Vista like it was suppose to, and has further said that there may not be any support for it, it hadn't caught on. That is until SP1 for Vista. It seems MS did finally toss in some EFI support, I guess better late than never, and MSI just announced the first EFI board for PCs.

EFI is owned by intel, but is part of a committee, and all the big players are on board. So, its not going to flop hopefully.

http://en.wikipedia.org/wiki/Extensible_Firmware_Interface#Device_drivers
 

Vizy

New Member
I know it might be pretty stupid. But i've always wondered:

Q: How come OS x opnly works on Mac hardware?


thnx tlarkin!
 

tlarkin

VIP Member
I know it might be pretty stupid. But i've always wondered:

Q: How come OS x opnly works on Mac hardware?


thnx tlarkin!

It has what is called a TPM in technology, or Trusted Platform Module. It is basically a ROM that sits on the hardware side of the system. If that ROM isn't present then the OS doesn't operate. Things like OS X x86 hack around the TPM to get it to load on non Apple hardware.
 

tlarkin

VIP Member
Buying a Mac and comparing it to a PC

Initial thoughts and preface

If you are thinking about buying a Mac, think of the reasons why you would want to buy one in the first place. Is it the platform, the features, the OS, the hardware, the look, or is it everything? If you are considering switching from Windows then there must be a reason why. Is it a bad Windows experience? Bordem? You want to learn something new? You want to expand your computer knowledge? I must admit when I first starting getting into computers the Macs were not my cup of tea. I was not a fan of the classic Mac OS. My first Mac I ever had was an older Quadro 6400 CDS Mac, 180Mhz PPC processor, 128mb of RAM, and a 3Gig HD. It was an old machine when I got it, and it was one that was being tossed out. My old boss at the time was a die hard Mac guy, and I could never figure out why because he was also a gamer. He helped me take some good components off a damaged system and solder them on to a failed system to frankenstein a working Mac. I took it home and started learning Mac. Thought it was OK, nothing special and didn't like it. At the time I was working in a Tech shop that did warranty repairs for Apple stuff, so it was in my interest to learn the Mac stuff. Plus every certification you got there meant a raise, so I was really doing it for that dollar an hour raise I get for passing the Mac cert. It also increased your bonus pay as well.

Then OS X came out and I was way more into Macs. A lot more than I was. OS X looked awesome, 10.0 (puma I think) was the prettiest OS I had ever seen. The Open GL in GUI rendering and window management was just total eye candy. However, 10.0 wasn't a huge impression on me. In fact I didn't really get into Macs until about 10.2, and that is when Apple started really improving their OS. After 10.2 I became about a 65/35 PC/Mac user. I was still using a PC most of the time. Mainly, because I was still an avid gamer at that point in time. I don't play games as often any more. Of course each release of OS X got me into the Apple platform even more, and now with 10.5 being out, I would say I am 60/40 Mac/PC using the Mac more now for almost everything. Everything I do that is work related is 100% on the Mac. I have no need for a windows machine, and I can manage windows boxes remotely from my Mac, which is dope. So, that is the preface.

Looking at what Mac is right for you

This comes down to some basic questions and how you intend on using your new Mac. If you are just looking for your basic basic machine, the Mini or the entry level iMac will suffice for you. Depending on if you have a monitor or are looking to buy one. If you want to some some more advanced things with your mac and possibly some light gaming the higher end iMac will be ideal for you. If you are a professional doing serious business, the Mac Pro is your buddy there. Now, here is one part of Apple that I do not agree with. They have no Pro-sumer (as they dub it) mid level mid range mid tower desktop, that allows a user a bit of customization.

For laptops this is quite easy. If you are a student or a professional doing basic productivity then a Macbook will suffice for just about everything. If you are a bit on the heavy side of applications a Macbook Pro will do you well. The Macbook Air is not meant to replace either laptop, but is an edition, one that where the user will need to run it for a long extended period of time in the field.

Things to consider when comparing, Apple has the standard following features in all their models pretty much.


  • *802.11 A/B/G/pre N WiFi
    *EDR Bluetooth
    *High quality LED screens (except the mini and Mac Pro)
    *Back lit keyboards
    *Gigabit Ethernet
    *iLife software suite
    *built in web cam (mini and mac pro excluded)

Other features of course is the ginormous amount of open source software you get access to, and the security of Unix. The robust command line interface. The intuitiveness of Apple and their OS, and most features you could ever think you might need, a lot of them are already there and built in.

So, if you want to compare make sure you take everything into consideration and you will see that Apple products are actually pretty competitively priced.
 

Vizy

New Member
It has what is called a TPM in technology, or Trusted Platform Module. It is basically a ROM that sits on the hardware side of the system. If that ROM isn't present then the OS doesn't operate. Things like OS X x86 hack around the TPM to get it to load on non Apple hardware.

Then how come an update to a 'hackintosh' can mess it up??? or am i mistaken?
 

patrickv

Active Member
They need to implement some sort of mid tower non All-In-One desktop system with a core 2 duo or a core 2 quad processor. Then allow users to add whatever HD and video card they want to it. This I think would get that pro-sumer market talking about how they aren't all over priced since most people don't take all features and benefits into consideration

yeah i've always wondered as to why Macs were not upgradable like you said above. people would really appreciate the fact that they have an Apple computer that they can put custom parts in
 
Top