0% found this document useful (1 vote)
414 views

Operating System Assignment

The document discusses the functions of an operating system including memory management, processor management/scheduling, device management, file management, and storage management. It provides details on how the operating system allocates and manages resources like memory, processors, devices, files, and storage. It also describes the user's view of an operating system from single-user, multiple-user, handheld, and embedded system perspectives. Finally, it explains the differences between multi-programming and time-sharing operating systems in terms of allocation of computer resources to multiple processes or users.

Uploaded by

GhoSty BhooT
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
414 views

Operating System Assignment

The document discusses the functions of an operating system including memory management, processor management/scheduling, device management, file management, and storage management. It provides details on how the operating system allocates and manages resources like memory, processors, devices, files, and storage. It also describes the user's view of an operating system from single-user, multiple-user, handheld, and embedded system perspectives. Finally, it explains the differences between multi-programming and time-sharing operating systems in terms of allocation of computer resources to multiple processes or users.

Uploaded by

GhoSty BhooT
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

OPERATING SYSTEM

ASSIGNMENT-1
• Kamaljeet Singh
• MCA-1

Q1. What is an operating system? What are the functions


An operating system (OS) is a program that acts as an interface between the system hardware and
the user. Moreover, it handles all the interactions between the software and the hardware. All the
working of a computer system depends on the OS at the base level. Further, it performs all the
functions like handling memory, processes, the interaction between hardware and software, etc.

Functions of Operating System

1. Memory Management

It is the management of the main or primary memory. Whatever program is executed, it has to be
present in the main memory.  Main memory is a quick storage area that may be accessed directly
by the CPU. When the program is completed, the memory region is released and can be used by
other programs. Therefore, there can be more than one program present at a time. Hence, it is
required to manage the memory.

The operating system:

• Allocates and deallocates the memory.

• Keeps a record of which part of primary memory is used by whom and how much.

• Distributes the memory while multiprocessing.

• In multiprogramming, the operating system selects which processes acquire memory


when and how much memory they get.

2. Processor Management/Scheduling

Every software that runs on a computer, whether in the background or in the frontend, is a
process. Processor management is an execution unit in which a program operates. The operating
system determines the status of the processor and processes, selects a job and its processor,
allocates the processor to the process, and de-allocates the processor after the process is
completed.

The purpose of CPU scheduling is as follows:


• Proper utilization of CPU. Since the proper utilization of the CPU is necessary.
Therefore, the OS makes sure that the CPU should be as busy as possible.

• Since every device should get a chance to use the processor. Hence, the OS makes
sure that the devices get fair processor time.

• Increasing the efficiency of the system.


When more than one process runs on the system the OS decides how and when a process will use
the CPU. Hence, the name is also CPU Scheduling. The OS:

• Allocates and deallocates processor to the processes.

• Keeps record of CPU status.

Certain algorithms used for CPU scheduling are as follows:

• First Come First Serve (FCFS)

• Shortest Job First (SJF)

• Round-Robin Scheduling

• Priority-based scheduling etc.

3. Device Management

An operating system regulates device connection using drivers. The processes may require devices
for their use. This management is done by the OS. The OS:

• Allocates and deallocates devices to different processes.

• Keeps records of the devices.

• Decides which process can use which device for how much time.

4. File Management

The operating system manages resource allocation and de-allocation. It specifies which process
receives the file and for how long. It also keeps track of information, location, uses, status, and so
on. These groupings of resources are referred to as file systems. The files on a system are stored in
different directories. The OS:

• Keeps records of the status and locations of files.

• Allocates and deallocates resources.

• Decides who gets the resources.

5. Storage Management

Storage management is a procedure that allows users to maximize the utilization of storage devices
while also protecting data integrity on whatever media on which it lives. Network virtualization,
replication, mirroring, security, compression, deduplication, traffic analysis, process automation,
storage provisioning, and memory management are some of the features that may be included.
The operating system is in charge of storing and accessing files. The creation of files, the creation of
directories, the reading and writing of data from files and directories, as well as the copying of the
contents of files and directories from one location to another are all included in storage
management.

