0% found this document useful (1 vote)
2K views9 pages

Operating System Structures

The document discusses operating system structures and components. It describes an operating system as an interface between the user and computer hardware that performs tasks like memory management, process management, input/output control, and device management. It then discusses key operating system functions such as memory management, processor management, device management, file management, security controls, and job accounting. Finally, it outlines different operating system structures including simple and layered structures.

Uploaded by

FS19IF044
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
2K views9 pages

Operating System Structures

The document discusses operating system structures and components. It describes an operating system as an interface between the user and computer hardware that performs tasks like memory management, process management, input/output control, and device management. It then discusses key operating system functions such as memory management, processor management, device management, file management, security controls, and job accounting. Finally, it outlines different operating system structures including simple and layered structures.

Uploaded by

FS19IF044
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

2.

Operating System Structures

2.1 Operating System Components:

An Operating System (OS) is an interface between a computer user and computer


hardware. An operating system is a software which performs all the basic tasks like
file management, memory management, process management, handling input and
output, and controlling peripheral devices such as disk drives and printers.
Some popular Operating Systems include Linux Operating System, Windows
Operating System, VMS, OS/400, AIX, z/OS, etc.

Definition
An operating system is a program that acts as an interface between the user and the
computer hardware and controls the execution of all kinds of programs.

Following are some of important functions of an operating System.


● Memory Management
● Processor Management
● Device Management
● File Management
● Security
● Control over system performance
● Job accounting
● Error detecting aids
● Coordination between other software and users

1
Memory Management
Memory management refers to management of Primary Memory or Main Memory.
Main memory is a large array of words or bytes where each word or byte has its own
address.
Main memory provides a fast storage that can be accessed directly by the CPU. For a
program to be executed, it must in the main memory. An Operating System does the
following activities for memory management −
● Keeps tracks of primary memory, i.e., what part of it are in use by whom, what
part are not in use.
● In multiprogramming, the OS decides which process will get memory when
and how much.
● Allocates the memory when a process requests it to do so.
● De-allocates the memory when a process no longer needs it or has been
terminated.

Processor Management
In multiprogramming environment, the OS decides which process gets the
processor when and for how much time. This function is called process scheduling.
An Operating System does the following activities for processor management −
● Keeps tracks of processor and status of process. The program responsible for
this task is known as traffic controller.
● Allocates the processor (CPU) to a process.
● De-allocates processor when a process is no longer required.

Device Management
An Operating System manages device communication via their respective drivers. It
does the following activities for device management −
● Keeps tracks of all devices. Program responsible for this task is known as the
I/O controller.
● Decides which process gets the device when and for how much time.
● Allocates the device in the efficient way.
● De-allocates devices.

File Management
A file system is normally organized into directories for easy navigation and usage.
These directories may contain files and other directions.
An Operating System does the following activities for file management −
● Keeps track of information, location, uses, status etc. The collective facilities
are often known as file system.

2
● Decides who gets the resources.
● Allocates the resources.
● De-allocates the resources.

Other Important Activities


Following are some of the important activities that an Operating System performs −
● Security − By means of password and similar other techniques, it prevents
unauthorized access to programs and data.
● Control over system performance − Recording delays between request for a
service and response from the system.
● Job accounting − Keeping track of time and resources used by various jobs
and users.
● Error detecting aids − Production of dumps, traces, error messages, and other
debugging and error detecting aids.
● Coordination between other softwares and users − Coordination and
assignment of compilers, interpreters, assemblers and other software to the
various users of the computer systems.

2.2 Operating System - Service


An Operating System provides services to both the users and to the programs.
● It provides programs an environment to execute.
● It provides users the services to execute the programs in a convenient manner.
Following are a few common services provided by an operating system −
● Program execution
● I/O operations
● File System manipulation
● Communication
● Error Detection
● Resource Allocation
● Protection

Program execution
Operating systems handle many kinds of activities from user programs to system
programs like printer spooler, name servers, file server, etc. Each of these activities
is encapsulated as a process.
A process includes the complete execution context (code to execute, data to
manipulate, registers, OS resources in use). Following are the major activities of an
operating system with respect to program management −

3
● Loads a program into memory.
● Executes the program.
● Handles program's execution.
● Provides a mechanism for process synchronization.
● Provides a mechanism for process communication.
● Provides a mechanism for deadlock handling.

I/O Operation
An I/O subsystem comprises of I/O devices and their corresponding driver software.
Drivers hide the peculiarities of specific hardware devices from the users.
An Operating System manages the communication between user and device drivers.
● I/O operation means read or write operation with any file or any specific I/O
device.
● Operating system provides the access to the required I/O device when
required.

File system manipulation


A file represents a collection of related information. Computers can store files on the
disk (secondary storage), for long-term storage purpose. Examples of storage media
include magnetic tape, magnetic disk and optical disk drives like CD, DVD. Each of
these media has its own properties like speed, capacity, data transfer rate and data
access methods.
A file system is normally organized into directories for easy navigation and usage.
These directories may contain files and other directions. Following are the major
activities of an operating system with respect to file management −
● Program needs to read a file or write a file.
● The operating system gives the permission to the program for operation on
file.
● Permission varies from read-only, read-write, denied and so on.
● Operating System provides an interface to the user to create/delete files.
● Operating System provides an interface to the user to create/delete
directories.
● Operating System provides an interface to create the backup of file system.

