strangerRidingCaml

Kernel Architecture 본문

Advanced operating system

Kernel Architecture

woddlwoddl 2024. 5. 15. 11:39
728x90
Kernel Architecture

Kernel Architecture

Monolithic vs. microkernel architectures

A monolithic kernel architecture integrates all operating system services, including device drivers, file system management, and memory management, into a single address space running in privileged mode. It offers high performance due to direct access to hardware resources but exhibits less modularity and fault isolation.

A microkernel architecture abstracts essential services, such as inter-process communication (IPC), memory management, and scheduling, into user space servers. The kernel provides only basic functionality, like address space management and message passing, while other services run as user-level processes. This architecture offers better modularity, fault isolation, and easier extensibility, albeit with potential overhead due to message passing between user space and kernel space.

Process and thread management

Process management involves the creation, scheduling, and termination of processes. It encompasses allocating and deallocating resources, such as memory and CPU time, to processes, as well as facilitating inter-process communication (IPC) mechanisms for data exchange.

Thread management focuses on the creation, scheduling, and synchronization of lightweight execution units within processes. Threads share the same memory space, file descriptors, and other process-related resources, enabling concurrent execution and efficient resource utilization.

Synchronization and concurrency mechanisms

Synchronization mechanisms ensure orderly access to shared resources among concurrent threads or processes. Locks, semaphores, and barriers are common synchronization primitives used to prevent data races and maintain data consistency in multi-threaded or multi-process environments.

Concurrency mechanisms facilitate communication and coordination among concurrent threads or processes. Monitors, message passing, and transactional memory are examples of concurrency mechanisms that enable parallel execution, scalability, and efficient resource sharing in modern operating systems.

'Advanced operating system' 카테고리의 다른 글

Kernel Module Development for Linux  (0) 2024.05.15
File Systems  (0) 2024.05.15
Distributed Systems  (0) 2024.05.15
Virtualization  (0) 2024.05.15
Introduction to Advanced Operating Systems  (0) 2024.05.15