반응형
Process :
실행되고 있는 프로그램(주 기억장치에 올라가 있는 프로그램)
Process in memory
Stack : Call stack, Local variables in function
Heap : 포인터를 위한 메모리 저장공간
(Heap과 Stack은 동적으로 크기가 변하기 때문에 메모리 상에서 멀리 떨어져 있다.)
Data : 전역 변수(바뀌지 않는 값)
Code : 프로그램 코드
PCB(Process control block : 프로세스 제어 블록)
structure that contain information associated with each process
- 프로세스가 생성될때 만들어진다.
- 모든 프로세스는 고유한 PCB를 갖는다.
- 프로세스의 현재 상태(Process state, ready, waiting, running 등)
- 프로세스 고유 식별자(PID , Process IDentifier)
- 스케줄링 및 프로세스의 우선순위(CPU scheduling information)
- 프로그램의 위치
- CPU 레지스터 정보(Registers)
• 누산기(Accumulator)
• 인덱스 레지스터(Index Register)
• 프로그램 카운터(PC , Program Counter) - 각종 자원의 포인터
• 부모 프로세스에 대한 포인터
• 자식 프로세스에 대한 포인터
• 프로세스가 위치한 메모리에 대한 포인터
• 할당된 자원에 대한 포인터 - 주기억장치 관리 정보(Memory-management information)
- 입/출력 상태 정보(I/O status information)
- 계정 정보(Accounting information)
State의 이동은 큐의 이동이다. 큐는 doubly linked list로 이루어져 있다.
Process state
New : 프로세스가 막 생성된 상태
Running : 프로세스에 포함된 명령어가 실행되는 상태
Waiting : 프로세스가 특정 이벤트를 기다리는 상태
Ready : 프로세스가 CPU에 의해 실행되기 위해 대기하는 상태
Terminated : 프로세스가 실행을 완료한 상태
반응형
'IT 이론 > 운영체제' 카테고리의 다른 글
CPU 스케줄링 알고리즘 (6) | 2017.05.29 |
---|---|
보안의 요건과 보안유지 기법 (0) | 2016.10.10 |
분산처리 시스템의 투명성과 구조 분류 (1) | 2015.10.21 |
디스크 스케쥴링 알고리즘 (0) | 2014.10.17 |
접근통제 메카니즘 (0) | 2014.05.23 |
댓글