Title: Operating Systems Principles Lecture 1: Introduction
1Operating Systems PrinciplesLecture 1
Introduction
2Content
- The Role of Operating Systems
- Bridge the Hardware/Application Gap
- Three Views of Operating Systems
- Organization of Operating Systems
- Structural Organization
- The Hardware Interface
- The Programming Interface
- The User Interface
- Runtime Organization
- Operating System Evolution Concepts
3Operating Systems PrinciplesLecture 1
Introduction
- The Role of Operating Systems
4PC Hardware Organization
5Users ?? Hardware
6Users ?? Hardware
- User needs to think in terms of problem to be
solved - High-level data structures and corresponding
operations - Simple, uniform interfaces to subsystems,
- Treat programs and data files as single entities
- Hardware capabilities are very low level
- Arithmetic and logical operators
- Comparison of two bit-strings
- Branching, reading, and writing bytes
7Fills the Gap
Software
8Fills the Gap
- Use software to bridge this gap
- Language processors e.g.,
- - assemblers, compilers, interpreters
- Editors and text processors, linkers and
loaders. - Application programs, utility and service
programs. - Operating Systems
Software
9Single CPU System
10Single CPU System
11I/O Devices
I/O Devices
12Multiprocessor Systems
Share-Memory Model
Distributed-Memory Model
13Synchronization Communication of CPUs
Share-Memory Model
Distributed-Memory Model
through the shared memory
interconnection network required.
14Cash Coherence Problem
Cashes do not contain different values for the
same memory element.
Share-Memory Model
Distributed-Memory Model
15Multicomputer System
16Multicomputer System
Network Controller
Network Controller
17Local Area Networks
- Local area networks (LANs) connect computers
within a building or a enterprise network. - LAN network topologies
Ring Network
Broadcast Bus
18Wide Area Networks
- A Wide Area Network (WAN) is a collection of
Local Area Networks (LANs) that have been
connected together. - The internet is an example of a WAN.
19What are done by OS?
- Process Management
- Scheduling of process
- Synchronization
- Memory Management
- Virtual memory
- Input/Output Systems
- Device drivers
- Spooling
- File Systems
- Protection and Security
Applications/Services
Operating System
Bare Machine
20Three Views of OSs
Application Programmers View
Applications/Services
Operating System
Users View
Bare Machine
System Programmers View
21Users View
- OS is an extended machine
- Abstraction hides complexity
- Provides high level operations
Application Programmers View
Applications/Services
Operating System
Users View
Bare Machine
System Programmers View
22Application Programmers View
- OS is a virtual machine
- Virtualization supports sharing
- Provides virtual CPU, memory, devices
Application Programmers View
Applications/Services
Operating System
Users View
Bare Machine
System Programmers View
23System Programmers View
- OS is a resource manager
- Balance overall performance with individual
needs - e.g., response time, deadlines
Application Programmers View
Applications/Services
Operating System
Users View
Bare Machine
System Programmers View
24Operating Systems PrinciplesLecture 1
Introduction
- Organization of Operating Systems
25Structure Organization of OS
Library Calls
Kernel Calls
Operating System Kernel
Machine Instructions
Hardware
26Modes of CPU Execution
Dual-Mode Operation
Library Calls
(user mode)
nonprivileged mode
Kernel Calls
privileged mode
Operating System Kernel
(supervisor mode)
(system mode)
Machine Instructions
(monitor mode)
Hardware
(kernel mode)
27Supervisor Call (SVC)
SVCs are used to implement all kernel calls and
form the basic interface btw the OS kernel and
the rest of the software.
Library Calls
SVC
nonprivileged mode
Kernel Calls
privileged mode
Operating System Kernel
Machine Instructions
Hardware
28The Hardware Interface
- Applications and OS compiled into machine
instructions - Interrupts and Traps allow OS to seize control
- process management (time-sharing)
- device management (I/O completion)
SVC
29The Programming Interface
- Invoking system services
- Library call (nonprivileged)
- Kernel call (privileged)
30The User Interface
- Text-based shell
- e.g., Unix, MS Dos
- command interpreter
- shell scripts
- Graphics-based GUI
- e.g., Mac, MS Windows
- windows
- icons
- menus
- pointer
31Runtime Organization
Service is an Autonomous Process (client-server)
Service is a Subroutine
32Operating Systems PrinciplesLecture 1
Introduction
- Operating System Evolution Concepts
33History of Operating Systems
- The First Generation (194555)
- Vacuum Tubes and Plugboards
- The Second Generation (195565)
- Transistors and Batch Systems
- The Third Generation (19651980)
- ICs and Multiprogramming
- The Fourth Generation (1980Present)
- Personal Computers
34The First Generation (194555) ? Vacuum Tubes and
Plugboards
35The First Generation (194555) ? Vacuum Tubes and
Plugboards
36The First Generation (194555) ? Vacuum Tubes and
Plugboards
- Machines of the time were so primitive that
programs were often entered one bit at time on
rows of mechanical switches (plugboards). - Programming languages were unknown (not even
assembly languages). - Operating systems were unheard of.
37The Second Generation (195565) ?Transistors and
Batch Systems
- A batch system is one in which jobs are bundled
together with the instructions necessary to allow
them to be processed without intervention. - Often jobs of a similar nature can be bundled
together to further increase economy.
38The Second Generation (195565) ?Transistors and
Batch Systems
39The Second Generation (195565) ?Transistors and
Batch Systems
JOB user_spec identify the user for accounting
purposes FORTRAN load the FORTRAN
compiler source program cards LOAD load the
compiled program RUN run the program data
cards EOJ end of job JOB user_spec
identify a new user LOAD application RUN Data
EOJ
40The Second Generation (195565) ?Transistors and
Batch Systems
41The Second Generation (195565) ?Transistors and
Batch Systems
Monitor another name of OS.
Memory Layout of a Batch System
Monitor (permanently resident)
- The monitor is system software that is
responsible for interpreting and carrying out the
instructions in the batch jobs. - When the monitor started a job, it handed over
control of the entire computer to the job, which
then controlled the computer until it finished.
User Space (compilers, programs, data, etc.)
42The Second Generation (195565) ?Transistors and
Batch Systems
- Advantages of batch systems
- move much of the work of the operator to the
computer - increased performance since it was possible for
job to start as soon as the previous job finished
- Disadvantages
- turn-around time can be large from user
standpoint - more difficult to debug program
- due to lack of protection scheme, one batch job
can affect pending jobs (read too many cards,
etc) - a job could corrupt the monitor, thus affecting
pending jobs - a job could enter an infinite loop
43The Third Generation (19651980) ? ICs and
Multiprogramming
Have more than one active (running) program in
memory at any one time.
Why?
44The Third Generation (19651980) ? ICs and
Multiprogramming
- Main features of this generation
- CPU and I/O Overlap
- Spooling
- simultaneous peripheral operations on line
- Time-sharing technique
45The Third Generation (19651980) ? ICs and
Multiprogramming
The typical CPU and I/O overlap pattern in a
single program
46The Third Generation (19651980) ? ICs and
Multiprogramming
Goal of multiprogramming ? Keep CPUs and and I/O
devices busy.
47The Third Generation (19651980) ? ICs and
Multiprogramming
- CPU Bound Programs
- Perform calculation most of time
- Scientific computation
- I/O Bound Programs
- Perform I/O most of time
- Commercial data processing
48The Third Generation (19651980) ? ICs and
Multiprogramming
Time Saved
49The Third Generation (19651980) ? ICs and
Multiprogramming
- Spooling (simultaneous peripheral operations on
line). - In spooling, a high-speed device like a disk
interposed between a running program and a
low-speed device involved with the program in
input/output. - Example Instead of writing directly to a
printer, outputs are written to the disk. - Programs can run to completion faster and
- other programs can be initiated sooner when the
printer becomes available, the outputs may be
printed.
50The Third Generation (19651980) ? ICs and
Multiprogramming
- Time Sharing Technique
- A variant of multiprogramming technique.
- Each user has an on-line terminal.
- Because the user is present and interacting with
the computer, the computer system must respond
quickly to user requests, otherwise user
productivity could suffer. - Timesharing systems were developed to
multiprogram large number of simultaneous
interactive users.
51The Fourth Generation (1980Present) ? Personal
Computers
- With the development of LSI circuits, chips,
operating system entered entered in the personal
computer and the workstation age. - Microprocessor technology evolved to the point
that it become possible to build desktop
computers as powerful as the mainframes of the
1970s.
52The Fourth Generation (1980Present) ? Personal
Computers
- CP/M (Control Program of Microcomputers)
- MS-Dos
- Windows
- Unix
- GUI
53The Evolution
- Early systems ? No Operating System
- Batch Operating Systems
- Multiprogramming Systems
- Interactive operating Systems
- Personal Computer and Workstation Operating
Systems - Real-time Operating Systems
- Distributed Operating Systems