Operating Systems 202 1 3031 Danny Hendler Amnon
- Slides: 53
Operating Systems (202 -1 -3031) Danny Hendler ü ü ü Amnon Meisels Office: Alon, 218 hendlerd@cs. bgu. ac. il Office hours: Wed. , 12 -14 ü ü ü Office: Alon, 206 am@cs. bgu. ac. il Office hours: Thu. 12 -14 Lecturers: Danny Hendler and Amnon Meisels TAs: Amir Gershman, Alon Grubshtein, Amir Mentchel, Dolev Pomerantz Course site: site http: //www. cs. bgu. ac. il/~os 112/Main Operating Systems, 2011, Danny Hendler & Amnon Meisels 1 1
Assignments and grade structure Assignment Subject Weight Programming 1 + 2 Scheduling + Synchronization 15% Programming 3 + 4 Memory Management + Files 15% Midterm Processes, scheduling, synchronization, memory 15% Final All 55% q Assignments and exams are mandatory q Must pass final exam 2 Operating Systems, 2011, Danny Hendler & Amnon Meisels 2
Textbooks q A. Tanenbaum: Modern Operating Systems, Prentice-Hall, 3 rd Edition, 2008 q A. Silbetschatz et al. : Operating System Concepts (8 th ed. ), Addison Wesley, 2009 q G. Nutt: Operating Systems (a modern perspective) (3 rd ed. ), Addison Wesley, 2003 q W. Stallings: Operating Systems (6 th ed. ), Prentice-Hall, 2009 Operating Systems, 2011, Danny Hendler & Amnon Meisels 3
Syllabus 1. Introduction - History; Views; Concepts; Structure 2. Process Management - Processes; State + Resources; Threads; Unix implementation of Processes 3. Scheduling – Paradigms; Unix; Modeling 4. Synchronization - Synchronization primitives and their equivalence; Deadlocks 5. Memory Management - Virtual memory; Page replacement algorithms; Segmentation 6. File Systems - Implementation; Directory and space management; Unix file system; Distributed file systems (NFS) 7. Security – General policies and mechanisms; protection models; authentication 8. Multiprocessors (if there’s time) Operating Systems, 2011, Danny Hendler & Amnon Meisels 4
Introduction: outline q. What is an operating system? q. Some history q. OS concepts q. OS structure Operating Systems, 2011, Danny Hendler & Amnon Meisels 5
Layered Hardware-Software Machine Model Applications System Programs Banking System Airline reservation Compilers Editors Web browser Shell Operating System Hardware Operating Systems, 2011, Danny Hendler & Amnon Meisels 6
Computer-System Architecture Operating Systems, 2011, Danny Hendler & Amnon Meisels 7
What is an Operating System ? An operating system is: 1. An Extended Machine 2. A Resource manager Operating Systems, 2011, Danny Hendler & Amnon Meisels 8
Operating Systems as extended Machines The problems: q. Bare machine has complex structure o Processors o Many difficult-to-program devices q. Primitive Instruction Set q. Different for Different Machines OS provides: Abstraction! – Simple, easier to use interface (machine-independent) – Hiding of unnecessary details Operating Systems, 2011, Danny Hendler & Amnon Meisels 9
OS abstraction example: read from disk Read file data from disk (simplified) … q q Read linear sector 17, 403 from disk 2 Convert linear sector number to: cylinder, sector, head (may be complicated – outer cylinders have more sectors, bad sectors remapped, etc. ) Move disk arm to requested cylinder Wait for proper sector to appear … OS abstraction return-code = read(fd, buff, nbytes) Operating Systems, 2011, Danny Hendler & Amnon Meisels 10
UNIX high-level architecture User Interface Operating Systems, 2011, Danny Hendler & Amnon Meisels 11
Operating Systems as Resource Managers q Multiple resources o Processors; Memory o Disks; Tapes; Printers o Network interfaces; Terminals q Controlled allocation of Resources among: o Groups, Users; Processes, Threads, … q Means of control: sharing/multiplexing/scheduling, monitoring, protection, report/payment Operating Systems, 2011, Danny Hendler & Amnon Meisels 12
Introduction: outline q. What is an operating system? q. Some history q. OS concepts q. OS structure Operating Systems, 2011, Danny Hendler & Amnon Meisels 13
History of Operating Systems q First generation 1945 - 1955 o vacuum tubes, plug boards – user plugs-in program Operating Systems, 2011, Danny Hendler & Amnon Meisels 14
The first computers Electronic Numerical Integrator And Computer (ENIAC) Mathematical Analyzer, Numeric Integrator And Computer(MANIAC) Operating Systems, 2011, Danny Hendler & Amnon Meisels 15
History of Operating Systems (cont’d) q Second generation 1955 - 1965 o transistors, batch systems – multiple programs on Disk q Third generation 1965 – 1980 o ICs and multiprogramming - user interaction (time-sharing) q Fourth generation 1980 – present o personal computers – graphic user-interface o Networks – file & computing services o Web-computing, Handheld devices , Cellular phones, … Operating Systems, 2011, Danny Hendler & Amnon Meisels 16
How Bill Gates became rich… 1974: Intel releases the 8080 processor, needs an OS Please! develop an OS CP/M OS Gary Kildall Operating Systems, 2011, Danny Hendler & Amnon Meisels 17
How Bill Gates became rich…(cont’d) 1974: Intel releases the 8080 processor, needs an OS CP/M OS Sure! Can you grant me CP/M rights? Gary Kildall Operating Systems, 2011, Danny Hendler & Amnon Meisels 18
How Bill Gates became rich…(cont’d) 1980: IBM designs IMB PC, needs an OS Can you find an OS for our PC? So rry , t oo bu sy !!! !! Please meet IBM, they need an OS Gary Kildall Operating Systems, 2011, Danny Hendler & Amnon Meisels 19
How Bill Gates became rich…(cont’d) 1980: IBM designs IMB PC, needs an OS Kildall too busy. Please develop an OS! I’de like to buy the DOS OS Sure, it’s yours for $75, 000 Operating Systems, 2011, Danny Hendler & Amnon Meisels 20
How Bill Gates became rich…(cont’d) 1980: IBM designs IMB PC, needs an OS May I retain the rights for MSDOS? Sure, why not!! Operating Systems, 2011, Danny Hendler & Amnon Meisels 21
How Bill Gates became rich…(cont’d) Well, this is 20: 20 hind vision… Operating Systems, 2011, Danny Hendler & Amnon Meisels 22
Introduction: outline q. What is an operating system? q. Some history q. OS concepts q. OS structure Operating Systems, 2011, Danny Hendler & Amnon Meisels 23
OS – Key Functions q Process management o process creation; deletion; suspension/preemption o process synchronization; communication; scheduling q Main-memory management o Manage used parts and their current users o Select processes to load from secondary storage o Allocate memory to running processes q Secondary storage management o Free-space management o Storage allocation Operating Systems, 2011, Danny Hendler & Amnon Meisels 24
OS – Key Functions (cont’d) q File system management o File + directory - creation; deletion o File manipulation primitives o Mapping files onto secondary storage q I/O system management o general device-driver interface o Drivers for specific hardware devices q Protection system o Distinguish between authorized and unauthorized usage o Provide means of enforcement Operating Systems, 2011, Danny Hendler & Amnon Meisels 25
Processes - a key concept q Resource container for “program in execution” q Timesharing, process suspension/preemption q Process Table q Process Groups q Signals Operating Systems, 2011, Danny Hendler & Amnon Meisels 26
Why do we need multiple processes? • Single application: We want things to happen “concurrently” (E. g. : paging and typing in a text editor) • Multiple applications: processes running in the background (e. g. , Anti Virus) • Multiple users: The departmental computer; all types of Servers Operating Systems, 2011, Danny Hendler & Amnon Meisels 27
Multiprogramming: how is it done? q CPU much faster than I/O o Computation/communication overlap q Memory large enough – requires memory protection! q Scheduler which manages flow of jobs in and out and shares CPU between jobs – requires Timer q Spooler which takes care of very slow I/O devices (e. g. , printer spooler). simultaneous peripheral operations on-line. . . Operating Systems, 2011, Danny Hendler & Amnon Meisels 28
Process trees • A process tree q A created two child processes, B and C q B created three child processes, D, E, and F Operating Systems, 2011, Danny Hendler & Amnon Meisels 29
Inter-Process Communication (IPC) Two processes communicating via a pipe Operating Systems, 2011, Danny Hendler & Amnon Meisels 30
Files: non volatile data q File types and operations on files q Directories - hierarchical structure q Working directories Operating Systems, 2011, Danny Hendler & Amnon Meisels 31
Files: non volatile data (cont’d) q Protection and Security Unix - user; group; other (rwx bits) q File descriptors (handles) q I/O as a special file q Block & Character special files q Standard input; output; error q Pipes q Links Operating Systems, 2011, Danny Hendler & Amnon Meisels 32
I/O is performed in kernel mode q All I/O instructions are privileged instructions q I/O devices and CPU can execute concurrently q CPU moves data between main memory and device controllers' buffers (done by device drivers) q Device controllers interrupt upon completion q Interrupts or Traps enable mode switching q Operating systems are interrupt-driven q Traps/signals: software interrupts Operating Systems, 2011, Danny Hendler & Amnon Meisels 33
Interrupts and the fetch-decode-execute loop While (halt flag not set during execution){ IR = memory[PC]; execute(IR); PC++; ! c i st If(Interrupt_Request) { i l p m i memory[0] = PC; S PC = memory[1] } } q An interrupt is an asynchronous event q The kernel interrupt handling routine may use a disable_interrupts instruction to avoid losing data while processing an interrupt request q Interrupt handler is typically called indirectly via the interrupt vector Operating Systems, 2011, Danny Hendler & Amnon Meisels 34
Synchronous vs. Asynchronous I/O execute Operating Systems, 2011, Danny Hendler & Amnon Meisels 35
Steps in Making a System Call There are 11 steps in making the system call: read (fd, buffer, nbytes) Is this call Synchronous or Asynchronous? Operating Systems, 2011, Danny Hendler & Amnon Meisels 36
System Calls processes files directories miscellaneous Operating Systems, 2011, Danny Hendler & Amnon Meisels 37
The Shell Command Language q sort < file 1 > file 2 q cat file 1 | sort | lpr • The Shell is a process which executes its commands as offspring processes • Processes may call shell commands by using the “system” system call Operating Systems, 2011, Danny Hendler & Amnon Meisels 38
Shell structure – Parent & child A stripped-down shell: while (TRUE) { type_prompt( ); read_command (command, parameters) if (fork() > 0) { /* Parent code */ wait(); } else { /* Child code */ execvp (command, parameters); } /* repeat forever */ /* display prompt */ /* input from terminal */ /* fork off child process */ /* wait for child to exit */ /* execute command */ } Operating Systems, 2011, Danny Hendler & Amnon Meisels 39
Shell initialization q The init program runs getty on all ports q Upon detecting a terminal, getty runs login q Typing in a user name and a password – login checks the passwd file and if correct runs a shell – the one specified in the UID entry q The shell is run with that user ID environment parameters Operating Systems, 2011, Danny Hendler & Amnon Meisels 40
Running user commands q User types: ‘grep some_word file_name’ q Shell parses the command, inserts the strings grep, some_word, file_name into argv and their number to argc q Next, the shell uses fork() to create a process (same user ID) q Now, it takes the executable name grep and the arguments, all from argv, and uses execvp() (or a similar system call) to run the grep executable q On foreground execution, the shell would use the wait() system call and continue its session only after the child process terminates Operating Systems, 2011, Danny Hendler & Amnon Meisels 41
UNIX Utility Programs A few of the more common UNIX utility programs required by POSIX Operating Systems, 2011, Danny Hendler & Amnon Meisels 42
Introduction: outline q. What is an operating system? q. Some history q. OS concepts q. OS structure Operating Systems, 2011, Danny Hendler & Amnon Meisels 43
Operating system structure 1. Monolithic systems 2. Virtual machines 3. Client-server model … Operating Systems, 2011, Danny Hendler & Amnon Meisels 44
Monolithic systems have little structure Main procedure for invoking OS service Service Routines Utility procedures Operating Systems, 2011, Danny Hendler & Amnon Meisels 45
Monolithic systems q. Service routines are system calls q. Utility procedures serve multiple service routines q. All compiled into a single system Operating Systems, 2011, Danny Hendler & Amnon Meisels 46
Virtual Machines q Provide an interface identical to the underlying bare machine q VM monitor creates multiple VMs, each executing on its own (virtual) processor and its own (virtual) memory q Virtual machines provide complete protection of system resources - even separate resources q Difficult to implement, due to the effort required to provide an exact duplicate of the underlying machine q Well-known examples: o MS-DOS on top of Windows o JVM Operating Systems, 2011, Danny Hendler & Amnon Meisels 47
Virtual Machines: IBM 370 user CMS CMS kernel VM/370 bare hardware CMS: Conversational Monitor System, a single user OS Operating Systems, 2011, Danny Hendler & Amnon Meisels 48
Virtual Machines (cont’d) Operating Systems, 2011, Danny Hendler & Amnon Meisels 49
Modern virtual machines q. Different legacy servers run on different OS q. Host sharing for web servers q. Use two different OS on same machine q. A privileged instruction executed in user mode does not trap automatically (ignored) q. Type II VM – run a host operating system q. Incidentally, provides very good security Operating Systems, 2011, Danny Hendler & Amnon Meisels 50
Microkernels q. Small number of lines of code mostly in C q. Catching interrupts and switching processes in Assembly q. C code manages and schedules processes, inter -process communication, i/o interaction q Offers few (~40) system calls for the rest of OS q Device drivers (Disk, Network, …) in user mode q Upper level contains Servers – File, Process. . Operating Systems, 2011, Danny Hendler & Amnon Meisels 51
Client-Server Model Client Process . . . File Server Memory Server (Micro)Kernel . . Machine 1 Machine 2 Client File Server Kernel Network Machine 4 Machine 3 Process Server Kernel . . . Distributed System Operating Systems, 2011, Danny Hendler & Amnon Meisels 52
Client/server architecture: Mechanism vs. Policy q Simple Kernel - modularity; minimal “privileged” operation q Servers for files, memory, etc. - distribution; user mode operation q good for distributed systems q Mechanism in kernel - how to do things. . q Policy outside - decide what to do; can be changed later. . q Critical servers in kernel – i/o disk server & the Scheduler – who serves who…. Operating Systems, 2011, Danny Hendler & Amnon Meisels 53
- Danny hendler
- Danny hendler
- Digital camera embedded system
- Amnon y tamar estudio biblico
- Amnon had a friend
- Rom hendler
- Rfc 3031
- Sel-3031
- Rfc 3031
- Danny amato
- Danny and melinda
- Sofia calltorp
- Milton elfman
- Danny ferrante facebook
- Danny elfman young
- Danny delcambre
- Danny sullivan search engine land
- Danny brazzale
- Ishiyama gire
- I meet raisa last night and _____ signed _____ t-shirt.
- Danny mather
- Ma favorite danny defoe
- Transmitis
- Danny townsend massachusetts
- Danny van noort
- Danny panisko
- Danny fae
- Summer loving regular
- The somebody danny santiago
- Danny frank biografia
- Danny lapin
- Danny cheney
- Danny elfman images
- Sc v katzenbach
- Joseph schooling michael phelps
- Txsta register in pic
- Danny zuko
- Danny kindekens
- Danny seow
- Sts score variables
- Danny efland
- Danny marfatia
- "situational leadership"
- Verbetering uitwisseling matchingsgegevens
- Dr danny silver
- Danny gibney
- Danny chen notre dame
- V_sys
- Operating system definition
- Evolution of operating systems
- Components of an operating system
- Operating system definition
- Wsn operating systems
- Remzi arpaci-dusseau