프로세스
- 현재 실행되고 있는 프로그램.
- 최소 한개 이상의 스레드가 프로그램을 실행시키는 것.
- 프로그램이 메모리에 적재되면 프로세스가 됨
프로세스의 상태변화
운영체제가 프로세서 스케줄러를 이용하여 관리.
프로세스 스케줄러는 선정한 작업의 상태를 변화시키며 프로세스의 생성에서 종료까지 과정 수행.
- 준비 → 실행 : dispatch
- 실행 → 준비 : timeout
- 실행 → 대기(보류) : block
- 대기(보류) → 준비 : wakeup
스레드
- 프로세스의 직접 실행 정보를 제외한 나머지 관리정보를 공유
- 스레드 마다 다른 프로시저, 다른 실행 기록( 별도 스택 필요)
- 관련 자원과 함께 메모리 공유 가능 하므로 데이터 손상 고려
간단 용어 설명
SP : 스택 포인터
SR : 순서열 레지스터 == Instruction Address Register
PC : 프로그램 카운터
스레드 병령 수행의 이점
- 프로세스의 자원과 메모리 공유 가능
- 다중 처리로 성능과 효율 향상
- 다중 스레드의 프로세스는 실행 환경 정보가 따로 있지만 서로 공유하므로, 문맥 교환이 훨씬 경제적
'Computer Science' 카테고리의 다른 글
시스템 콜(System Call) (0) | 2022.07.06 |
---|---|
인터럽트란? (Interrupt) (0) | 2022.06.29 |
파이프라인이란? (0) | 2022.06.09 |
중앙처리장치(CPU)의 작동원리 (0) | 2022.06.07 |
메모리 구조 (Memory structure) - code, data, heap, stack (0) | 2022.06.02 |