0% found this document useful (0 votes)
57 views19 pages

Unit 1

An operating system manages computer hardware and software resources and provides common services for computer programs. It acts as an intermediary between users and the computer hardware. Common services provided by operating systems include program execution, I/O operations, file system manipulation, communication, error detection, resource allocation, and protection. Operating systems are designed to maximize resource utilization and make resources available efficiently and effectively to users.

Uploaded by

Abishek Sah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views19 pages

Unit 1

An operating system manages computer hardware and software resources and provides common services for computer programs. It acts as an intermediary between users and the computer hardware. Common services provided by operating systems include program execution, I/O operations, file system manipulation, communication, error detection, resource allocation, and protection. Operating systems are designed to maximize resource utilization and make resources available efficiently and effectively to users.

Uploaded by

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

UNIT –I

1.1 Introduction
An operating system is a program that manages the computer system.
It acts as an intermediatary between user and computer system. It is nothing, but a control
program that manages or controls all the activities that has been performed inside the
computer system.
Broadly, the computer system is divided into 4 parts.
i. Computer hardware- provides basic computing resources
ii. Operating system (system software)-controls and coordinates use of hardware among
applications and users.
iii. Application program- defines the way in which system resources are used to solve the
computing problem of the users
iv. User- people, machines and other computers.

Fig: operating system.

1.1.1 Services of operating system


Following are 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. Following are the major activities of an operating system with respect to program
management −
 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. 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.
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.

1.1.2 Systems
User’s view of operating system
Operating system is designed for easy use of resources in the computer system with high
performance.
OS is designed to maximize the resource utilization to assure that all available resources
like CPU time, memory and I/O devices are used efficiently and effectively.

System’s view of Operating System


Operating system acts as a resource allocator. It acts as manager of all the resources and decides
the allocation of resources for processes in allocated time.
It should behave as a control program that manages the execution of user programs to
prevent errors and proper use of resources. It provides the reasonable way to solve the problem.

1.1.3 Desktop systems


The control program in a user's machine (desktop or laptop) is called desktop system. Also called
a "client operating system," Windows comes overall in majority while the Macintosh comes
second. There are also several versions of Linux for the desktop.
The Client Operating System is the system that works within computer desktops and
various portable devices. This system is different from centralized servers because it only
supports a single user.
Smartphones and small computer devices are able to support client operating systems.
Each computer generally has a specific kind of operating system. Some computers have the
ability to contain multiple operating systems. This is called a dual boot configuration.

1.1.4 Multiprocessor System


In this type of operating system, more than one processor is in close communication,
sharing the computer bus, the clock and sometimes the memory and peripheral devices.
It is a technique that involves operating several processors in parallel to obtain a higher
calculation power than that obtained using high end processor. This system must be able to
manage memory sharing between several processors but also to distribute the work load.
CPU CPU CPU

Memory

Fig: multiprocessor system.

Advantages of multiprocessor system:


i) Increasing throughput- by increased number of processor we can expect more work to
be done from the system.
ii) Increased reliability- if the functions are distributed properly among several processors,
the failure of the processor does not halt the system, only the processor slows down.
iii) Economic in scale- it is economic that multiple single processor. Since this system can
share peripherals, storage devices etc. when several processes work on same set of data,
the cost of having separate components for separate processors can be reduced.

1.1.5 Distributed System


An operating system that manages a group of independent computers and makes them
appear to be single computer is known as distributed operating system. The development
of networked computers that could be linked and communicate with each other through
hardware and software connections, gave rise to distributed computing.
 The major objective of distributed OS is transparency.
 The components and resource distribution should be hidden from users and application
program unless explicit demand.
 This OS provides the means for system wide sharing of resources such as computational
capacity, files etc.
Fig: distributed system.

1.1.6 Clustered System


