When Apple introduced the Macintosh on Jan. 24, 1984, it wasn't the first computer to sport a graphical user interface (GUI) on top of its operating system (OS), but it was an early success in the consumer market. At the time, most consumer computers used text-based command lines. Computer owners had to learn numerous commands to navigate file systems and run applications. The Macintosh GUI seemed like a big leap ahead -- so much so that other companies began to invest in creating their own GUI OS.
A quick glimpse at today's Mac OS X reveals that the GUI is stronger than ever. But the current Mac operating system owes a lot to other computer projects, some of which weren't under Apple's leadership. To understand how OS X works, you have to know its history.
Shortly after the debut of the Macintosh there was a power struggle in the executive levels of leadership at Apple. Co-founder Steve Jobs found himself pushed to the edges of the company and eventually resigned. In 1988, Jobs went on to spearhead a project he called the NeXT Computer, which ran on an operating system called NEXTSTEP. Meanwhile, Apple continued to develop the Mac operating system.
Ultimately, NeXT received little traction in the computer market, though it was used in some high-profile applications. For example, World Wide Web founder Tim Berners Lee designed the first Web page using a NeXT computer [source: CERN]. And the executive power struggle at Apple continued as the company struggled to remain relevant. It was facing stiff competition with Microsoft's Windows OS. Apple executives considered purchasing or leasing an operating system from several different sources, including IBM. Ultimately, a phone call from Steve Jobs to Apple convinced the company to acquire NeXT in order to use its OS in Mac computers. This meant Steve Jobs was once again part of Apple.
Apple began to incorporate NeXT technology with the Mac OS. Apple also began to integrate features from a failed internal OS project codenamed Copland. In September 1997, Jobs became the interim CEO of Apple. A year later, he announced that Mac OS X -- the 10th generation of the Macintosh operating system -- would debut in 1999. On March 16 of that year, Jobs revealed the first build of Mac OS X to a group of developers. While the technical name for the operating system is Mac OS X 10.0, the company gave it the codename Cheetah. Since that first release, all OS X versions have a big-cat nickname. The most recent version as of the writing of this article is Mac OS X 10.7, also known as Lion.
Now that we've got some basic history out of the way, let's take a quick look at what operating systems actually do.
The Purpose of Operating Systems
What's the big deal about operating systems in the first place? What do they actually do? An operating system is the level of programming that lets you do things with your computer. The operating system interacts with a computer's hardware on a basic level, transmitting your commands into language the hardware can interpret. The OS acts as a platform for all other applications on your machine. Without it, your computer would just be a paperweight.
At its heart, a computer is a number-crunching device. It takes input in the form of zeros and ones -- bits -- and channels them through various circuits and processors. The hardware behaves according to strict rules. We define these rules using things like logic gates, which take input and produce an output in a predictable way. Some simple computers have no need of an operating system because they only perform a specific task. But personal computers need to be more versatile. The operating system allows complex programs to access the capabilities of the hardware to get results. Only the hardware's physical properties and our own imaginations can limit what programs can do.
You could design an operating system by physically programming it into a computer's circuits. This would require building electrical pathways using millions of logic gates. But such an operating system would be inflexible. That's why operating systems like Mac OS X and Windows are software. Software is more malleable than hardware -- you can make changes through software patches and version updates. To do the same with hardware would mean switching out physical chips and circuit boards.
Operating systems are like the manager for a computer. It's the job of the OS to monitor what software needs and what the hardware can provide. As you run applications on your computer, the OS allocates the resources necessary to complete the task. That can include processing power, memory allocation and computer storage access, among other things. Ideally, the OS will make sure that your computer's hardware is never overtaxed.
The OS also allows programs to run on a computer. Without an OS, a programmer would have to design an application to run on the hardware directly. This isn't very efficient. An operating system acts as an application interface to the hardware. The OS does this through an application program interface (API). Program developers build applications for the API. Assuming the programmer has done a good job at building an application without any serious bugs, it should run just fine on the operating system.
One important part of the Mac computer is the firmware. Firmware is a level of programming that exists directly on top of a hardware layer. It's not part of the operating system itself. The Mac firmware is the first stored program that executes when you turn on a Mac computer. Its job is to check the computer's CPU, memory, disk drives and ports for errors. The PC equivalent to the Mac firmware is called BIOS, which stands for basic input-output systems. A second program called a bootloader loads the Mac OS X, assuming there are no errors reported by the firmware.
Next, we'll take a closer look at what makes the Mac OS X tick.
The Anatomy of Mac OS X
The heart of the Mac OS X is the XNU kernel. The kernel refers to the part of an operating system that loads first. It controls and monitors hardware resources like memory, CPU processor allocation and disk drives. The XNU kernel includes code from an old computer architecture system called Mach. Mach is a product of Carnegie Mellon University and has been around since the 1980s. This code is responsible for some basic functions within the Mac computer, including virtual memory management and multitasking. The code also gives the Mac OS the authority to reduce the CPU's processing speed should it begin to overheat.
Another part of the kernel is the Input-Output (I/O) Kit. It relies on a specialized, limited version of the C++ programming language to control device drivers. Device drivers are what allow external devices to interact with your computer. For example, your printer may require a device driver on your computer so that you can print from your machine. Handling all the requests and information moving from your computer to other devices -- and vice versa -- is a demanding job. The I/O Kit enables a Mac computer to handle several devices over different technologies at the same time. That's why you can connect devices to a Mac using USB, FireWire and Thunderbolt cables simultaneously.
The third part of the XNU kernel is your computer's security guard and bouncer. Based on the Berkeley Software Distribution (BSD) derivative for UNIX, this part of the kernel is in charge of maintaining system securities and permissions. When you log in to a Mac computer the BSD determines your level of access. An administrator would have nearly free reign and could download or delete programs and other data. Other user levels might not have such liberal permissions. This lets the administrator define which processes a normal user can and can't access. The BSD element of the XNU kernel also helps synchronize processes in the Mac computer.
Also part of Mac OS X are the core services layer and the application services layer. Together with the kernel and hardware, these layers form what computer engineers call a stack. A stack is just a way to conceptualize the relationship of the various layer of a computer's software and hardware. At the bottom of the stack you'll find the hardware and firmware. The next level up is the OS kernel. After that you'll find the core services and then the application services layer. The applications themselves are at the top of the stack.
The core services component of Mac OS X consists of multiple frameworks that allow the computer to process tasks like text searches in various languages and system APIs. The applications services layer is the basic graphic user interface (GUI) system. This is the layer the typical user will see -- it's what creates the graphics environment. The application services layer also acts as a communications channel between various applications, allowing them to interact.
Next, let's look at some Mac OS X features.
Mac OS X Features
With Mac OS X Lion, Apple introduced some new features. Mac OS X supports multi-touch gestures. That means if you're using a Mac computer with either a touchpad or a Magic Mouse, you can execute certain commands using multiple touch points and performing a particular motion. The typical example is using a pinching motion to zoom out of a photo. Moving two fingers toward each other on a touchpad or Magic Mouse will cause a selected image to shrink on the screen. There are several different gestures preset in the Mac OS X system.
Another recent feature is the use of full-screen apps originally intended for Apple's mobile devices running iOS. Apple has increased the awareness of apps in the market with products like the iPhone and iPad. The company now allows Mac owners to purchase apps online through the Mac App Store. Mac OS X Lion can display these apps as full-screen applications, giving the user the maximum amount of screen real estate. You can run multiple apps this way and switch between them as often as you like.
Want to see all the applications running on your Mac? You can use Mission Control to get a quick glimpse at every application that's currently running on your computer. It's sort of a graphical version of Windows task manager -- instead of a list of programs you'll see each application represented as its own window. Similarly, the Launchpad feature lets you see all of your apps laid out in a grid with each app represented by an icon. If you had another application open at the time you open Launchpad, the program's window will fade away while you decide which app to launch next.
For those of you who may be a little absent minded, Mac OS X Lion has a feature that might save your skin. There's an auto-save feature that will help prevent you from losing work. There's also a feature called Versions that will display the history of the documents you worked on. If you decide your work is heading in the wrong direction, you can go back to an earlier version and start from there without having to throw out the whole document.
If you want to use a Mac computer as a server for your home network, Mac OS X Lion includes a feature that simplifies the setup process. And the AirDrop feature is useful for sharing. When you run AirDrop, your Mac can connect wirelessly to any other computer also running AirDrop. You don't have to be on a Wi-Fi network together. This means you'll be able to share files across Mac computers whether there's a larger network in place or not.
As far as accessibility goes, Mac OS X Lion's VoiceOver feature allows visually impaired people to access their computers more easily. For example, the computer can read documents out loud. The operating system includes voices that speak in 22 different languages. There's also a Braille verbosity setting that lets visually impaired users define exactly how much information they get back when using various applications on the Mac.
There are hundreds of features on the Mac. Some, like the video chat service Facetime, Apple first introduced on platforms like the iPhone. Others are unique to Mac computers. But to go through them all would require a book's worth of space!
One thing you can do with a Mac is change your computer's IP address. We'll learn how and why you might want to do that in the next section.
Changing your IP Address on Mac OS X
An IP address is like an identity on the Internet. All computing devices connected to the Internet have an IP address. Sometimes, that address is static -- that means the address remains the same and the device will always have that address when connected to the Internet. Other addresses are dynamic, which means the device could potentially have a different IP address each time it connects to the Internet. Once connected, the IP address will remain constant but if the device disconnects and reconnects it may have another address.
Why would you change your IP address? Sometimes your computer's IP address may have a conflict, either due to another device having the same address or your address format doesn't let you access the Internet. But there are a few reasons people want to change their computers' IP addresses that are on shaky ground from an ethical standpoint. Some services will block devices that have IP addresses from certain regions. The service might be a game, music service, video service or general Web site. If the system detects that you are from a region outside of its area of service, you won't be able to access it. Changing your IP address to one that appears to be from another region can grant you access.
Another reason people choose to change IP addresses has to do with getting blocked or banned from a service. A relatively easy way to ban a user is to block that user's IP address. But if you change your IP address it's like you're wearing a disguise.
Perhaps you want to protect your privacy while browsing sites and services. Changing your IP address and using a Web proxy can help protect your identity, which can come in handy if you're worried that someone might be snooping on you. People who live in regions that have oppressive or restrictive governments may use Web proxies to access information and communication systems that they otherwise wouldn't be able to reach.
If all you need is a new IP address because you're having network issues, follow these steps:
- Close out of any applications that are connected to the Web.
- Click on the Apple menu and choose System Preferences.
- Go to the View menu and choose Network.
- Go to the Show menu and choose Active Network Ports.
- Click to deselect the checkbox for the port you use to connect to the Internet.
- Click Apply Now, reselect the port checkbox and click Apply Now again.
- Open a Web browser and try to connect to a Web page.
- If this doesn't work, power cycling your modem (turning it off, waiting a few seconds and turning it back on) may help.
Keep in mind that this method will only reset your Mac's IP address to a new one within the same region. This method won't let you skirt laws and policies to let you view content that is off limits to you normally. To do that, you would need to use a Web proxy service. Such services may not be entirely reliable since many governments and companies frown upon them.
To learn more about operating systems and related topics, take a look at the links on the next page.
More Great Links
- Pure Darwin (Aug. 9, 2011) http://www.puredarwin.org/developers/xnu
- Singh, Armit. "What is Mac OS X?" OS X Books. December 2003. (Aug. 4, 2011) http://osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html
- Kibsgaard, Bjornar. "History of Mac OS X." 2011. (Aug. 4, 2011) http://www.all-about-apple.com/history-of-mac-os.html
- CERN. "Tim Berners-Lee's original World Wide Web browser." 2008. (Aug. 4, 2011) http://info.cern.ch/NextBrowser.html
- Computer Hope. "Apple OS History." (Aug. 5, 2011) http://www.computerhope.com/history/macos.htm
- Apple. "Mac 101." 2011. (Aug. 4, 2011) http://www.apple.com/support/mac101/work/
- Apple. "OS X Lion." 2011. (Aug. 4, 2011) http://www.apple.com/macosx/
- Apple. "Mac OS: How to release and renew a DHCP lease." Feb. 15, 2011. (Aug. 11, 2011) http://support.apple.com/kb/TS1920