MAC OS Architecture and its Features
- The architecture of macOS describes the layers of the operating system that is the culmination of Apple Inc.’s decade-long search and development process to replace the classic Mac OS.
- MAC OS provides many benefits to the Macintosh user and developer communities.
- These benefits include improved reliability and performance, enhanced networking features, an object-based system programming interface, and increased support for industry standards.
- In creating OS X, Apple has completely re-engineered the Mac OS core operating system.
- Forming the foundation of OS X is the kernel. The figure illustrates the OS X architecture.
- The kernel provides many enhancements for OS X. These include preemption, memory protection, enhanced performance, improved networking facilities, support for both Macintosh and non-Macintosh file systems, object-oriented APIs, and more.
- Moreover, Two of these features, preemption and memory protection, lead to a more robust environment.
- In Mac OS, applications cooperate to share processor time.
Mac OS is a cooperative multitasking environment.
- So, The responsiveness of all processes compromised if even a single application doesn’t cooperate.
- On the other hand, real-time applications such as multimedia need to assured of predictable, time-critical, behavior.
- Moreover, The kernel provides enforcement of cooperation, scheduling processes to share time (preemption). This supports real-time behavior in applications that require it.
- In MAC OS, processes do not normally share memory.
- Instead, the kernel assigns each process its own address space, controlling access to these address spaces.
- Also, This control ensures that no application can inadvertently access or modify another application’s memory (protection).
- Size is not an issue; with the virtual memory system included in OS X, each application has access to its own 4 GB address space.
- All applications are said to run in user space, but this does not imply that they share memory.
- Userspace is simply a term for the combined address spaces of all user-level applications.
- Moreover, The kernel itself has its own address space, called kernel space.
- In MAC OS, no application can directly modify the memory of the system software (the kernel).