Working System Overview - PowerPoint PPT Presentation

operating system overview l.
Skip this Video
Loading SlideShow in 5 Seconds..
Working System Overview PowerPoint Presentation
Working System Overview

play fullscreen
1 / 67
Download Presentation
Download Presentation

Working System Overview

Presentation Transcript

  1. Operating System Overview Chapter 2

  2. Operating System • A program that controls the execution of application programs • An interface between applications and hardware

  3. Operating System Objectives • Convenience • Makes the computer more convenient to use • Efficiency • Allows computer system resources to be used in an efficient manner • Ability to evolve • Permit effective development, testing, and introduction of new system functions without interfering with service

  4. Layers of Computer System

  5. Services Provided by the Operating System • Program development • Editors and debuggers • Program execution • Access to I/O devices • Controlled access to files • System access

  6. Services Provided by the Operating System • Error detection and response • Internal and external hardware errors • Memory error • Device failure • Software errors • Arithmetic overflow • Access forbidden memory locations • Operating system cannot grant request of application

  7. Services Provided by the Operating System • Accounting • Collect usage statistics • Monitor performance • Used to anticipate future enhancements • Used for billing purposes

  8. Operating System • Responsible for managing resources • Functions same way as ordinary computer software • It is program that is executed • Operating system relinquishes control of the processor

  9. Kernel • Portion of operating system that is in main memory • Contains most frequently used functions • Also called the nucleus

  10. Evolution of an Operating System • Hardware upgrades plus new types of hardware • New services • Fixes

  11. Evolution of Operating Systems • Serial Processing • No operating system • Machines run from a console with display lights, toggle switches, input device, and printer • Schedule time • Setup included loading the compiler, source program, saving compiled program, and loading and linking

  12. Evolution of Operating Systems • Simple Batch Systems • Monitors • Software that controls the sequence of events • Batch jobs together • Program branches back to monitor when finished

  13. Job Control Language (JCL) • Special type of programming language • Provides instruction to the monitor • What compiler to use • What data to use

  14. Hardware Features • Memory protection • Do not allow the memory area containing the monitor to be altered • Timer • Prevents a job from monopolizing the system

  15. Hardware Features • Privileged instructions • Certain machine level instructions can only be executed by the monitor • Interrupts • Early computer models did not have this capability

  16. Memory Protection • User program executes in user mode • Certain instructions may not be executed • Monitor executes in system mode • Kernel mode • Privileged instructions are executed • Protected areas of memory may be accessed

  17. I/O Devices Slow

  18. Uniprogramming • Processor must wait for I/O instruction to complete before preceding

  19. Multiprogramming • When one job needs to wait for I/O, the processor can switch to the other job

  20. Multiprogramming

  21. Utilization Histograms

  22. Example

  23. Time Sharing • Using multiprogramming to handle multiple interactive jobs • Processor’s time is shared among multiple users • Multiple users simultaneously access the system through terminals

  24. Compatible Time-Sharing System (CTSS) • First time-sharing system developed at MIT

  25. Major Achievements • Processes • Memory Management • Information protection and security • Scheduling and resource management • System structure

  26. Processes • A program in execution • An instance of a program running on a computer • The entity that can be assigned to and executed on a processor • A unit of activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources

  27. Difficulties with Designing System Software • Improper synchronization • Ensure a process waiting for an I/O device receives the signal • Failed mutual exclusion • Nondeterminate program operation • Program should only depend on input to it, not on the activities of other programs • Deadlocks

  28. Process • Consists of three components • An executable program • Associated data needed by the program • Execution context of the program • All information the operating system needs to manage the process

  29. Process

  30. Memory Management • Process isolation • Automatic allocation and management • Support of modular programming • Protection and access control • Long-term storage

  31. Virtual Memory • Allows programmers to address memory from a logical point of view • No hiatus between the execution of successive processes while one process was written out to secondary store and the successor proceess was read in

  32. Virtual Memory and File System • Implements long-term store • Information stored in named objects called files

  33. Paging • Allows process to be comprised of a number of fixed-size blocks, called pages • Virtual address is a page number and an offset within the page • Each page may be located any where in main memory • Real address or physical address in main memory

  34. Virtual Memory

  35. Virtual Memory Addressing

  36. Information Protection and Security • Availability • Concerned with protecting the system against interruption • Confidentiality • Assuring that users cannot read data for which access is unauthorized

  37. Information Protection and Security • Data integrity • Protection of data from unauthorized modification • Authenticity • Concerned with the proper verification of the identity of users and the validity of messages or data

  38. Scheduling and Resource Management • Fairness • Give equal and fair access to resources • Differential responsiveness • Discriminate among different classes of jobs • Efficiency • Maximize throughput, minimize response time, and accommodate as many uses as possible

  39. Key Elements ofOperating System

  40. System Structure • View the system as a series of levels • Each level performs a related subset of functions • Each level relies on the next lower level to perform more primitive functions • This decomposes a problem into a number of more manageable subproblems

  41. Process Hardware Levels • Level 1 • Electronic circuits • Objects are registers, memory cells, and logic gates • Operations are clearing a register or reading a memory location • Level 2 • Processor’s instruction set • Operations such as add, subtract, load, and store

  42. Process Hardware Levels • Level 3 • Adds the concept of a procedure or subroutine, plus call/return operations • Level 4 • Interrupts

  43. Concepts with Multiprogramming • Level 5 • Process as a program in execution • Suspend and resume processes • Level 6 • Secondary storage devices • Transfer of blocks of data • Level 7 • Creates logical address space for processes • Organizes virtual address space into blocks

  44. Deal with External Objects • Level 8 • Communication of information and messages between processes • Level 9 • Supports long-term storage of named files • Level 10 • Provides access to external devices using standardized interfaces

  45. Deal with External Objects • Level 11 • Responsible for maintaining the association between the external and internal identifiers • Level 12 • Provides full-featured facility for the support of processes • Level 13 • Provides an interface to the operating system for the user

  46. Modern Operating Systems • Microkernel architecture • Assigns only a few essential functions to the kernel • Address spaces • Interprocess communication (IPC) • Basic scheduling

  47. Modern Operating Systems • Multithreading • Process is divided into threads that can run concurrently • Thread • Dispatchable unit of work • executes sequentially and is interruptable • Process is a collection of one or more threads

  48. Modern Operating Systems • Symmetric multiprocessing (SMP) • There are multiple processors • These processors share same main memory and I/O facilities • All processors can perform the same functions

  49. Multiprogramming and Multiprocessing