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

Operating System(IT Infrastructure)

An Operating System (OS) is essential system software that manages hardware and software resources, providing services for computer programs while ensuring security and reliability. Key components include the kernel, system calls, file systems, process management, memory management, and device drivers, with various types of kernels (monolithic, microkernel, hybrid, exokernel, nanokernel) offering different trade-offs. Major operating systems include Windows, Linux, macOS, Unix, and mobile OS like Android and iOS, each designed for specific use cases and performance requirements.

Uploaded by

munazza953
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

Operating System(IT Infrastructure)

An Operating System (OS) is essential system software that manages hardware and software resources, providing services for computer programs while ensuring security and reliability. Key components include the kernel, system calls, file systems, process management, memory management, and device drivers, with various types of kernels (monolithic, microkernel, hybrid, exokernel, nanokernel) offering different trade-offs. Major operating systems include Windows, Linux, macOS, Unix, and mobile OS like Android and iOS, each designed for specific use cases and performance requirements.

Uploaded by

munazza953
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Operating System

An Operating System (OS) is system software that manages computer hardware, software
resources, and provides common services for computer programs. It acts as an intermediary
between users and the computer hardware. The primary goals of an operating system are to
provide convenience to users, manage resources efficiently, and ensure security and reliability.

1. Building Blocks of an Operating System


The fundamental components of an operating system include:

1.1 Kernel

The kernel is the core component of an OS that directly interacts with hardware. It manages
system resources such as memory, CPU, and input/output (I/O) devices. The kernel ensures that
different applications running on a computer can function without interfering with each other. It
operates in privileged mode and provides essential services such as process scheduling, memory
management, and device management.

Types of Kernels

A kernel is the core component of an operating system that manages system resources and
facilitates communication between hardware and software. Different types of kernels have been
developed to meet various performance, security, and reliability needs.

1. Monolithic Kernel

A monolithic kernel is a large, single program where all operating system services run in the
same address space. It provides high performance due to direct communication between
components but may have stability issues due to the lack of modularity.

Features:

 All essential OS services (memory management, process management, file system,


device drivers) run in kernel mode.
 Provides high execution speed due to fewer context switches.
 Difficult to modify or update due to tightly integrated code.

Examples:

 Linux
 Unix
 MS-DOS
2. Microkernel

A microkernel contains only the essential functions of an OS, such as process management and
interprocess communication (IPC). Other services, like file systems and device drivers, run in
user space.

Features:

 Improved stability and security, as system failures are isolated.


 Easier to extend and update.
 Performance overhead due to more context switches between kernel and user space.

Examples:

 QNX
 Minix
 L4

3. Hybrid Kernel

A hybrid kernel combines elements of both monolithic and microkernels. Some OS services run
in kernel mode for efficiency, while others run in user mode for modularity and stability.

Features:

 Balances performance and security.


 Can dynamically load and unload kernel modules.
 More flexible than a monolithic kernel.

Examples:

 Windows NT (Windows 2000, XP, Vista, 7, 10)


 macOS (XNU kernel)

4. Exokernel

An exokernel provides minimal abstraction and allows applications direct access to hardware.
The OS only enforces protection policies, while applications manage resources directly.

Features:

 Maximum performance due to minimal OS intervention.


 Highly customizable but requires specialized software for resource management.
 Complex application development as applications must handle low-level tasks.

Examples:

 MIT Exokernel
 Nemesis

5. Nanokernel

A nanokernel is an even smaller version of a microkernel, handling only essential tasks such as
hardware communication.

Features:

 Extremely lightweight, optimized for embedded systems.


 Offloads most OS functions to user space.
 Limited functionality compared to other kernels.

Examples:

 EROS (Extremely Reliable Operating System)

These kernel types provide different trade-offs between performance, security, flexibility, and
complexity. The choice of kernel depends on the intended use of the operating system, whether
it’s for desktops, servers, embedded systems, or high-performance computing environments.

1.2 System Calls

System calls allow user applications to request services from the OS. These calls act as an
interface between user programs and the OS, enabling functionalities such as:

 File handling – Open, read, write, and close files.


 Process management – Create, execute, and terminate processes.
 Memory allocation – Request and release memory.
 Device management – Interact with hardware devices.

1.3 File System

The file system organizes and manages data storage, enabling users and applications to read and
write files efficiently. It provides functionalities such as file naming, access permissions, storage
allocation, and hierarchical directory structures. Common file systems include:
 FAT32 – Simple file system used in older operating systems and portable storage