The OS uses storage management for:

• Improving the performance of the data storage resources.

• It optimizes the use of various storage devices.

• Assists businesses in storing more data on existing hardware, speeding up the data
retrieval process, preventing data loss, meeting data retention regulations, and
lowering IT costs

Q2. Describe the users view of the operating system.


The user view depends on the system interface that is used by the users. Some systems are
designed for a single user to monopolize the resources to maximize the user's task. In these
cases, the OS is designed primarily for ease of use, with little emphasis on quality and none on
resource utilization.
1. Single User View Point
Most computer users use a monitor, keyboard, mouse, printer, and other accessories to operate
their computer system. In some cases, the system is designed to maximize the output of a single
user. As a result, more attention is laid on accessibility, and resource allocation is less important.
These systems are much more designed for a single user experience and meet the needs of a
single user, where the performance is not given focus as the multiple user systems.
2. Multiple User View Point
Another example of user views in which the importance of user experience and performance is
given is when there is one mainframe computer and many users on their computers trying to
interact with their kernels over the mainframe to each other. In such circumstances, memory
allocation by the CPU must be done effectively to give a good user experience. The client-server
architecture is another good example where many clients may interact through a remote server,
and the same constraints of effective use of server resources may arise.
3. Handled User View Point
Moreover, the touchscreen era has given you the best handheld technology ever. Smartphones
interact via wireless devices to perform numerous operations, but they're not as efficient as a
computer interface, limiting their usefulness. However, their operating system is a great
example of creating a device focused on the user's point of view.
4. Embedded System User View Point
Some systems, like embedded systems that lack a user point of view. The remote control used
to turn on or off the tv is all part of an embedded system in which the electronic device
communicates with another program where the user viewpoint is limited and allows the user to
engage with the application.

Q3. Explain the difference between multi-programming and time


sharing.

TIME SHARING MULTIPROGRAMMING


Time Sharing is the logical extension of Multiprogramming operating system allows
multiprogramming, in this time-sharing Operating to execute multiple processes by
system many users/processes are allocated with monitoring their process states and
computer resources in respective time slots. switching in between processes.
Processor and memory underutilization
Processors time is shared with multiple users problem is resolved and multiple programs
that’s why it is called as time-sharing operating runs on CPU that’s why it is called
system. multiprogramming.
In this process, two or more users can use a In this, the process can be executed by a
processor in their terminal. single processor.
Multi-programming OS has no fixed time
Time sharing OS has fixed time slice. slice.
In multi-programming OS system before
In time sharing OS system, execution power is finishing a task the execution power is not
taken off before finishing of execution. taken off.
Here the system works for the same or less time Here the system does not take same time
on each process. to work on different processes.
In time sharing OS system depends on time to In Multiprogramming OS, system depends
on devices to switch between tasks such
switch between different processes. I/O interrupts etc.
System model of time-sharing system is multiple System model of multiprogramming system
programs and multiple users. is multiple programs.
Multiprogramming system maximizes
Time sharing system maximizes response time. response time.
Example: Windows NT. Example: Mac OS.

Q4.When do we say a system is "multi-programming"?When do we say


it is an "online" system?
1.Multi programming:
In a modern computing system, there are usually several concurrent application processes
which want to execute. Now it is the responsibility of the Operating System to manage all the
processes effectively and efficiently. One of the most important aspects of an Operating System
is to multi program. In a computer system, there are multiple processes waiting to be executed,
i.e. they are waiting when the CPU will be allocated to them and they begin their execution.
These processes are also known as jobs. Now the main memory is too small to accommodate all
of these processes or jobs into it. Thus, these processes are initially kept in an area called job
pool. This job pool consists of all those processes awaiting allocation of main memory and CPU.
CPU selects one job out of all these waiting jobs, brings it from the job pool to main memory
and starts executing it. The processor executes one job until it is interrupted by some external
factor or it goes for an I/O task. Non-multi programmed system’s working –
In a non multi programmed system, As soon as one job leaves the CPU and goes for some other
task (say I/O ), the CPU becomes idle. The CPU keeps waiting and waiting until this job (which
was executing earlier) comes back and resumes its execution with the CPU. So CPU remains free
for all this while.

