프로세스(Process)와 스레드(Thread)
2023. 10. 15. 00:36
728x90
반응형
프로세스란?
- 컴퓨터에서 연속적으로 실행되고 있는 프로그램
- 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 (독립적인 개체)
- 운영체제로부터 시스템 자원을 할당받는 작업의 단위
프로세스 내부에는 최소 하나의 스레드를 가지고 있고, 스레드 단위로 스케줄링한다.
프로그램을 실행하면, 실행을 위해서 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가는데 이 순간 부터 프로세스라고 부른다.
스레드란?
- 프로세스 내에서 실행되는 여러 흐름의 단위
- 프로세스의 특정한 수행 경로
- 프로세스에서 할당 받은 자원을 이용하는 실행 흐름의 단위
스레드는 OS의 스케줄러에 의해 독립적으로 관리될 수 있는 프로그래밍된 명령어의 가장 작은 시퀀스, 하나의 프로세스는 하나 이상의 스레드를 갖는다.
스레드가 독립적으로 가지고 있는 부분
- program counter (실행 흐름)
- register set
- stack space
스레드가 동료 스레드와 공유하는 부분 (= task)
- code section
- data section
- OS resources
728x90
반응형
'CS > OS' 카테고리의 다른 글
PCB (Process Control Block) (0) | 2023.10.15 |
---|---|
프로세스의 컴파일 (0) | 2023.10.15 |
[OS] CPU란? (0) | 2021.09.08 |
[OS] 프로세스와 쓰레드 (0) | 2021.08.22 |
[OS] 메모리 구조(Memory Structure) (2) | 2021.08.21 |