CS34 2012-12-06 CS 134: Operating Systems Definitions, Abstractions, Taxonomies, Early History CS 134: Operating Systems Definitions, Abstractions, Taxonomies, Early History 1 / 36
Overview CS34 Overview 2012-12-06 What Is an OS? Overview History Hardware What Is an OS? History Hardware 2 / 36
What Is an OS? What is an Operating System Anyway? CS34 What is an Operating System Anyway? 2012-12-06 What Is an OS? Class Exercise: Devise three separate definitions. Discuss. What is an Operating System Anyway? Several slides follow that aren’t on handout. Class Exercise: Devise three separate definitions. Discuss. 3 / 36
What Is an OS? It’s A Programmer’s Toolkit CS34 It’s A Programmer’s Toolkit 2012-12-06 What Is an OS? Provide useful functionality to programs: ◮ Prevent duplicated work It’s A Programmer’s Toolkit ◮ Promote reuse Provide useful functionality to programs: ◮ Prevent duplicated work ◮ Promote reuse 4 / 36
What Is an OS? It’s a Control Program CS34 It’s a Control Program 2012-12-06 What Is an OS? Provide the rules for the how the machine will operate: ◮ Control the operation of the I/O devices It’s a Control Program ◮ Ensure smooth running of the machine Provide the rules for the how the machine will operate: ◮ Control the operation of the I/O devices ◮ Ensure smooth running of the machine 5 / 36
What Is an OS? It’s an Abstraction Layer CS34 It’s an Abstraction Layer 2012-12-06 What Is an OS? Make the machine “nicer”, easier to program, higher level. . . ◮ Hide some of the idiosyncrasies of the machine ◮ Provide functionality the underlying machine doesn’t have User It’s an Abstraction Layer Application Operating System Hardware Make the machine “nicer”, easier to program, higher level. . . ◮ Hide some of the idiosyncrasies of the machine ◮ Provide functionality the underlying machine doesn’t have User Application Operating System Hardware 6 / 36
What Is an OS? It’s an Abstraction Layer CS34 It’s an Abstraction Layer 2012-12-06 What Is an OS? Make the machine “nicer”, easier to program, higher level. . . ◮ Hide some of the idiosyncrasies of the machine ◮ Provide functionality the underlying machine doesn’t have User It’s an Abstraction Layer Application Java environment Classic Carbon Cocoa (JDK) BSD BSD Application Application Services QuickTime Operating System Core Services Kernel environment Hardware Make the machine “nicer”, easier to program, higher level. . . ◮ Hide some of the idiosyncrasies of the machine ◮ Provide functionality the underlying machine doesn’t have User Application Java Classic BSD Carbon Cocoa BSD environment (JDK) Application Application Services QuickTime Operating System Core Services Kernel environment Hardware 6 / 36
What Is an OS? It’s a Virtual Machine CS34 It’s a Virtual Machine 2012-12-06 What Is an OS? OS provides an environment This environment can be seen as a “new machine”. . . Hardware —Physical machine + Core OS —Virtual machine It’s a Virtual Machine + OS Libraries —Virtual machine + OS Utilities —Virtual machine + Application —Virtual machine OS provides an environment This environment can be seen as a “new machine”. . . Hardware —Physical machine + Core OS —Virtual machine + OS Libraries —Virtual machine + OS Utilities —Virtual machine + Application —Virtual machine 7 / 36
What Is an OS? It’s a Protection Layer CS34 It’s a Protection Layer 2012-12-06 What Is an OS? Make the machine more robust—less scope for a bug to have devastating consequences ◮ OS does everything programs can’t be trusted to do It’s a Protection Layer ◮ OS makes programs play nice with others Make the machine more robust—less scope for a bug to have devastating consequences ◮ OS does everything programs can’t be trusted to do ◮ OS makes programs play nice with others 8 / 36
What Is an OS? It’s a Policy Enforcer CS34 It’s a Policy Enforcer 2012-12-06 What Is an OS? OS provides the mechanisms to enforce various policies It’s a Policy Enforcer OS provides the mechanisms to enforce various policies 9 / 36
What Is an OS? It’s a Policy Enforcer CS34 It’s a Policy Enforcer 2012-12-06 What Is an OS? OS provides the mechanisms to enforce various policies It’s a Policy Enforcer Class Exercise: Examples? OS provides the mechanisms to enforce various policies Class Exercise: Examples? 9 / 36
What Is an OS? It’s a Resource Manager CS34 It’s a Resource Manager 2012-12-06 What Is an OS? The operating system manages physical resources: ◮ Processor ◮ Memory ◮ Storage devices It’s a Resource Manager ◮ Network devices etc. . . The operating system manages physical resources: ◮ Processor ◮ Memory ◮ Storage devices ◮ Network devices etc. . . 10 / 36
What Is an OS? It’s a Resource Manager (cont’d.) CS34 It’s a Resource Manager (cont’d.) 2012-12-06 What Is an OS? The operating system manages virtual resources: ◮ Processes ◮ Files ◮ Users It’s a Resource Manager (cont’d.) ◮ Network connections ◮ Windows etc.. . . The operating system manages virtual resources: ◮ Processes ◮ Files ◮ Users ◮ Network connections ◮ Windows etc.. . . 11 / 36
What Is an OS? It’s a Product CS34 It’s a Product 2012-12-06 What Is an OS? Many operating systems are sold by commercial companies ◮ Market vs. technical considerations ◮ The operating system is what comes in the box marked It’s a Product “operating system” Many operating systems are sold by commercial companies ◮ Market vs. technical considerations ◮ The operating system is what comes in the box marked “operating system” 12 / 36
What Is an OS? Fundamental Abstractions CS34 Fundamental Abstractions 2012-12-06 What Is an OS? What are the (user-level) abstractions we’d expect to find in a modern OS? Fundamental Abstractions What are the (user-level) abstractions we’d expect to find in a modern OS? 13 / 36
What Is an OS? Fundamental Abstractions CS34 Fundamental Abstractions 2012-12-06 What Is an OS? Include. . . ◮ System calls ◮ IPC Mechanisms ◮ Processes ◮ Semaphores ◮ Threads ◮ Mutexes ◮ Address spaces ◮ Condition Variables ◮ Files ◮ Communications channels Fundamental Abstractions ◮ Files ◮ Pipelines ◮ Directories ◮ Network connections ◮ Filesystems ◮ Users ◮ Events ◮ (Remote) Hosts ◮ Asynchronous ◮ Synchronous Include. . . ◮ System calls ◮ IPC Mechanisms ◮ Processes ◮ Semaphores ◮ Threads ◮ Mutexes ◮ Address spaces ◮ Condition Variables ◮ Files ◮ Communications channels ◮ Files ◮ Pipelines ◮ Directories ◮ Network connections ◮ Filesystems ◮ Users ◮ Events ◮ (Remote) Hosts ◮ Asynchronous ◮ Synchronous 14 / 36
What Is an OS? It’s a Resource Manager CS34 It’s a Resource Manager 2012-12-06 What Is an OS? What are the “resources” that an operating system manages? It’s a Resource Manager What are the “resources” that an operating system manages? 15 / 36
What Is an OS? It’s a Resource Manager CS34 It’s a Resource Manager 2012-12-06 What Is an OS? The operating system manages physical resources: ◮ Processor ◮ Memory ◮ Storage devices It’s a Resource Manager ◮ Network devices etc.. . . The operating system manages physical resources: ◮ Processor ◮ Memory ◮ Storage devices ◮ Network devices etc.. . . 16 / 36
What Is an OS? It’s a Resource Manager (cont’d.) CS34 It’s a Resource Manager (cont’d.) 2012-12-06 What Is an OS? The operating system manages virtual resources: ◮ Processes ◮ Files ◮ Users It’s a Resource Manager (cont’d.) ◮ Network connections ◮ Windows etc.. . . The operating system manages virtual resources: ◮ Processes ◮ Files ◮ Users ◮ Network connections ◮ Windows etc.. . . 17 / 36
What Is an OS? Taxonomy of Computer Systems CS34 Taxonomy of Computer Systems 2012-12-06 What Is an OS? Different computer systems ask different things from their OS Taxonomy of Computer Systems Different computer systems ask different things from their OS 18 / 36
What Is an OS? Taxonomy of Computer Systems CS34 Taxonomy of Computer Systems 2012-12-06 What Is an OS? Different computer systems ask different things from their OS Class Exercise: Give some dimensions across which computer Taxonomy of Computer Systems systems vary Different computer systems ask different things from their OS Class Exercise: Give some dimensions across which computer systems vary 18 / 36
Recommend
More recommend