Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Mac OS X Cate Wardell Tim Miller Tina Han Kenan Shifflett Zach Debord Mac OS X • Latest version in Apple’s line of operating systems – First “modern operating system” • Apple’s goals with Mac OS X: – To provide “the power of UNIX with the simplicity and elegance of Macintosh.” – To be “the first major computer company to make open source development a key part of its ongoing software strategy.” – Maintain loyal customer base and develop new customer base – Attract both personal and professional users – Boost profits Features • Kernel – Darwin: supports protected memory architecture, symmetrical multiprocessing, preemptive multitasking and virtual memory management • GUI – Aqua • Development tools – Carbon, Cocoa • Graphic levels – Open GL (3D), Quartz (2D), QuickTime (streaming) • Internet capabilities – E-mail, browsing, publishing Data Structures • Managed by Carbon – set of programming interfaces – restricts access to data structures – reduces wasted memory Data Structures • Central to Apple Events – how processes interact – structures govern the Events – basis for Object Oriented Programming Data Structures • Process Manager – scheduling, efficiency • File Manager – disk control, access • Memory Manager – restricted rights File Management • Mac OS Extended file system (HFS+) – Preferred • Standard file system (HFS) – Remains for compatibility File Management • Case sensitivity • Multiple data streams • Directory segregation – user – local – network – system Memory Management • Mach – Demand Paging • Connects virtual address to physical location in memory – Built-in Pagers • Default pager • Vnode pager Memory Management • Sharing Memory – Through vnode paging – Through inheritance • Copy-on-write = protected sharing Process Management • Information on Processes – Includes current state, address, size, type, creator, process serial number • All processes must be either foreground or background – Can only have one process in foreground • Process in current use by user – Can have multiple background processes • Processes can be background-only Process Management • Switching – Major switch • Foreground and background processes switch • States – Suspended – Running – Sleeping Threads • Multithreaded processes • POSIX threads (pThreads) • Task – Provides resources to the threads • Thread – The point of control Scheduling • Time-sharing • Fixed-priority • Flexible framework – Additional policies can be added in future versions Symmetric Multiprocessing • First time it has been supported since 1997 • Made possible through use of the latest Mach kernel • Kernel puts together standard virtual memory semantics with the abstraction of memory objects SMP (cont.) • Not supported in first release however • Latest release has preemptive multitasking • Protected Virtual Memory • Other features: FTP & Telnet Multitasking • Previously cooperative – Applications shared the CPU – Starvation possible • Now preemptive – Like Unix based systems – Tasks can be swapped out Deadlock Prevention • OS decides which process gets processor dedication • Program fails: Like UNIX, system does not crash, memory is flushed • Possibly less robust than preemptive multitasking Facilities for mutual exclusion • POSIX (Portable Operating System Interface) threads – mutexes: lock primitives that are used to control access to a shared resource – condition variables: variables that allow a thread to block its own execution until some shared data reaches a particular state Success or Failure? + Open Source License + Development tools + Crash protection + Backwards compatible + Program bundling + Service support - Limited software applications - Lacks CD and DVD support - Different look and feel - High memory requirements - Pay for “open software”