0% found this document useful (0 votes)
4 views22 pages

Unit 2 - Operating - System

The document outlines the components and services of operating systems, detailing aspects such as process management, memory management, file management, and I/O device management. It explains the functions and importance of these components in ensuring efficient operation and resource allocation within an OS. Additionally, it introduces system calls as a means for programs to request services from the operating system's kernel.

Uploaded by

Soham Das
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 (0 votes)
4 views22 pages

Unit 2 - Operating - System

The document outlines the components and services of operating systems, detailing aspects such as process management, memory management, file management, and I/O device management. It explains the functions and importance of these components in ensuring efficient operation and resource allocation within an OS. Additionally, it introduces system calls as a means for programs to request services from the operating system's kernel.

Uploaded by

Soham Das
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

Ranaghat Government

Polytechnic
Ranaghat, Nadia

Department Of Computer Science & Technology

Subject: Operating System

Unit 2 Operating System Structures

Develop By : Kaustuv Sarangi


(Lecturer)

Page 1 of 22 Kaustuv Sarangi


Content:
2.1 System components - Process management, Main
memory management, File Management, I/O system
management, Secondary storage management.

2.2 Operating system services.

2.3 System calls – Uses, process control, file management,


Device management, Information Maintenance,
communication.

2.4 Operating system structure.


Simple structure, layered, monolithic, microkernel.

2.5 Booting

2.6 Virtual Machine

Page 2 of 22 Kaustuv Sarangi


Unit 2
2.1 What are OS Components?
An operating system is a large and complex system that can only be created by partitioning
into small pieces. These pieces should be a well-defined portion of the system, which
carefully defined inputs, outputs, and functions.

Although Mac, Unix, Linux, Windows, and other OS do not have the same structure, most of
the operating systems share similar OS system components like File, Process, Memory, I/O
device management.

Let's see each of these components in detail.

• File Management
• Process Management
• I/O Device Management
• Network Management
• Main Memory management
• Secondary-Storage Management
• Security Management
• Other Important Activities

File Management
A file is a set of related information which is should define by its creator. It commonly
represents programs, both source and object forms, and data. Data files can be numeric,
alphabetic, or alphanumeric.

Page 3 of 22 Kaustuv Sarangi


Function of file management in OS:

The operating system has the following important given activities in connections with file
management:

• File and directory creation and deletion.


• For manipulating files and directories.
• Mapping files onto secondary storage.
• Backup files on stable storage media.

Process Management

The process management component is a procedure for managing the many processes that are
running simultaneously on the operating system. Every software application program has one
or more processes associated with them when they are running.

For example, when you use a browser like Google Chrome, there is a process running for that
browser program. The OS also has many processes running, which performing various
functions.

All these processes should be managed by process management, which keeps processes for
running efficiently. It also uses memory allocated to them and shutting them down when
needed.

The execution of a process must be sequential so, at least one instruction should be executed
on behalf of the process.

Functions of process management in OS:

The following are functions of process management.

• Process creation and deletion.


• Suspension and resumption.
• Synchronization process
• Communication process

I/O Device Management

One of the important uses of an operating system that helps you to hide the variations of
specific hardware devices from the user.

Functions of I/O management in OS:

• It offers buffer caching system


• It provides general device driver code
• It provides drivers for particular hardware devices.
• I/O helps you to knows the individualities of a specific device.

Page 4 of 22 Kaustuv Sarangi


Network Management

Network management is the process of administering and managing computer networks. It


includes performance management, fault analysis, provisioning of networks, and maintaining
the quality of service.

A distributed system is a collection of computers/processors that never share their own


memory or a clock. In this type of system, all the processors have their local Memory, and the
processors communicate with each other using different communication lines, like fibre
optics or telephone lines.

The computers in the network are connected through a communication network, which can be
configured in a number of different ways. With the help of network management, the network
can be fully or partially connected, which helps users to design routing and connection
strategies that overcome connection and security issues.

