1 / 40

OPERATING SYSTEMS PRINCIPLES

OPERATING SYSTEMS PRINCIPLES. Instructor: Xiangluo Wang E-Mail: wx_25@yahoo.com.cn Office: Yifu A404 Office Hours: Thursdays@ 16:00-18:00,or by appointment. Preface. GOALS Devoting to traditional topics Extending & Integrating them with basic ideas in distributed computing

Télécharger la présentation

OPERATING SYSTEMS PRINCIPLES

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 PRINCIPLES Instructor: Xiangluo Wang E-Mail: wx_25@yahoo.com.cn Office: Yifu A404 Office Hours: Thursdays@ 16:00-18:00,or by appointment

  2. Preface • GOALS • Devoting to traditional topics • Extending & Integrating them with basic ideas in distributed computing • Emphasizing language application • CONTENTS • Process Management and Coordination • Memory Management • File and I/O Management • Protection and Security

  3. Preface • EXERCISES • Analytical contents • Constructive contents • Discussion or speculative analysis • APPROACH & PHILOSOPHY • In-depth coverage of standard topics • Integrating centralized and distributed OS issues in each chapter • Introducing various cases of existing os throughout the course

  4. CHAPTER 1 INDEX: • THE ROLE OF OPERATING SYSTEMS • ORGANIZATION OF OPERATING SYSTEMS • OPERATING SYSTEM EVOLUTION AND CONCEPTS

  5. THE ROLE OF OPERATING SYSTEMS • Bridging the Hardware/Application Gap • As Extended Machines • As Virtual Machines • As Resource Managers

  6. Fetch the instruction pointed to by the program counter Increment the program counter Decode the current instruction Fetch any operands referenced by the instruction Execute the instruction FIGURE 1-1 Basic hardware cycle

  7. CPU Communication devices Main memory Main memory CPU Communication devices User Network CPU Secondary storage Secondary storage FIGURE 1-2 Main components of a computer system FIGURE 1-3 Shared-memory multiprocessor

  8. Main memory CPU Communication devices Main memory CPU Secondary storage FIGURE1-4 Distributed-memory multiprocessor Main memory Communication devices Network CPU Secondary storage Main memory Communication devices CPU Secondary storage FIGURE 1-5 Multicomputer

  9. LARGE DIVIDE BETWEEN HARDWARE AND APPLICATION: • Machine instructions Read or write a value------High-level data structures Perform arithmetic/logical operation-----Complex control flows • Main memory A linear sequence of simple cells------programs, modules, and data structures • Secondary storage Tracks, blocks------file • Hardware interface and I/O device Registers-------messages

  10. Three Views of operating systems • Abstraction: Being applied to handle complexity • Virtualization: resource sharing • Resource management: The problem of efficiency KEY CONCEPTS:

  11. OS as Extended Machines • Abstraction: package sequences of lower-level instructions into functions that can be invoked as single higher-level operations • Making use of abstraction at many levels

  12. OS as Virtual Machines Application1 Spooling Virtual memory1 Virtual memory2 CPU1 CPU2 Printer1 Printer2 OS Time sharing Memory management Hardware CPU Main memory Printer Principles of virtualization

  13. CS DS 3GB BSS User HEAP HOLE STACK kernel 1GB Task’s VM space in Linux

  14. OS as Resource Managers • Difference between devices’ performance • Parallelism opportunities • Scheduling policies

  15. ORGANIZATION OF OS • Structural Organization (functional) • Internal structure (static) • Hardware Interface • Programming Interface • User Interface • Runtime Organization

  16. User Applications (system and user) Library calls System libraries Kernel calls Machine instructions OS kernel Hardware Structural Organization

  17. Hardware Interface • Interrupts, Singularities, and Traps • External interrupts (Hardware) • Internal interrupts • Soft interrupts • Self traps • Singularities • Modes of Instruction Execution X86:Ring 0—Ring 3

  18. Example • Clock interrupt in Linux Several hardware clock interrupts contribute one “tick”; One “tick” causes the change of execution mode . • Task schedule& switch Occurring in Ring 0 • User mode& kernel mode Linux: Ring0& Ring3; OS2: Ring0---Ring3

  19. The Programming Interface • The difference between kernel and library functions • Sys-calls provided by OSs

  20. Application issues call To lib_func(params) Body of Lib_func() Push params on stack Branch to lib_func() body Perform service Return from function Pop stack pointer Nonprivileged library service

  21. Body of kern_func() Application issues call To kern_func(params) Kernel code Push params on stack Branch to kern_func() body Set up regs for SVC SVC Perform service Set nonprivileged mode Return from SVC Pop stack pointer Return from function Nonprivileged library service

  22. Sys-calls • Process management --create/destroy, suspend/activate process --send signal or message to process --wait for event or signal • Memory management --allocate/deallocate region of memory --increase/decrease size of allocated region

  23. Sys-calls • File management --create/destroy, open/close, move, rename file --append data to file or concatenate files --display content of file or directory --display/change file attributes

  24. Sys-calls • Input/Output --read/write character or block of data from a file or device --control/check status of a device • Miscellaneous services --get current date and time --schedule an alarm to occur --generate various system diagnostics

  25. The User Interface The top-level user interface remains available at all times so that users can launch, use, monitor, and manage applications and files • Text-based interface (shell) • Graphics-based interface (GUI)

  26. The Shell • Execute and manage programs ar: create, edit,modify source files as: compiler ld: GNU linker gdb: GNU DeBug • Manipulate files mkdir, rm, mv, rmdir, cat • Obtain system information who, pwd,du, ls

  27. The Shell • Shell scripts local variables iterative statements conditionals arithmetic and logical operators Wildcards connectors

  28. Runtime Organization User process (client) System process (server) User process Send request Library or kernel call Service routine Service routine Return results return Process1’s address space Process2’s address space Process’ address space Service as a subroutine Service as a process

  29. Benefits of the C/S approach • Being suitable for a distributed system • Being convenient for different types of services • Having a greater degree of fault tolerance • Enforcing a strict segregation of functionalities

  30. OS EVOLUTION&CONCEPTS • Early systems • Batch OSs • Multiprogramming Systems • Interactive OSs • PC and Workstation OSs • Real-Time OSs • Distributed OSs

  31. Early Systems • Users interact with computations • One at a time • At the lowest machine level • A standard operating procedure Loaderassemblersource programloaderexe machine code • Initial startup (bootstrapping)

  32. Batch OSs • Automating the standard load/translate/load/execute sequence • Job-to-job transitions automatically • Submitting multiple jobs at the same time • I/O processor (I/O channel)

  33. Multiprogramming Systems • A simultaneous manner • Virtual parallelism (concurrence) • Protection • Process synchronization and communication • Dynamic memory management

  34. CPU IO Job A Job B Sequential execution CPUA IOA CPUB IOB Job A Job B multiprogramming CPU and I/O overlap

  35. Interactive OSs • The ability to simultaneously share a machine’s resources • Acceptable response time to each user • Serve processes cyclically by assigning a small portion or quantum of CPU time

  36. PC and Workstation OSs • The development of GUIs • Manually switching • Implicit multiprogramming (multitasking) Being transparent to the interactive user but not to applications • Preemptive multiprogramming Being transparent not only to users but to applications

  37. Real-Time OSs • Timing constraints (deterministic deadlines) • Concurrency (asynchronous, simultaneous) • Strict fault tolerance and reliability requirements • Difficult to test and certify

  38. Distributed OSs • Loosely coupled Communicates at a lower level (e.g., over a WAN) • Tightly coupled higher-level communication on top of message passing (RPC) • Clocks must be synchronized, accurate, and monotomic increasing

  39. EXERCISES • Give examples of semantic gaps that must be bridged by software,including OSs at the following levels: CPU (instruction) level, main memory level, secondary storage level, I/O device level. • What do traps and interrupts have in common? How are they different? Give an example of each.

  40. EXERCISES • What do multiprogramming and time-sharing have in common? How are they different? Is multiprogramming possible without interrupts? Is time-sharing possible without interrupts?

More Related