728x90

프로세스

- 메인 메모리로 이동하여 실행중인 프로그램

- 프로세스의 범위 : 메모리 구조 + 레지스터 셋

- 프로세스별로 독립적으로 할당받는 리소스

- 프로세스 생성 시 아래의 메모리 공간이 할당됨

    -> 실제 메모리 크기보다 큰 공간을 할당 받는다면 가상메모리 기법을 이용해서 할당이 됨

- 프로그램이 실행되면 레지스터 셋에 프로그램의 정보가 채워지게 됨

- 다른 프로세스가 실행이 되면 이미 저장되어 있던 프로세스의 정보는 다른 공간에 저장 후 새로운 프로세스의 정보들로 채움

    -> Context Switching

 

프로세스 스케쥴러

- 둘 이상의 프로세스가 적절히 실행되도록 컨트롤 할 수 있는 소프트웨어적으로 구현되어 있는 장치

프로세스의 상태

- Running : CPU에서 현재 실행중인 상태

- Ready : 다른 프로세스가 실행중이어서 실행 대기 중인 상태. 스케쥴러에 의해 Running 상태로 바뀜

- 1단계

    -> 처음 프로세스가 생성되면 Ready 상태로 들어감

- 2단계

    -> 스케쥴러에 의해 Running 상태로 이동

- 3단계 

    -> 다른 프로세스가 Running 상태로 이동되서 현재 실행중인 프로세스는 Ready 상태로 이동

- 4단계

    -> 프로세스가 CPU의 도움을 크게 요구하지 않는 I/O 작업 중일때 Blocked 상태로 이동

- 5단계

    -> 프로세스가 I/O 작업이 끝나면 Ready 상태로 이동

 

컨텍스트 스위칭(Context Switching)

- Running 상태에 있는 프로세스로 채워져있는 정보를 다른 메모리로 저장 후 Ready 상태에서 오는 프로세스의 정보들을 다른 메모리에서 다시 채우는 작업

728x90

+ Recent posts