Summer of Mac Love - Week 7 - Foundations

August 22, 2008 – 3:47 pm

An age old parable describes the folly of building your house on a foundation of sand. The parable describes two houses, one built on a rock foundation and the second built on a foundation of sand. The parable continues to describe rains and floods that batter the two houses. After the storms recede only the house built on the stone foundation is left standing. Last week I covered the differences between the hardware of OS X and Windows. If the hardware can be considered the first building block of a computer platform, the foundations of the operating system can be considered building block two. The philosophical differences that we began to explore last week become even more apparent when the foundations of the two operating systems are compared.

The Facts

All current versions of Windows are built upon a MS-DOS foundation.

Apple Macintosh computers are certified Unix computers.

Unix was created by Bell Labs, a division of AT&T, in 1969.

MS-DOS was first released in 1981..

56% of all websites on the Internet are on a Unix server.

The Criteria

  • Capability: Does the tool perform the job?
      The core or foundation of an operating system can be accessed via the command line interface or CLI. Comparing the functionality available via the CLI provides the most direct evaluation of the capability of the operating system.
  • Availability: Is the tool available and working correctly when it is needed?
      Availability at the foundation level must consider both vulnerabilities and the ability to recover from any issue. Vulnerabilities in this sense encompass malware as well as malfunctioning software.
  • Usability: Is the user able to intuitively work the tool?
      As I stated previously the command line interface is the most direct interface to the foundation of the operating system. Throughout this series of articles the perspective used has been that of the typical end user. The CLI is not user friendly, nor should it be, on either platform. For this reason usability is irrelevant to this comparison.
  • Efficiency: Does the tool perform the job with as little effort as possible?
      Obtaining a useful metric for comparing the efficiency of the OS foundations remains elusive. The closest comparison would be the hardware requirements and this topic was covered last week. Rather than rehash this issue efficiency will be considered a non-factor for purposes of comparison.

The Results

  • Capability: Does the tool perform the job?
      Every action that can be performed on a Unix computer via the graphical user interface can also be performed via the command-line interface. This cannot be said of the DOS command-line interface. While many of the functions of the Unix command-line interface have been ported and added to DOS, these functions are but a subset of what is available on the Unix platforms. This advantage is derived from the fact that the Graphical User Interface of Unix systems is simply layered on top of the CLI. Unix systems have historically been used more heavily as a server platform. In many if not most of these cases the server had to be accessed via the command-line due to the fact that the server administrators did not have physical access to the machine. In order to perform administrative functions there only access was via the command-line interface in the form of a remote terminal session. This fact required that all functions be available via the command-line and all development was predicated upon this function. The graphical user interface was simply an add-on or luxury. The benefit of this functionality is in speed and troubleshooting. Most experienced system administrators will tell you that they can perform tasks via the CLI much quicker than via the GUI. A second advantage lies in troubleshooting. Troubleshooting a computer in its most simple form involves removing the sources of trouble one by one until the problem can be found. Having full control of the computer via the CLI removes the GUI as a source of problems. Perhaps the most obvious indicator of the deficiency of the Windows CLI was the Monad CLI that was to be included with Vista. One of the most cited advantages of the Unix CLI is its scripting ability or the ability to automate tasks via the CLI. Monad was created by Microsoft to address the scripting short comings of the Windows CLI. However Monad was pulled from Vista as it was discovered that it made writing viruses targeting Vista far easier.
  • Availability: Is the tool available and working correctly when it is needed?
      The fact that the Monad CLI pulled from Vista to prevent virus outbreaks speaks to both the vulnerability of the CLI and obviously Windows itself. Without rehashing details previously covered the Unix platform has proven to be more stable and more secure than Windows. The fact that the mission critical servers of companies such as Amazon, eBay, Google and countless others run some variation of Unix speaks to the availability advantage of Unix systems. As mentioned in the articles covering the installation and removal of software in OS X, the fact that programs are independent entities and can be added and removed without affecting the operation of the OS. The architecture of Unix is directly responsible for this fact and the resulting increased availability. The security of the operating system also has a direct affect on availability. As established in our article on malware the Unix platforms in general and OS X in particular are less venerable to malware attacks furthering the availability advantage of OS X.

The Winner

A house as only as good as the foundation that it is built upon. The same can be said of computing platforms. The Unix platform which has been in development since 1969 was designed as a multi-tasking, multi-user platform from the beginning. Additionally the Unix platform has had networking built-in from day one. The Windows platform was not designed with these capabilities in mind. Windows was designed for the personal computer which was a single user environment that did not include networking. These functions were seen as server features that were not necessary for the personal computer user. However as the Internet developed and the Web emerged, Windows was left adding features to already shaky foundation. The desktops and laptops that we take for granted would have been the most powerful supercomputer in existence when both Unix and Windows were being developed. Unix, however was already several steps ahead as the servers of the time have become the personal of today. Unix platforms have always been more powerful, reliable and extensible than their Windows counterparts. Their downfall however was the user interface, where Windows was much more user friendly. OS X combines the powerful foundations of Unix with a user interface that surpasses Microsoft Windows.

Another win for OS X:
OS X 7 Windows 0

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google
  • E-mail this story to a friend!
  • StumbleUpon
  • Technorati

Post a Comment