Satwiknew
Satwiknew
Satwiknew
1. Introduction 2
7. System Program 19
9. Virtual Machines 28
11. Conclusion 29
1
OPERATING SYSTEM SERVICES
1. Introduction:
Operating system services are the unsung heroes of the digital realm, working
tirelessly behind the scenes to ensure the smooth functioning of your computer
or device. Think of them as the backstage crew of a grand performance,
managing resources, coordinating tasks, and maintaining order in the chaotic
world of ones and zeros.
At their core, operating system services are the glue that binds hardware and
software together, offering a platform for applications to run and users to
interact with their machines. From managing memory and file systems to
handling input and output operations, these services form the backbone of a
seamless computing experience.
2
2. Operating System:
An operating system is a program which manages all the computer hardwares. It
provides the base for application program and acts as an intermediary between a
user and the computer hardware. The operating system has two objectives such
as:
The operating system is very important part of almost every computer system.
The prime objective of operating system is to manage & control the various
hardware resources of a computer system. These hardware resources include
processer, memory, and disk space and so on. The output result was display in
monitor. In addition to communicating with the hardware the operating system
provides on error handling procedure and display an error notification. If a
device not functioning properly, the operating system cannot be communicate
with the device.
3
The operating system organizes application so that users can easily access, use
and store them.
It provides a stable and consistent way for applications to deal with the
hardware without the user having known details of the hardware. If the program
is not functioning properly, application and displays the appropriate error
message Computer system components are divided into 5 parts
Computer hardware
Operating system
Utilities
Application programs
End user
4
The operating system controls and programs for various users. It is a program
that directly interacts The operating system is the first encoded with the
Computer and it remains on the memory all time thereafter.
System goals
• Its primary goals are to make the computer system convenience for the user.
• Its secondary goals are to use the computer hardware in efficient manner.
The prime objective of operating system is to manage & control the various
hardware resources of a computer system. These hardware resources include
processer, memory, and disk space and so on. The output result was display in
monitor. In addition to communicating with the hardware the operating system
provides on error handling procedure and display an error notification. If a
device not functioning properly, the operating system cannot be communicate
with the device.
5
3. View of operating system :
User view: The user view of the computer varies by the interface being used.
The examples are -windows XP, vista, windows 7 etc. Most computer user sit in
the in front of personal computer (pc) in this case the operating system is
designed mostly for easy use with some attention paid to resource utilization.
Some user sit at a terminal connected to a mainframe/minicomputer. In this case
other users are accessing the same computer through the other terminals. There
user are share resources and may exchange the information.
System view: From the computer point of view the operating system is the
program which is most intermediate with the hardware. An operating system has
resources as hardware and software which may be required to solve a problem
like CPU time, memory space, file storage space and I/O devices and so on.
That’s why the operating system acts as manager of these resources. Another
view of the operating system is it is a control program. A control program
manages the execution of user programs to present the errors in proper use of
the computer. It is especially concerned of the user the operation and controls
the I/O devices.
6
4. Types of Operating System :
Mainframe System: It is the system where the first computer used to handle
many commercial scientific applications. The growth of mainframe systems
traced from simple batch system where the computer runs one and only one
application to time shared systems which allowed for user interaction with the
computer system
7
b. Multiprogrammed System: Multiprogramming concept increases CPU
utilization by organization jobs so that the CPU always has one job to
execute the idea behind multiprogramming concept. The operating
system keeps several jobs in memory simultaneously as shown in below
figure.
This set of job is subset of the jobs kept in the job pool. The operating system
picks and beginning to execute one of the jobs in the memory. In this
environment the operating system simply switches and executes another job.
When a job needs to wait the CPU is simply switched to another job and so on.
8
The multiprogramming operating system is sophisticated because the operating
system makes decisions for the user. This is known as scheduling. If several
jobs are ready to run at the same time the system choose one among them. This
is known as CPU scheduling. The disadvantages of the multi programmed
system are
• It does not provide user interaction with the computer system during the
program execution.
• The introduction of disk technology solved these problems rather than reading
the cards from card reader into disk. This form of processing is known as
spooling.
SPOOL stands for simultaneous peripheral operations online. It uses the disk as
a huge buffer for reading from input devices and for storing output data until the
output devices accept them. It is also use for processing data at remote sides.
The remote processing is done and its own speed with no CPU intervention.
Spooling overlaps the input, output one job with computation of other jobs.
Spooling has a beneficial effect on the performance of the systems by keeping
both CPU and I/O devices working at much higher time.
c. Time Sharing System: The time sharing system is also known as multi
user systems. The CPU executes multiple jobs by switching among them
but the switches occurs so frequently that the user can interact with each
program while it is running. An interactive computer system provides
direct communication between a user and system. The user gives
instruction to the operating systems or to a program directly using
keyboard or mouse and wait for immediate results. So the response time
will be short. The time sharing system allows many users to share the
computer simultaneously. Since each action in this system is short, only a
little CPU time is needed for each user. The system switches rapidly from
9
one user to the next so each user feels as if the entire computer system is
dedicated to his use, even though it is being shared by many users. The
disadvantages of time sharing system are:
• It is more complex than multiprogrammed operating system
• The system must have memory management & protection, since several
jobs are kept in memory at the same time.
• Time sharing system must also provide a file system, so disk
management is required.
• It provides mechanism for concurrent execution which requires complex
CPU scheduling schemes.
10
certain amount of overhead is incurred in keeping all the parts working
correctly.
b. Increased Reliability: If functions can be properly distributed among
several processors, then the failure of one processor will not halt the
system, but slow it down. This ability to continue to operate in spite of
failure makes the system fault tolerant.
c. Economic scale: Multiprocessor systems can save money as they can
share peripherals, storage & power supplies
11
& allocates the work to the slave processors. Ex- Sun’s Operating system
SUNOS version 4 provides asymmetric multiprocessing.
Real time Systems: Real time system is used when there are rigid time
requirements on the operation of a processor or flow of data. Sensors bring data
to the computers. The computer analyzes data and adjusts controls to modify the
sensors inputs. System that controls scientific experiments, medical imaging
systems and some display systems are real time systems. The disadvantages of
real time system are:
12
Real time system is of two types such as:
• Hard real time systems: It guarantees that the critical task has been completed
on time. The sudden task is takes place at a sudden instant of time.
• Soft real time systems: It is a less restrictive type of real time system where a
critical task gets priority over other tasks and retains that priority until it
computes. These have more limited utility than hard real time systems. Missing
an occasional deadline is acceptable
Process Management:
• These resources are either given to the process when it is created or allocated
to it while it is running. The OS is responsible for the following activities of
process management.
13
• Providing mechanism for process synchronization.
&writes data from main memory during the data fetch cycle. The main memory
is generally the only large storage device that the CPU is able to address &
access directly. For example, for the CPU to process data from disk. Those data
must first be transferred to main memory by CPU generated E/O calls.
Instruction must be in memory for the CPU to execute them. The OS is
responsible for the following activities in connection with memory
management.
• Keeping track of which parts of memory are currently being used & by whom.
• Deciding which processes are to be loaded into memory when memory space
becomes available.
File Management:
14
characteristics. These characteristics include access speed, capacity, data
transfer rate & access method (sequential or random).For convenient use of
computer system the OS provides a uniform logical view of information
storage. The OS abstracts from the physical properties of its storage devices to
define a logical storage unit the file. A file is collection of related information
defined by its creator. The OS is responsible for the following activities of file
management.
• A general device- driver interfaces drivers for specific hardware devices. Only
the device driver knows the peculiarities of the specific device to which it is
assigned.
15
main memory is too small to accommodate all data & programs & because the
data that it holds are lost when power is lost. The computer system must provide
secondary storage to back-up main memory. Most modern computer systems are
disks as the storage medium to store data & program. The operating system is
responsible for the following activities of disk management.
• Storage allocation.
6. System Calls :
System calls provide the interface between a process & the OS. These are
usually available in the form of assembly language instruction. Some systems
allow system calls to be made directly from a high level language program like
C, BCPL and PERL etc. systems calls occur in different ways depending on the
computer in use. System calls can be roughly grouped into 5 major categories.
Process Control:
• End, abort: A running program needs to be able to has its execution either
normally (end) or abnormally (abort).
• Load, execute: A process or job executing one program may want to load and
executes another program.
• Create Process, terminate process: There is a system call specifying for the
purpose of creating a new process or job (create process or submit job). We may
16
want to terminate a job or process that we created (terminates process, if we
find that it is incorrect or no longer needed).
• Get process attributes, set process attributes: If we create a new job or process
we should able to control its execution. This control requires the ability to
determine & reset the attributes of a job or processes (get process attributes, set
process attributes).
• Wait time: After creating new jobs or processes, we may need to wait for them
to finish their execution (wait time).
• Wait event, signal event: We may wait for a specific event to occur (wait
event). The jobs or processes then signal when that event has occurred (signal
event).
File Manipulation:
• Create file, delete file: We first need to be able to create & delete files. Both
the system calls require the name of the file & some of its attributes.
• Open file, close file: Once the file is created, we need to open it & use it. We
close the file when we are no longer using it.
• Read, write, reposition file: After opening, we may also read, write or
reposition the file (rewind or skip to the end of the file).
• Get file attributes, set file attributes: For either files or directories, we need to
be able to determine the values of various attributes & reset them if necessary.
Two system calls get file attribute & set file attributes are required for their
purpose.
Device Management:
17
• Request device, release device: If there are multiple users of the system, we
first request the device. After we finished with the device, we must release it.
• Read, write, reposition: Once the device has been requested & allocated to us,
we can read, write & reposition the device.
Information maintenance:
• Get time or date, set time or date: Most systems have a system call to return
the current date & time or set the current date & time.
• Get system data, set system data: Other system calls may return information
about the system like number of current users, version number of OS, amount of
free memory etc.
• Get process attributes, set process attributes: The OS keeps information about
all its processes & there are system calls to access this information.
Communication:
The get host id and get processed systems calls to do this translation.
These identifiers are then passed to the general purpose open & close calls
provided by the file system or to specific open connection system call.
18
The recipient process must give its permission for communication to take place
with an accept connection call.
The source of the communication known as client & receiver known as server
exchange messages by read message & write message system calls.
• Shared memory model: processes use map memory system calls to access
regions of memory owned by other processes.
They exchange information by reading & writing data in the shared areas. The
processes ensure that they are not writing to the same location simultaneously.
7. System Programs :
System programs provide a convenient environment for program development
& execution. They are divided into the following categories.
• File manipulation: These programs create, delete, copy, rename, print &
manipulate files and directories.
• Status information: Some programs ask the system for date, time & amount of
available memory or disk space, no. of users or similar status information.
• File modification: Several text editors are available to create and modify the
contents of file stored on disk.
19
• Programming loading and execution: Once a program is assembled or
compiled, it must be loaded into memory to be executed.
• Application programs: Most OS are supplied with programs that are useful to
solve common problems or perform common operations.
8. System structure:
Simple structure: There are several commercial system that don’t have a well-
defined structure such operating systems begins as small, simple & limited
systems and then grow beyond their original scope. MS-DOS is an example of
such system. It was not divided into modules carefully. Another example of
limited structuring is the UNIX operating system.
20
Layered approach: In the layered approach, the OS is broken into a number of
layers (levels) each built on top of lower layers. The bottom layer (layer o ) is
the hardware & top most layer (layer N) is the user interface. The main
advantage of the layered approach is modularity.
The layers are selected such that each users functions (or operations) & services
of only lower layer.
This approach simplifies debugging & system verification, i.e. the first layer can
be debugged without concerning the rest of the system. Once the first layer is
debugged, its correct functioning is assumed while the 2nd layer is debugged &
so on.
21
If an error is found during the debugging of a particular layer, the error must be
on that layer because the layers below it are already debugged.
Thus the design & implementation of the system are simplified when the system
is broken down into layers.
A layer doesn’t need to know how these operations are implemented; it only
needs to know what these operations do.
22
The main disadvantage of the layered approach is:
• The main difficulty with this approach involves the careful definition of the
layers, because a layer can use only those layers below it.
For example, the device driver for the disk space used by virtual memory
algorithm must be at a level lower than that of the memory management
routines, because memory management requires the ability to use the disk
space.
• It is less efficient than a non layered system (Each layer adds overhead to the
system call & the net result is a system call that take longer time than on a non
layered system).
23
9. Virtual Machines:
By using CPU scheduling & virtual memory techniques an operating system
can create the illusion of multiple processes, each executing on its own
processors & own virtual memory. Each processor is provided a virtual copy of
the underlying computer. The resources of the computer are shared to create the
virtual machines. CPU scheduling can be used to create the appearance that
users have their own processor.
Difficulty: A major difficulty with this approach is regarding the disk system.
The solution is to provide virtual disks, which are identical in all respects except
size. These are known as mini disks in IBM’s VM OS. The sum of sizes of all
mini disks should be less than the actual amount of physical disk space
available.
24
10. I/O Structure
A general purpose computer system consists of a CPU and multiple device
controller which is connected through a common bus. Each device controller is
in charge of a specific type of device. A device controller maintains some buffer
storage and a set of special purpose register. The device controller is responsible
for moving the data between peripheral devices and buffer storage.
I/O Interrupt: To start an I/O operation the CPU loads the appropriate register
within the device controller. In turn the device controller examines the content
of the register to determine the actions which will be taken. For example,
suppose the device controller finds the read request then, the controller will start
the transfer of data from the device to the buffer. Once the transfer of data is
complete the device controller informs the CPU that the operation has been
finished. Once the I/O is started, two actions are possible such as
• In the simplest case the I/O is started then at I/O completion control is return
to the user process. This is known as synchronous I/O.
• The other possibility is asynchronous I/O in which the control is return to the
user program without waiting for the I/O completion. The I/O then continues
with other operations.
When an interrupt occurs first determine which I/O device is responsible for
interrupting. After searching the I/O device table the signal goes to the each I/O
request. If there are additional request waiting in the queue for one device the
operating system starts processing the next request. Finally control is return
from the I/O interrupt.
25
DMA controller: DMA is used for high speed I/O devices. In DMA access the
device controller transfers on entire block of data to of from its own buffer
storage to memory. In this access the interrupt is generated per block rather than
one interrupt per byte. The operating system finds a buffer from the pool of
buffers for the transfer. Then a portion of the operating system called a device
driver sets the DMA controller registers to use appropriate source and
destination addresses and transfer length. The DMA controller is then instructed
to start the I/O operation. While the DMA controller is performing the data
transfer, the CPU is free to perform other tasks. Since the memory generally can
transfer only one word at a time, the DMA controller steals memory cycles from
the CPU. This cycle stealing can slow down the CPU execution while a DMA
transfer is in progress. The DMA controller interrupts the CPU when the
transfer has been completed.
Storage Structure
• Main memory
• Secondary memory
Basically the programs & data are resided in main memory during the
execution. The programs and data are not stored permanently due to following
two reasons.
• Main memory is too small to store all needed programs and data permanently.
• Main memory is a volatile storage device which lost its contents when power
is turned off.
Main Memory: The main memory and the registers are the only storage area that
the CPU can access the data directly without any help of other device. The
26
machine instruction which take memory address as arguments do not take disk
address. Therefore in execution any instructions and any data must be resided in
any one of direct access storage device. If the data are not in memory they must
be moved before the CPU can operate on them. There are two types of main
memory such as:
Each I/O controller includes register to hold commands of the data being
transferred. To allow more convenient access to I/O device many computer
architecture provide memory mapped I/O. In the case of memory mapped I/O
ranges of memory address are mapped to the device register. Read and write to
this memory addressbecause the data to be transferred to and from the device
register.
Secondary Storage: The most common secondary storage devices are magnetic
disk and magnetic tape which provide permanent storage of programs and data.
Magnetic Disk: It provides the bulk of secondary storage for modern computer
systems. Each disk platter has flat circular shape like a CD. The diameter of a
platter range starts from 1.8 to 5.25 inches. The two surfaces of a platter are
covered with a magnetic material which records the information/data is given
by the user.
The read, write head are attached to a disk arm, which moves all the heads as a
unit. The surface of a platter is logically divided into circular tracks which are
sub divided into sectors. The set of tracks which are at one arm position forms a
27
cylinder. There are may be thousands of cylinders in a disk drive & each track
contains 100 of sectors.
The storage capacity of a common disk drive is measured in GB. When the disk
is in use a drive motor spins it at high speed. Most drives rotated 62 to 200
time/sec. The disk speed has two parts such as transfer rate & positioning time.
The transfer rate is the rate at which data flow between the drive & the
computer. The positioning time otherwise called as random access time.
It consists of two parts such as seek time & rotational latency. The seek time is
the time taken to move the disk arc to the desired cylinder. The rotational
latency is the time taken to rotate the disk head.
The magnetic tapes are used mainly for backup the data. The magnetic tape
must be kept in a non dusty environment and temperature controlled area. But
the main advantage of the secondary storage device is that it can hold 2 to 3
times more data than a large disk drive. There are 4 types of magnetic tapes
such as:
• ½ Inch
• ¼ Inch
• 4 mm
• 8 mm
28
Operating System Services : An operating system provides an environment for
the execution of the program. It provides some services to the programs. The
various services provided by an operating system are as follows:
• Program Execution: The system must be able to load a program into memory
and to run that program. The program must be able to terminate this execution
either normally or abnormally.
• I/O Operation: A running program may require I/O. This I/O may involve a
file or a I/O device for specific device. Some special function can be desired.
Therefore the operating system must provide a means to do I/O.
• File System Manipulation: The programs need to create and delete files by
name and read and write files. Therefore the operating system must maintain
each and every files correctly.
• Error detection: The operating system should take the appropriate actions for
the occurrences of any type like arithmetic overflow, access to the illegal
memory location and too large user CPU time.
• Research Allocation: When multiple users are logged on to the system the
resources must be allocated to each of them. For current distribution of the
resource among the various processes the operating system uses the CPU
scheduling run times which determine which process will be allocated with the
resource.
• Accounting: The operating system keep track of which users use how many
and which kind of computer resources.
29
• Protection: The operating system is responsible for both hardware as well as
software protection. The operating system protects the information stored in a
multiuser computer system.
Conclusion :
30