Clustered systems are two or more individual computer systems merged together with a
common storage and the systems work together. The clustered systems are a combination
of hardware clusters and software clusters. The hardware clusters help in sharing of high
performance disks between the systems. The software clusters makes all the systems
work together. Each node in the clustered systems contains the cluster software. If any
one of the nodes in the clustered system fail, then the rest of the nodes take control of its
storage and resources and try to restart.

Fig: Clustered System.

Advantages:
 Performance: Computers work as a parallel unit this system, resulting in high
performance.
 Fault tolerance: the loss of any node in system does not result in loss of system as the
nodes in standby takes the place of failed node.
 Scalability: this system is quite scalable to add new node to system, no need to take down
entire cluster.
1.1.7 Real time System
Real time system means that the system is subjected to real time, i.e., response should be
guaranteed within a specified timing constraint or system should meet the specified deadline. For
example: flight control system, real time monitors etc.
Types of real time systems based on timing constraints:
1. Hard real time system –
This type of system can never miss its deadline. Missing the deadline may have disastrous
consequences. The usefulness of result produced by a hard real time system decreases
abruptly and may become negative if tardiness increases. Tardiness means how late a real
time system completes its task with respect to its deadline. Example: Flight controller
system.
2. Soft real time system –
This type of system can miss its deadline occasionally with some acceptably low probability.
Missing the deadline has no disastrous consequences. The usefulness of result produced by a
soft real time system decreases gradually with increase in tardiness. Example: Telephone
switches.

1.2 Computer-System Structures


1.2.1 Operation
For a computer to start running, Bootstrap Program runs when the computer is powered
up or rebooted. It is stored in ROM (Or EEPROM), known as firmware. It loads the OS
and start executing the system. It locates and loads into memory the OS Kernel.
A modern general purpose computer system consists of one or more CPUs and a
number of device controllers connected through a common bus that provides access to
shared memory.

Fig: a modern computer system.


 The CPU and the device controllers (I/O devices) can execute concurrently (same
time), competing for memory cycles.
 Each device controller is in charge of a particular device type.
 Each device controller has a local buffer.
 CPU moves data from/to main memory to/from local buffers.
 Device controller informs CPU that it has finished it’s operation by causing interrupt.
 To ensure orderly access to the shared memory, a memory controller is provided
whose function is to synchronize access to the memory.
An operating system is interrupt driven. The occurrence of an event is usually signaled by
an interrupt from hardware or software. Hardware may trigger an interrupt at any time
by sending to CPU, usually by the way to system bus. Software generated interrupt is
caused either by an error or user request, called trap. It executes a special operation called
system call (monitor call).

Fig: interrupt timeline for a single process doing output.

When the CPU is interrupted, it stops what it is doing and immediately transfers
execution to a fixed location. The fixed location usually contains the starting address
where the service routine of interrupt is located. The interrupt service routine executes.
On completion, the CPU resumes the interrupted computation.

1.2.2 I/O structure


Storage is only one of many types of I/O devices within a computer. A large portion of
operating system code is dedicated to managing I/O, both because of it’s importance to
the reliability and performance of a system and varying nature of devices.
A general-purpose computer system consists of CPUs and multiple device
controllers that are connected through a common bus. Each device controller is incharge
of a specific type of device which maintains local buffer storage and set special
purpose registers. OS have a device driver for each device controller which presents a
uniform interface to device to rest of the operating system.

To start an I/O operation, the device driver loads the appropriate registers within the
device controller. The device controller then examines the contents of registers to
determine what action to take i.e. transfers data from device to it’s local buffer.
Thread of execution
Cache Instructions and
Instruction
Data
CPU execution
cycle

Data Memory
movement

I/O request
Interrupt
Data
DMA

Device

Fig: I/O operation.

As the transfer of data completes, the controller informs the device driver via interrupt. The
device driver then returns the control to OS. But can produce high overhead when used for
bulk data movement.
To solve this problem, Direct Memory Access (DMA) is used. After setting buffers,
pointers and counters for I/O device, the device controller transfers the entire block of data
directly to/from it’s own buffer storage to memory without any intervention of CPU.

