Presentation of Operating System
Presentation of Operating System
Department of Software
Engineering and Information
Technology
By
Dr. Zaid G. Ai
What is an Operating System ?
2- System Services Go to
3- System Calls Go to
4- System Programs Go to
5- System Structure Go to
6- Virtual Machine Go to
7- System Design Go to
8- System Generation Go to
End
1- System Components
1.1- Process Management
1.6- Networking
Back
Go to
3- System Calls
3.4-
3.3-
3.1- 3.2- File Informati 3.5-
Device
Process Manipula on Commun
Manipula
Control tion Maintena ication
tion
nce
Back
Go to
4- System programs
4.4- 4.5-
4.2- 4.3- File Progra Program 4.6-
4.1- File
Status mming- loading Commu
Manipu
Informa Modific languag & nicatio
lation Executio
tion ation e ns
Support n
Back
Go to 5- System Structure
Back
6- Virtual Machine
Virtual machine used to create a virtual
environment which referred to as virtualization.
By using CPU scheduling and virtual memory
techniques an operating system can create the
illusion of multiple processes each executing on
its own processor with its own virtual memory.
Normally the process has additional features
such as system call and file system which are
not provided by the hardware.
The virtual machine approach does not provide
any additional function but rather provides an
interface that is identical to the underlying
hardware.
Advantages/Disadvantages of Virtual
Machines
The virtual-machine concept provides complete protection of system
resources since each virtual machine is isolated from all other virtual
machines. This isolation, however, permits no direct sharing of
resources.
More efficient use of computer hardware.
Back
Go to
Back
8- System Generation
The system must be configured for each specific computer type, this
process called SYSGEN (system generation).
SYSGEN program obtains information on specific configuration of the
hardware system and (CPU, memory, devices).
Booting – starting a computer by loading the kernel.
Back
Process Management
A process is a program in execution. A process need certain resources,
including CPU time, memory, files, and I/O devices, to accomplish its
task.
Back
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 operating system is responsible for the following activities:
Back
File Management
A file is a collection of related information defined by its creator.
Commonly, files represent programs and data.
The operating system is responsible for the following activities:
Back
I/O System Management
One of the purposes of an operating system is to hide the privacy of
specific hardware devices from the users.
The I/O system consists of:
Back
Secondary-Storage Management
Since main memory is volatile and too small to accommodate all data
and programs permanently, the computer system must provide
secondary storage to backup main memory.
The operating system is responsible for the following activities:
– Free-space management.
– Storage allocation.
– Disk scheduling.
Back
Networking (Distributed Systems)
A distributed system is a collection of processors that do not share
memory or a clock. Each processor has its own local memory.
The processors in the system are connected through a communication
network.
A distributed system collects physically separated, heterogeneous
systems into a single coherent system to provide:
Back
Protection System
If a computer has multiple users and allows the concurrent execution
of multiple processes, then the various processes must be protected
from one another’s activities.
Protection refers to a mechanism, which provided to ensure that the
files, memory segments, CPU, and other resources can be operated on
by only those processes that have gained proper authorization from the
operating system.
The protection mechanism must:
Back
Command-Interpreter System
Its One of the most important component of an operating system,
which is the interface between the user and the operating system.
The main function of a command interpreter is to get and execute the
next user specified command.
The program that reads and interprets control statements is called
variously:
control-card interpreter
command-line interpreter
shell (in UNIX)
Command-Interpreter System
Many commands are given to the operating system by control statements
which deal with:
Back
System Calls
System calls provide the interface between a running program and the
operating system.
System calls allow user-level processes to request some services from the
operating system which process itself is not allowed to do. In handling the
job, the operating system will enter in the kernel mode, where it has access
to privileged instructions, and can perform the desired service on the
behalf of user-level process.
Typically written in a high-level language.
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 or block in memory, and the table
address is passed as a parameter in a register.
– Push the parameters onto the stack by the program, and popped off
the stack by the operating system.
System calls can be grouped into five major
categories:
1- Process control 3- Device manipulation
• End, abort. • Request device, release device.
• Load, execute. • Read, write, reposition.
• Create process, terminate process. • Get device attributes, set device attributes.
• Get and set process attributes. • Logically attach or detach devices.
• Wait for time.
• Wait event, signal event. 4- Information maintenance
• Allocate and free memory • Get time or date, set time or date.
• Get system data, set system data.
• Get process file, or device attributes.
• Set process, file, or device attributes.
2- File manipulation
• Create file, delete file.
• Open, close. 5- Communication
• Read, write, reposition. • Create, delete communication connection.
• Get file attributes, set file attributes. • Send, receive message.
• Transfer status information.
• Attach or detach remote devices.
Back
System programs
System programs provide a more convenient environment for
program development and execution. Some of them are simply user
interfaces to system calls, whereas others are considerably more
complex. They can be divided into several categories:
Back
System Structure
●
Written to provide the most functionality in the
Simple ●
least space.
Not divided into modules.
●
Operating System is divided into a number of layers (levels),
Layered ●
each built on top of lower layers. The bottom layer (layer 0),
is the hardware; the highest (layer N) is the user interface.
With modularity, layers are selected such that each uses
Approach
functions (operations)and services of only lower-level layers.
●
Design and implementation of operating system get
simplified in the layered approach.
Simple Structure Layered Approach
Back
Design goals
1- User goals:
Operating system should be convenient to use, easy to
learn, reliable, safe and fast.
2- System goals:
Operating system should be easy to design, implement,
and maintain, as well as flexible, reliable, error-free, and
efficient.
Mechanisms and Policies
1- Mechanisms determine how to do something while
policies decide what will be done.
Back
Thanks
for your time