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 Engineering Articles
Page 2 of 36
Short-term vs medium-term vs long-term scheduling
Process Scheduling handles the selection of a process for the processor on the basis of a scheduling algorithm and also the removal of a process from the processor. It is an important part of multiprogramming in operating systems. Process scheduling involves three levels: short-term scheduling, medium-term scheduling, and long-term scheduling. Each operates at different time intervals and serves distinct purposes in the overall system performance. Long-Term Scheduling Long-term scheduling involves selecting processes from the storage pool in secondary memory and loading them into the ready queue in main memory for execution. This is handled by the long-term ...
Read MoreMulti-Threading Models
Multithreading allows the execution of multiple parts of a program at the same time. These parts are known as threads and are lightweight processes available within the process. Therefore, multithreading leads to maximum utilization of the CPU by multitasking. The main models for multithreading are one-to-one model, many-to-one model, and many-to-many model. Each model defines how user-level threads are mapped to kernel-level threads, affecting performance and system behavior. One-to-One Model The one-to-one model maps each user thread to a kernel thread. This means that many threads can run in parallel on multiprocessors and other threads can run ...
Read MoreWhat is Interprocess Communication?
Interprocess Communication (IPC) is the mechanism provided by the operating system that allows processes to communicate with each other. This communication could involve a process letting another process know that some event has occurred or the transferring of data from one process to another. Interprocess Communication Process A PID: 1234 Process B PID: 5678 Operating System Data/Messages Data/Messages ...
Read MoreUser-level threads and Kernel-level threads
A thread is a lightweight process that can be managed independently by a scheduler. It improves the application performance using parallelism. A thread shares information like data segment, code segment files etc. with its peer threads while it contains its own registers, stack, counter etc. The two main types of threads are user-level threads and kernel-level threads. A diagram that demonstrates these is as follows − User-level vs Kernel-level Threads User-level Threads Kernel-level Threads Application Process ...
Read MoreVolatile Storage vs Non-Volatile Storage
Volatile and Non-Volatile storage are the two fundamental forms of storage in any computer system. Understanding their differences is crucial for system design and data management. Volatile Storage This is a type of computer memory that retains data only while there is power and the data is lost when power is switched off. A prime example of volatile memory is RAM. It is a type of primary storage that allows the user to randomly access any part of the data regardless of its position in roughly the same time. This is not possible using other storage devices such ...
Read MoreSingle Processor Systems
A single processor system contains only one CPU that executes one process at a time. The processor selects processes from the ready queue and handles them sequentially. Most general-purpose computers use single processor systems as they are cost-effective and sufficient for everyday computing tasks. In a single processor system, even though multiple applications may be running simultaneously, only one process can actually execute at any given moment. The operating system uses time-sharing to create the illusion of parallel execution by rapidly switching between processes. Architecture of Single Processor Systems Single Processor System Architecture ...
Read MorePeer to Peer Computing
Peer-to-Peer (P2P) Computing is a distributed network architecture where nodes (computers) act as equal participants, serving both as clients and servers. Unlike traditional client-server models, each node can request services and provide resources simultaneously, creating a decentralized system where all participants share the workload equally. Peer-to-Peer Network Architecture ...
Read MoreUser View vs System View in Operating System
An operating system is a construct that allows user application programs to interact with the system hardware. Operating system by itself does not provide any function but it provides an atmosphere in which different applications and programs can do useful work. The operating system can be observed from two distinct perspectives − the user view and the system view. Each perspective focuses on different aspects and priorities of the operating system's functionality. Operating System Perspectives User View Focus: Ease of Use ...
Read MoreSymmetric Multiprocessing
Symmetric Multiprocessing (SMP) is a multiprocessor architecture where multiple processors share a common memory and operating system. All processors work together as equals to execute processes, with the operating system treating each processor identically and no processor reserved for special purposes. Most computer systems are single processor systems, but multiprocessor systems are increasing in importance nowadays. These systems have multiple processors working in parallel that share the computer clock, memory, bus, and peripheral devices. Types of Multiprocessor Systems There are mainly two types of multiprocessor systems − Symmetric Multiprocessor System − All processors are treated ...
Read MoreAsymmetric Multiprocessing
Asymmetric multiprocessing (AMP) is a type of multiprocessor system where processors are assigned specific roles and are not treated equally. Unlike symmetric multiprocessing, where all processors can perform any task, asymmetric systems have a hierarchical structure with specialized processor functions. How Asymmetric Multiprocessing Works In asymmetric multiprocessing, processors have distinct roles and responsibilities. Typically, one processor acts as the master and controls the system, while other processors serve as slaves that handle specific tasks assigned by the master. Asymmetric Multiprocessing System Master ...
Read More