1.2.3 Storage structure


 Main memory- only large storage media that CPU can access directly.
 Secondary storage- extension of main memory that provides large nonvolatile storage
capacity.
 Magnetic disks- rigid metal or glass platters covered with magnetic recording material.
 Disk surface is logically divided into tracks, which are subdivided into sectors.
 The disk controller determines the logical interaction between the device and the
computer.
The CPU can load instructions only from memory, so programs to run must be stored there.
Main memory commonly is implemented in semi conductor technology called dynamic random
access memory (DRAM).
Read only memory (ROM) is used for static program, such as boot strap program. All
forms of memory provide an array of bytes, each byte with address. Interaction is achieved
through a sequence of load or store instruction in specific memory address. The load instruction
moves a byte or word from main memory to internal register within CPU, where as the store
instruction moves the contents of register to main memory.
Based on Von Neumann architecture, a typical instruction-execution cycle, CPU first
fetches an instruction from main memory and stores in register. The instruction is then decoded
and may cause operands to be fetched from memory and stored in same internal register. After
the instructions of operands have been executed, the result may be stored back in memory.

1.2.4Storage Hierarchy
Storage systems organized in hierarchy based on:
 Speed
 Cost
 Volatility

Fig: storage device hierarchy.

The top four levels of memory may be constructed using semi conductor memory. Volatile
storage loses it’s contents when power removed. Data must be written to non volatile storage for
safe keeping.
Solid state disk (SSD) is a large DRAM array during normal operation but also contains a
hidden magnetic disk and battery backup power. If external power interrupted, the SSD disk
controller copies the data from RAM to magnetic disk and when external power restored, the
controller copies data back to RAM.
Another SSD type is made of flash memory is slower than DRAM but needs no power to
retain its contents.
Caches can be installed to improve performance where a large disparity appears in access
time or transfer rate exists between two components.

1.3 Operating System structure


1.3.1 Operating System components
Here are the basic components of an OS:
 Process Management:
A process is one instance of a program in execution; at any instance, there may be many
processes running copies of a single program (e.g., an editor): each is a separate,
independent process.

Under the process management OS does the following functions:


- To create and delete processes.
- Suspend a process and resume it later.
- It does proper synchronization and communication between processes at same time.
- Controls deadlock situation among processes.

 Memory Management:
Primary memory is the direct access storage for CPU. Programs must be stored in
memory to execute. Under memory management OS does the following functions:
- It keeps track of free memory locations.
- It keeps track of programs loaded in memory locations.
- Keeps track of processes to be loaded in main memory and selects one process
whenever some memory space available.
- It allocates and de-allocates memory locations to processes.

 File Management:
A file is a named collection of persistent information that can be read or written. The file
system provides logical objects and logical operations on those objects. File system also
supports directories. Under the file management OS does the following function:
- It takes care of creation and deletion of files and directories.
- It provides an option to assign various permissions to files and also map these files
in various storage medium.
- It allows user to access files and manipulate it.
- It also provides backup facilities.
 I/O System Management:
Much of the OS kernel is connected with I/O. OS provides a standard interface between
programs (user or system) and devices.
- It provides a general purpose device driver.
- It provides device driver for specific hardware devices.
- It provides memory management component.

 Secondary Storage Management:


It is permanent memory, i.e., it recovers system failure. OS does the following functions:
- It manages the free space so that user’s file can be store.
- It allocates free space of secondary memory to users.
- It provides good disk scheduling algorithm.

 Network Services:
OS support for various protocols and communication facilities.
Network provides sharing of resources and improves speed of computation, data
availability and reliability. For example is WWW (World Wide Web).

 Protection system:
Protection is a general mechanism throughout the OS helps to detect errors as well as to
prevent malicious destruction.
All resource objects need protection, such as:
- memory
- processes
- files
- devices
 Virtual Memory Management: Maintain mapping from virtual to physical memory,
