Oprating System
Process
A program in execution
The OS has five principal storage management responsibilities
Process isolation
Automatic allocation and management
Support of modular programming
Protection and access control
Long-term storage
Virtual memory is a memory
Virtual memory is a memory management technique that allows a computer to use more memory than it physically has. It does this by using a portion of the hard drive as a "virtual" extension of the RAM. When a program needs more memory than is available in RAM, the operating system will swap some of the program's data to the hard drive. This data is then swapped back into RAM when the program needs it again.
Virtual memory is used by most modern operating systems. It allows users to run programs that are larger than the amount of physical RAM available on their computer. It also helps to improve the performance of the computer by allowing the operating system to keep multiple programs in memory at the same time.
The operating system divides the entire memory space of the computer into two parts: the physical memory and the virtual memory.
The physical memory is the actual RAM that is installed on the computer.
The virtual memory is a larger space that is created on the hard drive.
When a program is started, the operating system allocates a portion of the virtual memory to the program.
The program can access any address in its virtual memory space.
When the program needs to access a memory address that is not currently in physical memory, the operating system will swap the data from that address to the hard drive.
The data is then swapped back into physical memory when the program needs it again.
What is microkernel architecture
A microkernel architecture is an operating system design where the core operating system (OS) is a very small, simple kernel that provides only the most essential functions, such as process and memory management.
Microkernel architectures offer a number of advantages over monolithic kernels, including:
Modular design: The microkernel architecture is modular, which means that the operating system is divided into small, independent modules. This makes the operating system easier to understand, modify, and maintain.
Portability: The microkernel architecture is portable, which means that it can be easily ported to different hardware platforms.
Security: The microkernel architecture is more secure than monolithic kernels because the core operating system is small and simple, and it does not have access to all of the system resources.
Extensibility: The microkernel architecture is extensible, which means that new features can be easily added to the operating system by adding new servers.
However, microkernel architectures also have some disadvantages, including:
Performance: Microkernel architectures can be slower than monolithic kernels because the operating system has to communicate between the kernel and the servers.
Complexity: Microkernel architectures can be more complex to develop and maintain than monolithic kernels.
Multithreading
Multithreading
Technique in which a process, executing an application, is divided into threads that can run concurrently