1 / 53

Operating Systems (202-1-3031)

Operating Systems (202-1-3031). Danny Hendler Office: Alon , 218 hendlerd@cs.bgu.ac.il Office hours : Wed., 12-14. Amnon Meisels Office: Alon, 206 am@cs.bgu.ac.il Office hours: Thu. 12-14. Lecturers : Danny Hendler and Amnon Meisels

dibella
Download Presentation

Operating Systems (202-1-3031)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operating Systems (202-1-3031) Danny Hendler • Office: Alon, 218 • hendlerd@cs.bgu.ac.il • Office hours:Wed., 12-14 Amnon Meisels • 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, DolevPomerantz Course site: http://www.cs.bgu.ac.il/~os112/Main 1 Operating Systems, 2011, Danny Hendler & Amnon Meisels

  2. Assignments and grade structure • Assignments and exams are mandatory • Must pass final exam 2 Operating Systems, 2011, Danny Hendler & Amnon Meisels

  3. Textbooks • A. Tanenbaum: Modern Operating Systems, Prentice-Hall, 3rd Edition, 2008 • A. Silbetschatz et al.: Operating System Concepts (8th ed.), Addison Wesley, 2009 • G. Nutt: Operating Systems (a modern perspective) (3rd ed.), Addison Wesley, 2003 • W. Stallings: Operating Systems (6th ed.), Prentice-Hall, 2009 Operating Systems, 2011, Danny Hendler & Amnon Meisels

  4. 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

  5. Introduction: outline • What is an operating system? • Some history • OS concepts • OS structure Operating Systems, 2011, Danny Hendler & Amnon Meisels

  6. Layered Hardware-Software Machine Model Banking System Airline reservation Applications Web browser Compilers Editors Shell SystemPrograms Operating System Hardware Operating Systems, 2011, Danny Hendler & Amnon Meisels

  7. Computer-System Architecture Operating Systems, 2011, Danny Hendler & Amnon Meisels

  8. What is an Operating System ? • An operating system is: • An Extended Machine • A Resource manager Operating Systems, 2011, Danny Hendler & Amnon Meisels

  9. Operating Systems as extended Machines • The problems: • Bare machine has complex structure • Processors • Many difficult-to-program devices • Primitive Instruction Set • 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

  10. OS abstraction example: read from disk Read file data from disk (simplified) … • 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

  11. UNIX high-level architecture UserInterface Operating Systems, 2011, Danny Hendler & Amnon Meisels

  12. Operating Systems as Resource Managers • Multiple resources • Processors; Memory • Disks; Tapes; Printers • Network interfaces; Terminals • Controlled allocation of Resources among: • Groups, Users; Processes, Threads,… • Means of control: sharing/multiplexing/scheduling, monitoring, protection, report/payment Operating Systems, 2011, Danny Hendler & Amnon Meisels

  13. Introduction: outline • What is an operating system? • Some history • OS concepts • OS structure Operating Systems, 2011, Danny Hendler & Amnon Meisels

  14. History of Operating Systems • First generation 1945 - 1955 • vacuum tubes, plug boards – user plugs-in program Operating Systems, 2011, Danny Hendler & Amnon Meisels

  15. The first computers Electronic Numerical Integrator And Computer (ENIAC) Mathematical Analyzer, Numeric Integrator And Computer(MANIAC) Operating Systems, 2011, Danny Hendler & Amnon Meisels

  16. History of Operating Systems (cont’d) • Second generation 1955 - 1965 • transistors, batch systems – multiple programs on Disk • Third generation 1965 – 1980 • ICs and multiprogramming - user interaction (time-sharing) • Fourth generation 1980 – present • personal computers – graphic user-interface • Networks – file & computing services • Web-computing, Handheld devices , Cellular phones, … Operating Systems, 2011, Danny Hendler & Amnon Meisels

  17. Please! develop an OS CP/M OS Gary Kildall How Bill Gates became rich… 1974: Intel releases the 8080 processor, needs an OS Operating Systems, 2011, Danny Hendler & Amnon Meisels

  18. Gary Kildall 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? Operating Systems, 2011, Danny Hendler & Amnon Meisels

  19. Can you find an OS for our PC? Sorry, too busy!!!!! Please meet IBM, they need an OS Gary Kildall How Bill Gates became rich…(cont’d) 1980: IBM designs IMB PC, needs an OS Operating Systems, 2011, Danny Hendler & Amnon Meisels

  20. Kildall too busy. Please develop an OS! I’de like to buy the DOS OS Sure, it’s yours for $75,000 How Bill Gates became rich…(cont’d) 1980: IBM designs IMB PC, needs an OS Operating Systems, 2011, Danny Hendler & Amnon Meisels

  21. Sure, why not!! How Bill Gates became rich…(cont’d) 1980: IBM designs IMB PC, needs an OS May I retain the rights for MS-DOS? Operating Systems, 2011, Danny Hendler & Amnon Meisels

  22. How Bill Gates became rich…(cont’d) Well, this is 20:20 hind vision… Operating Systems, 2011, Danny Hendler & Amnon Meisels

  23. Introduction: outline • What is an operating system? • Some history • OS concepts • OS structure Operating Systems, 2011, Danny Hendler & Amnon Meisels

  24. OS – Key Functions • Process management • process creation; deletion; suspension/preemption • process synchronization; communication; scheduling • Main-memory management • Manage used parts and their current users • Select processes to load from secondary storage • Allocate memory to running processes • Secondary storage management • Free-space management • Storage allocation Operating Systems, 2011, Danny Hendler & Amnon Meisels

  25. OS – Key Functions (cont’d) • File system management • File + directory - creation; deletion • File manipulation primitives • Mapping files onto secondary storage • I/O system management • general device-driver interface • Drivers for specific hardware devices • Protection system • Distinguish between authorized and unauthorized usage • Provide means of enforcement Operating Systems, 2011, Danny Hendler & Amnon Meisels

  26. Processes - a key concept • Resource container for “program in execution” • Timesharing, process suspension/preemption • Process Table • Process Groups • Signals Operating Systems, 2011, Danny Hendler & Amnon Meisels

  27. 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

  28. Multiprogramming: how is it done? • CPU much faster than I/O • Computation/communication overlap • Memory large enough – requires memory protection! • Scheduler which manages flow of jobs in and outand shares CPU between jobs – requires Timer • 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

  29. Process trees • A process tree • A created two child processes, B and C • B created three child processes, D, E, and F Operating Systems, 2011, Danny Hendler & Amnon Meisels

  30. Inter-Process Communication (IPC) Two processes communicating via a pipe Operating Systems, 2011, Danny Hendler & Amnon Meisels

  31. Files: non volatile data • File types and operations on files • Directories - hierarchical structure • Working directories Operating Systems, 2011, Danny Hendler & Amnon Meisels

  32. Files: non volatile data (cont’d) • Protection and SecurityUnix - user; group; other (rwx bits) • File descriptors (handles) • I/O as a special file • Block & Character special files • Standard input; output; error • Pipes • Links Operating Systems, 2011, Danny Hendler & Amnon Meisels

  33. I/O is performed in kernel mode • All I/O instructions are privileged instructions • I/O devices and CPU can execute concurrently • CPU moves data between main memory and device controllers' buffers (done by device drivers) • Device controllers interrupt upon completion • Interrupts or Traps enable mode switching • Operating systems are interrupt-driven • Traps/signals: software interrupts Operating Systems, 2011, Danny Hendler & Amnon Meisels

  34. Interrupts and the fetch-decode-execute loop While (halt flag not set during execution){IR = memory[PC];execute(IR);PC++;If(Interrupt_Request) { memory[0] = PC; PC = memory[1] }} • An interrupt is an asynchronous event • The kernel interrupt handling routine may use a disable_interrupts instruction to avoid losing data while processing an interrupt request • Interrupt handler is typically called indirectly via the interrupt vector Simplistic! Operating Systems, 2011, Danny Hendler & Amnon Meisels

  35. Synchronous vs. Asynchronous I/O execute Operating Systems, 2011, Danny Hendler & Amnon Meisels

  36. 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

  37. System Calls processes files directories miscellaneous Operating Systems, 2011, Danny Hendler & Amnon Meisels

  38. The Shell Command Language • sort < file1 > file2 • cat file1 | sort | lpr • The Shell is a process which executes its commands as offspringprocesses • Processes may call shell commands by using the “system” system call Operating Systems, 2011, Danny Hendler & Amnon Meisels

  39. Shell structure – Parent & child • A stripped-down shell: while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt */ read_command (command, parameters) /* input from terminal */ if (fork() > 0) { /* fork off child process */ /* Parent code */ wait(); /* wait for child to exit */ } else { /* Child code */ execvp (command, parameters); /* execute command */ } } Operating Systems, 2011, Danny Hendler & Amnon Meisels

  40. Shell initialization • The init program runs getty on all ports • Upon detecting a terminal, getty runs login • 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 • The shell is run with that user ID environment parameters Operating Systems, 2011, Danny Hendler & Amnon Meisels

  41. Running user commands • User types: ‘grep some_word file_name’ • Shell parses the command, inserts the strings grep, some_word, file_name into argv and their number to argc • Next, the shell uses fork() to create a process (same user ID) • 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 • 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

  42. UNIX Utility Programs A few of the more common UNIX utility programs required by POSIX Operating Systems, 2011, Danny Hendler & Amnon Meisels

  43. Introduction: outline • What is an operating system? • Some history • OS concepts • OS structure Operating Systems, 2011, Danny Hendler & Amnon Meisels

  44. Operating system structure • Monolithic systems • Virtual machines • Client-server model … Operating Systems, 2011, Danny Hendler & Amnon Meisels

  45. Monolithic systems Monolithic systems have little structure Main procedure forinvoking OS service Service Routines Utility procedures Operating Systems, 2011, Danny Hendler & Amnon Meisels

  46. Monolithic systems • Service routines are system calls • Utility procedures serve multiple service routines • All compiled into a single system Operating Systems, 2011, Danny Hendler & Amnon Meisels

  47. Virtual Machines • Provide an interface identical to the underlying bare machine • VM monitor creates multiple VMs, each executing on its own (virtual) processor and its own (virtual) memory • Virtual machines provide complete protection of system resources - even separate resources • Difficult to implement, due to the effort required to provide an exact duplicate of the underlying machine • Well-known examples: • MS-DOS on top of Windows • JVM Operating Systems, 2011, Danny Hendler & Amnon Meisels

  48. Virtual Machines: IBM 370 user CMS CMS CMS kernel VM/370 370 bare hardware CMS: Conversational Monitor System, a single user OS Operating Systems, 2011, Danny Hendler & Amnon Meisels

  49. Virtual Machines (cont’d) Operating Systems, 2011, Danny Hendler & Amnon Meisels

  50. Modern virtual machines • Different legacy servers run on different OS • Host sharing for web servers • Use two different OS on same machine • A privileged instruction executed in user mode does not trap automatically (ignored) • Type II VM – run a host operating system • Incidentally, provides very good security Operating Systems, 2011, Danny Hendler & Amnon Meisels

More Related