decide on size of memory to allocate to processes, enforce replacement policy
management.
 Command Language Interpreter (CLI): interface to operator and users that gives them the
ability to give commands to the OS.
In other word, it’s simply a non-privileged process that interfaces to the user,
permitting replacement of interpreter with others.
 Accounting Services:
General facility for keeping track of resource usage for all system objects. May be used to
enforce quotas, or to produce bill$.

1.3.2 System calls


The interface between the operating system and user program is defined by set of system calls
the operating system provides. System call provides an interface to the services made available
by an operating system.

There are two modes of operation that the program can execute (run) i.e. the user mode and
kernel mode. The user mode does not have direct access to memory, hardware and such
resources whereas the Kernel mode has access to all the resources. Hence the program running in
Kernel mode is in privileged mode. But user mode seems to be safer mode, if it crashes the rest
system remains in safe. When User mode needs access to resources it makes a call to OS,
switching occurs from user mode to kernel mode, known as context switching. The call made is
known as system call.
These calls are generally available as routines written in C and C++. For example a
system calls sequence for writing a simple program to read data from file and copy them to
another file.

All the steps above needs system call. After the input of input file output file system call, if
the file does not exit then abort must be done where error occurs. But is file exist then also
have to abort since we are creating new source file with new contents. But if destination file
exists then new file has to be created.
If the destination file is new then reading from input files and writing to output files
occurs where looping has to be done until the reading fails as there nothing remains to read.
Finally output file has to be closed by writing completion message to screen.
System calls are accessed by program through a high speed supplication program
interface (API). The three most common API’s are:
i. Win32: used for windows
ii. POSIX: used for Linux
iii. Java API: JVM (Java virtual machine)
1.3.3 System Programs
System program provides a convenient environment for program development and execution,
also known as system utilities. In figure of abstract computer system, the lowest level is
hardware, next is operating system, then is system program, and finally the application program.
Some of them are simply user interface to system calls, while others are more complex. Based on
task they perform they can be divided into following categories:
i. File management:
This program creates, delete, copy, rename, print, dump, list, and generally manipulate files
and directories.
ii. Status information:
This system program asks for status information, such as system asks for:
 Date and time
 Amount of available memory or disk space
 Number of users
 Detailed performance
 Logging and debugging information etc.
iii. File modification:
It deals with modifying the inner contents of file; system program has to be used to fulfill the
file modification.
- Several text editors may be available to create and modify the contents of files stored on
disk or other storage devices.
- There may be also special commands to search contents of files or perform transformation
of the text.
iii. Programming language support:
System program must support several programming languages such as C, C++, Java,
Visual Basic, and Perl and so on. The system must compile the program written in different
languages. There are language processors such as compilers, assemblers, debuggers and
interpreters for common programming languages, are often provided to the user with the
operating system.
iv. program loading and execution
After the program compilation, it has to be loaded and executed, so some system program helps
in doing such things. The system may provide:
- Absolute loaders
- Relocatable loaders
- Linkage editors and
- Overlay loaders
If some problem appears in program, has to be solved called Debugging system called debugger
for either high level language or machine language.
v. Communication:
The system program helps communication between processes or users. These programs provide
the mechanism for:
- Creating virtual connections among processes, users, and computer system.
- Allowing users to send message to one another’s screen.
- To browse web pages.
- To send electronic mail messages.
- To log in remotely or to transfer files from one machine to another.
In addition to system programs, most operating systems are supplies with programs that are
useful in solving common problem or performing common operations.

1.3.4 System structure


Operating System is large and complex system that has to be engineered properly and modified
easily. There are different structures followed from beginning till now being designed for
operating system.
1. Simple structure- it is the design of OS that was followed by most of the OS in beginning
which do not have very well defined structure.
It was designed by very few people with most functionality in least space. MS-DOS is an
example of such system. The structure followed by MS-DOS is as such:

