You are on page 1of 29

Welcome!

Operating System Concepts


6th Edition
Abraham Silberschatz
Peter Baer Galvin
Greg Gagne

ghsong@cs.zju.edu.cn

Operating System Concepts 1.1 Chapter one


Operating System
Course Overview
1. Overview of computer system and OS
2. Concept, principle,method, algorithm,
technology about how OS manages system
resources and provides services for users.
3. Case study: linux, Windows 2000, Free
BSD, Solaris, etc.
4. Practice of linux:
source code analyzing
programming

Operating System Concepts 1.2 Chapter one


 References:
1. 操作系统内核与设计原理( Operating System Internals
and Design Principles ) , William Stalling, 第四版,电
子工业出版社, 2002
2. 边干边学: Linux 内核学习指导,浙江大学出版社
3. Linux Kernel Internals,2nd Edition
4. 操作系统学习指导与考试指导,在杭高校教师合编,浙江
大学出版社, 2004

Operating System Concepts 1.3 Chapter one


Evaluation
 Assignments (in English)
 Mid-term Exam (in English, if required)
 Final Exam: (all in English)

Operating System Concepts 1.4 Chapter one


Assignments
 The assignments will be:
 Exercises on theory covered in class
 Better if in English
Labs
Familiar with the linux OS environment
Reading and analyzing of linux source codes,
including important data structure,etc.
 Exercises on programming in linux environment,
including system calls, etc.
Prerequisites
 C Programming skills
 Course on Computer Organization

Operating System Concepts 1.5 Chapter one


OS Concept Course content (if time permits...)
 Introduction
 Operating system overview.
 Process.
 Threads.
 Concurrency: mutual exclusion and synchronization.
 Concurrency: deadlock and starvation.
 Processor scheduling.
 Memory management.
 Virtual memory.
 I/O management and disk scheduling.
 File management.

Operating System Concepts 1.6 Chapter one


Chapter 1: Introduction

 What is an Operating System?


 Mainframe Systems
 Desktop Systems
 Multiprocessor Systems
 Distributed Systems
 Clustered Systems
 Real -Time Systems
 Embedded Systems
 Computing Environments

Operating System Concepts 1.7 Chapter one


What is an Operating System?

 A program that acts as an intermediary between a


user of a computer and the computer hardware.
 Operating system goals:
 Execute user programs and make solving
user problems easier.(e.g. multi-threaded
server)
 Make the computer system convenient to
use.(e.g. GUI)
 Use the computer hardware in an efficient manner.

Operating System Concepts 1.8 Chapter one


Computer System Components

1. Hardware – provides basic computing


resources (CPU, memory, I/O devices).
2. Operating system – controls and coordinates
the use of the hardware among the various
application programs for the various users.
3. Applications programs – define the ways in
which the system resources are used to solve
the computing problems of the users
(compilers, database systems, video games,
business programs).
4. Users (people, machines, other computers).

Operating System Concepts 1.9 Chapter one


Abstract View of System Components

Operating System Concepts 1.10 Chapter one


Operating System Definitions

 Resource allocator – manages and allocates


resources.
 Control program – controls the execution of
user programs and operations of I/O devices .
 Kernel – the one program running at all times
(all else being application programs).

Operating System Concepts 1.11 Chapter one


Mainframe Systems

 Reduce setup time by batching similar jobs


 Automatic job sequencing – automatically
transfers control from one job to another. First
rudimentary operating system. (Simple Batch
System :简单批处理系统 )
 Resident monitor( 常驻内存的监控程序 )
 initial control in monitor
 control transfers to job
 when job completes control transfers back to
monitor

Operating System Concepts 1.12 Chapter one


Memory Layout for a Simple Batch System

Operating System Concepts 1.13 Chapter one


Multiprogrammed Batch Systems
(多道程序批处理系统)
Several jobs are kept in main memory at the same time,
and the CPU is multiplexed among them.

Operating System Concepts 1.14 Chapter one


OS Features Needed for Multiprogramming

 I/O routine supplied by the system.


 Memory management – the system must
allocate the memory to several jobs.
 CPU scheduling – the system must choose
among several jobs ready to run.
 Allocation of devices.

Operating System Concepts 1.15 Chapter one