2.Online System:
An online processing system handles transactions in real time and provides the output instantly.
When any economic event takes place then the processing occurs. It requires more number of
dedicated hardware resources, processing elements are required. In this system programs are
initiated through transactions. It does not allow sharing of programs and files.
Examples includes are month end tax calculation, data transformation, data analysis, data
transformation etc.

Q5. What are the three main purposes of an operating system?


The three main purposes of operating system are:
• To provide an environment for a computer user to execute programs on computer hardware
in a convenient and efficient manner.
• To allocate the separate resources of the computer as needed to solve the problem given. The
allocation process should be as fair and efficient as possible.
• As a control program it serves two major functions:
(1) supervision of the execution of user programs to prevent errors and improper use of
the computer
(2) management of the operation and control of I/O devices

Q6. What are the main differences between operating systems for
mainframe computers and personal computers?
Some difference between mainframe computers and personal computers is that:
• Mainframe platform u can run more than one OS at a time on same machine but this
feature not available at Personal Computer OS.
• Aa mainframe operating system will probably need to service many users at the same
time, whereas a PC operating system normally only has to worry about one user at a
time.
• A mainframe OS can be used by many users at the same time so it must need to service
for many users. However, a personal computer operating system designed for one user
normally.
• Mainframe OS is more powerful and expensive than PC OS.
• Mainframe OS designed to huge process from many users and it means, it manages lots
of I/O for many users, but in PC OS there is just one user to log in it means, it does not
manage lots of I/O for one user.
• Mainframe OS offers three kinds of service batch, transaction processing and
timesharing. Personal computer OS used for some basic processing like word processing,
spreadsheets and internet access that PC OS is supports multiprogramming.

Q7. Write Short Note on


A).Batch System
In the 1970s, Batch processing was very popular. In this technique, similar types of jobs were
batched together and executed in time. People were used to having a single computer which
was called a mainframe.
In Batch operating system, access is given to more than one person; they submit their
respective jobs to the system for the execution.
The system put all of the jobs in a queue on the basis of first come first serve and then executes
the jobs one by one. The users collect their respective output when all the jobs get executed.
The purpose of this operating system was mainly to transfer control from one job to another as
soon as the job was completed. It contained a small set of programs called the resident monitor
that always resided in one part of the main memory. The remaining part is used for servicing
jobs.

Advantages of Batch OS

• The use of a resident monitor improves computer efficiency as it eliminates CPU time
between two jobs.

Disadvantages of Batch OS
1. Starvation
Batch processing suffers from starvation.
For Example:
If there are five jobs J1, J2, J3, J4, and J5, present in the batch. If the execution time of J1 is very
high, then the other four jobs will never be executed, or they will have to wait for a very long
time. Hence the other processes get starved.
2. Not Interactive
Batch Processing is not suitable for jobs that are dependent on the user's input. If a job requires
the input of two numbers from the console, then it will never get it in the batch processing
scenario since the user is not present at the time of execution.

B).Time-Sharing Operating System


In the Time-Sharing operating system, computer resources are allocated in a time-dependent
fashion to several programs simultaneously. Thus, it helps to provide a large number of user's
direct access to the main computer. It is a logical extension of multiprogramming. In time-
sharing, the CPU is switched among multiple programs given by different users on a scheduled
basis.
A time-sharing operating system allows many users to be served simultaneously, so
sophisticated CPU scheduling schemes and Input/output management are required.
Time-sharing operating systems are very difficult and expensive to build.

Advantages of Time-Sharing Operating System

• The time-sharing operating system provides effective utilization and sharing of


resources.
• This system reduces CPU idle and response time.

Disadvantages of Time-Sharing Operating System

• Data transmission rates are very high in comparison to other methods.

• Security and integrity of user programs loaded in memory and data need to be
maintained as many users access the system at the same time.

C).Desktop Operating System