Here the device drivers have access to basic hardware, resident program to access to device
driver as well as basic hardware. Even application program have access to resident system
program as well as basic hardware. Hence the basic hardware have been accessed by all the
things above.
Here the interpretation and levels of functionality are well separated. It looks like layered
but is not. For instance, application program are able to access the basic I/O routine to write
directly to display and disk drive. Such freedom can leave open to malicious program, causing
entire system crash when user program fails. Hence it is not well structured.
MS-DOS was written on Intel 8088 which do not provide dual mode or hardware
protection; hence it is not good structured.

Another example of simple structure is monolithic structure, was followed by earlier


Unix operating system. It is also a limited structure. Here in monolithic structure consists of two
separable parts: The kernel and system program.
Kernel is further separated into a series of interfaces and device drivers. Everything below the
system call interface and physical hardware is Kernel. It provides the file system, CPU
scheduling, memory management, and other operating system functions through system calls.
Everything is packed into one level Kernel hence called Monolithic structure. Too many
functionalities are packed in one makes implementation and maintenance very difficult. Fixing
bugs in any functionality is difficult. For e.g. if we want to add anything then the entire kernel
has to be modified. But still today we see the evidence if this simple, monolithic structure in
Unix, Linux and windows OS.

2. Layered structure
In layered structure, the functionalities of operating system are broken down in to layers and
separated. Hence is easy to implement and debug, since each layer have different
functionalities.

Fig: layered structure.


If CPU scheduling layer has problem, to debug that we just have to look in that layer only.
But this structure has some disadvantages as it’s designing is difficult. We have to decide
which layer to be on top of particular layer or which layer below a particular layer because a
layer can use the services of layer below it.
For e.g. layer 1 deal with backing storage (disk space used by virtual memory), it has to
be below the layer that deals with memory management since memory management routines
needs to use the services provided backing storage. Se we need to be very careful when
designing this structure.
Another problem in this layered structure may be less efficient compared to other
structure when one layer wants services provide by layer below it, the request has to go down
below each layer one by one and the services requested may not be fast.
For e.g. Layer N wants to execute I/O operation it has to get the services of layer
0(contains hardware). Layer N issues the system call, has to go through all the layers one by
one and has to reach layer 0, the parameter in system may be modified and takes time to
reach layer 0. As the system call is granted the only the layer N will be able to use
input/output services. Hence the major disadvantage is time consumption.

3. Microkernel structure
In this approach non essential components are removed from Kernel and implement them
as system and user level program. Here the microkernel provides core functionalities and
other some other functionalities like device driver, file server, process server and virtual
memory are implemented as user level or system program on its top.

As the client program makes request for services the function of micro kernel is to provide
communication between client program and services. Hence the client program communicates
through message passing to services.
In this structure most of the functions available are executed in user mode as system program
and microkernel has core functionalities only. If the program is running in user mode crashes,
the entire system remains unaffected. But if particular running program fails in kernel mode
then entire system gets crashed. And since most of the functionalities runs in user mode, the
crash of entire system does not happen.
But the disadvantage as the overhead function increases, performance decreases.
Karnegie Mellon University developed an Operating System called Mach that used the
approach of Microkernel.

4. Modules
Here the core kernel has only the core functionalities and the other functionalities are present in
the form of module which will be loaded at boot time or at run time. These modules are loaded
dynamically to core kernel when required. It looks something like layered approach and
somewhat like micro kernel approach.

It resembles the layered system that each kernel section has defined protected interfaces which is
not accessible. But is flexible than layered system that any module can call any other module.
Modules can communicate through the core kernel hence is more flexible than layered approach.
Compared to micro kernel approach, no message passing is done her since are loaded
dynamically as and when needed, hence the system overhead is not here.
Hence module is the best structuring operating system and is used by most of the
operating system.

1.3.5 System Design and Implementation


