Operating System(IT Infrastructure)
Operating System(IT Infrastructure)
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.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:
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:
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:
Examples:
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:
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:
Examples:
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.
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:
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.
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:
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.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.
Android (Linux-based) and iOS (Unix-based) are designed for mobile devices, emphasizing
energy efficiency, app ecosystems, and touch interfaces.
Fault tolerance enables the OS to recover from hardware/software failures and continue
functioning.
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.
DMA (Direct Memory Access) – Improves data transfer between memory and devices.
Asynchronous I/O – Allows parallel execution of I/O operations.