The desktop OS is the environment where the user controls a personal computer (Desktop,
Notebook PC). It aids in the management of computer hardware and software resources. It
supports fundamental features such as task scheduling, peripheral control, printing,
input/output, and memory allocation. The operating system serves as a bridge between
programs and computer hardware.
Some operating systems need installation, while others may be preinstalled on new computers.
Microsoft Windows, Linux, and MacOS are the most popular desktop operating systems.
Modern OS uses the Graphical User Interface. The GUI permits you to click on icons, buttons,
and menus using your mouse. Everything on the screen is displayed using a combination of text
and graphics.
The Microsoft Windows operating system was first released in the mid-1980s, and the most
recent versions are Windows 11 (2021), Windows 10 (2015), Windows 8 (2012), Windows 7
(2009), and Windows Vista (2007). Windows comes preinstalled in the new operating systems,
which makes it the most popular OS in the world. MacOS is another popular OS that was
developed by Apple, and it comes preinstalled on all Macintosh computers. Some popular
versions of the MacOS are Mojave (2018), High Sierra (2017), and Sierra (2016). MacOS has a
market share of less than 10% of all operating systems worldwide, far less than Microsoft
Windows (More than 80%).

Advantages and disadvantages of Desktop Operating System


There are various advantages and disadvantages of the Desktop Operating System. Some of the
advantages and of the Desktop Operating System are as follows:
Advantages

• Operating System provides a user-friendly graphic interface for all users. It also offers
several icons, menus, buttons, and various navigations. So, users may interact with the
computer system easily.

• The operating system permits the user to be shared the data or related data with other
users via Modems, Printers, and Players. Furthermore, a single user can share the same
material with several people simultaneously via email. Moreover, many photos,
software, and media files may be transferred from one system to another system using
the operating system.

• An operating system is a piece of software that must be updated regularly to keep up


with the rapidly changing features. The operating systems must improve their
benchmarks and handle all aspects of computer operation with other apps and software
receiving updates to increase their usefulness. An operating system may be easily
updated without any difficulty.

• An operating system may manage several tasks at the same time. It permits users to
perform multiple tasks simultaneously. There is no requirement to close one window to
open another window.

• On the computer, there is a large amount of user data that may only be accessed with
the assistance of an operating system. Aside from storing and accessing data, and OS's
other important responsibility is to handle data safely and securely.
Disadvantages

• Some OSs are more expensive than open-source platforms like Linux. While users may
use a free operating system, they are often more difficult to operate than conventional
operating systems. Furthermore, operating systems with GUI functionality and other
built-in features are expensive, such as Microsoft Windows.

• Operating systems are highly complicated, and the language used to design them is not
straightforward or well-defined. Moreover, the user may not understand whether there
is a problem with the OS. So, it can't be resolved quickly.

• Fragmentation occurs in a computer when storage memory is broken up into parts.


Internal fragmentation happens when the method of process exceeds the memory size.
On the other hand, external fragmentation happens when the method or process
eliminates.

• If the central OS fails, the whole system will halt, and the system will not work.
Furthermore, an operating system is the core of a computer system, and without an
operating system, it cannot work.
D).Distributed Operating System
A distributed operating system is a concept in which distributed applications run on several
linked systems via communications. A distributed OS is a network OS modification that enables
more communication and integration amongst network computers.
It uses a single communication channel to connect several machines. Additionally, each of these
systems is equipped with a processor and memory. These CPUs may also communicate across
high-speed buses or telephone lines. Individual systems communicating over a single channel
are considered to be separate entities. They're also known as loosely coupled systems.
It consists of several computers, nodes, and sites that are linked together through LAN/WAN
lines. It enables the distribution of whole systems on a couple of center processors and supports
a wide set of real-time products and users. Distributed operating systems may share computer
resources and input/output files while also giving virtual machine abstraction to users.

Types of Distributed Operating System


There are various types of Distributed Operating systems. Some of them are as follows:

• Client-Server Systems

• Peer-to-Peer Systems

• Middleware

• Three-tier

• N-tier

Advantages and Disadvantages of Distributed Operating System


