1.스레드
1)정의: 프로세스를 구성하는 흐름의 단위.
-스레드를 이용하여 프로세스에서 여러 부분을 동시에 실행가능.

2.프로세스와 스레드
1)단일 스레드 프로세스: 실행흐름이 하나인 프로세스.

2)멀티 스레드 프로세스 : 실행 흐름이 여러 개인 프로세스.

-예전부터 프로세스는 한번에 하나의 일만 처리했다.
-하지만 스레드라는 개념을 통해 하나의 프로세스에서 여러 개의 일을 동시에
처리할수 있게 되었다.
-스레드는 프로세스 내의 각기 다른 스레드ID,프로그램 카운터 값을 포함한
레지스터 값, 스택으로 구성된다.
-스레드들은 프로세스내에 실행에 필요한 자원을 공유한다.


3.멀티프로세서와 멀티 스레드
1)멀티 프로세서 :여러 프로세스를 동시에 실행 하는 것.
2)멀티 스레드 : 여러 스레드를 프로세스 내에 동시에 실행 하는 것.
3)멀티 프로세스 와 멀티스레드의 차이
멀티스레드 | 멀티 프로세스 |
한 프로세내의 자원을 공유. | 각각 별도의 자원을 가짐. |
협력 및 통신에 유리 | 협력 및 통신에 불리 |
자원을 공유하므로 하나의 스레드가 문제가 생기면 다른 스레드에 문제가 생길 수 있다. |
각각 별도의 자원을 가지기 때문에 서로 영향이 적음. |

'컴퓨터 공학 > 혼자 공부하는 컴퓨터 구조 +운영체제' 카테고리의 다른 글
25.CPU 스케일링 알고리즘 (0) | 2023.07.26 |
---|---|
24.CPU 스케줄링 (0) | 2023.07.25 |
22.프로세스 상태와 계층 구조 (0) | 2023.07.20 |
21.프로세스 (0) | 2023.07.18 |
20.운영체제의 큰 그림 (0) | 2023.07.17 |