Operating System Structures: Instructor

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 25

Chapter 3

Operating System
Structures

Instructor: Sadia Iqbal


Operating-System Structures
Topics
• System Components
• Operating System Services
• System Calls
• System Programs
• System Structure
• Virtual Machines
• System Design and Implementation
• System Generation

2
System Components

• Process Management
• Main Memory Management
• File Management
• I/O System Management
• Secondary Management
• Protection System
• Command-Interpreter System

3
Process Management
• A process is a program in execution. A process needs certain
resources, including CPU time, memory, files, and I/O
devices, to accomplish its task.

• The CPU executes one instruction of the process after


another, until the process completes.

• The operating system is responsible for the following


activities 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.
4
Main Memory Management
• Memory is a large array of words or bytes, each with its
own address. It is a repository of quickly accessible data
shared by the CPU and I/O devices.

• Main memory is a volatile storage device. It loses its


contents in the case of system failure.

• The I/O operations implemented via DMA also read and


write data in memory.

• To improve both the utilization of CPU and the speed of the


computer’s response to its users, we keep several programs
in memory.

5
Main Memory Management (Cont.)

• The operating system is responsible for the following


activities 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 space


becomes available.

– Allocate and deallocate memory space as needed.

6
File Management
• A file is a collection of related information defined by its
creator. Commonly, files represent programs (both source
and object forms) and data.

• Data such as text files.

• Computers can store information on several different types


of physical media.

• Magnetic tape, magnetic disk, and optical disk are the most
common media.

• Each of these media has its own characteristics and physical


organization. 7
File Management (Cont.)

• The operating system is responsible for the following


activities 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.

8
I/O System Management

• The I/O subsystem consists of:

– A memory management component including buffering, caching


and spooling.

– A general device-driver interface.

– Drivers for specific hardware devices.

9
Secondary-Storage Management

• Since main memory (primary storage) is volatile and too


small to accommodate all data and programs permanently,
the computer system must provide secondary storage to back
up main memory.

• Most modern computer systems use disks as the principle


on-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
10
Protection System

• Protection refers to a mechanism for controlling access by


programs, processes, or users to both system and user
resources.

• An unprotected resource cannot defend against use (or


misuse) by an unauthorized or incompetent user.

• The protection mechanism must:

– distinguish between authorized and unauthorized usage.


– specify the controls to be imposed.

11
Command-Interpreter System

• Many commands are given to the operating system by


control statements which deal with:

– process creation and management


– I/O handling
– secondary-storage management
– main-memory management
– file-system access
– protection
– networking

12
Command-Interpreter System (Cont.)

• The program that reads and interprets control statements is


called variously:

– command-line interpreter
– shell (in UNIX)

• Its function is to get and execute the next command


statement.

13
Operating System Services

• An operating system provides an environment for the


execution 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 or
abnormally (indicating error).

• I/O operations
– Since user programs cannot execute I/O operations directly, the
operating system must provide some means to perform I/O.

14
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.

15
Additional Operating System Functions
• Additional functions exist not for helping the user, but rather
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 usage
statistics.

• Protection
– Ensuring that all access to system resources is controlled.
– Security of the system from outsiders is also important.
16
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 between


a running program and the operating system.
– Pass parameters in registers.
– Store the parameters in a table in memory, and the table address is
passed as a parameter in a register.
– Push (store) the parameters onto the stack by the program, and pop
off the stack by operating system.
17
Passing of Parameters As A Table

18
Types of System Calls

• Process and job control


• File manipulation
• Device management
• Information maintenance
• Communication

19
Process and job control
MS-DOS Execution

At System Start-up Running a Program


20
Process and job control
UNIX Running Multiple Programs

21
Process and job control
Communication Models
• Communication may take place using either message passing or
shared memory.

Message Passing Shared Memory


22
System Programs

• System programs provide a convenient environment for


program development and execution. They can be divided
into:
– File manipulation
– Status information
– File modification
– Programming language support
– Program loading and execution
– Communications

23
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 status
information.
– 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.
24
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.

25

You might also like