Operating Systems

Back to Projects

What is Operating Systems?

Operating Systems refers to the system software that acts as an intermediary between computer hardware and users. Its primary role is to manage the hardware resources of a computer and provide a stable environment for applications to run efficiently. comprising components such as the kernel, which controls resources and system calls (either in a monolithic structure where services like device, memory, and file management operate within the kernel space or a microkernel structure where only essential services run in the kernel space while others run in user space), the shell for user interaction via CLI or GUI, the file system for organizing data, device drivers for hardware communication, and user interfaces like CLI or GUI that facilitate user interaction.

Projects

Topics

    What is Operating System

    Operating System is a system software that acts as an intermediary between computer hardware and the user. It manages hardware resources and provides common services for computer programs. Essentially, the OS allows you to interact with your computer without needing to understand the details of the hardware.

    PDF Operating System Overview

    Operating System components

    Operating System components are the core elements of an operating system that provide the functionality necessary for a computer to run. These components include:

    • Kernel - The core of the operating system, responsible for managing the hardware resources and providing system services to the user.
    • Shell - The command line interface (CLI) or graphical user interface (GUI) that allows users to interact with the operating system.
    • File system - The storage and organization of files and directories on the computer.
    • Device drivers - Software that allows hardware components to communicate with the operating system.
    • User interfaces - The interfaces that allow users to interact with the operating system, such as the CLI or GUI.

    Operating System types

    There are several types of operating systems, each designed for specific purposes:

    • Batch Operating Systems - Execute batches of jobs without user interaction.
    • Time-Sharing Operating Systems - Allow multiple users to share system resources simultaneously.
    • Distributed Operating Systems - Manage a group of independent computers and make them appear as a single coherent system.
    • Real-Time Operating Systems - Provide immediate processing and response to events, often used in embedded systems.
    • Network Operating Systems - Provide services to computers connected to a network, allowing them to communicate and share resources.

    Processes, Threads, and CPU Scheduling

    Processes, threads, and CPU scheduling play a crucial role in operating systems:

    • Processes - A process is a self-contained unit of execution that performs a specific task or set of tasks.
    • Threads - A thread is a lightweight unit of execution within a process. It allows for concurrent execution of code within a process.
    • CPU Scheduling - The process of assigning CPU time to different processes or threads based on their priority and other factors.

    Process Synchronization and Deadlocks

    Process synchronization and deadlocks are important concepts in operating systems:

    • Process Synchronization - Ensures that multiple processes access shared resources in a controlled manner.
    • Deadlocks - A situation where two or more processes are waiting for each other to release a resource, leading to a deadlock.
    • Race Condition - A situation where multiple threads access shared resources concurrently, leading to unexpected behavior.
    • Synchronization hardware Hardware devices used to synchronize access to shared resources.
    • Mutexes - A mutual exclusion lock used to protect shared resources from concurrent access.
    • Semaphores - A synchronization primitive used to control access to shared resources.
    • Deadlocks - A situation where two or more processes are waiting for each other to release a resource, leading to a deadlock.

    PDF Synchronization Tools | PDF Synchronization Example | PDF Deadlocks

    Memory Management

    Memory management is a critical function of an operating system that involves:

    • Memory Allocation - The process of allocating memory to processes and threads.
    • Virtual Memory - A memory management technique that allows the system to use disk space as an extension of RAM.
    • Paging - A memory management scheme that eliminates the need for contiguous allocation of physical memory and eliminates the problems of fitting varying sized memory chunks onto the backing store.
    • Segmentation - A memory management technique that divides the memory into segments based on logical divisions.
    • Fragmentation - The condition of a storage device in which files are not stored in contiguous blocks, leading to inefficient use of space.
    • virtual memory - A memory management technique that allows the system to use disk space as an extension of RAM.
    • Page replacement - The process of selecting which pages to replace when memory is full.

    PDF Memory Management | PDF Virtual Memory

    Storage Management

    Storage management is a critical function of an operating system that involves:

    • File Systems - The organization and management of files on a storage device.
    • Disk Scheduling - The process of determining the order in which disk I/O requests are processed.
    • RAID (Redundant Array of Independent Disks) - A data storage virtualization technology that combines multiple physical disk drive components into one or more logical units for redundancy and performance.
    • File Allocation Methods - Techniques used to allocate space for files on a storage device, such as contiguous allocation, linked allocation, and indexed allocation.
    • File System Types - Different types of file systems, such as FAT, NTFS, ext4, and HFS+, each with its own features and limitations.
    • File System Operations - Basic operations performed on files, such as creation, deletion, reading, and writing.
    • File System Performance - The performance characteristics and limitations of different file systems.

    PDF Mass Storage Structure | PDF I/O Systems

Resources