Functions of Network management:

• Distributed systems help you to various computing resources in size and function. They may
involve microprocessors, minicomputers, and many general-purpose computer systems.
• A distributed system also offers the user access to the various resources the network shares.
• It helps to access shared resources that help computation to speed-up or offers data
availability and reliability.

Main Memory management

Main Memory is a large array of storage or bytes, which has an address. The memory
management process is conducted by using a sequence of reads or writes of specific memory
addresses.

In order to execute a program, it should be mapped to absolute addresses and loaded inside
the Memory. The selection of a memory management method depends on several factors.

However, it is mainly based on the hardware design of the system. Each algorithm requires
corresponding hardware support. Main Memory offers fast storage that can be accessed
directly by the CPU. It is costly and hence has a lower storage capacity. However, for a
program to be executed, it must be in the main Memory.

Functions of Memory management in OS:

An Operating System performs the following functions for Memory Management:

• It helps you to keep track of primary memory.


• Determine what part of it are in use by whom, what part is not in use.
• In a multiprogramming system, the OS takes a decision about which process will get
Memory and how much.
• Allocates the memory when a process request.
• It also de-allocates the Memory when a process no longer requires or has been
terminated.

Page 5 of 22 Kaustuv Sarangi


Secondary-Storage Management
The most important task of a computer system is to execute programs. These programs, along
with the data, helps you to access, which is in the main memory during execution.

This Memory of the computer is very small to store all data and programs permanently. The
computer system offers secondary storage to back up the main Memory. Today modern
computers use hard drives/SSD as the primary storage of both programs and data. However,
the secondary storage management also works with storage devices, like a USB flash drive,
and CD/DVD drives.

Programs like assemblers, compilers, stored on the disk until it is loaded into memory, and
then use the disk as a source and destination for processing.

Functions of Secondary storage management in OS:

Here, are major functions of secondary storage management in OS:

• Storage allocation
• Free space management
• Disk scheduling

Security Management

The various processes in an operating system need to be secured from each other's activities.
For that purpose, various mechanisms can be used to ensure that those processes which want
to operate files, memory CPU, and other hardware resources should have proper
authorization from the operating system.

For example, Memory addressing hardware helps you to confirm that a process can be
executed within its own address space. The time ensures that no process has control of the
CPU without renouncing it.

Lastly, no process is allowed to do its own I/O, to protect, which helps you to keep the
integrity of the various peripheral devices.

Other Important Activities

Here, are some other important activities of OS:

• The user's program can't execute I/O operations directly. The operating system should
provide some medium to perform this.
• OS checks the capability of the program to read, write, create, and delete files.
• OS facilitates an exchange of information between processes executing on the same or
different systems.
• OS components help you to makes sure that you get the correct computing by
detecting errors in the CPU and memory hardware.

Page 6 of 22 Kaustuv Sarangi


Summary:

• An operating system is a large and complex system that can only be created by
partitioning into small pieces.
• Operating system shares the various OS system components like File, Process
Memory, I/O device management, etc.
• A file is a collection of related information which is should define by its creator.
• The process management component is a procedure for managing the many processes
that are running simultaneously on the operating system
• I/O device management is one of the important use of an operating system that helps
you to hide the variations of specific hardware devices from the user.
• Network management is the process of administering and managing computer
networks.
• The memory management process is conducted by using a sequence of reads or writes
of certain memory addresses.
• Secondary-Storage Management, the most important task of a computer system, is to
execute programs.
• Security management includes various processes in an operating system that need to
be secured from each other's activities.
• The operating system checks the capability of the program to read, write, create, and
delete files.

2.2 Operating System - Services


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 −

Page 7 of 22 Kaustuv Sarangi


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

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.

Page 8 of 22 Kaustuv Sarangi


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

Operating System Operations


An operating system is a construct that allows the user application programs to interact with
the system hardware. Operating system by itself does not provide any function but it provides
an atmosphere in which different applications and programs can do useful work.

