728x90
Thread란, 프로세스 내에서 실행되는 단위이다. 프로세스에는 스레드가 한개 이상 존재하는데 2개 이상일 경우에 이를 멀티쓰레드라고 한다.
- 쓰레드와 프로세스의 차이
프로세스는"실행 중인 프로그램 단위" 라고 정의할 수 있고 프로세스가 쓰레드보다 더 큰 범위의 개념임을 알 수 있다.
멀티 프로세스는 서로 각각의 메모리 주소를 갖게 되고 멀티 쓰레드는 한 프로그램 내에 다수의 쓰레드를 갖는 형태이므로 서로 같은 메모리 주소를 갖는다. 따라서 쓰레드는 프로그램 내 코드, 전역 데이터, 힙 영역을 공유한다.
=> 프로세스보다는 쓰레드가 더 경제적이다. 프로세스 갯수를 늘리는 것 보다 쓰레드 갯수를 늘리는 것이 좋다.
- 쓰레드 제어 블록 (TCB)
생성 된 여러 쓰레드의 정보를 저장하는 곳이 쓰레드 제어 블록이다. 저장되는 정보는 아래와 같다.
실행상태, 스케줄링 정보, 계정 정보, 포인터
참고:
728x90
'STUDY > 운영체제' 카테고리의 다른 글
[운영체제] 프로세스 동기화 (0) | 2022.02.06 |
---|---|
[운영체제] CPU 스케줄링 (0) | 2022.01.17 |
[운영체제] 프로세스 간의 통신 (IPC) (0) | 2021.12.29 |
[운영체제] 프로세스 (0) | 2021.10.18 |
[운영체제] 컴퓨터 시스템 구조 (0) | 2021.10.12 |