0% found this document useful (0 votes)
64 views

Modern Operating Systems Notes

An Operating System (OS) is essential software that manages computer hardware and provides a platform for applications, focusing on simplifying hardware interactions and efficiently managing resources like CPU and memory. It abstracts complex hardware operations through drivers and files, allowing programmers to work with simpler interfaces. Additionally, the OS employs resource management techniques, including time and space multiplexing, to ensure fair and efficient use of system resources among multiple users and programs.

Uploaded by

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

Modern Operating Systems Notes

An Operating System (OS) is essential software that manages computer hardware and provides a platform for applications, focusing on simplifying hardware interactions and efficiently managing resources like CPU and memory. It abstracts complex hardware operations through drivers and files, allowing programmers to work with simpler interfaces. Additionally, the OS employs resource management techniques, including time and space multiplexing, to ensure fair and efficient use of system resources among multiple users and programs.

Uploaded by

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

What is an Operating System?

1. Introduction to Operating Systems

An Operating System (OS) is crucial software that manages computer hardware


and provides a platform for applications to run. It serves two main functions:

 Providing abstractions for application programs: Makes interacting with hardware


easier by offering simplified interfaces.
 Managing hardware resources: Allocates and controls hardware like CPU, memory,
and devices efficiently.

These two functions can sometimes seem unrelated, but they are both essential parts
of the operating system's role.

1.1 Operating System as an Extended Machine

 Problem with hardware: Hardware at the machine language level is difficult and
complex to program, especially for input/output (I/O) operations.
o Example: SATA hard drives have complex interfaces. In 2007, an entire book
was dedicated to explaining how to interact with them.
o If programmers had to deal with hardware directly, it would be too
cumbersome.
 Abstraction of Hardware:
o Disk Drivers: Instead of interacting with the hardware directly, OS provides
drivers to manage hardware and offer simple interfaces (e.g., reading and writing
data to disk).
o Files: Even higher-level abstraction, where OS manages disk data as files,
allowing programs to store, retrieve, and organize data without dealing with the
complexities of disk operations.
 Role of Abstraction:
o Good abstractions make complex hardware simpler for programmers. For
instance, a digital photo is easier to handle as a file than as a series of complex
instructions for disk management.
o OS hides the "ugly" hardware details and provides a clean, consistent interface
for users and programs.

1.2 The Operating System as a Resource Manager

 Resource Management: OS is responsible for managing the computer’s resources


like the CPU, memory, and I/O devices, ensuring efficient allocation to various
programs.
o Example of a Printer Conflict: Without the OS, multiple programs trying to
print at the same time could cause a chaotic mixture of print jobs. The OS handles
this by buffering print jobs and processing them in an orderly fashion.
o Multiple Users and Programs: OS must manage access to resources when
multiple users or programs are involved, ensuring fairness and preventing
interference.

1.3 Types of Resource Multiplexing

 Time Multiplexing:
o Resources are shared by giving each program a turn.
o Example: If multiple programs want to use the CPU, the OS assigns the CPU
to one program at a time. After the program has run for a while, it passes control to
the next program.
o Example of Printer Sharing: Multiple print jobs can be queued, with the OS
deciding the order in which they will be printed.
 Space Multiplexing:
o Instead of taking turns, resources are divided up among programs.
o Example: RAM is divided between several programs so they can run
simultaneously, allowing more efficient use of memory.
o Example of Disk Space: The OS allocates disk space to various users,
ensuring that files from different users are stored correctly and separately.

You might also like