|< Day Day Up >|
Understanding Process Management
Tiger is composed of many different cooperating processes. This is not particular to Mac OS X, but is also the norm for Unix. Instead of a monolithic OS and user interface environment, Unix and (even more so) the Mach kernel on which Mac OS X is based both operate as collections of a large number of cooperating programs. These programs create the illusion and functional experience of a seamless interface but provide considerably more flexibility in the user's ability to modify things to suit his particular needs.
For example, with Classic Mac OS, you're used to having a clock in the menu bar, and having the option to turn it on or off and perhaps set the font. This functionality is a built-in part of the operating system and user interface. With Unix, if you want a clock, you run a separate program that displays a clock. Because the clock is a program and not an integral part of the operating system, it can be any program. By selecting different programs, the clock can be made to appear as any type that you choose, anywhere on the screen that you choose.
It might take a while for you to come to appreciate the flexibility that this "everything is a process" idea of building operating systems provides for you. Monolithic operating system and user interface environments have the advantage of being able to guide the user somewhat more strictly. They also are able to "guarantee" some types of responsiveness in ways that can't be done when all the user interface components are controlled by separate programs. Many of the things we will say are advantages of the Unix environment such as processes that run and provide some sort of functionality with no user interface (background processes), or programs that start at some prespecified time you might think are not so impressive because they were available in earlier versions of Mac OS. It is true that these advantages have been available. But as much as we love the Mac OS, we have to admit that they have been, at best, hacks; attempts to implement what you now have available to you: the Unix way of managing processes.
|< Day Day Up >|