Operating Systems 202 1 3031 Meni Adler Office
- Slides: 53
Operating Systems (202 -1 -3031) Meni Adler ü Office: Alon, 109 ü meni. adler@gmail. com ü Office hours: Tuesdays, 08: 00 -10: 00 Danny Hendler ü Office: Alon, 218 ü hendlerd@cs. bgu. ac. il ü Office hours: Tuesdays, 11: 00 -13: 00 Amnon Meisels ü Office: 206 build. , 37 ü am@cs. bgu. ac. il ü Office hours: Thursday, 09: 00 -11: 00 Lecturers: Meni Adler, Danny Hendler and Amnon Meisels TAs: Dan Brownstein, Benny Lutati, Matan Drory, Hodai Goldman, Natan Elul, Vadim Levit Course site: site http: //www. cs. bgu. ac. il/~os 162/Main
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 (TBD) 15% Final All 55% q Assignments and exams are mandatory q Must pass final exam
Textbooks q A. Tanenbaum: Modern Operating Systems, Prentice-Hall, 4 th Edition, 2015 q A. Silbetschatz et al. : Operating System Concepts (9 th ed. ), Addison Wesley, 2012 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, Spring 2016, Meni Adler, 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. Distributed Synchronization (if there's time) Operating Systems, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 4
Introduction: outline q. What is an operating system? q. Some history q. OS concepts q. OS structure Operating Systems, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 5
Layered Hardware-Software Machine Model Operating Systems, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 6
Computer-System Architecture Operating Systems, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 7
What is an Operating System ? An operating system is: 1. An Extended Machine 2. A Resource manager Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 10
UNIX high-level architecture User Interface Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 12
Introduction: outline q. What is an operating system? q. Some history q. OS concepts q. OS structure Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 14
The first computers Electronic Numerical Integrator And Computer (ENIAC) Mathematical Analyzer, Numeric Integrator And Computer(MANIAC) Operating Systems, Spring 2016, Meni Adler, 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, Cloud computing… Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 21
How Bill Gates became rich…(cont’d) Well, this is 20: 20 hind vision… Operating Systems, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 22
Introduction: outline q. What is an operating system? q. Some history q. OS concepts q. OS structure Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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 Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 29
Inter-Process Communication (IPC) Two processes communicating via a pipe Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 33
Interrupts and the fetch-decode-execute loop Do forever{ 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 34
Synchronous vs. Asynchronous I/O execute Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 36
System Calls processes files directories miscellaneous Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 39
Linux Shell initialization q The init program (process 1) 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 41
UNIX Utility Programs A few of the more common UNIX utility programs required by POSIX Operating Systems, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 42
Introduction: outline q. What is an operating system? q. Some history q. OS concepts q. OS structure ( )חומר העשרה Operating Systems, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 43
Operating system structure 1. Monolithic systems 2. Virtual machines 3. Client-server model … Operating Systems, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 44
Monolithic systems have little structure Main procedure for invoking OS service Service Routines Utility procedures Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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 o VMWare Operating Systems, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 48
Virtual Machines (cont’d) Operating Systems, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 49
Modern virtual machines q Different legacy servers run on different OS q Host sharing for web servers q Use multiple operating systems on a single machine q Security through isolation Operating Systems, Spring 2016, Meni Adler, 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, interprocess 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, 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, Spring 2016, Meni Adler, Danny Hendler & Amnon Meisels 53
- Rfc 3031
- Sel-3031
- Rfc 3031
- Meni karta primjer
- Kontrolna karta
- Meni karta primjer
- Meni rosenfeld
- Skladanie odvodzovanie skracovanie
- Slabicne a neslabicne predpony
- Pokle su me prikovali
- Q meni
- I gledam more
- Indeks mirjana meni
- Sample of operating system
- Evolution of operating systems
- Components of operating systems
- Components of os
- Wsn operating systems
- Three easy pieces
- Operating system lab
- What is dual mode in os
- Modern operating system
- Components of operating system
- Design issues in distributed systems
- Early operating systems
- Real-time operating systems
- Can we make operating systems reliable and secure
- Alternative operating systems
- Mit operating system
- Operating systems: internals and design principles
- Operating system evolution
- Network operating system examples
- Msdn operating systems subscription
- Hobby os
- Embedded system characteristics
- Operating systems
- Understanding operating systems
- Layers of operating system
- System software is usually divided into two categories
- Operating system structure
- Components of operating systems
- Os architecture
- Module 4 operating systems and file management
- Modern operating systems 3rd edition
- Cs162 summer 2021
- Operating systems
- Improving the reliability of commodity operating systems
- I/o device management in operating system
- Operating systems
- Godmar back
- Modern operating systems tanenbaum 5th edition
- Type of network operating system
- Mit operating systems
- Advanced operating system notes