[OS] 스레드(Thread), 스케줄링(Scheduling), 컨텍스트 스위칭 (Context Switching)
이전 포스팅을 요약해서 복습해보자면, 프로세스란 실행 환경과 자원을 제공하는 컨테이너 역할을 하고, 실제 CPU를 사용하여 코드를 한줄씩 처리하는 것은 스레드이다.CPU 코어가 1개이고 , 프로세스가 2개이며, A프로세스에는 스레드가 1개, B 프로세스에는 스레드가 2개라고 가정하자. 그렇다면 처리 과정은 대략 아래 그림과 같다이후 이 과정을 반복하여 모든 프로세스의 스레드를 실행한다.단일 코어 스케줄링스케줄링 방법은 따로 포스팅해야할 정도로 길기 때문에, 간단히 언급만 하고 넘어가겠다!먼저 운영체제는 내부에 스케줄링을 위한 큐를 가지고 있고, 각각의 스레드는 스케줄링 큐에서 대기한다. 그리고 스레드가 처리되는 과정은 아래와 같다.우선 순위가 높은 스레드부터 한 줄씩 코드가 처리되면, 스케줄링 큐의 가장..
2024.11.03