The major operations of the operating system are process management, memory
management, device management and file management. These are given in detail as follows:

Page 9 of 22 Kaustuv Sarangi


Process Management
The operating system is responsible for managing the processes i.e assigning the processor to
a process at a time. This is known as process scheduling. The different algorithms used for
process scheduling are FCFS (first come first served), SJF (shortest job first), priority
scheduling, round robin scheduling etc.

There are many scheduling queues that are used to handle processes in process management.
When the processes enter the system, they are put into the job queue. The processes that are
ready to execute in the main memory are kept in the ready queue. The processes that are
waiting for the I/O device are kept in the device queue.

Memory Management
Memory management plays an important part in operating system. It deals with memory and
the moving of processes from disk to primary memory for execution and back again.

The activities performed by the operating system for memory management are −

• The operating system assigns memory to the processes as required. This can be done using
best fit, first fit and worst fit algorithms.
• All the memory is tracked by the operating system i.e. it nodes what memory parts are in
use by the processes and which are empty.
• The operating system deallocated memory from processes as required. This may happen
when a process has been terminated or if it no longer needs the memory.

Page 10 of 22 Kaustuv Sarangi


Device Management
There are many I/O devices handled by the operating system such as mouse, keyboard, disk
drive etc. There are different device drivers that can be connected to the operating system to
handle a specific device. The device controller is an interface between the device and the
device driver. The user applications can access all the I/O devices using the device drivers,
which are device specific codes.

File Management
Files are used to provide a uniform view of data storage by the operating system. All the files
are mapped onto physical devices that are usually non-volatile so data is safe in the case of
system failure.

The files can be accessed by the system in two ways i.e. sequential access and direct access −

• Sequential Access

The information in a file is processed in order using sequential access. The files
records are accessed on after another. Most of the file systems such as editors,
compilers etc. use sequential access.

• Direct Access

In direct access or relative access, the files can be accessed in random for read and
write operations. The direct access model is based on the disk model of a file, since it
allows random accesses.

2.3 Introduction of System Call


In computing, a system call is the programmatic way in which a computer program requests
a service from the kernel of the operating system it is executed on. A system call is a way for
programs to interact with the operating system. A computer program makes a system call
when it makes a request to the operating system’s kernel. System call provides the services
of the operating system to the user programs via Application Program Interface (API). It
provides an interface between a process and operating system to allow user-level processes to
request services of the operating system. System calls are the only entry points into the kernel
system. All programs needing resources must use system calls.

Page 11 of 22 Kaustuv Sarangi


Services Provided by System Calls:

1. Process creation and management


2. Main memory management
3. File Access, Directory and File system management
4. Device handling(I/O)
5. Protection
6. Networking, etc.

Types of System Calls: There are 5 different categories of system calls –

1. Process control: end, abort, create, terminate, allocate and free memory.
2. File management: create, open, close, delete, read file etc.
3. Device management
4. Information maintenance
5. Communication

Examples of Windows and Unix System Calls –

Windows Unix

CreateProcess() fork()
Process Control ExitProcess() exit()
WaitForSingleObject() wait()

CreateFile() open()
ReadFile() read()
File Manipulation WriteFile() write()
CloseHandle() close()

Page 12 of 22 Kaustuv Sarangi


SetConsoleMode() ioctl()
Device Manipulation ReadConsole() read()
WriteConsole() write()

GetCurrentProcessID() getpid()
Information Maintenance SetTimer() alarm()
Sleep() sleep()

CreatePipe() pipe()
Communication CreateFileMapping() shmget()
MapViewOfFile() mmap()

SetFileSecurity() chmod()
Protection InitlializeSecurityDescriptor() umask()
SetSecurityDescriptorGroup() chown()

Dual Mode operations in OS

