* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating System
Library (computing) wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Mobile operating system wikipedia , lookup
Burroughs MCP wikipedia , lookup
Distributed operating system wikipedia , lookup
Copland (operating system) wikipedia , lookup
Security-focused operating system wikipedia , lookup
Spring (operating system) wikipedia , lookup
Pipeline Summary  Pi Pipelining li i improves i performance f bby iincreasing i instruction throughput Datorarkitektur och operativsystem  Executes multiple instructions in parallel Lecture 6  Each instruction has the same latency  Subject to hazards  Structure, data, control  Instruction set design affects complexity of pipeline implementation (p.335) 1 Recap: Hazards  Situations that prevent starting the next instruction in the next cycle  Structure S hazards h d  A required resource is busy  Data hazard  Need to wait for previous instruction to complete its data read/write  Control hazard  Deciding on control action depends on previous i t ti instruction Chapter 4 — The Processor — 3 Chapter 4 — The Processor — 2 Components of a Computer Operating Systems Topics to be covered  Before proceeding to learn about memory and I/O (Input/Output), let us get introduced to Operating System Why? System.  What is an operating system?  Peek at the history of operating system  Learn the fundamental operating system concepts 6 Operating System versus Applications Operating p g System y (OS) ( )  What are the features provided by an OS ?  Both B th are programs, so what h t is i the th difference? diff ? 7 8 Operating System versus Applications Operating System vs Applications  Both B th are programs, so what h t is i the th difference? diff ? ISA: Processor:  We need to understand the difference between an end-user end user and a programmer  A computer system consists of  hardware  system programs  application programs 9 Operating System (OS) vs System Programs 10 What is an Operating p g System y ?  Compilers Compilers, editors … are not part of the OS even if they are bundled together  OS is only that part of the software that p mode, runs in kernel/supervisor Extended Extended machine:  like the clock interrupt handlers  Note: lines may be blurred  E.g., in embedded systems. Old embedded  It is an extended machine systems had no OS.  No p precise definition for OS – it is rather a collection of concepts  Hides the messy details which must be performed  Presents P user with i h a virtual i l machine, hi easier i to use 11 12 What is an Operating p g System y ? Resource management g  Resources:  Processor time, Printer, Memory, Hard Disk  Time sharing  If one program runs on a processor long enough, schedule another one  Printer : schedule them one by one and not one within each other Resource Manager:  Space sharing  It is a resource manager  Main M i memory is i divided di id d among severall programs  Each program gets time with the resource  Disks…  Each program gets space on the resource 13 14 History y of Operating p g Systems y Batch Processing g We will look only at some major points in history, mostly with a focus on the underlying principles i i l Early batch system     15 bring cards to IBM1401 IBM1401 reads cards onto tape Put tape on IBM 7094 which does computing putt ttape on IBM 1401 which hi h prints i t output t t 16 History y of Operating p g Systems y Drawback of Batch Processing  CPU bound versus I/O bound  CPU-bound scientific calculation p programs g are OK  But I/O wait time can be over 80% in commercial computations – meaning time between submitting a job and getting a result can be several hours • If a single comma makes a compilation to fail, fail programmer loses half a day!  SStructure off a typical i l Fotran F M i Monitor System S job j b (a ( program or a set of programs) 17 18 Timesharing (Multiprogramming) UNIX  Timesharing - switch CPU among jobs for prepre defined time interval  The CPU can provide interactive service to several users and also work on big batch jobs when it is otherwise idle  Most O.S. O S issues arise from trying to support multiprogramming –  An elegant timesharing system to follow CTTS  Became popular in academic world, government agencies and some companies  CPU scheduling scheduling, deadlock deadlock, protection protection, memory management, virtual memory …  CTSS (Compatible (C tibl Ti Time Sh Sharing i SSystem) t ) ffrom MIT 19 20 UNIX UNIX  Ken Thompson p and Dennis M. Ritchie  Turing award (“Nobel prize for computer science science”)), 1983  Source code was widely available,  Various organizations g developed p their own versions  This led to chaos!  For their development of generic operating systems theory and specifically for the implementation of the UNIX operating system  Also  Ken Thompson developed C at Bell Labs and Go at Google Inc.  Dennis M. Ritchie developed p C at Bell Labs 21 22 Berkeley Software Distribution From At&T Apple 23 24 Linux DOS  Linus Benedict Torvalds, born 1969, Finland  IBM IBM, in 1980s, 1980s inspired by Apple IIII, made their own PC  They wanted software to run on it and asked p y for Bill Gates’ small company recommendations on OS  He didn didn’tt have one but bought ‘Quick Quick and Dirty Operating System’ from another small S Seattle l bbased d company, re-tooled l d it, and d sold ld MS-DOS (Microsoft Disk Operating System)  The popularity of the PC led to a desire for a UNIX that ran on it. Many tried, but the most successful was written from scratch in 1991 by Linus Torvalds.  In addition to making the source code available, like BSD, he allowed everyone to make changes and submit them for inclusion in his next release. release Linux popularized open source development as we know it today, with such software getting hundreds of volunteers to test releases and add new features. 25 DOS 26 GUI  No protection, no processes, and no virtual memoryy  Targeted for single user  From Stanford Research Institute to Xerox pp Macintosh to Palo Alto Research Lab to Apple Windows …  Windows from 85 to 95, was GUI on top of DOS 27 28 Windows Others  Apple: iOS (Unix based, derived from OS X)  Google: Android (Linux based) 29 The Operating p g System y Zoo 30 The Operating p g System y Zoo  Desktop computers  The 3 classes of computers ?  OS X, X Wi Windows d 77, Ubuntu Ub t (Linux (Li bbased) d)  from lecture 1  Server S computers  Unix, Windows Server 2012, Mac OS X Server  Embedded computers  Android, iOS  Real-time operating systems like QNX,VxWorks  What about Chrome OS? 31 32  Compared to Desktop OS, server OS must p provide  Embedded system OS must  Run on restricted resources such as power, p , energy, memory, …  Might have real-time deadlines  Tight system security with advanced memory protection  Manage network resources  But sometimes lines are blurred between the p and embedded server, desktop 33 What does the OS do? / Operating System Concepts     34 Process Management  A process is a program in execution Process management File system Security (Process/Memory protection) Memory management  In a timesharing or multi-tasking operating systems several processes are interleaved – systems, an illusion of parallelism  Chapter 5 of textbook  A scheduler makes the decision – which process must be assigned to the processor process must be waitingg and which p  Input p /Output p  Chapter 6 of textbook 35 36 The 5 State Process Model Execution States of a Process  In a multi-tasking scenario, a process Terminated New  is sometimes running g (because ( another pprocess admit d it is running), but is ready to run create  is interrupted by the Operating System switch: schedule new job Ready scheduler while it is runningg exit Running switch: preempt  Thus Thus, each process has a ‘state’ state , i.e., ie information that tells us the status of the process Blocked 37 38 Process States  N New: new process created, d may stillll be b under d initialization, not yet ready  Ready: process is waiting to run  Running: gp process beingg executed on CPU (makes ( progress on its timeline)  Blocked: process waiting (sleeping) for event – cannot execute until event is available  Terminated: process is finished, finished may require OS cleanup  A data structure called Process Control Block contains the information related to state and other necessary data for execution  There are several scheduling policies and they influence the performance 39 40 File system management Security management  How H keep k trackk on allll bits? b ?  OS is responsible for managing system securityy  UNIX provides protection codes (9 bits) for each file  Typically, you cannot address an individual bit (overhead becomes too large).  Hence, data is organized into files and directories by the operating system  Examples: File Allocation Table (FAT), New Technology File System (NTFS)  The administrator can specify permissions for owner, the owner’s group, and everyone else  The permission can be related to read, write or execute  Operating p g system y provides p the services to open files, close files, and other operations p g makingg life easier for the programmers 41 System Call 42 Steps in Making a System Call  System calls provide the interface between the OS and the user programs  If an instruction, in a program, makes a system call like read/write to files or create a new process, control is transferred to the OS  A processor can execute a single instruction at a time  OS executes the system call based on the parameters received from the user program and returns control to instruction following the system call 43 44 Some System Calls For Process Management Some System Calls For File Management 45 Some System Calls For Directory Management 46 Some System Calls For Miscellaneous Tasks 47 48 References for Operating Systems  Parts of today’s lecture taken from Chapter 1 p g Systems y byy Andrew S. of Modern Operating Tanenbaum  This book is not included in compulsory reading for the exam  Slides Slid from f this thi lecture l t are sufficient ffi i t for f exam 49 49