Help, Guides, and News on making the Switch To Apple Macintosh Computers
Mac OS X is able to mange the amount of time an application is using the processor. Mac OS X is capable of managing multiple applications at any given point in time by scheduling when an application can use the processor. It does this via a scheduler. Mac OS X can even pause or stop a running application (or task) to allow another task with a higher priority to get access to the processor. Applications get a chunk of time to work and this allows the operating system to quickly respond to changes in the system. A key benefit is that a single user can run numerous applications at the same time and run applications in the background while working with a different application. The upside is that Mac OS X can prevent an error-prone application from affecting the other running applications.
The UNIX core underlying Mac OS X provides a clean, modern, and efficient memory management system. Mac OS X implements “Protected Memory”, a memory management feature that gives each running application its own unique space (chunk) in the computer's memory (RAM). What's the upside to this feature? The key is that Mac OS X prevents the memory used by one running application to interfere and overwrite the memory used by another running application. What's even better is that the memory used by an application cannot interfere with the memory used by the operating system. This critical isolation feature gives OS X a crash-resistant capability. If any application becomes unstable, unresponsive, or crashes, the other running applications will not be impacted. Those other applications will continue to run and you won't loose data. What's more important is that the operating system will not crash and your Mac will not have to be restarted to recover from the failed application. All that needs to happen is that the application is shutdown or terminated. This is dramatically different from Windows where users see an application crash taking down not only the application but also other applications and in some cases, the entire system resulting in an unusable Windows system that can only be made operational after the computer is restarted.
This advanced feature of Mac OS X allows a single program to numerous things at once. Applications that support multithreading have more than one thread and each thread can do something unique. For example, you can burn a CD in iTunes while navigating the iTunes Store or playing a song. You can print a document from TextEdit while writing a new document. You can chat with two different people at the same time in iChat AV.
Multiprocessor Macs are quite common and have historically been available on professional Macs. Mac OS X automatically supports and thrives with more than one processor allowing all tasks and processes to take advantage of multiple CPUs. The benefit is that just about every program will see some degree of acceleration and performance increase. Mac OS X is even capable of evenly distributing the load across multiple processors and can do this for a single or multiple running applications. With the trend moving toward multi-core processors, Mac OS X is ideally positioned to capitalize on these recent processor advancements because it was designed with multiple processor support from inception. The inherent symmetric multiprocessing, preemptive multitasking, and multithreading capabilities of Mac OS X allows the current and future Intel based Macs to really kick it into gear.
Dynamic Memory (RAM) Allocation and Management
Mac OS X is capable of dynamically (on the fly) dealing with RAM requests from applications. From the time an application is launched, Mac OS X handles all the memory the application needs. At launch an application will request Mac OS X to give it as much RAM as it require and the request is honored if the memory is available. If the application needs more memory as it is running to accomplish tasks Mac OS X will provide more. The opposite is also true. If an application is holding onto memory it no longer needs, Mac OS X can dynamically take it back and provide it to other applications if needed. The benefit to the user is the memory is efficiently managed resulting in a more stable better performing system. All a user needs to do is launch an application and let Mac OS X handle the rest.