An error in one program can adversely affect many processes, it might modify data of another
program, or also can affect the operating system. For example, if a process stuck in infinite
loop then this infinite loop could affect correct operation of other processes. So, to ensure the
proper execution of the operating system, there are two modes of operation:

User mode –
When the computer system run user applications like creating a text document or using any
application program, then the system is in the user mode. When the user application requests
for a service from the operating system or an interrupt occurs or system call, then there will
be a transition from user to kernel mode to fulfil the requests.
Note: To switch from kernel mode to user mode, mode bit should be 1.

Given below image describes what happen when an interrupt occurs:

Kernel Mode –
When the system boots, hardware starts in kernel mode and when operating system is loaded,
it starts user application in user mode. To provide protection to the hardware, we have
privileged instructions which execute only in kernel mode. If user attempt to run privileged

Page 13 of 22 Kaustuv Sarangi


instruction in user mode then it will treat instruction as illegal and traps to OS. Some of the
privileged instructions are:

1. Handling Interrupts
2. To switch from user mode to kernel mode.
3. Input-Output management.

2.4 Operating-System Structure


An operating system is a construct that allows the user application programs to interact with
the system hardware. Since the operating system is such a complex structure, it should be
created with utmost care so it can be used and modified easily. An easy way to do this is to
create the operating system in parts. Each of these parts should be well defined with clear
inputs, outputs and functions.

Simple Structure
There are many operating systems that have a rather simple structure. These started as small
systems and rapidly expanded much further than their scope. A common example of this is
MS-DOS. It was designed simply for a niche amount for people. There was no indication that
it would become so popular.

An image to illustrate the structure of MS-DOS is as follows −

It is better that operating systems have a modular structure, unlike MS-DOS. That would lead
to greater control over the computer system and its various applications. The modular
structure would also allow the programmers to hide information as required and implement
internal routines as they see fit without changing the outer specifications.

In MS-DOS, applications may bypass the operating system.

• Operating systems such as MS-DOS and the original UNIX did not have well-defined
structures.

Page 14 of 22 Kaustuv Sarangi


• There was no CPU Execution Mode (user and kernel), and so errors in applications could
cause the whole system to crash.

Layered Structure
One way to achieve modularity in the operating system is the layered approach. In this, the
bottom layer is the hardware and the topmost layer is the user interface.

An image demonstrating the layered approach is as follows −

As seen from the image, each upper layer is built on the bottom layer. All the layers hide
some structures, operations etc from their upper layers.

One problem with the layered structure is that each layer needs to be carefully defined. This
is necessary because the upper layers can only use the functionalities of the layers below
them.

This approach breaks up the operating system into different layers.

• This allows implementers to change the inner workings, and increases modularity.
• As long as the external interface of the routines don’t change, developers have more
freedom to change the inner workings of the routines.
• With the layered approach, the bottom layer is the hardware, while the highest layer is
the user interface.
o The main advantage is simplicity of construction and debugging.
o The main difficulty is defining the various layers.
o The main disadvantage is that the OS tends to be less efficient than other
implementations.

Page 15 of 22 Kaustuv Sarangi


The Microsoft Windows NT Operating System. The lowest level is a monolithic kernel, but
many OS components are at a higher level, but still part of the OS.

Monolithic Approach
• Functionality of the OS is invoked with simple function calls within the kernel, which is one
large program.
• Device drivers are loaded into the running kernel and become part of the kernel.

A monolithic kernel, such as Linux and other Unix systems.

Microkernels
This structures the operating system by removing all nonessential portions of the kernel and
implementing them as system and user level programs.

Page 16 of 22 Kaustuv Sarangi


• Generally, they provide minimal process and memory management, and a communications
facility.
• Communication between components of the OS is provided by message passing.

The benefits of the microkernel are as follows:

• Extending the operating system becomes much easier.


• Any changes to the kernel tend to be fewer, since the kernel is smaller.
• The microkernel also provides more security and reliability.

Main disadvantage is poor performance due to increased system overhead from message
passing.