Communication
In case of distributed systems which are a collection of processors that do not share
memory, peripheral devices, or a clock, the operating system manages
communications between all the processes. Multiple processes communicate with
one another through communication lines in the network.

4
The OS handles routing and connection strategies, and the problems of contention
and security. Following are the major activities of an operating system with respect
to communication −
● Two processes often require data to be transferred between them
● Both the processes can be on one computer or on different computers, but are
connected through a computer network.
● Communication may be implemented by two methods, either by Shared
Memory or by Message Passing.

Error handling
Errors can occur anytime and anywhere. An error may occur in CPU, in I/O devices
or in the memory hardware. Following are the major activities of an operating
system with respect to error handling −
● The OS constantly checks for possible errors.
● The OS takes an appropriate action to ensure correct and consistent
computing.

Resource Management
In case of multi-user or multi-tasking environment, resources such as main
memory, CPU cycles and files storage are to be allocated to each user or job.
Following are the major activities of an operating system with respect to resource
management −
● The OS manages all kinds of resources using schedulers.
● CPU scheduling algorithms are used for better utilization of CPU.

Protection
Considering a computer system having multiple users and concurrent execution of
multiple processes, the various processes must be protected from each other's
activities.
Protection refers to a mechanism or a way to control the access of programs,
processes, or users to the resources defined by a computer system. Following are the
major activities of an operating system with respect to protection −
● The OS ensures that all access to system resources is controlled.
● The OS ensures that external I/O devices are protected from invalid access
attempts.
● The OS provides authentication features for each user by means of passwords.

5
2.3 System Structure:
Operating system can be implemented with the help of various structures. The
structure of the OS depends mainly on how the various common components of the
operating system are interconnected and melded into the kernel. Depending on this
we have following structures of the operating system:
Simple structure:
Such operating systems do not have well defined structure and are small, simple and
limited systems. The interfaces and levels of functionality are not well separated.
MS-DOS is an example of such operating system. In MS-DOS application programs
are able to access the basic I/O routines. These types of operating system cause the
entire system to crash if one of the user programs fails.
Diagram of the structure of MS-DOS is shown below.

Layered structure:
An OS can be broken into pieces and retain much more control on system. In this
structure the OS is broken into number of layers (levels). The bottom layer (layer 0)
is the hardware and the topmost layer (layer N) is the user interface. These layers are
so designed that each layer uses the functions of the lower level layers only. This
simplifies the debugging process as if lower level layers are debugged and an error
occurs during debugging then the error must be on that layer only as the lower level
layers have already been debugged.
The main disadvantage of this structure is that at each layer, the data needs to be
modified and passed on which adds overhead to the system. Moreover careful
planning of the layers is necessary as a layer can use only lower level layers. UNIX is
an example of this structure.

6
Micro-kernel:
This structure designs the operating system by removing all non-essential
components from the kernel and implementing them as system and user programs.
This result in a smaller kernel called the micro-kernel.
Advantages of this structure are that all new services need to be added to user space
and does not require the kernel to be modified. Thus it is more secure and reliable as
if a service fails then rest of the operating system remains untouched. Mac OS is an
example of this type of OS.
Modular structure or approach:
It is considered as the best approach for an OS. It involves designing of a modular
kernel. The kernel has only set of core components and other services are added as
dynamically loadable modules to the kernel either during run time or boot time. It
resembles layered structure due to the fact that each kernel has defined and
protected interfaces but it is more flexible than the layered structure as a module can
call any other module.
For example Solaris OS is organized as shown in the figure.

7
2.4 System Calls:
The interface between a process and an operating system is provided by system calls.
In general, system calls are available as assembly language instructions. They are
also included in the manuals used by the assembly level programmers. System calls
are usually made when a process in user mode requires access to a resource. Then it
requests the kernel to provide the resource via a system call.
A figure representing the execution of the system call is given as follows −

As can be seen from this diagram, the processes execute normally in the user mode
until a system call interrupts this. Then the system call is executed on a priority basis
in the kernel mode. After the execution of the system call, the control returns to the
user mode and execution of user processes can be resumed.
In general, system calls are required in the following situations −
● If a file system requires the creation or deletion of files. Reading and writing
from files also require a system call.
● Creation and management of new processes.
● Network connections also require system calls. This includes sending and
receiving packets.
● Access to a hardware devices such as a printer, scanner etc. requires a system
call.
Types of System Calls
There are mainly five types of system calls. These are explained in detail as follows −
Process Control
These system calls deal with processes such as process creation, process termination
etc.

8
File Management
These system calls are responsible for file manipulation such as creating a file,
reading a file, writing into a file etc.
Device Management
These system calls are responsible for device manipulation such as reading from
device buffers, writing into device buffers etc.
Information Maintenance
These system calls handle information and its transfer between the operating system
and the user program.
Communication
These system calls are useful for interprocess communication. They also deal with
creating and deleting a communication connection.
Some of the examples of system calls are given as follows −

Types of System Examples


Calls
Process Control End, abort, load, execute, create
process, terminate process, fork, wait,
allocate

File Management Create file, delete file, open, close,


read, write,get files attributes, set files
attributes

Device Request device, release device, get


Management device attributes, set device attributes,
read, write (from or to device)

Information Get pid, get ppid, get system time, get


Maintenance system date, get file attribute, get
device attribute

Communication pipe(), create/delete communication


connection

You might also like