An operating system is a system software that is responsible for the
management of various activities of the computer and sharing of computer resources.
Operating system is a collection of programs which makes interface between hardware, software and user.
Introduction to Operating System Functions and Types
1. 3.1. INTRODUCTION
An application program cannot access input/output devices or execute program
instructions itself. The operating system acts as a platform on which various application
programs are executed. The user requests the application program to perform a particular
task and the application program refers the request of user to operating system.
An operating system is a system software that is responsible for the
management of various activities of the computer and sharing of
computer resources.
Operating system is a collection of programs which makes interface
between hardware, software and user.
LEARNING OBJECTIVES
At the end of this chapter you will be able to understand :
Definition of Operating System
Functions of Operating System
Types of Operating System
File System
Scheduling
Process Concepts
Memory Management
L
L
2. 3-2 OPERATING SYSTEM
It hosts the several applications that run on a computer and handles the operations of
computer hardware. The operating system is responsible for managing hardware
resources. Fig. 3.1 below shows the actual position of an operating system in a computer
system.
Fig. 3.1 User Interface with the Operating System.
OS isolates user from complex internal operations. It acts as a middle-ware application
interface between user and hardware.
3.2. FUNCTIONS OF OPERATING SYSTEM
Operating system manages most of the operations of the computer and performs basic
function such as:
1. User interface. Operating system provides the facilities of the user interface. The
user interface includes the windows, menus and method of interaction between when
and the computer. Apart of the graphical user interfaces (GUIs), all operations are of
the computer performed by in stead of commands.
2. Running programs. Operating system provides the facilities to run any program.
The program which sends the request to the operating system and giving the results
back to the program.
3. Managing files. The data and programs are stored permanently on the disk for
future use. Application software such as word-processing, spreadsheet, database
management system etc. may have hundreds of files. The operating system maintains
and manages these files.
4. Memory management. Computer memory plays very important role for data
processing. The data and programs are loaded from disk into in by RAM. The operating
system and allocates the memory areas and manages these properly.
5. I/O system management. Operating system take care of input and output devices
to be used in an efficient way.
3. OPERATING SYSTEM 3-3
6. Scheduling jobs. The operating system determines the order in which the jobs are to
be processed. Sometimes, the operating system processes jobs on a first come first
serve basis. But in some situations, one user may have higher priority than the other
users. In this case, the operating system has to adjust the scheduling of the jobs.
7. Task management. Operating system works as a task manager. A computer can
perform many tasks at a time. For example, in word processing it accepts input data,
stores data on the disk and prints out a document simultaneously. Some operating systems
can handle more than one program at the same time.
8. Controlling network. Some Operating systems are specially developed, for
networking, called the network operating systems or NOSs.Anetwork operating system
organizes and co-ordinates multiple users and makes it possible to access and share
resources on network.
9. Security. Operating systems provide password protection to keep unauthorized users
out of the system. They also provide backup and recovery function when a system
failure.
3.3. TYPE OF OPERATING SYSTEM
Operating systems create a link between users and the applications from the core of
computer systems. It separates the programs and the hardware and simplifies resource
management. Let us look at the different types of operating systems.
1. Batch processing operating systems. In batch processing operating system, the
program, data and system commands submitted in the form of a batch. Batch operating
system usually allows a little or no interaction between user and an executing program.
It has a greater ability for resource utilization than simple several processing. Programs
that do not require interaction and programs with long execution time may be served by
a batch operating system. E.g. of such programs include payroll, forecasting, statistical
analysis etc.
Advantages
(a) The processing time on machine is increased.
(b) CPU utilization is improved.
Disadvantages
(a) Non-interactive environment.
(b) Greater turn around time as there was much delay between jobs because of
non-interactive environment.
(c) CPU idle time is larger.
(d) Uni program.
2. Multi-user and single-user operating systems. Multi user operating system
allows two or more users to run programs at the same time. Some operating systems
4. 3-4 OPERATING SYSTEM
permit hundreds or even thousands of concurrent users. For example, In Linux it is
possible for two users to login at a time and this capability of the OS makes it a multi-
user operating system. A server would be another example of a multi-user operating
system that allows multiple simultaneous connections.
A single user operating system only allows one user on the system. DOS is the best
example of single user operating system.
3. Multi-tasking and single-tasking operating systems. When a single program is
allowed to run at a time is called single-tasking operating system. The Palm OS for Palm
handheld computers and DOS are the examples of single-task operating system.
When operating system allows the execution of multiple tasks at one time is called multi-
tasking operating system. Examples of multi tasking operating system are Windows XP,
Linux, UNIX, window 7.etc.
Advantages
(a) Increased throughput.
(b) Lowered response time.
(c) Increased CPU utilization.
(d) User interaction is allows between execution of program.
Disadvantages
(a) Ideally degree of multiprogramming should results in higher resource utilization,
but in some cases high degree of multiprogramming may increase waiting time
for processes and result in performance degradation starvation possible.
(b) Deadlock can occur.
4. Real-time operating systems. It is a multitasking operating system that aims
executing real-time applications. The main object of real-time operating systems is their
quick and predictable response to events. They either have an event-driven or a time-
sharing design. An event-driven system switches between tasks based of their priorities
while time-sharing operating systems which tasks based on clock interrupts. Example of
real- time operating system is MTOS, Lynx, and RTX etc.
Advantages
(a) Users are provided an interactive environment at a reasonable cost.
(b) Degree of multiprogramming and resource utilization is increased.
(c) Short response time.
5. Distributed operating systems. An operating system that manages a group of
independent computers and makes them appear to be a single computer is known as a
distributed operating system. Linux and UNIX are the examples of distributed OS.
5. OPERATING SYSTEM 3-5
6. Embedded systems. The operating system designed for being used in embedded
computer systems are known as embedded operating systems. They are designed to
operate on small electronics device like PDAs. Windows CE, FreeBSD and Minix 3 are
some examples of embedded operating systems.
3.4. FILE MANAGEMENT
A collection of data or information is called file. It has a name called the filename. The
information stored in a computer must be in a file. There are many different types of
files: data files, text files, program files, directory files, and so on. Different types of files
store different types of information. For example, program files store programs, whereas
text files store text.
The task of managing and organizing file is called file managements.
The task of file management is generally done by the operating system. Operating system
perform following memory management task:
1. Creating new files.
2. Locating the files in computer memory.
3. Sharing files between different users.
4. Organizes the files in different directories.
The Fig. 3.2 shows the hierarchy of file store in an system.
Fig. 3.2 Hierarchy of file store
The system that an operating system or program uses to organize and keep track of
files. For example, a hierarchical file system is one that uses directories to organize files
into a tree structure.
L
6. 3-6 OPERATING SYSTEM
3.4.1. What is a file system ?
Everything you install, save, edit or create on your computer comprises the trillions of
bits of data. A file system stores, organizes and allows to access files on a daily basis for
computer users. Hard drives, CD-ROMs, DVD-ROMs and servers are all types of file
systems that allow you access to data.
File system is the structures in computer used to stores and organizes
data.
All file systems store information into some sort of directory for easy access. Some
systems create very detailed structures where others keep files in organized disarray. It
depends on the type of file system software you are running, navigating the nodes of
information can be easy or difficult for the average computer user. The average computer
user relies on their operating system to take care of the file system for them, and in most
cases, this is all that is necessary for the computer user. More advanced user may find
the organization of their data to benefit from a different type of file system all together.
Most file systems can create, move and delete files and directories similar to how you
would delete a whole folder in Windows XP or Windows 98. You can simply drag and
drop the folder from one place to another. In MS-DOS, you use a sequence of commands
to eliminate a folder from the system. Other UNIX-based file system structures allow
you further abilities to modify data without diving into the advanced realm of computing.
You can also limit who has access to what functions, such as creating or editing files, via
file system software within the confines of your operating system.
3.4.2. Types of file system
File systems can be classified into three different types: Disk, network and special purpose.
1. Disk files systems. These are designed to store information on a hard drive disk.
FAT, NTFS and UDF are all types of disk file systems.
2. Network files systems. These file systems act as a client for file access protocols
on a server. FTP, WebDAV and NFS are types of network file systems.
3. Special purpose file. These systems are the miscellaneous systems that do not fit
into the disk or network file system categories. Special purpose systems are generally
used in Unix-based systems. Flat file systems are one of the most general ways to store
data. Information is stored on the same level instead of creating sub-levels of data.
There are sub-categories of file systems as well. Database file systems, for example,
identify files by their type, author or other meta data. Transactional file systems access
of files by individuals in the hopes of executing all changes at the same time banks and
financial institutions employ this type of file structure in their computer systems to ensure
the seamless transfer of money between two accounts and other functions that require
autonomy.
L
7. OPERATING SYSTEM 3-7
3.4.3. File Attributes
Each file is stored in a directory, and uses a directory entry that describes its
characteristics such as its name and size. The directory entry also contains a pointer to
where the file is stored on disk. One of the characteristics stored for each file is a set of
file attributes that give the operating system and application software more information
about the file and how it is intended to be used.
A file can have more than one attribute attached to it, although only certain combinations
really make any sense.
1. Read-Only. Most software, when seeing a file marked read-only, will refuse to
delete or modify it. This is pretty straight-forward. For example, DOS will say “Access
denied” if you try to delete a read-only file.
2. Hidden. This one is pretty self-explanatory as well if the file is marked hidden then
under normal circumstances it is hidden from view. DOS will not display the file when
you type “DIR” unless a special flag is used.
3. System. This flag is used to tag important files that are used by the system and should
not be altered or removed from the disk. In essence, this is like a “more serious” read-
only flag and is for the most part treated in this manner.
4. Volume label. Every disk volume can be assigned an identifying label, either when it
is formatted, or later through various tools such as the DOS command “LABEL”. The
volume label is stored in the root directory as a file entry with the label attribute set.
5. Directory. This is the bit that differentiates between entries that describe files and
those that describe subdirectories within the current directory. In theory you can convert
a file to a directory by changing this bit. Of course in practice, trying to do this would
result in a mess—the entry for a directory has to be in a specific format.
6. Archive. This is a special bit that is used as a “communications link” between
software applications that modify files, and those that are used for backup.
3.4.4. File operation
The File Operation used to perform different types of operations on files and directories
such as create, move, delete, and also to set the attributes for files and folders. The
different types of operations which can be performed by the file operation are as following:
1. Copy file. This operation is used to copy a file from one location to another
location. You will need to configure both the source and destination when using
this operation of the file.
2. Move file. This operation moves a file from one location to another.
3. Rename file. This can be used to rename a file available within a specified
location.
4. Create directory. This can be used to create a folder. You will need to specify
the source location where the folder needs to be created.
8. 3-8 OPERATING SYSTEM
5. Delete file. This can be used to delete a user specified file from the specified
folder.
6. Merge files. This operation is used to append one file to another.
7. Set attributes. This operation is used to set attributes to files and folders. Different
types of attributes which can be set are hidden, archive, read only and system.
8. Trunked. Earse text and write other text.
3.5. PROCESS
Aprocess is more than the program code. It also includes the current activity, as represented
by the value of the program counter and also includes the process stack containing
temporary data, and data section containing global variables.
A process can simply be defined as a program in execution it can be defined
as a program currently making use of the processor at any one time.
A running program is called process.
3.5.1. Process state
As a process executes, it changes state. The state of a process is defined in part by the
current activity of that process. Aprocess can be on any of the following states as shown
in Fig. 3.3.
Fig. 3.3. Process State.
L
L
9. OPERATING SYSTEM 3-9
(a) Ready. This is when the process is ready to be run on the processor.
(b) Running. This is when the process is currently making use of the processor.
(c) Blocked. This is when the process is waiting for an input such as user response or
data from another process. A process may be in the blocked state if it needs to access a
resource.
(d) Suspend. This is when a process is swapped out of a memory by memory management
system in order to free memory for other process.
(e) Waiting. This is when a process is swapped out of memory after incurring an O/I
wait.
(f) Terminate. This is when a process has finished its run.
3.5.2. Process Control Block
When a process is created the operating system creates a corresponding process control
block and when the process is terminated its process control block is released.
The operating system groups all information that it needs about a
particular process into a data structure called a process control block.
A process control block contained many pieces of information associated with specified
process as shown in the Fig. 3.4.
Fig. 3.4. Process Control Block.
L
10. 3-10 OPERATING SYSTEM
(a) Process state. The state may be new, ready, running, and waiting, halted and so on.
(b) CPU registers. Registers include accumulators, index registers, stack, pointer, and
general-purpose registers plus any condition-code information.
(c) Memory-management information. It includes such information such as value of
the base and limit registers, the page tables, or segment tables depending on the memory
system used by the operating system.
(d) Program counter. It indicates that address of next instruction to be executed for
this process.
(e) Accounting information. It includes the CPU time and real time used, time limit,
account numbers, job or process numbers and so on.
(f) I/O status information. It includes the list of I/O devices allocated to this to process.
(g) CPU scheduling information. It includes a priority of a process, pointers to
scheduling queues and any other scheduling information.
3.5.3. Process scheduling—Good job mixture
Schedulingisafundamentaloperatingsystemfunction.Theobjectiveofmultiprogramming
is to have some process running all the times, to maximize CPU utilization. The objective
of time sharing system is to switch the CPU among processes so frequently that users
can interact with each program while it is running.
Scheduling Queues. As processes enter the system, they are put into a job queue.
This queue consists of all processes in the system. The processes that are residing in
main memory and are ready and waiting to execute are kept on a list called the ready
queue. A ready-queue header will contain pointers to the first and last PCBs in the list.
The list of processes waiting for a particular I/O device is called a device queue. Each
device has its own device queue.
3.5.4. Schedulers job mixture
A scheduler is a program of an OS that selects the next job to be admitted for execution.
The main objective of scheduling is to increase CPU utilization and higher throughput.
Schedulers can be divided into three types :
1. Long term scheduler.
2. Medium term scheduler.
3. Short term scheduler.
1. Long term scheduler. Some times it is called job scheduler. This determines which
job shall be admitted for immediate processing. The long-term scheduler select processes
from job pool and loads them into main memory.
2. Medium term scheduler. Medium term useful when most of the processes require
some I/O operations in that case it may become suspended for I/O operations. It is
beneficial to remove this process from main memory to hard disk to make room for other
11. OPERATING SYSTEM 3-11
processes. At some later time these processes can be reloaded into memory continue
from where it was left earlier.
3. Short term scheduler. Short-term scheduler (CPU scheduler) selects processes
from among the processes that are ready to execute, and allocates the CPU to one of
them. Its main objective is to maximize system performance.
3.5.5. Scheduling algorithm
The scheduling algorithm may be:
1. First Come First Served (FCFS). This is the simplest scheduling algorithm. With
this scheme, the process that requests the CPU first is allocated the CPU first. When a
job is submitted in FCFS scheduling it enters the ready queue. The oldest job in the ready
queue is always selected to dispatch. A FCFS results in poor performance. As a
consequence of non-preemptive there is a low rate of component utilization and system
throughput.
2. Shortest Job First Scheduling Algorithm (SJFS). It associates with each process
the length of the next CPU burst time. When CPU is available it is assigned to the
process that has the next smallest CPU burst time. If two processes have the same
length then FCFS is used to break the tie.
3. Round Robin Scheduling (RRS). In round robin scheduling basically CPU time is
divided into time slice. RRS utilizes the system resources in an equitable manner small
processes may be executed in a single time slice giving good response time whereas
long process may require several time slices. It is also one of the best-known scheduling
disciplines for achieving good distributed response time.
3.5.6. Process synchronization
In a multiple processor system many processes can run in parallel since separate
processors could be allocated for them.
Processes must be able to inform one another that may have completed a certain action.
This is necessary to satisfy the requirements for communication system normally. That
information must not be over written before the old information has been used and no
attempt should be made to remove information before it has been made available for i.e.
in process synchronization the terminal manager might test the variable character count
against some suitable limit using some sequence.
3.6. MEMORY MANAGEMENT
Processes need physical memory in order to execute. The operating system manages
and allocates memory to processes from physical and virtual memory. Physical memory
management enables the operating system to safely share physical memory among
processes. This allows us to multiprogramming the processor, to time-share the system
and to prevent one process from using another memory.
12. 3-12 OPERATING SYSTEM
Memory management is concerned with allocation of physical memory of
finite capacity to requesting process.
Memory management techniques must meet the following requirements:
(a) Processes may require more memory than available physical memory.
(b) You may need to load processes to different locations each time they execute.
(c) You may need to swap all or part of a process to secondary storage during
execution (and then reload it at a different memory location, as above).
(d) Memory protection between processes is required.
3.6.1. Memory Management Scheme
1. Swapping. It is the simplest memory management scheme. In system where partitions
are not used and all the available memory is allocated to one user.
Swapping is the process of transferring programs from the main memory
to the disk storage and back from disk to main memory.
Program swapping can be used one specific program is loaded into memory executes
for a particular amount of time and then it is swapped out to the disk storage then
another program is allocated in the available memory.
In timesharing system when a time quantum of a process expires it is swapped out from
main memory and another process is swapped in from the disk into the main memory
space that has been freed from the first program.
In priority based scheduling a lower priority job is rolled back on the arrival of a higher
priority job. In this case lower priority job is swapped out and higher priority job is
swapped into the memory. These swapping process sometimes know as rollin as rollout.
2. Paging. Paging is a scheme of memory management which provides a solution to the
problem of external fragmentation. It does not resolve the problem of internal
fragmentation completely but internal fragmentation can be reduced by choosing an
appropriate page size in the scheme.
Paging is a memory management technique in which a process is split
into a number of fixed equal size partitions and allocated non contiguous
memory spaces.
In this scheme, physical memory is broken into fixed size blocks called frames. Logical
memory is also divided into pages, where each page is of some fixed sized as frame.
When a process is to be executed its pages are loaded into available frames at not-
contiguous location.
L
L
L
13. OPERATING SYSTEM 3-13
To implement paging, we need to keep track of all free frames. To run a program of size
n pages, we need to find n free frames and load the program into them. There is a
problem with internal fragmentation if a process size is not an exact number of frames.
Only part of one frame is lost to this fragmentation, however, and if we make the frame
size quite small, this isn't a significant problem.
With paging, the logical address generated by the CPU is divided into a page number p
and a page offset d. The page number is used as an index into a page table which
contains the base address of each page in physical memory and the page offset is
combined with the base address to define the physical memory address that is sent to
the memory unit as shown in Fig. 3.5.
Fig. 3.5 Page Table.
A page table is maintained which contains the base address of each page in physical
memory. CPU generated address is divided in 2 parts :
(A) Page number.
(B) Page offset.
This is known as logical address. Right hand bit of logical address give the offset number
and left hand bits provide the page number. This page number works as index in the
page table and corresponding base address of that page is determinate. This base address
is combined with the page offset to obtain physical memory address.
3. Segmentation. Segmentation is a memory management technique when the users
view is map onto physical memory in this scheme.
A segment is a logical unit, such as: the main program, procedures,
functions, methods, objects, local variables, global variables, common
blocks, the stack, the symbol table and arrays.
L
14. 3-14 OPERATING SYSTEM
Programisdividedintodifferentlogicalsegmentseachsegmentisallocatednon-contiguous
space in memory. These segments may be of variable name. Every segment has a name
and length. User views a main program as a collection of different components such as a
set subroutines, processor function etc. Segmentation support two users view of memory.
In segmentation, you have a logical address consisting of a segment number and an offset
and a segment table that maps two-dimensional physical addresses as shown in the Fig.
3.6. Each table entry has a base that contains the starting physical address where segments
reside in memory and the limit that specifies the length of the segment.
Fig. 3.6. Segmentation Table.
With each entry in the segment table, a validation bit (one that indicates whether or not it
was an illegal statement) and read/write/execute privileges are associated with the entry.
Since segments can vary in length, memory allocation is a dynamic storage-allocation
problem, which can lead to external fragmentation.
POINTS TO REMEMBER
(i) Operatint system acts as an mediator between user and hardware.
(ii) Operating system provides platefom to other application softwares.
(iii) Operating system provides the facilities to run any program.
(iv) Operating system take care of input and output devices.
(v) Operating systems provide password protection to keep.
(vi) Multi user operating system allows two or more users to run programs at the
same time.
(vii) A single user operating system only allows one user on the system.
15. OPERATING SYSTEM 3-15
(viii) The task of managing and organizing file is called file managements.
(ix) A running program is called process.
(x) Memory management is concerned with allocation of physical memory of finite
capacity to requesting process.
KEY TERMS
❍ Operating system ❍ Hardware, software, user
❍ Batch processing ❍ Multi tasking and single tasking
❍ File management ❍ Disk files, network file, special file
❍ File attributes ❍ Read only, hidden, system, volume
❍ File operation ❍ Cut, copy, move, create, delete file
❍ Process state ❍ Ready, running, blocked, suspend, waiting
MULTIPLE CHOICE QUESTIONS
1. An operating system is a software component of a computer system that is
(a) Responsible for the management of various activities of the computer
(b) The sharing of computer resources
(c) Both (a) and (b)
(d) None of above
2. Operating system manages all the operations of the computer and performs
basic tasks
(a) Accepts input from input devices
(b) Sends output to output devices
(c) Manages the application programs in memory
(d) Manages the files on the storage devices
(e) All of above
3. A distributed system is a
(a) Collection of processors (b) Collection of data
(c) Collection of information (d) None of above
4. The main major activities of an operating system in regard to file management
are
(a) The creation and deletion of files
(b) The creation and deletion of directions
(c) The mapping of files onto secondary storage
(d) (a) and (b)
(e) All of above
5. The examples of personal computer operating system are:
(a) DOS (b) Mac OS
(c) Windows (d) All of above
(e) (a) and (c)
16. 3-16 OPERATING SYSTEM
6. In multiprocessing, multiple programs are executed on
(a) Different processors at same time
(b) Multiple site
(c) Multiple editor (d) None of above
7. Spooling is a technique in which an operating system uses
(a) Buffers to place data before transferring it
(b) Input and output device for connection
(c) More then one user (d) Multitasking concept
8. Compiler is a computer program that
(a) Convert high level language to machine language
(b) Machine to assembly
(c) Assembly to high level language
(d) All of above
9. Loader is the part of an operating system that is responsible for
(a) Linking the content of program
(b) Loading programs, that is, starting up programs by reading the contents of
executable
(c) Executing the program contents
(d) All of above
10. TheAssembly language consists instruction statements which are used to define
the program operations
(a) Op-code mnemonics (b) Data sections
(c) Assembly directives (d) All of above
(e) (a) and (c)
ANSWERS
1. (c) 2. (e) 3. (a) 4. (e) 5. (d)
6. (a) 7. (a) 8. (a) 9. (b) 10. (d)
UNSOLVED QUESTIONS
1. What is operating system ? Explain the function of operating system.
2. Draw the block diagram of operating system.
3. Explain different types of operating system.
4. What is file system ? Explain difference file system.
5. What is process ? Explain the state of a process.
6. Explain PCB with the help of diagram.
7. What do you mean by memory management ?
8. Explain the difference between paging and segmentation.
❍ ❍ ❍