A Microkernel architecture.

2.5 Explain BIOS?


• The Basic Input Output System, usually referred to as BIOS, is software stored on a
small memory chip on the motherboard.
• It also manages data flow between the computer's operating system and attached
devices such as the hard disk, video adapter, keyboard, mouse and printer.
• The BIOS includes instructions on how to load basic computer hardware and includes
a test referred to as a POST (Power on Self-Test) that helps verify the computer meets
requirements to boot up properly. If the computer does not pass the POST, you will
receive a combination of beeps indicating what is malfunctioning within the
computer.
• The BIOS additionally provides an abstraction layer for the hardware, i.e., a
consistent way for application programs and operating systems to interact with the
keyboard, display, and other input/output (I/O) devices.

The BIOS, operating system and hardware components of a computer system should all be
working correctly for it to boot. If any of these elements fail, it leads to a failed boot
sequence.

Page 17 of 22 Kaustuv Sarangi


When a computer system is turned on it requires a series of initialization and test before the
user can work on it. This process is called booting.

Basic Input Output System (BIOS):


It provides a set of instructions and is responsible for booting the computer. The BIOS
performs all the test needed at start-up time. These tests are collectively known as Power on
Self-Test (POST). The computer contains hardware like keyboard, monitor, disk drives, etc.
there functioning requires interfacing with the operating system. The BIOS provides drivers
for basic hardware like keyboard and monitor, mouse, etc. The operating system provides
hardware for printer, modem, etc. Drivers for some hardware may not be available in the
operating system hence these have to be explicitly installed by the user.

Power on Self-Test (POST):


POST consists of a series of diagnostic test that runs automatically when a user turns on the
computer. The actual test may differ depending on the configuration of the BIOS. However,
the usual test includes testing of the RAM, keyboard and the disk drives. If these tests are
successful the computer boots itself and loads the operating system but if these tests are
unsuccessful, the computer reports the errors through a series of beeps to draw the operator’s
attention and finally an error message is displayed on the monitor.

Location Of BIOS:
BIOS is typically placed in a chip known as Read Only Memory (ROM) that comes with the
computer. This ensures that the BIOS will always be available even if the hard disk is
formatted or replaced. However, in many cases the content of the ROM is transferred to the
RAM when the system is started. This is because the RAM allows quicker access as
compared to the ROM. Copying of the content of the ROM to the RAM is known as
shadowing.

Complementary Metal Oxide Semiconductor RAM:


As the BIOS will interface the hardware with the operating system, it will require
configurations of the hardware components like hard disk, monitor, etc. This information is
permanently saved in an area known as Complementary Metal Oxide Semiconductor
Random Access Memory (CMOS RAM). Power is supplied to the CMOS from a small
battery so its contents will not be lost after the PC is turned off. Therefore, there is a battery
and a small RAM memory on the board which stores information in a permanent manner.
The CMOS needs very little power so there is not much of strain on the computer’s battery.
Even then the battery is rechargeable is recharged every time the computer is turned on.

Page 18 of 22 Kaustuv Sarangi


System Boot Process
The following diagram demonstrates the steps involved in a system boot process −

Here are the steps −

• The CPU initializes itself after the power in the computer is first turned on. This is
done by triggering a series of clock ticks that are generated by the system clock.
• After this, the CPU looks for the system’s ROM BIOS to obtain the first instruction in
the start-up program. This first instruction is stored in the ROM BIOS and it instructs
the system to run POST (Power on Self-Test) in a memory address that is
predetermined.
• POST first checks the BIOS chip and then the CMOS RAM. If there is no battery
failure detected by POST, then it continues to initialize the CPU.
• POST also checks the hardware devices, secondary storage devices such as hard
drives, ports etc. And other hardware devices such as the mouse and keyboard. This is
done to make sure they are working properly.
• After POST makes sure that all the components are working properly, then the BIOS
finds an operating system to load.
• In most computer systems, the operating system loads from the C drive onto the hard
drive. The CMOS chip typically tells the BIOS where the operating system is found.
• The order of the different drives that CMOS looks at while finding the operating
system is known as the boot sequence. This sequence can be changed by changing the
CMOS setup.
• After finding the appropriate boot drive, the BIOS first finds the boot record which
tells it to find the beginning of the operating system.
• After the initialization of the operating system, the BIOS copies the files into the
memory. Then the operating system controls the boot process.
• In the end, the operating system does a final inventory of the system memory and
loads the device drivers needed to control the peripheral devices.
• The users can access the system applications to perform various tasks.

