Operating System

profilemukulrana
OverviewofOperatingSystem.pdf

Operating System

Definition:

An operating system (OS) is software that manages computer hardware and provides a common set of services

for application software. It acts as an intermediary between the computer hardware and the software applications, making it easier for users to interact with the computer

system.

Some Example of Operating System - Windows, macOS, Linux, Android, iOS, etc.

Functions of Operating System:

1. Resource Management: It manages computer resources such as CPU, memory, I/O devices, and network resources.

2. Process Management: It creates, manages, and

terminates processes (or tasks) running on the computer system.

3. Memory Management: It manages primary and

secondary memory to allocate memory space to processes, handle memory fragmentation and maintain a virtual memory system.

4. Device Management: It manages input/output devices such as printers, scanners, and network devices.

5. Security: It provides security mechanisms to ensure the

confidentiality, integrity, and availability of data and

resources.

6. File Management: It manages files and directories,

providing file operations such as create, delete, read, write, and modify.

Multiprogramming:

Multiprogramming is a technique in which multiple programs are loaded into memory and executed

concurrently. It allows for the efficient use of system resources, increases system throughput, and reduces CPU idle time.

Example - Running a web server and a database server on

the same machine.

Multitasking:

Multitasking is a technique that allows multiple tasks or processes to run simultaneously on a computer system. It improves system responsiveness and resource utilization,

enabling users to perform multiple tasks concurrently.

Example - Browsing the web while listening to music.

Multithreading:

Multithreading is a technique in which multiple threads are

created within a single process. Each thread can execute independently, allowing for concurrent execution of multiple threads within a process. It improves application

responsiveness and efficiency, as well as increases the utilization of system resources.

Example - A web browser rendering web pages in multiple threads, allowing the user to scroll and interact with the page while it's being loaded.

Multiprocessing:

Multiprocessing is a technique that involves the use of

multiple processors or cores in a computer system to execute multiple tasks or processes simultaneously. It provides faster performance and higher system throughput, enabling users to run more demanding applications and

tasks.

Example - A computer rendering a 3D animation by dividing the workload among multiple CPU cores.

Time-sharing:

Time-sharing is a technique that allows multiple users to

share a computer system simultaneously. It provides each user with the illusion of having a dedicated system by allocating system resources (such as CPU time, memory, and

I/O devices) to each user in small time slices. It enables efficient use of system resources and increases the utilization of computer systems.

Example - Multiple users logging into a remote server and sharing its resources, such as CPU time, memory, and network bandwidth.

Real-time:

Real-time operating systems (RTOS) are designed for systems that require immediate response to external events or input. They provide predictable and timely response to

events, making them suitable for applications such as industrial control systems, medical devices, and aerospace systems.

Example - An air traffic control system monitoring the positions of planes in real-time and providing immediate warnings to avoid collisions.

Single-user and Multi-user Operating Systems:

Single-user operating systems are designed for a single user to use a computer system at a time. They provide a simple and easy-to-use interface, making them suitable for personal

computers.

Example - Windows 10 Home, macOS Big Sur, Android (for smartphones).

Multi-user operating systems, on the other hand, allow multiple users to share a computer system simultaneously. They provide a more complex interface and require more

robust security and resource management mechanisms. They are suitable for applications such as servers and mainframe systems.

Example - Windows Server, macOS Server, Linux's Red Hat Enterprise Linux.