Time-Sharing Systems–Interactive Computing

 The CPU is multiplexed among several jobs that


are kept in memory and on disk (the CPU is
allocated to a job only if the job is in memory).
 A job swapped in and out of memory to the
disk.
 On-line communication between the user and
the system is provided; when the operating
system finishes the execution of one command,
it seeks the next “control statement” from the
user’s keyboard.
 On-line system must be available for users to
access data and code.

Operating System Concepts 1.16 Chapter one


Desktop Systems

 Personal computers – computer system


dedicated to a single user.
 I/O devices – keyboards, mice, display screens,
small printers.
 User convenience and responsiveness.
 Can adopt technology developed for larger
operating systems, often individuals have sole
use of computer and do not need advanced
CPU utilization of protection features.
 May run several different types of operating
systems (Windows, MacOS, UNIX, Linux)

Operating System Concepts 1.17 Chapter one


Parallel Systems
 Multiprocessor systems with more than one CPU
in close communication.
 Tightly coupled system – processors share
memory and a clock; communication usually
takes place through the shared memory.( 紧耦合
系统 )
 Advantages of parallel system:
 Increased throughput
 Economy of scale
 Increased reliability
 graceful degradation(fault tolerant)
 fail-soft systems

Operating System Concepts 1.18 Chapter one


Parallel Systems (Cont.)

 Symmetric multiprocessing (SMP)


 Each processor runs an identical copy of the
operating system.
 Many processes can run at once without
performance deterioration.
 Most modern operating systems support
SMP
 Asymmetric multiprocessing
 Each processor is assigned a specific task;
master processor schedules and allocates
work to slave processors.
 More common in extremely large systems

Operating System Concepts 1.19 Chapter one


Symmetric Multiprocessing Architecture

Operating System Concepts 1.20 Chapter one


Distributed Systems

 Distribute the computation among several physical


processors.
 Loosely coupled system – each processor has its
own local memory; processors communicate with
one another through various communications lines,
such as high-speed buses or telephone lines.( 松耦
合系统 )
 Advantages of distributed systems.
 Resources Sharing
 Computation speed up – load sharing
 Reliability
 Communications

Operating System Concepts 1.21 Chapter one


Distributed Systems (cont)

 Requires networking infrastructure.


 Local area networks (LAN) or Wide area
networks (WAN)
 May be either client-server or peer-to-peer
systems.

Operating System Concepts 1.22 Chapter one


General Structure of Client-Server

Operating System Concepts 1.23 Chapter one


Clustered Systems( 群集系统 )

 Clustering allows two or more systems to share


storage.
 Provides high reliability.
 Asymmetric clustering: one server runs the
application while other servers standby.
 Symmetric clustering: all N hosts are running
the application.

Operating System Concepts 1.24 Chapter one


Real-Time Systems( 实时系统 )

 Often used as a control device in a dedicated


application such as controlling scientific
experiments, medical imaging systems,
industrial control systems, and some display
systems. E.g. VxWorks
 Well-defined fixed-time constraints.
 System design aims at satifying as many time-
constraint processings as possible, not the
overall throughput or response time
 Real-Time systems may be either hard or soft
real-time.( 硬实时系统、软实时系统 )

Operating System Concepts 1.25 Chapter one


Real-Time Systems (Cont.)

 Hard real-time:
 Secondary storage limited or absent, data
stored in short term memory, or read-only
memory (ROM)
 Conflicts with time-sharing systems, not
supported by general-purpose operating
systems.

 Soft real-time
 Limited utility in industrial control or robotics
 Useful in applications (multimedia, virtual
reality) requiring advanced operating-system
features.

Operating System Concepts 1.26 Chapter one


Embedded Systems( 嵌入式系统 )

 Personal Digital Assistants (PDAs :个人数字助理 )


 Cellular telephones( 蜂窝电话 )
 IP phones
 Digitized appliances
 features:
 Limited memory
 Slow processors
 Small display screens
 Real-time requirements(maybe)

Operating System Concepts 1.27 Chapter one


Migration of Operating-System Concepts and Features

Operating System Concepts 1.28 Chapter one


Computing Environments

 Traditional computing
 Web-Based Computing
 Embedded Computing

Operating System Concepts 1.29 Chapter one

You might also like