There are various advantages and disadvantages of the distributed operating system. These are
as follows:
Advantages

• It aids in the decrease of data processing time.

• It provides better performance than a single system.

• Users may add multiple resources very easily.

• It is an open system since it may be accessed locally and remotely.

• It can share all resources, including a network interface, CPU, computers, and disk
nodes, from one site to another, increasing data availability across the whole system.
• It provides better portability.

• Most distributed OS are composed of multiple nodes that interact to make them fault-
tolerant. Even if a single machine fails, the system continues to function.
Disadvantages

• It has a security issue because of sharing.

• There is an overloading problem.

• Its maintenance is very expensive because it is distributed across various servers.

• It may only support a few software.

• Some data packets may be corrupted due to the large networks.

• If the main processor fails, the entire network will halt.

E).Client server model


The Client-server model is a distributed application structure that partitions task or workload
between the providers of a resource or service, called servers, and service requesters called
clients. In the client-server architecture, when the client computer sends a request for data to
the server through the internet, the server accepts the requested process and deliver the data
packets requested back to the client. Clients do not share any of their resources. Examples of
Client-Server Model are Email, World Wide Web, etc.

How the Client-Server Model works?

Client: When we talk the word Client, it means to talk of a person or an organization using a


particular service. Similarly in the digital world a client is a computer (Host) i.e., capable of
receiving information or using a particular service from the service providers (Servers).

Servers: Similarly, when we talk the word Servers, it means a person or medium that serves
something. Similarly in this digital world a Server is a remote computer which provides
information (data) or access to particular services.
So, it’s basically the Client requesting something and the Server serving it as long as its present
in the database.

How the browser interacts with the servers?


There are few steps to follow to interacts with the servers a client.
• User enters the URL (Uniform Resource Locator) of the website or file. The Browser
then requests the DNS (DOMAIN NAME SYSTEM) Server.
• DNS Server lookup for the address of the WEB Server.
• DNS Server responds with the IP address of the WEB Server.
• Browser sends over an HTTP/HTTPS request to WEB Server’s IP (provided by DNS
server).
• Server sends over the necessary files of the website.
• Browser then renders the files and the website is displayed. This rendering is done
with the help of DOM (Document Object Model) interpreter, CSS interpreter and JS
Engine collectively known as the JIT or (Just in Time) Compilers.

Advantages of Client-Server model:

• Centralized system with all data in a single place.


• Cost efficient requires less maintenance cost and Data recovery is possible.
• The capacity of the Client and Servers can be changed separately.

Disadvantages of Client-Server model:

• Clients are prone to viruses, Trojans and worms if present in the Server or uploaded
into the Server.
• Server are prone to Denial of Service (DOS) attacks.
• Data packets may be spoofed or modified during transmission.
• Phishing or capturing login credentials or other useful information of the user are
common and MITM (Man in the Middle) attacks are common.

F).Clustered Operating System


Cluster systems are similar to parallel systems because both systems use multiple CPUs. The
primary difference is that clustered systems are made up of two or more independent systems
linked together. They have independent computer systems and a shared storage media, and all
systems work together to complete all tasks. All cluster nodes use two different approaches to
interact with one another, like message passing interface (MPI) and parallel virtual machine
(PVM).
In this article, you will learn about the Clustered Operating system, its types, classification,
advantages, and disadvantages.

What is the Clustered Operating System?


Cluster operating systems are a combination of software and hardware clusters. Hardware
clusters aid in the sharing of high-performance disks among all computer systems, while
software clusters give a better environment for all systems to operate. A cluster system consists
of various nodes, each of which contains its cluster software. The cluster software is installed on
each node in the clustered system, and it monitors the cluster system and ensures that it is
operating properly. If one of the clustered system's nodes fails, the other nodes take over its
storage and resources and try to restart.
Cluster components are generally linked via fast area networks, and each node executing its
instance of an operating system. In most cases, all nodes share the same hardware and
operating system, while different hardware or different operating systems could be used in
other cases. The primary purpose of using a cluster system is to assist with weather forecasting,
scientific computing, and supercomputing systems.
There are two clusters available to make a more efficient cluster. These are as follows:

