운영체제 - 프로세스 관리 1
프로그램의 실행 (메모리 load)
Physical Memory
- 물리적 영역
Virual Memery
- 가상 영역
Swap Area
- 스왑 영역
각 프로세스 영역의 구성 요소
- Stack
- Data
- Code
실행 과정 예시
- 프로그램 시작 - 유저 모드 - 프로그램의 주소 공간 사용
- 프로그램의 사용자 정의 함수 및 라이브러리 함수 사용
- 시스템콜 -> 모드 변경
- 커널 모드 - 커널 함수 사용 - Kernel의 주소 공간 사용
- 다시 유저 모드 - 사용자 정의 함수 및 라이브러리 함수 사용
- 시스템콜 -> 모드 변경
- 커널 모드
- 프로그램 종료
커널의 주소 공간
Code
- 시스템콜, 인터럽트 처리 코드
- 자원 관리를 위한 코드
- 편리한 서비스 제공을 위한 코드
Data
PCB
- 모든 프로세스를 관리하기 위한 자료구조
자료 구조 (하드웨어)
- CPU, Memory, Disk 등 하드웨어를 관리하기 위한 자료구조
Stack
- Process의 커널 스택
사용자 프로그램이 사용하는 함수
사용자 정의 함수
- 자신의 프로그램에서 정의한 함수
라이브러리 함수
- 자신의 프로그램에서 정의하지 않고 갖다 쓴 함수
- 자신의 프로그램의 실행 파일에 들어있다.
커널 함수
- 운영체제 프로그램의 함수
- 커널 함수를 호출하기 위해 시스템콜을 사용한다.
Comments powered by Disqus.