Presentation is loading. Please wait.

Presentation is loading. Please wait.

OPERATING SYSTEMS PRINCIPLES Instructor: Xiangluo Wang Office: Yifu A404 Office Hours: 16:00-18:00,or.

Similar presentations


Presentation on theme: "OPERATING SYSTEMS PRINCIPLES Instructor: Xiangluo Wang Office: Yifu A404 Office Hours: 16:00-18:00,or."— Presentation transcript:

1 OPERATING SYSTEMS PRINCIPLES Instructor: Xiangluo Wang E-Mail: wx_25@yahoo.com.cnwx_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  THE ROLE OF OPERATING SYSTEMS THE ROLE OF OPERATING SYSTEMS  ORGANIZATION OF OPERATING SYSTEMS ORGANIZATION OF OPERATING SYSTEMS  OPERATING SYSTEM EVOLUTION AND CONCEPTS INDEX:

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 Main memory CPUCommunication devices Secondary storage User Network FIGURE 1-2 Main components of a computer system Main memory CPU Communication devices Secondary storage FIGURE 1-3 Shared-memory multiprocessor

8 Main memory CPU Communication devices Secondary storage Main memory FIGURE1-4 Distributed-memory multiprocessor Main memory CPU Communication devices Secondary storage Main memory Secondary storage Communication devices Network 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 CPU 1 CPU 2 CPU Virtual memory 1 Virtual memory 2 Main memory Printer 1 Printer 2 Printer Application1 Time sharing Memory management Spooling OS Hardware Principles of virtualization

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

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 Structural Organization Applications (system and user) OS kernel System libraries Hardware User Library calls Kernel calls Machine instructions

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 Application issues call To kern_func(params) Body of kern_func() Push params on stack Branch to kern_func() body Set up regs for SVC SVC Pop stack pointer Nonprivileged library service Return from function Kernel code Perform service Set nonprivileged mode Return from SVC

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 Library or kernel call Service routine return Service as a subroutine Process’ address space User process (client) Return results Send request Service routine Process1’s address space Process2’s address space System process (server) 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 Job ACPU IO Job B Sequential execution Job A IO A CPU A CPU B IO B 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?


Download ppt "OPERATING SYSTEMS PRINCIPLES Instructor: Xiangluo Wang Office: Yifu A404 Office Hours: 16:00-18:00,or."

Similar presentations


Ads by Google