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,

Slides:



Advertisements
Similar presentations
Slide 19-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 19.
Advertisements

Operating System.
Computer Hardware & Systems
14 Macintosh OS X Internals. © 2005 Pearson Addison-Wesley. All rights reserved The Macintosh Platform 1984 – first affordable GUI Based on Motorola 32-bit.
OS/2 Warp Chris Ashworth Cameron Davis John Weatherley.
IBM OS/2 CS450 Section 2 5:00PM Perpetrators: © Dario Berini, Derek Cole, Drew Hayes, Leigh Johann, Matt Kesler.
Computer Systems/Operating Systems - Class 8
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
CS 300 – Lecture 22 Intro to Computer Architecture / Assembly Language Virtual Memory.
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
OS Spring’03 Introduction Operating Systems Spring 2003.
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
1 DOS with Windows 3.1 and 3.11 Operating Environments n Designed to allow applications to have a graphical interface DOS runs in the background as the.
The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi
Operating Systems.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Prepared by: Nor Zuraida Bt Mohd Gaminan Department of IT & Communication Politeknik Tuanku Syed Sirajuddin Chapter 1 Introduction to Operating System.
Mac OS COMP 240. Mac OS OS X previously Mac OS X, is a series of Unix- based graphical interface operating systems developed, marketed, and sold by Apple.
Week 6 Operating Systems.
Windows 2000 Memory Management Computing Department, Lancaster University, UK.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 11 Case Study 2: Windows Vista Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
Apple inc. Think Different Name : Hassan A. Shurrab No. :
Mac OS X Stephen Ayers David Der Nathan Henkel Dan Hodos William Hunt.
Mac OS X Panther Operating System
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
IBM OS/2 Warp Mike Storck Matt Kerster Mike Roe Patrick Caldwell.
Operating Systems Lecture 7 OS Potpourri Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software.
Scott Ferguson Section 1
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
M a c O S X CS-450-1: Operating Systems Fall 2005 Matt Grady – Mike O’Connor – Justin Rains.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
OSes: 2. Structs 1 Operating Systems v Objective –to give a (selective) overview of computer system architectures Certificate Program in Software Development.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
I/O Software CS 537 – Introduction to Operating Systems.
Operating Systems Overview Basic Computer Concepts Operating System What does an operating system do  A computer’s software acts similarly with.
CEG 2400 FALL 2012 Linux/UNIX Network Operating Systems.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Systems Software / The Operating System CSC October 14, 2010.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Introduction to Operating Systems Concepts
Computer System Structures
Introduction to threads
Operating System & Application Software
REAL-TIME OPERATING SYSTEMS
Memory Management.
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
CS 6560: Operating Systems Design
Windows 95 & 98 Steve Boyle Mike Forster Maggie Hamill Nancy O’Brien.
Unit OS2: Operating System Principles
CS490 Windows Internals Quiz 2 09/27/2013.
Chapter 3: Windows7 Part 2.
Chapter 3: Windows7 Part 2.
Chapter 2: The Linux System Part 3
Operating Systems Lecture 2.
Lecture Topics: 11/1 General Operating System Concepts Processes
CSCE 313 – Introduction to UNIx process
Outline Operating System Organization Operating System Examples
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Presentation transcript:

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,

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 (

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 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 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 Scattered documentation System slow down DVD-R burn errors

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 Two processor modes: –User –Supervisor Multiprocessor capability –SMP

CPU Scheduling Preemptive priority scheduling Priority bands –Normal –System High Priority –Kernel Mode Only –Real Time Threads “Mach Thread API”

Process States Process states are actual thread states: –“ready to execute” → ready –“executing” → running –“stopped” → block

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 = 2 60 bytes)

VM controls 2 major address ranges Primary Address Range –Normal memory File mapping space –Created when Code Fragment Manager is loaded

Figure X: VM address ranges Source:

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 Two different approaches: 1.Stopping paging devices from causing page faults in the process of handling a read/write request 2.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 Two techniques: 1.Device Manager routines such as “_Read”, “_Write”, “_Status”, and “_Control” are patched to avoid parameter blocks passed to the device drivers. 2.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 Solutions: –Ensure the device managers did not cause a page fault –Disable user code while the SCSI bus is busy

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 When ATA hard disks were intoduced to Mac computers, SCSI software problems reappeared, only for the ATA disks. Similar problem, similar solution

Bibliography Steffen, D. (2002). “Mac OS X: The Darwin Kernel.” URL: alks/comp342-macosx-darwin.pdf

Questions?