Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Computer Science Articles
Found 521 articles
Dual-Mode and Multi-Mode Operation in Operating System
Dual-mode operation is a fundamental security mechanism in modern operating systems that provides two distinct execution modes: user mode and kernel mode. This separation ensures system stability by preventing user applications from directly accessing critical system resources and executing privileged instructions. Dual-Mode Operation User Mode Mode bit = 1 • Limited privileges • User applications Kernel Mode Mode bit = 0 • Full ...
Read MoreFile System Management
File System Management provides a uniform view of data storage by the operating system. Files are mapped onto physical devices that are usually non-volatile, ensuring data persistence in case of system failure. The file system acts as an interface between applications and storage hardware, abstracting the complexities of physical storage. File Attributes File attributes provide metadata about files that the operating system uses for management and access control. While attributes may vary across different operating systems, the common file attributes include: Name The symbolic name of the file that is human-readable. This is the identifier users typically ...
Read MoreI/O Systems and Subsystems
I/O systems are critical components of computer systems that provide users the means of interacting with the system. They handle all input and output operations between the computer and external devices. The operating system includes a dedicated I/O subsystem to manage these devices efficiently. The I/O system consists of three main components that work together to provide seamless device interaction − I/O Hardware The I/O hardware layer includes physical devices such as mouse, keyboard, disk drives, printers, and network interfaces. Each device connects to the system through a device controller, which acts as an interface between the ...
Read MoreComputer Storage Structure
Computer Storage Structure refers to the hierarchical organization of storage devices in a computer system. It is traditionally divided into primary storage, secondary storage, and tertiary storage, each serving different purposes based on speed, capacity, and cost considerations. Computer Storage Hierarchy CPU Cache RAM ROM Primary Storage Fast Access • ...
Read MoreMajor Activities of an Operating System with Regard to Process Management
Process management is one of the most critical functions of an operating system. A process is an active program under execution, containing program code, program counter, process stack, registers, and other execution context. The OS performs several key activities to manage processes efficiently, including process scheduling and context switching. Process Scheduling The operating system uses multiple scheduling queues to organize and manage processes at different stages of execution. When processes enter the system, they are placed in the job queue. Processes ready to execute in main memory are kept in the ready queue, while those waiting for I/O ...
Read MoreMajor Activities of an Operating System with Regard to Memory Management
Memory management is one of the most critical functions of an operating system. It handles the allocation and deallocation of memory space to processes, manages the movement of processes between primary memory (RAM) and secondary storage (disk), and ensures optimal utilization of available memory resources. The major activities of an operating system with regard to memory management include memory allocation, swapping, paging, and segmentation. Each technique serves specific purposes in managing system memory efficiently. Memory Allocation Memory allocation involves assigning available memory blocks to processes that request them. The operating system uses various algorithms to determine which ...
Read MoreAdvantages of using Loadable Kernel Modules
Loadable Kernel Modules (LKMs) are object files containing code that can extend the running kernel, also known as the base kernel. These modules allow dynamic addition of functionality such as device drivers, file systems, and system calls without modifying the core kernel code. Loadable Kernel Modules Architecture Base Kernel Core OS Functionality Process Management, Memory Module Interface File ...
Read MoreStarvation and Deadlock
Starvation and Deadlock are situations that occur when processes requiring resources are delayed for a long time. However, they are quite different concepts with distinct causes and solutions. Starvation Starvation occurs when a process is indefinitely postponed from accessing resources or CPU time it needs for execution. The process remains ready to run but never gets the opportunity to proceed, potentially waiting forever. Process Starvation Scenario High Priority P1 High Priority P2 Low Priority P3 (Starving) ...
Read MoreMessage Passing vs Shared Memory Process communication Models
Interprocess Communication (IPC) allows processes to exchange data and coordinate their activities. The two primary models for IPC are Message Passing and Shared Memory. Each model has distinct characteristics, advantages, and use cases that make them suitable for different scenarios. Message Passing Process Communication Model In the message passing model, processes communicate by exchanging messages through the operating system kernel. Processes do not share memory directly; instead, they send and receive messages via system calls like send() and receive(). The OS manages message queues, pipes, or sockets to facilitate this communication. Message Passing ...
Read MoreDifference between Process and Thread
Both process and thread are fundamental concepts in operating systems that represent independent sequences of execution. The key difference is that processes operate in separate memory spaces, while threads share the same memory space within a process. Understanding the distinction between processes and threads is crucial for system design, performance optimization, and concurrent programming. Let's explore these concepts in detail. What is a Process? A process is an active program in execution − more than just program code. It includes the program counter, process stack, registers, and program code. When a program is executed, the operating system ...
Read More