Without the system boot process, the computer users would have to download all the
software components, including the ones not frequently required. With the system boot, only

Page 19 of 22 Kaustuv Sarangi


those software components need to be downloaded that are legitimately required and all
extraneous components are not required. This process frees up a lot of space in the memory
and consequently saves a lot of time.

2.6 Definition - What does Virtual Machine (VM) mean?


A virtual machine (VM) is an image file managed by the hypervisor that exhibits the
behaviour of a separate computer, capable of performing tasks such as running applications
and programs like a separate computer.

In other words, a VM is a software application that performs most functions of a physical


computer, actually behaving as a separate computer system.

A virtual machine, usually known as a guest, is created within another computing


environment referred as a "host." Multiple virtual machines can exist within a single host at
one time.

Operating System Design Goals


Operating Systems have become quite complex and multifaceted with the advancement of
time. However, that also means it is getting more and more difficult to design operating
systems that satisfy all the specifications required these days. There are no complete solutions
possible for design problems, but some approaches are more successful than others.

Design Requirements in Operating System


The design requirements are quite hard to specify in an operating system. They are basically
divided into two parts: User design requirements and System design requirements. Details
about these are given as follows −

• User Design Requirements

The operating system should be convenient, easy to use, reliable, safe and fast
according to the users. However, these specifications are not very useful as there is no
set method to achieve these goals.

• System Design Requirements

The operating system should be easy to design, implement and maintain. These are
specifications required by those who create, maintain and operate the operating
system. But there is no specific method to achieve these goals as well.

Design Goals in Operating Systems


There are many design goals that modern operating systems have to fulfil to be considered
successful. Some of these are −

Page 20 of 22 Kaustuv Sarangi


Concurrent Systems

Modern operating systems should be able to handle multiple users as well as multiple devices
at the same time. This is necessary for the modern multi-core architectures. Because of these
specifications, the operating system design can be quite complex and difficult to create.

Security and Privacy

Operating systems should be able to provide security and privacy for a system. This is very
important as there are many malicious users who may want to hack into the computer system
and steal user programs.

Resource Sharing

The operating system should make sure that resources are shared in a correct manner between
multiple user processes. This can get quite complex when multiple users share the same
device as well.

Future Hardware and Software Changes

A major design consideration is that the operating system should be able to weather future
hardware and software changes and not become obsolete. This is necessary as the operating
system being changed again and again is quite a costly process.

Portable Operating Systems

The operating systems should be portable i.e. they should work with different hardware and
machines. There may be some speciality operating system that only work on one kind of
machine, however, most of them are portable.

Page 21 of 22 Kaustuv Sarangi


Backward Compatibility

The new operating systems created should be compatible with the previous models i.e. they
should contain backward compatibility.

No Specific Type of Users

Operating systems should be developed keeping in mind a general user base so that many
users can use them. Even specially developed operating systems that target a single user base
contain generality.

Reference

[Link] System Concepts 8th Ed, ISV By Silberschatz


2. Operating System Harvey [Link], paul J. Deitel, David R. Choffnes
3. MODERN OPERATING SYSTEMS ANDREW S. TANENBAUM HERBERT BOS
4. [Link]
5. [Link]
6. [Link]
7. [Link]
8. [Link]

Page 22 of 22 Kaustuv Sarangi

You might also like