mac os x
Download
Skip this Video
Download Presentation
Mac OS X

Loading in 2 Seconds...

play fullscreen
1 / 21

Mac OS X - PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on

Mac OS X. December 5, 2005 Fall 2005 Term Project CS450 Operating Systems (Section 2) Darrell Hall, Ryan Lanman, Chris Sanford, John Suarez {halldl, lanmanrm, sanforcp, suarezjg}@jmu.edu. OS X History. 1985, CEO Steve Jobs leaves Apple Creates NeXT Inc. NEXTSTEP

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Mac OS X' - lavey


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
mac os x

Mac OS X

December 5, 2005

Fall 2005 Term Project

CS450 Operating Systems (Section 2)

Darrell Hall, Ryan Lanman, Chris Sanford, John Suarez

{halldl, lanmanrm, sanforcp, suarezjg}@jmu.edu

os x history
OS X History
  • 1985, CEO Steve Jobs leaves Apple
    • Creates NeXT Inc.
  • NEXTSTEP
    • based on Mach 2.5 and 4.3BSD
    • said to be ahead of its time
    • GNUstep (www.gnustep.org)
os x history1
OS X History
  • Meanwhile…Apple encounters problems:
    • Pink OS fails (joint effort by IBM and Apple)
    • Advanced OS Copland makes little impact
    • Considers purchasing
      • Windows NT, Solaris, and even Pink OS
  • Steve Jobs pitches NeXT technology to Apple
  • Apple agrees and purchases NeXT for $427 million dollars
os x history2
OS X History
  • NeXT-based system called Rhapsody
    • Two developer releases
  • OS X
    • Announced in 1997
    • Mac OS X Server and preview of desktop version become available in 1999
    • Mac OS X beta released on September 13, 2000
    • 10.0, “Cheetah” released on March 24, 2001
    • 10.1, “Puma” released September 29, 2001
    • 10.2, “Jaguar” released August 13, 2002
    • 10.3, “Panther” released October 24, 2003
the good of mac os x
The Good of Mac OS X
  • Aqua’s usability
  • Excellent FireWire support
  • Apple\'s iLife suite (iDVD, iMovie, iPhoto, iTunes, and GarageBand)
    • Metadata stored in a relation database
  • Power management
  • Zero configuration networking
the bad of os x
The Bad of OS X
  • Scattered documentation
  • System slow down
  • DVD-R burn errors
os x success potential
OS X Success/Potential
  • 10 to 15 million OS X ready Macs worldwide
  • Mac OS userbase: 25 million worldwide
  • 26% share of US education market
  • 85% share of US graphics professionals market
  • > 1 million shrink-wrapped copies of OSX sold
  • Apple has become the largest UNIX vendor in history
  • Linux: 12 million users worldwide (linux.org)

(Steffen, 2002)

processor overview
Processor Overview
  • Two processor modes:
    • User
    • Supervisor
  • Multiprocessor capability
    • SMP
cpu scheduling
CPU Scheduling
  • Preemptive priority scheduling
  • Priority bands
    • Normal
    • System High Priority
    • Kernel Mode Only
    • Real Time Threads
  • “Mach Thread API”
process states
Process States
  • Process states are actual thread states:
    • “ready to execute” → ready
    • “executing” → running
    • “stopped” → block
system 7 style virtual memory
System 7-style Virtual Memory
  • Each page: 4 KB
  • Processes are given either a 32 or 64-bit virtual address space
    • 32-bit address can grow to 4 gigabytes
    • 64-bit address can grow to 18 exabytes
      • (exabyte = 260 bytes)
vm controls 2 major address ranges
VM controls 2 major address ranges
  • Primary Address Range
    • Normal memory
  • File mapping space
    • Created when Code Fragment Manager is loaded
slide13

Figure X: VM address ranges

Source: http://developer.apple.com/technotes/tn/pdf/tn1094b.pdf

implementation
Implementation
  • System 7 VM implementation has 5 difficulties:
    • prevention of fatal page faults
    • running old drivers
    • a synchronous SCSI manager
    • An asynchronous SCSI manager
    • an ATA manager
prevention of fatal page faults
Prevention of Fatal Page Faults
  • Two different approaches:
    • Stopping paging devices from causing page faults in the process of handling a read/write request
    • Virtual Memory stops code that may cause a page fault (referred to as “User code”) from executing with another page fault is currently being handled
old drivers
Old Drivers
  • Two techniques:
    • Device Manager routines such as “_Read”, “_Write”, “_Status”, and “_Control” are patched to avoid parameter blocks passed to the device drivers.
    • The entire system heap is held.
      • Doing so prevents device drivers from causing a page fault while accessing their own code
synchronizing the scsi manager
Synchronizing the SCSI manager
  • Solutions:
    • Ensure the device managers did not cause a page fault
    • Disable user code while the SCSI bus is busy
asynchronous scsi manager
Asynchronous SCSI manager
  • Problem: With the current Virtual Memory Manager, user code quite commonly takes page faults while interrupts have been disabled. However, the asynchronous SCSI manager needs these interupts to complete its operations.
  • Solution: Patching “vSyncWait” to poll the SCSI hardware looking for interrupts
    • Not pretty, but it works
ata manager
ATA manager
  • When ATA hard disks were intoduced to Mac computers, SCSI software problems reappeared, only for the ATA disks.
  • Similar problem, similar solution
bibliography
Bibliography
  • Steffen, D. (2002). “Mac OS X: The Darwin Kernel.” URL: http://www.maths.mq.edu.au/~steffen/t alks/comp342-macosx-darwin.pdf
ad