Mac OS X Cate Wardell Tim Miller Tina

  • Slides: 20
Download presentation
Mac OS X Cate Wardell Tim Miller Tina Han Kenan Shifflett Zach Debord

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

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

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 (3 D), Quartz (2 D), Quick. Time (streaming) • Internet capabilities – E-mail, browsing, publishing

Data Structures • Managed by Carbon – set of programming interfaces – restricts access

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

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,

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

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

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

Memory Management • Mach – Demand Paging • Connects virtual address to physical location

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

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 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 •

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

Threads • Multithreaded processes • POSIX threads (p. Threads) • Task – Provides resources

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

Scheduling • Time-sharing • Fixed-priority • Flexible framework – Additional policies can be added

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

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

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

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

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

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 +

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”