• Software Cluster

• Hardware Cluster
Software Cluster
The Software Clusters allows all the systems to work together.
Hardware Cluster
It helps to allow high-performance disk sharing among systems.
There are mainly three types of the clustered operating system:
• Asymmetric Clustering System

• Symmetric Clustering System

• Parallel Cluster System

Advantages and Disadvantages of Cluster Operating System


Advantages
Various advantages of Clustered Operating System are as follows:
1. High Availability
Although every node in a cluster is a standalone computer, the failure of a single node doesn't
mean a loss of service. A single node could be pulled down for maintenance while the
remaining clusters take on a load of that single node.
2. Cost Efficiency
When compared to highly reliable and larger storage mainframe computers, these types of
cluster computing systems are thought to be more cost-effective and cheaper. Furthermore,
most of these systems outperform mainframe computer systems in terms of performance.
3. Additional Scalability
A cluster is set up in such a way that more systems could be added to it in minor increments.
Clusters may add systems in a horizontal fashion. It means that additional systems could be
added to clusters to improve their performance, fault tolerance, and redundancy.
4. Fault Tolerance
Clustered systems are quite fault-tolerance, and the loss of a single node does not result in the
system's failure. They might also have one or more nodes in hot standby mode, which allows
them to replace failed nodes.
5. Performance
The clusters are commonly used to improve the availability and performance over the single
computer systems, whereas usually being much more cost-effective than the single computer
system of comparable speed or availability.
6. Processing Speed
The processing speed is also similar to mainframe systems and other types of supercomputers
on the market.

Disadvantages
Various disadvantages of the Clustered Operating System are as follows:
1. Cost-Effective
One major disadvantage of this design is that it is not cost-effective. The cost is high, and the
cluster will be more expensive than a non-clustered server management design since it requires
good hardware and a design.
2. Required Resources
Clustering necessitates the use of additional servers and hardware, making monitoring and
maintenance difficult. As a result, infrastructure must be improved.
3. Maintenance
It isn't easy to system establishment, monitor, and maintenance this system.

I).Realtime system
A real-time system means that the system is subjected to real-time, i.e., the response should be
guaranteed within a specified timing constraint or the system should meet the specified
deadline. For example, flight control systems, 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 results 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.

Soft real-time system: This type of system can miss its deadline occasionally with some
acceptably low probability. Missing the deadline have no disastrous consequences. The
usefulness of results produced by a soft real-time system decreases gradually with an increase
in tardiness. Example: Telephone switches.
Advantages of Real-time operating system:
The benefits of real-time operating system are as follows-:

• Easy to layout, develop and execute real-time applications under the real-time operating
system.

• The real-time working structures are extra compact, so those structures require much
less memory space.

• In a Real-time operating system, the maximum utilization of devices and systems.

• Focus on running applications and less importance to applications that are in the queue.

• Since the size of programs is small, RTOS can also be embedded systems like in transport
and others.

• These types of systems are error-free.

• Memory allocation is best managed in these types of systems.


Disadvantages of Real-time operating system:
The disadvantages of real-time operating systems are as follows-

• Real-time operating systems have complicated layout principles and are very costly to
develop.

• Real-time operating systems are very complex and can consume critical CPU cycles.

J).Handheld OS
Handheld operating systems are available in all handheld devices like Smartphones and tablets.
It is sometimes also known as a Personal Digital Assistant. The popular handheld device in
today's world is Android and iOS. These operating systems need a high-processing processor
and are also embedded with various types of sensors.

Some points related to Handheld operating systems are as follows:

1. Since the development of handheld computers in the 1990s, the demand for software to
operate and run on these devices has increased.

2. Three major competitors have emerged in the handheld PC world with three different
operating systems for these handheld PCs.

3. More recently, some companies producing handheld PCs have also started offering a
handheld version of the Linux operating system on their machines.

Features of Handheld Operating System:

1.Its work is to provide real-time operations.

2.There is direct usage of interrupts.

3.Input/Output device flexibility.

4.Configurability.

You might also like