Download presentation
Presentation is loading. Please wait.
Published byAusten White Modified over 9 years ago
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?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.