KOCW > 이화여자대학교 반효경 교수님 > 운영체제 > 3. 프로세스 관리(1)
3. 프로세스 관리(1)
프로그램의 실행(메모리 load)
- 파일 시스템의 실행파일이 Virtual memory 에 탑재되고 실행됨
- 프로세스: 메모리에 load된 프로그램의 인스턴스
- 당장 필요한 부분은 물리적 메모리에 / 그렇지 않은 부분은 디스크의 swap area에 있게 됨
- Virtual memory와 physial memory의 address translation을 필요로 함
- memory는 code/data/stack 구역으로 나누어 짐
- code: 기계어를 포함한 코드가 들어가는 부분. read only
- data: 전역번수, 정적변수, 배열 등이 저장되는 부분
- stack: 함수, 지역변수, 매개변수 등이 저장되어 있는 임시 메모리.
커널 주소 공간의 내용
- code: 커널 코드
- 시스템콜, 인터럽트 처리 코드
- 자원 관리를 담당하는 코드
- data: PCB, CPU, memory, disk
- stack: 프로세스들의 커널 스택
사용자 프로그램이 사용하는 함수
- 사용자 정의 함수: 자신이 프로그램에서 정의한 함수
- 라이브러리 함수: 자신의 프로그램에서 정의하지 않고 갖다 쓴 함수
- 커널 함수: 운영체제 프로그램의 함수