1 / 31

Operating Systems

Operating Systems. CIS 432. David Goldschmidt, Ph.D. Computer Science The College of Saint Rose. What is an Operating System?. An Operating System is the software interface between hardware and its users (via application software) Operating systems: Execute user and system programs

Download Presentation

Operating Systems

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. OperatingSystems CIS 432 David Goldschmidt, Ph.D. Computer Science The College of Saint Rose

  2. What is an Operating System? • An Operating System is the software interface between hardware and its users(via application software) • Operating systems: • Execute user and system programs • Manage & coordinate computer hardware • Serve as resource allocators • Are typically interrupt-driven

  3. Operating Systems • System Software • Computer programs that directlycontrol the operations of thecomputer and its devices • Operating System • Coordinates and orchestrates all activitiesof the hardware devices in a computer • Provides a Graphical User Interface (GUI) forusers to interact with the computer

  4. Design Goals of an Operating System • From a user’s perspective, an operating system should be: • easy to use • easy to learn • reliable • safe • fast • System goals ofan operating system typically include: • reliability • flexibility • extensibility • speed • efficiency • maintainability

  5. Functional Components • Functional components of anoperating system include: • Process manager • Memory manager • Virtual memory manager • File manager • Device manager

  6. History of Operating Systems • In the beginning… …the 1940s ENIAC

  7. computerprograminside History of Operating Systems • Automation in the 1950s using punch cards

  8. Batch Jobs • A job is a unit of work submitted by a user tothe operating system, typically consisting of: • a program either in a sourcelanguage or in binary form • a set of input data used bythe program when it executes

  9. History of Operating Systems • IBM 360 introduced… …in 1964

  10. Multiprogramming

  11. Multiprogramming • In multiprogramming, several jobs reside in memory simultaneously • CPU use is sharedand managed by theoperating system

  12. Multiprogramming • Multiprogramming provides efficient use of the computer (CPU) and its resources (e.g. I/O) • One user cannot keep theCPU and I/O devices busyat all times • Each running program iscalled a job • Multiprogramming organizesjobs such that the CPU alwayshas exactly one to execute

  13. Multiprogramming • Computer is often idle – why? • CPU and hardware muchfaster than I/O • When a user or process isblocked waiting for I/O,the operating system switchesto another job • A subset of jobs is storedin memory, awaiting CPUor other resources

  14. Timesharing (Multitasking) • To ensure fairness, consider a timesharing scheme in which the CPU cycles through all jobs • Each job (process) is givena fixed amount of CPU time • Switching from one runningprocess to another is calleda context switch • A process may relinquish itstime if blocked on an I/O request

  15. Timesharing (Multitasking) • Unless blocked on I/O, processes line up,awaiting their turn with the CPU • CPU scheduling algorithmis necessary to efficientlydecide the order in whichprocesses execute • If processes do not fit intomemory, the operating systemwill swap them in and out ofmemory from virtual memory

  16. and the Apple IIe History of Operating Systems • Personal computer revolution… …of the late 1970s and early 1980s

  17. History of Operating Systems

  18. History of Operating Systems • World Wide Web and Internet revolution… …of the 1990s and 2000s

  19. …and networked system bus Computer System Organization • Computer systems are increasingly complex • Require an operating system to coordinate and control hardware activities

  20. Computer Networks • A Local Area Network (LAN) is a networkof machines coveringa limited geographicalarea • A Metropolitan AreaNetwork (MAN)covers more denselypopulated area

  21. Computer Networks • A Wide Area Network(WAN) covers multiplelocations • Each location consistsof one or moreLANs or MANs

  22. Computer Networks • LANs connect to other networks via a router

  23. Central Processing Unit (CPU) • Software instructions are executed bya Central Processing Unit (CPU) • An external hardware event triggersan interrupt by signaling the CPU • e.g. mouse movement, keyboard event • Software triggers an interrupt byexecuting a system call • e.g. disk read, graphics output, printer output

  24. Interrupt Mechanism • Interrupts are handled much like calling a function or method in a programming language I/O devicestypically use abuffering strategy

  25. interrupt processing times vary… …as do I/O transfer times Typical Interrupt Timeline

  26. Synchronous & Asynchronous I/O Synchronous Asynchronous

  27. very fast very small volatile very slow very large Hierarchical Storage Architecture non-volatile

  28. why implement caching in an operating system? What is Caching? • Caching is a technique totemporarily store data ina smaller and fastermemory component

  29. Performance • A key goal in operating system design isachieving fast and efficient performance

  30. Retrieving Data from a Cache • When the operating system attempts to read from memory, check to see if the requested data is already in the cache • If it is, data is read from the cache (fast!) • If not, data is copied from memory to the cache (maybe next time…)

  31. memory location X Principle of Locality • When a running program reads from memory location X, the principle of locality predicts that the next memory location requested will be near X • Store pages of data in a cache, where each page is typically the same size (e.g. 16KB)

More Related