프로세스와 스레드
프로세스 : 운영체제로부터 자원을 할당받은 작업의 단위.
스레드 : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위.
프로그램 → 프로세스 → 스레드
프로그램 -> 프로세스
프로그램 : 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태. 즉 실행하지 전의 상태이다.
프로세스 : 프로그램을 실행하여 컴퓨터 메모리가 올라가있는 프로그램.
프로그램은 코드 덩어리 파일, 프로그램을 실행하면 프로세스가 된다.
프로세스 간에는 각 프로세스의 데이터 접근이 불가
프로세스 -> 스레드
스레드 : 프로세스의 실행 단위이다. 한 프로세스 내에서 동작되는 여러 실행 프로그램으로 프로세스 내의 주소 공간이나 자원을 공유 할 수 있다. 프로세스 내의 다수의 스레드가 존재할 수 있다.
프로세스 내의 스레드가 하나라도 오류가 생겨 종료될경우 프로세스가 종료된다.
프로세스 안에 있으므로, 프로세스의 데이터를 모두 접근 가능하며 스레드들 끼리는 Heap, Data, Code 영역을 모두 공유한다.
'운영체제' 카테고리의 다른 글
가상 메모리와 페이징 (0) | 2021.05.12 |
---|