Mac os x
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

Mac OS X PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on
  • Presentation posted in: General

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, [email protected] OS X History. 1985, CEO Steve Jobs leaves Apple Creates NeXT Inc. NEXTSTEP

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.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, [email protected]


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


Mac os x

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/talks/comp342-macosx-darwin.pdf


Questions

Questions?


  • Login