1 / 20

Mac OS X

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 “t he power of UNIX with the simplicity and elegance of Macintosh. ”

cluckett
Download Presentation

Mac OS X

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mac OS X Cate Wardell Tim Miller Tina Han Kenan Shifflett Zach Debord

  2. 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

  3. 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

  4. Data Structures • Managed by Carbon • set of programming interfaces • restricts access to data structures • reduces wasted memory

  5. Data Structures • Central to Apple Events • how processes interact • structures govern the Events • basis for Object Oriented Programming

  6. Data Structures • Process Manager • scheduling, efficiency • File Manager • disk control, access • Memory Manager • restricted rights

  7. File Management • Mac OS Extended file system (HFS+) • Preferred • Standard file system (HFS) • Remains for compatibility

  8. File Management • Case sensitivity • Multiple data streams • Directory segregation • user • local • network • system

  9. Memory Management • Mach • Demand Paging • Connects virtual address to physical location in memory • Built-in Pagers • Default pager • Vnode pager

  10. Memory Management • Sharing Memory • Through vnode paging • Through inheritance • Copy-on-write = protected sharing

  11. 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

  12. Process Management • Switching • Major switch • Foreground and background processes switch • States • Suspended • Running • Sleeping

  13. Threads • Multithreaded processes • POSIX threads (pThreads) • Task • Provides resources to the threads • Thread • The point of control

  14. Scheduling • Time-sharing • Fixed-priority • Flexible framework • Additional policies can be added in future versions

  15. 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

  16. SMP (cont.) • Not supported in first release however • Latest release has preemptive multitasking • Protected Virtual Memory • Other features: FTP & Telnet

  17. Multitasking • Previously cooperative • Applications shared the CPU • Starvation possible • Now preemptive • Like Unix based systems • Tasks can be swapped out

  18. 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

  19. 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

  20. 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” Success or Failure?

More Related