devices.
 NTFS – Advanced file system with security features and journaling.
 EXT4 – Used in Linux-based systems, offering improved performance and reliability.
 APFS – Optimized for macOS with encryption and snapshot capabilities.

1.4 Process Management

Process management is responsible for creating, scheduling, and terminating processes. It


ensures fair CPU allocation and prevents deadlocks. The OS uses process scheduling algorithms
to optimize CPU usage:

 First-Come, First-Served (FCFS) – Executes processes in order of arrival.


 Shortest Job Next (SJN) – Prefers processes with the shortest execution time.
 Round Robin (RR) – Allocates fixed time slices to processes for fairness.
 Multilevel Queue Scheduling – Categorizes processes into different queues based on
priority.

1.5 Memory Management

Memory management handles RAM allocation, virtual memory, paging, and segmentation to
optimize performance and prevent conflicts. It ensures that processes have sufficient memory
while preventing excessive consumption by a single process. Techniques include:

 Paging – Divides memory into fixed-size pages to minimize fragmentation.


 Segmentation – Divides memory into variable-sized segments based on logical units.
 Virtual Memory – Uses disk space as additional memory when RAM is full.
 Memory Swapping – Moves processes in and out of main memory to manage workload.

1.6 Device Drivers

Device drivers facilitate communication between the OS and hardware components, ensuring
compatibility and efficient resource usage. Each hardware component (printers, network cards,
storage devices) requires a specific driver to function correctly. Device drivers can be classified
into:

 Character Drivers – Handle data streams one character at a time (e.g., keyboard,
mouse).
 Block Drivers – Manage data in fixed-size blocks (e.g., hard drives, SSDs).
 Network Drivers – Enable network communication (e.g., Ethernet, Wi-Fi adapters).

2. Implementation of Various Operating Systems


Different operating systems are designed for various purposes. Some major implementations
include:
2.1 Windows OS

Windows is a user-friendly operating system developed by Microsoft. It supports multitasking,


networking, and a graphical user interface (GUI).

2.2 Linux OS

Linux is an open-source, Unix-like OS known for its stability, security, and flexibility. It is
widely used in servers and embedded systems.

2.3 macOS

Developed by Apple, macOS is a Unix-based operating system optimized for Apple hardware,
offering smooth performance and strong security.

2.4 Unix OS

Unix is a powerful multiuser, multitasking OS primarily used in servers and workstations for its
robustness and scalability.

2.5 Mobile Operating Systems (Android & iOS)

Android (Linux-based) and iOS (Unix-based) are designed for mobile devices, emphasizing
energy efficiency, app ecosystems, and touch interfaces.

3. Operating System Availability


Operating system availability refers to the system’s ability to remain operational without
downtime.

3.1 High Availability (HA) Features

 Failover Mechanisms – Automatically switches to a backup system in case of failure.


 Load Balancing – Distributes workload across multiple resources to prevent overload.
 Redundancy – Uses backup components (hardware and software) to ensure continuous
operation.

3.2 Fault Tolerance

Fault tolerance enables the OS to recover from hardware/software failures and continue
functioning.

3.3 Backup and Recovery Mechanisms

 Automated Backup – Ensures regular data backups to prevent loss.


 Disaster Recovery Plans – Strategies to restore system functionality in case of critical
failure.

4. Operating System Performance


The efficiency of an OS impacts system speed, responsiveness, and overall user experience.

4.1 CPU Scheduling

CPU scheduling algorithms determine how processes share CPU time:

 First-Come, First-Served (FCFS) – Processes are executed in the order they arrive.
 Shortest Job Next (SJN) – Executes the shortest process first.
 Round Robin (RR) – Assigns time slices to each process, ensuring fairness.

4.2 Memory Optimization

 Paging and Segmentation – Enhances memory utilization.


 Virtual Memory – Extends available memory using disk space.

4.3 File System Performance

 Caching Mechanisms – Improves file access speeds.


 Efficient Storage Allocation – Reduces fragmentation.

4.4 I/O Performance Optimization

 DMA (Direct Memory Access) – Improves data transfer between memory and devices.
 Asynchronous I/O – Allows parallel execution of I/O operations.

5. Operating System Security


Security in an OS ensures protection against unauthorized access, malware, and data breaches.

5.1 Authentication and Authorization

 Multi-Factor Authentication (MFA) – Adds extra layers of security.


 Role-Based Access Control (RBAC) – Limits access based on user roles.

5.2 Malware Protection

 Antivirus & Anti-malware Software – Prevents and removes harmful programs.


 Firewalls – Monitors and controls incoming/outgoing traffic.

You might also like