Download - SP Lecture - 01
-
7/31/2019 SP Lecture - 01
1/33
Chapter 3
Operating SystemStructures
-
7/31/2019 SP Lecture - 01
2/33
2
Operating-System StructuresTopics
System Components
Operating System Services
System Calls
System Programs
System Structure
Virtual Machines
System Design and Implementation
System Generation
-
7/31/2019 SP Lecture - 01
3/33
3
System Components
Process Management
Main Memory Management
File Management
I/O System Management
Secondary Management
Protection System
Command-Interpreter System
-
7/31/2019 SP Lecture - 01
4/33
4
Process Management
Aprocess is a program in execution. A process needs certain
resources, including CPU time, memory, files, and I/Odevices, to accomplish its task.
The CPU executes one instruction of the process afteranother, until the process completes.
The operating system is responsible for the followingactivities in connection with process management.
Process creation and deletion of both user and system .
process suspension and resumption. Provision of mechanisms for:
process synchronization.
process communication.
-
7/31/2019 SP Lecture - 01
5/33
5
Main Memory Management
Memory is a large array of words or bytes, each with its
own address. It is a repository of quickly accessible datashared by the CPU and I/O devices.
Main memory is a volatile storage device. It loses itscontents in the case of system failure.
The I/O operations implemented via DMA also read andwrite data in memory.
To improve both the utilization of CPU and the speed of thecomputers response to its users, we keep several programsin memory.
-
7/31/2019 SP Lecture - 01
6/33
6
Main Memory Management (Cont.)
The operating system is responsible for the followingactivities in connections with memory management:
Keep track of which parts of memory are currently being
used and by whom.
Decide which processes to load when memory spacebecomes available.
Allocate and deallocate memory space as needed.
-
7/31/2019 SP Lecture - 01
7/33
7
File Management
A file is a collection of related information defined by its
creator. Commonly, files represent programs (both sourceand object forms) and data.
Data such as text files.
Computers can store information on several different typesof physical media.
Magnetic tape, magnetic disk, and optical disk are the mostcommon media.
Each of these media has its own characteristics and physicalorganization.
-
7/31/2019 SP Lecture - 01
8/33
8
File Management (Cont.)
The operating system is responsible for the followingactivities in connections with file management:
File creation and deletion.
Directory creation and deletion. Support of primitives for manipulating files and
directories.
Mapping files onto secondary storage.
File backup on stable (nonvolatile) storage media.
-
7/31/2019 SP Lecture - 01
9/33
9
I/O System Management
The I/O subsystem consists of:
A memory management component including buffering, cachingand spooling.
A general device-driver interface.
Drivers for specific hardware devices.
-
7/31/2019 SP Lecture - 01
10/33
10
Secondary-Storage Management
Since main memory (primary storage) is volatile and toosmall to accommodate all data and programs permanently,the computer system must provide secondary storage to backup main memory.
Most modern computer systems use disks as the principleon-line storage medium, for both programs and data.
The operating system is responsible for the following
activities in connection with disk management: Free space management
Storage allocation
Disk scheduling
-
7/31/2019 SP Lecture - 01
11/33
11
Protection System
Protection refers to a mechanism for controlling access byprograms, processes, or users to both system and userresources.
An unprotected resource cannot defend against use (ormisuse) by an unauthorized or incompetent user.
The protection mechanism must:
distinguish between authorized and unauthorized usage.
specify the controls to be imposed.
-
7/31/2019 SP Lecture - 01
12/33
12
Command-Interpreter System
Many commands are given to the operating system bycontrol statements which deal with:
process creation and management
I/O handling secondary-storage management
main-memory management
file-system access
protection networking
-
7/31/2019 SP Lecture - 01
13/33
13
Command-Interpreter System (Cont.)
The program that reads and interprets control statements iscalled variously:
command-line interpreter
shell (in UNIX)
Its function is to get and execute the next commandstatement.
-
7/31/2019 SP Lecture - 01
14/33
14
Operating System Services
An operating system provides an environment for theexecution of programs.
Program execution
System capability to load a program into memory and to run it. Program must be able to end its execution, either normally orabnormally (indicating error).
I/O operations
Since user programs cannot execute I/O operations directly, theoperating system must provide some means to perform I/O.
-
7/31/2019 SP Lecture - 01
15/33
15
Operating System Services (Cont.)
File-system manipulation Program capability to read, write, create, and delete files.
Communications Exchange of information between processes executing either on the
same computer or on different systems tied together by a network.Implemented via shared memory or message passing.
Error detection Ensure correct computing by detecting errors in the CPU and
memory hardware, in I/O devices, or in user programs.
-
7/31/2019 SP Lecture - 01
16/33
16
Additional Operating System Functions
Additional functions exist not for helping the user, butrather for ensuring efficient system operations.
Resource allocation Allocating resources to multiple users or multiple jobs running at the
same time.
Accounting Keep track of and record which users use how much and what kinds
of computer resources for account billing or for accumulating usagestatistics.
Protection Ensuring that all access to system resources is controlled. Security of the system from outsiders is also important.
-
7/31/2019 SP Lecture - 01
17/33
17
System Calls
System calls provide the interface between a running
program and the operating system.
Generally available as assembly-language instructions.
Languages defined to replace assembly language for systems
programming allow system calls to be made directly (e.g., C, C++)
Three general methods are used to pass parameters betweena running program and the operating system. Pass parameters in registers.
Store the parameters in a table in memory, and the table address ispassed as a parameter in a register.
Push (store) the parameters onto the stack by the program, andpopoff the stack by operating system.
-
7/31/2019 SP Lecture - 01
18/33
18
Passing of Parameters As A Table
-
7/31/2019 SP Lecture - 01
19/33
19
Types of System Calls
Process and job control
File manipulation
Device management
Information maintenance
Communication
-
7/31/2019 SP Lecture - 01
20/33
20
Process and job controlMS-DOS Execution
At System Start-up Running a Program
-
7/31/2019 SP Lecture - 01
21/33
21
Process and job controlUNIX Running Multiple Programs
-
7/31/2019 SP Lecture - 01
22/33
22
Process and job controlCommunication Models
Communication may take place using either message passing orshared memory.
Message Passing Shared Memory
-
7/31/2019 SP Lecture - 01
23/33
23
System Programs
System programs provide a convenient environment forprogram development and execution. They can be dividedinto:
File manipulation
Status information File modification
Programming language support
Program loading and execution
Communications
-
7/31/2019 SP Lecture - 01
24/33
24
System Programs (Contd.)
File manipulation These programs creates, delete copy, rename, print, dump, list and
manipulate files and directories.
Status information Programs simply ask the system for the date, time, amount of
memory or disk space, number of users or similar statusinformation.
The information is printed on terminal or other output device.
File modification Several text editors are available to create and modify the contents of
files and save it on disk or tape.
-
7/31/2019 SP Lecture - 01
25/33
25
System Programs (Contd.)
Programming language support Compilers, assemblers, and interpreters (FORTRAN, COBOL,
Pascal, BASIC and C).
Program loading and execution Once a program is assembled or compiled, it must be loaded into
memory to be executed.
Communications Provide the mechanism for creating virtual connections among
processes, users and different computer systems.
-
7/31/2019 SP Lecture - 01
26/33
26
System Structure
MS-DOS System Structure
MS-DOS written to provide the most functionality in theleast space
Not divided into modules
Although MS-DOS has some structure, its interfaces andlevels of functionality are not well separated
-
7/31/2019 SP Lecture - 01
27/33
27
System Structure
MS-DOS Layer Structure
-
7/31/2019 SP Lecture - 01
28/33
28
System Structure (Contd.)
UNIX System Structure
Limited by hardware functionality, the original UNIXoperating system had limited structuring. The UNIX OSconsists of two separable parts.
Systems programs Consists of everything below the system-call interface and above
the physical hardware
The kernel Provides the file system, CPU scheduling, memory management,
and other operating-system functions; a large number offunctions for one level.
-
7/31/2019 SP Lecture - 01
29/33
29
System Structure
UNIX System Structure
-
7/31/2019 SP Lecture - 01
30/33
30
System Structure (Contd.)
Layered Approach
The operating system is divided into a number of layers
(levels), each built on top of lower layers. The bottomlayer (layer 0), is the hardware; the highest (layer N) isthe user interface.
With modularity, layers are selected such that each usesfunctions (operations) and services of only lower-levellayers.
-
7/31/2019 SP Lecture - 01
31/33
31
System Structure (Contd.)
An Operating System Layer
-
7/31/2019 SP Lecture - 01
32/33
32
System Structure (Contd.)
Layered Approach
Layer 5: User programs
Layer 4: Buffering for input and output devices
Layer 3: Operator-console device driver
Layer 2: Memory management
Layer 1: CPU scheduling
Layer 0: Hardware
-
7/31/2019 SP Lecture - 01
33/33
33
System Structure (Contd.)
General OS Layers