Core Operating System Principles and File System Types
Classified in Computers
Written on in English with a size of 5.35 KB
Operating System Fundamentals
CPU Scheduling Algorithms
CPU scheduling algorithms determine the order in which processes are executed by the CPU. Each algorithm has distinct characteristics and trade-offs.
First-In, First-Out (FIFO)
This scheduling algorithm processes tasks in the order they arrive. While simple, its main disadvantage lies in potential performance bottlenecks, as a long process can block shorter ones, leading to inefficient CPU utilization.
Shortest Remaining Time (SRT)
A preemptive version of Shortest Job First (SJF). If a new process arrives with a shorter remaining execution time than the currently running process, the CPU switches to the new, shorter process. This aims to minimize average waiting time.
Shortest Job First (SJF)
This non-preemptive algorithm selects the process with the smallest estimated execution time to run next. Processes are typically ordered in an ascending list based on their estimated performance, aiming for optimal throughput.
Round Robin (RR)
This algorithm uses a timer, known as a quantum, to allocate an equal slice of CPU time to each process in a cyclic manner. This ensures fairness among all processes and provides a reasonable response time for interactive systems.
Operating System Types and Concepts
Operating systems manage hardware and software resources, enabling various functionalities and user interactions.
Operating System (OS) Definition
An Operating System (OS) is the fundamental software responsible for managing hardware resources and providing services to applications and users. It acts as an intermediary between computer hardware and software applications.
Monotasking and Monoprogrammable Systems
These systems are characterized by allowing the processor, memory, and peripherals to be exclusively dedicated to the execution of a single program at a time. This limits user productivity but simplifies resource management.
Multitasking and Multiprogrammable Systems
These concepts describe systems that significantly enhance user productivity and reduce costs through the sharing of various system resources.
Multiprogrammable Systems
Allow multiple programs to reside in memory simultaneously, competing for CPU use. When one program requests an input/output operation, the operating system can switch to another ready program, allowing other programs to utilize the processor efficiently.
Multitasking Systems
Enable a user to perform multiple operations concurrently, such as using a text editor, browsing the internet, printing a file, and listening to music, all at the same time. This provides a seamless and productive user experience.
Online Systems
Allow user interaction with the system, primarily through terminals including video displays, keyboards, and mice. This increases user productivity and reduces system usage costs by providing immediate feedback and access.
Real-Time Systems
A system that operates with strict time constraints, processing data within precise deadlines. They are similar to online systems but with a critical emphasis on timely responses, often used in control systems and critical applications.
File Systems and Disk Management
File systems organize and manage data storage on disk drives, ensuring efficient access and data integrity.
File System Definition
A file system defines the logical structures and routines within an Operating System (OS) responsible for storing, retrieving, and managing data on a hard drive. It dictates how data is organized and accessed.
New Technology File System (NTFS)
A robust read/write disk partition system primarily used in Windows NT and later adopted for desktop use. Its key advantages include high fault tolerance, enhanced security features, and support for large file sizes and volumes.
Access Control List (ACL)
Provides a level of security by controlling user-level access to files and directories. Access is managed through a table that defines specific permissions (read, write, execute) for each user or group, enhancing data security.
Encrypting File System (EFS)
A feature that enables the encryption of data stored on the hard drive, enhancing data security. EFS works at the file system level, providing transparent encryption and decryption for authorized users.
File Allocation Table 16 (FAT16)
An older file system developed for MS-DOS and used in Windows versions up to Windows Me. It uses 16 bits to address data, allowing for 216 (65,536) different positions. A significant disadvantage is its inefficient use of disk space, leading to 'slack space' or 'waste' on larger partitions.
File Allocation Table 32 (FAT32)
Uses 32-bit addressing for each cluster, allowing for smaller cluster sizes (e.g., 4KB) and supporting disks larger than 2GB. It is more reliable than FAT16 as it can redirect to a backup main directory if the primary one is corrupted, improving data integrity.
FAT16 and FAT32 File Name Support
Compared to FAT16's original 8.3 character file name limit (8 characters for the name, 3 for the extension), FAT32 and later versions support long file names, allowing file names to be up to 256 characters long.