PCB and Interrupt(PCB와 인터럽트)
Programming/JavaPCB(Process Control Block, 프로세스 관리 블록) ?
- 커널에 등록된 각 프로세스에 대한 정보를 저장하는 영역
- 커널 공간(kernel space)내에 존재
- OS는 PCB의 정보를 사용하여 프로세스를 관리
PCB의 구성
포인터 |
프로세스의 현재상태 |
프로세스의 식별자 |
|
프로세스의 우선 순위 |
|
각종 레지스터 |
|
기억장치 관리 정보 |
|
입출력 정보 |
|
기타 정보... |
PCB에 저장되는 정보
- 프로세스 고유번호(PID : Process Identification)
- 프로세스 우선순위(Priority)
→ 우선순위 - 기반 스케줄링시 필요한 정보
- 프로세스 현재 상태(Current state)
→ 프로세스가 할당받은 자원들의 리스트 또는 이들에 대한 한 포인터
- 문맥 저장 영역(Context save area)
→ 실행중인 프로세스의 일시 중지 시 레지스터 문맥의 저장 영역
PCB에 저장되어야 할 정보는 운영체제에 따라 서로 다름
커널의 PCB 영역 참조 및 갱신 속도 개선은 시스템 전체 성능에 중요함
◇ 인터럽트와 문맥 교환 ◇
인터럽트(Interrupt) ?
컴퓨터 시스템에서 예측하지 못했던 사건이 발생하는 상황을 말한다.
인터럽트의 일반적인 종류
- 입출력 인터럽트(I/O interrupt)
- 클럭 인터럽트(clock interrupt)
- 콘솔 인터럽트(console interrupt)
- 프로세스간 통신 인터럽트(interprocess communication interrupt)
- 시스템 호출 인터럽트(system call interrupt, SVC interrupt)
- 프로그램 오류 인터럽트(program check interrupt)
- 하드웨어 검사 인터럽트(machine check interrupt
'Programming > Java' 카테고리의 다른 글
프로세스 상태 전이도(Process State Diagram) (0) | 2018.01.08 |
---|---|
GitHub(깃허브) 사용법 (0) | 2017.12.26 |
JAVA 메모리 구조 (0) | 2017.12.21 |