Bài giảng Operating system Concepts - Chapter 3: Operating system structures

ppt 39 trang huongle 2860
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Operating system Concepts - Chapter 3: Operating system structures", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_operating_system_concepts_chapter_3_operating_syst.ppt

Nội dung text: Bài giảng Operating system Concepts - Chapter 3: Operating system structures

  1. Chapter 3: Operating-System Structures n System Components n Operating System Services n System Calls n System Programs n System Structure n Virtual Machines n System Design and Implementation n System Generation Operating System Concepts 3.1 Silberschatz, Galvin and Gagne 2002
  2. Common System Components n Process Management n Main Memory Management n File Management n I/O System Management n Secondary Management n Networking n Protection System n Command-Interpreter System Operating System Concepts 3.2 Silberschatz, Galvin and Gagne 2002
  3. Process Management n A process is a program in execution. A process needs certain resources, including CPU time, memory, files, and I/O devices, to accomplish its task. n The operating system is responsible for the following activities in connection with process management. F Process creation and deletion. F process suspension and resumption. F Provision of mechanisms for: 4 process synchronization 4 process communication Operating System Concepts 3.3 Silberschatz, Galvin and Gagne 2002
  4. Main-Memory Management n Memory is a large array of words or bytes, each with its own address. It is a repository of quickly accessible data shared by the CPU and I/O devices. n Main memory is a volatile storage device. It loses its contents in the case of system failure. n The operating system is responsible for the following activities in connections with memory management: F Keep track of which parts of memory are currently being used and by whom. F Decide which processes to load when memory space becomes available. F Allocate and deallocate memory space as needed. Operating System Concepts 3.4 Silberschatz, Galvin and Gagne 2002
  5. File Management n A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data. n The operating system is responsible for the following activities in connections with file management: F File creation and deletion. F Directory creation and deletion. F Support of primitives for manipulating files and directories. F Mapping files onto secondary storage. F File backup on stable (nonvolatile) storage media. Operating System Concepts 3.5 Silberschatz, Galvin and Gagne 2002
  6. I/O System Management n The I/O system consists of: F A buffer-caching system F A general device-driver interface F Drivers for specific hardware devices Operating System Concepts 3.6 Silberschatz, Galvin and Gagne 2002
  7. Secondary-Storage Management n Since main memory (primary storage) is volatile and too small to accommodate all data and programs permanently, the computer system must provide secondary storage to back up main memory. n Most modern computer systems use disks as the principle on-line storage medium, for both programs and data. n The operating system is responsible for the following activities in connection with disk management: F Free space management F Storage allocation F Disk scheduling Operating System Concepts 3.7 Silberschatz, Galvin and Gagne 2002
  8. Networking (Distributed Systems) n A distributed system is a collection processors that do not share memory or a clock. Each processor has its own local memory. n The processors in the system are connected through a communication network. n Communication takes place using a protocol. n A distributed system provides user access to various system resources. n Access to a shared resource allows: F Computation speed-up F Increased data availability F Enhanced reliability Operating System Concepts 3.8 Silberschatz, Galvin and Gagne 2002
  9. Protection System n Protection refers to a mechanism for controlling access by programs, processes, or users to both system and user resources. n The protection mechanism must: F distinguish between authorized and unauthorized usage. F specify the controls to be imposed. F provide a means of enforcement. Operating System Concepts 3.9 Silberschatz, Galvin and Gagne 2002
  10. Command-Interpreter System n Many commands are given to the operating system by control statements which deal with: F process creation and management F I/O handling F secondary-storage management F main-memory management F file-system access F protection F networking Operating System Concepts 3.10 Silberschatz, Galvin and Gagne 2002
  11. Command-Interpreter System (Cont.) n The program that reads and interprets control statements is called variously: F command-line interpreter F shell (in UNIX) Its function is to get and execute the next command statement. Operating System Concepts 3.11 Silberschatz, Galvin and Gagne 2002
  12. Operating System Services n Program execution – system capability to load a program into memory and to run it. n I/O operations – since user programs cannot execute I/O operations directly, the operating system must provide some means to perform I/O. n File-system manipulation – program capability to read, write, create, and delete files. n Communications – exchange of information between processes executing either on the same computer or on different systems tied together by a network. Implemented via shared memory or message passing. n Error detection – ensure correct computing by detecting errors in the CPU and memory hardware, in I/O devices, or in user programs. Operating System Concepts 3.12 Silberschatz, Galvin and Gagne 2002
  13. Additional Operating System Functions Additional functions exist not for helping the user, but rather for ensuring efficient system operations. • Resource allocation – allocating resources to multiple users or multiple jobs running at the same time. • Accounting – keep track of and record which users use how much and what kinds of computer resources for account billing or for accumulating usage statistics. • Protection – ensuring that all access to system resources is controlled. Operating System Concepts 3.13 Silberschatz, Galvin and Gagne 2002
  14. System Calls n System calls provide the interface between a running program and the operating system. F Generally available as assembly-language instructions. F Languages defined to replace assembly language for systems programming allow system calls to be made directly (e.g., C, C++) n Three general methods are used to pass parameters between a running program and the operating system. F Pass parameters in registers. F Store the parameters in a table in memory, and the table address is passed as a parameter in a register. F Push (store) the parameters onto the stack by the program, and pop off the stack by operating system. Operating System Concepts 3.14 Silberschatz, Galvin and Gagne 2002
  15. Passing of Parameters As A Table Operating System Concepts 3.15 Silberschatz, Galvin and Gagne 2002
  16. Types of System Calls n Process control n File management n Device management n Information maintenance n Communications Operating System Concepts 3.16 Silberschatz, Galvin and Gagne 2002
  17. MS-DOS Execution At System Start-up Running a Program Operating System Concepts 3.17 Silberschatz, Galvin and Gagne 2002
  18. UNIX Running Multiple Programs Operating System Concepts 3.18 Silberschatz, Galvin and Gagne 2002
  19. Communication Models n Communication may take place using either message passing or shared memory. Msg Passing Shared Memory Operating System Concepts 3.19 Silberschatz, Galvin and Gagne 2002
  20. System Programs n System programs provide a convenient environment for program development and execution. The can be divided into: F File manipulation F Status information F File modification F Programming language support F Program loading and execution F Communications F Application programs n Most users’ view of the operation system is defined by system programs, not the actual system calls. Operating System Concepts 3.20 Silberschatz, Galvin and Gagne 2002
  21. MS-DOS System Structure n MS-DOS – written to provide the most functionality in the least space F not divided into modules F Although MS-DOS has some structure, its interfaces and levels of functionality are not well separated Operating System Concepts 3.21 Silberschatz, Galvin and Gagne 2002
  22. MS-DOS Layer Structure Operating System Concepts 3.22 Silberschatz, Galvin and Gagne 2002
  23. UNIX System Structure n UNIX – limited by hardware functionality, the original UNIX operating system had limited structuring. The UNIX OS consists of two separable parts. F Systems programs F The kernel 4 Consists of everything below the system-call interface and above the physical hardware 4 Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level. Operating System Concepts 3.23 Silberschatz, Galvin and Gagne 2002
  24. UNIX System Structure Operating System Concepts 3.24 Silberschatz, Galvin and Gagne 2002
  25. Layered Approach n The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface. n With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers. Operating System Concepts 3.25 Silberschatz, Galvin and Gagne 2002
  26. An Operating System Layer Operating System Concepts 3.26 Silberschatz, Galvin and Gagne 2002
  27. OS/2 Layer Structure Operating System Concepts 3.27 Silberschatz, Galvin and Gagne 2002
  28. Microkernel System Structure n Moves as much from the kernel into “user” space. n Communication takes place between user modules using message passing. n Benefits: - easier to extend a microkernel - easier to port the operating system to new architectures - more reliable (less code is running in kernel mode) - more secure Operating System Concepts 3.28 Silberschatz, Galvin and Gagne 2002
  29. Windows NT Client-Server Structure Operating System Concepts 3.29 Silberschatz, Galvin and Gagne 2002
  30. Virtual Machines n A virtual machine takes the layered approach to its logical conclusion. It treats hardware and the operating system kernel as though they were all hardware. n A virtual machine provides an interface identical to the underlying bare hardware. n The operating system creates the illusion of multiple processes, each executing on its own processor with its own (virtual) memory. Operating System Concepts 3.30 Silberschatz, Galvin and Gagne 2002
  31. Virtual Machines (Cont.) n The resources of the physical computer are shared to create the virtual machines. F CPU scheduling can create the appearance that users have their own processor. F Spooling and a file system can provide virtual card readers and virtual line printers. F A normal user time-sharing terminal serves as the virtual machine operator’s console. Operating System Concepts 3.31 Silberschatz, Galvin and Gagne 2002
  32. System Models Non-virtual Machine Virtual Machine Operating System Concepts 3.32 Silberschatz, Galvin and Gagne 2002
  33. Advantages/Disadvantages of Virtual Machines n The virtual-machine concept provides complete protection of system resources since each virtual machine is isolated from all other virtual machines. This isolation, however, permits no direct sharing of resources. n A virtual-machine system is a perfect vehicle for operating -systems research and development. System development is done on the virtual machine, instead of on a physical machine and so does not disrupt normal system operation. n The virtual machine concept is difficult to implement due to the effort required to provide an exact duplicate to the underlying machine. Operating System Concepts 3.33 Silberschatz, Galvin and Gagne 2002
  34. Java Virtual Machine n Compiled Java programs are platform-neutral bytecodes executed by a Java Virtual Machine (JVM). n JVM consists of - class loader - class verifier - runtime interpreter n Just-In-Time (JIT) compilers increase performance Operating System Concepts 3.34 Silberschatz, Galvin and Gagne 2002
  35. Java Virtual Machine Operating System Concepts 3.35 Silberschatz, Galvin and Gagne 2002
  36. System Design Goals n User goals – operating system should be convenient to use, easy to learn, reliable, safe, and fast. n System goals – operating system should be easy to design, implement, and maintain, as well as flexible, reliable, error-free, and efficient. Operating System Concepts 3.36 Silberschatz, Galvin and Gagne 2002
  37. Mechanisms and Policies n Mechanisms determine how to do something, policies decide what will be done. n The separation of policy from mechanism is a very important principle, it allows maximum flexibility if policy decisions are to be changed later. Operating System Concepts 3.37 Silberschatz, Galvin and Gagne 2002
  38. System Implementation n Traditionally written in assembly language, operating systems can now be written in higher-level languages. n Code written in a high-level language: F can be written faster. F is more compact. F is easier to understand and debug. n An operating system is far easier to port (move to some other hardware) if it is written in a high-level language. Operating System Concepts 3.38 Silberschatz, Galvin and Gagne 2002
  39. System Generation (SYSGEN) n Operating systems are designed to run on any of a class of machines; the system must be configured for each specific computer site. n SYSGEN program obtains information concerning the specific configuration of the hardware system. n Booting – starting a computer by loading the kernel. n Bootstrap program – code stored in ROM that is able to locate the kernel, load it into memory, and start its execution. Operating System Concepts 3.39 Silberschatz, Galvin and Gagne 2002