프로세스란?
일반인 : 실행중인 프로그램
개발자 : 메모리 구조(OS에 의해 할당되는 메인 메모리의 리소스 뿐 아니라 가상 메모리의 리소스까지 포함), 실행중인 프로그램에 독립적인 레지스터 Set, etc
요즘 프로세스는 컨텍스트 스위칭을 피하기 위해 레지스터 Set을 여러개 만들어 스위칭에 의한 오버헤드를 피하고 있다.
스케줄러 : 운영체제에서 제공해주는 소프트웨어 장치(혹은 블럭)
공평한 스케줄링 알고리즘도 큰 이슈중 하나다
Running 상태 : CPU에 의해 실행중인 상태
Ready 상태 : 스케줄러에 의해 선택되길 기다리는 상태, 실행 준비는 다 끝난 상태
Blocked 상태 : 연산중에서 ALU(CPU)에 의존적인 연산이 있고, I/O연산처럼 의존적이지 않은 연산이 있다. Running상태는 CPU 연산이 진행되는 중이고, Blocked 상태는 현재 I/O 연산중인 프로세스를 뜻한다.
I/O연산이 끝나면 Blocked 상태가 끝나고 Ready 상태로 변한다.
컨텍스트 스위칭은 일반적으로 멀티태스킹 환경에서 1초에도 수십번씩 한다.
'운영체제 > 윈도우 시스템' 카테고리의 다른 글
커널 오브젝트, 핸들의 종속관계 (0) | 2019.09.26 |
---|---|
커널 오브젝트 오브젝트 핸들 (0) | 2019.09.26 |
컴퓨터를 디자인하자 (0) | 2019.09.23 |
64비트 기반 프로그래밍, GetLastError (0) | 2019.09.23 |
문자셋 SBCS, MBCS, WBCS (0) | 2019.09.19 |