1.3.5.1 Design Goals
The first problem is defining goals and specification. It is not easy to specify all the goals
and specification that is needed for operating system as it depends on kind of user and
kind of system requirement. So is not possible to fulfill all the goals and requirements so
is a problem. Some of the requirements that can be specified as:
a) Choice of hardware- it indicate the types of hardware to be chosen for Os to be built.
b) Type of system- it includes the operating system of multitasking, multi-processing,
real-time system and so on.
But beyond this highest level, the requirements may be much harder to specify
and achieve it. There are requirements from the user and from the system, called user
goals and system goals.
i) User goals- it is requirements from user perspective i.e. what user wants to be
convenient to use, easy to learn, reliable and safer to use.
ii) System goals- it is system or designer/developer or engineer perspective i.e. easy to
design, implement, maintain, operate and should be flexible, reliable, error free and
efficient.
There are no particular rules or set of instructions to be followed to make system
easy to learn and use or easy to design. All the specifications and requirements cannot
be met. But there are some rules that can be followed to meet some or more of the
requirements to make OS.

Based on software engineering concept we have some:


1.3.5.2 Mechanism and Policy
Mechanism determines how to do something while policies are rules determine what will
be done. For e.g. the time construct is a mechanism for ensuring CPU protection, but
deciding how long timer is set for particular user is policy decision.
There is one important principle for the separation of policy from mechanism.
Mechanism remains the same but policy changes i.e. change is policy does not change
mechanism. This case is considered to be good and flexible. Other can be change is
mechanism occurs when there is change is policy, is not considered to be flexible,
practical and efficient.
In MS- windows policy and mechanism are encoded in system to get global look.
All the application have similar interface, as it is built in kernel and system libraries. Mac
OS X also has similar functionality.
When a process requests for resource, how it is allocated is mechanism and
policy determines whether to allocate resource or not. Hence it is always good to separate
policy from mechanism.
1.3.5.3 Implementation
Once the code is designed, it must be implemented. Traditionally OS has been written in
Assembly language. Now, however most commonly are written in high level language
such as C and C++.
First system Master Control Program (MCP) was developed for Burroughs computer was
written in Assembly Language, was developed at MIT. The Linux and Windows OS
Kernels are written mostly in C, some sections such as device driver and for saving and
saving the state of register was written in Assembly Language. Advantages of writing in
High Level Languages are:
i. Code can be written faster
ii. It is easier to understand and debug.
iii. It is more compact.
iv. It is easy to port.
For e.g. Ms-DOS for Intel 8088 was written in assembly language, is available for Intel
family of CPU only.
The Linux OS, in contrast, is written mostly in C and is available on number of
different CPUs, including Intel 80x86, Motorola 680xO, SPARC and MIPS Rx000.

1.3.4 System Generation


There are two approaches for system generation:
i. Design, code and implement an operating system specifically for one machine at a time:
In this approach we design OS specifically for one machine. Requirements of one machine
are only considered and OS is designed. For larger perspective, it may not be efficient since
we want our OS to work on multiple machines without redesigning it.
ii. Operating systems are designed to run on any of a class of a machine with a variety of
peripherals configuration:
In this approach OS is designed in such a way that it will be able to run on variety of
machines, irrespective of their configuration.
The configuration might vary in different machines with same Os installed. Hence
the system must then be configured or generated for each specific computer site. The
process sometimes known as System Generation (SYSGEN) is used to solve the problem.
It helps in helps in generating OS in such a way that it gets compatible to that specific
machine. There are some kinds of information that must be determined by SYSGEN
program so that it knows how to generate OS for a particular machine. The information is
listed as such:
a) What CPU is to be used? - determine the processing unit to be used in machine
b) How much memory is available? – determine how much memory available for OS
installation and memory allocation.
c) What devices are available? – determine the devices attached to machine.
d) What operating system options are desired? – determine what this machine tends/wants
from OS.
Depending on information above SYSGEN can generate OS for that particular kind of
machine.

You might also like