프로세스와 스레드

gaon·2022년 8월 3일
0

컴퓨터시스템

목록 보기
2/2

프로세서 = CPU

프로세스

어느 한 프로그램을 실행하면 해당 운영체제에서는 그 하나의 프로그램만 실행되는 것 같고 해당 프로그램이 프로세서와 메모리, 입출력장치를 모두 독차지 하는 것처럼 보인다.
이러한 환상은 프로세스라는 개념에 의해서 만들어진다.

프로세스는 실행중인 프로그램에 대한 운영체제의 추상화이다.
다수의 프로세스는 동일한 시스템에서 동시에 실행되는 것 처럼 느껴진다.
운영체제는 문맥 전환(context switching)이라는 방법으로 프로세스의 교차실행을 수행해 cpu가 다수의 프로세스를 동시에 실행하는 것처럼 보여준다.
컨텍스트라는 상태 정보는 PC, 레지스터 파일, 메인 메모리의 현재 값을 포함하고 있다.
현재 프로세스에서 다른 프로세스로 제어를 옮길 때 현재 프로세스의 컨텍스트를 저장하고 새 프로세스의 컨텍스트를 복원하는 문맥전환을 실행해 제어권을 새로운 프로세스에게 넘겨준다.

쓰레드

프로세스가 하나의 제어흐름을 갖는 것이라 생각할 수 있지만 최근의 시스템에서는 프로세스가 다수의 실행 유닛으로 구성되어있다. 각각의 쓰레드는 해당 프로세스의 컨텍스트에서 실행되며 동일한 코드와 전역 데이터를 공유한다.

0개의 댓글