Threads
- A unit of execution of in a process (by a group of instructions) 프로세스 안에서 실행하는 단위
- Has an execution state (running, ready, etc)
Multithreading
- Operating system supports one or more threads of execution within a single process
Process VS Thread
Process
- Have a virtual address space which holds the process image 프로세스 이미지를 저장할 가장 주소 공간을 가진다
- Protected access to processors, other processes, files, I/O resources
- consists of (Code, Data, Stack, Memory for registers context)
Thread
- Access to the memory and resources of its process 프로세스의 메모리 및 리소스에 대한 액세스
- consists of (Stack, Memory for registers context)
Benefits of Threads
- Takes less time to create a new thread than a process
- Less time to terminate a thread than a process
- Less time to switch between two threads within the same process
- Less time to communicate between threads in the same process than to communicate between processes
- 같은 프로세스에 있는 쓰레드들은 메모리와 파일들을 공유할 수 있기 때문에 커널을 호출하지 않고 서로간의 통신이 가능하다.
Microkernels
- Small sized kernel
- Contains only essential core operating systems functions
: Process management
: Basic memory management capability
- Many services traditionally included in the operating system are now external subsystems (user processes) 예전부터 운영 체제에 포함 된 많은 서비스가 지금은 외부 하위 시스템이다.
Benefits of Microkernel Organization
- Uniform interface on request made by a process 프로세스에서 요청에 대해 균일한 인터페이스
- Extensibility
- Flexibility
- Portability
- Reliability
- Distributed system support
Disadvantages of Microkernel
- Performance : working slower than a monolithic kernel
- 성능 차이는 마이크로커널의 설계에 따라 많이 줄어들 수도 있다.
'IT > 운영체제' 카테고리의 다른 글
[공부정리] Process Description and Control (0) | 2020.10.29 |
---|---|
[공부정리] OS란? (0) | 2020.10.26 |