반응형
프로그램의 실행
커널 주소 공간의 내용
함수(function)
- 사용자 정의 함수 : 자신의 프로그램에서 정의한 함수
- 라이브러리 함수 : 자신의 프로그램에서 정의하지 않고 갖다 쓴 함수, 자신의 프로그램의 실행 파일에 포함되어 있다
- 커널 함수 : 운영체제 프로그램의 함수, 커널 함수의 호출 = 시스템 콜
Process is a program in execution
프로세스는 실행중인 프로그램
프로세스 문맥이란?
- 프로세스가 현재 어떤 상태에서 수행되고 있는지 정확히 규명하기 위해 필요한 정보
- CPU 수행상태를 나타내는 하드웨어 문맥
- Program counter
- 각종 register
- 프로세스의 주소 공간
- code
- stack
- data
- 프로세스 관련 커널 자료 구조
- PCB (Process Control Block)
- Kernel stack
프로세스의 상태
프로세스는 상태가 변경되며 수행된다
- Running
- Cpu를 잡고 instruction을 수행중인 상태
- Ready
- Cpu를 기다리는 상태(메모리 등 다른 조건을 모두 만족하고)
- Blocked(wait,sleep)
- Cpu를 주어도 당장 instruction을 수행할 수 없는 상태
- Process를 자신이 요청한 event (예 : I/O)가 즉시 만족되지 않아 이를 기다리는 상태
- New : 프로세스가 생성중인 상태
- Terminated : 수행이 끝난 상태
PCB (Process Control Block)
운영체제가 각 프로세스를 관리하기 위해 프로세스당 유지하는 정보
- OS가 관리상 사용하는 정보
- Process State, Process ID
- scheduling information, priority
- CPU 수행 관련 하드웨어 값
- Program counter, registers
- 메모리 관련
- code, data, stack의 위치 정보
- 파일 관련
- Open file descriptors
문맥 교환
CPU를 한 프로세스에서 다른 프로세스로 넘겨주는 과정
운영체제는....
- CPU를 내어주는 프로세스의 상태를 그 프로세스의 PCB에 저장
- CPU를 새롭게 얻는 프로세스의 상태를 PCB에서 읽어옴
Job queue : 현재 시스템에 있는 모든 프로세스의 집합
Ready queue : 현재 메모리 내에 있으면서 CPU를 잡아서 실행되기를 기다리는 프로세스의 집합
Devide : I/O device의 처리를 기다리는 프로세스의 집합
프로세스들은 각 큐들을 오가며 수행된다
이 포스팅은 이화여대에서 무료로제공하는 반효경님의 운영체제강의를 수강하며 정리한 내용입니다.
필자가 잘 이해하지 못해서 잘못된 내용이 있을 수 있으므로 주의바라며, 발견되면 알려주시면 감사하겠습니다.
http://www.kocw.net/home/search/kemView.do?kemId=1046323
반응형
'CS > 운영체제' 카테고리의 다른 글
운영체제(6) - CPU 스케줄링 (0) | 2023.09.22 |
---|---|
운영체제(5) - 프로세스의 생성과 관련 시스템콜 (1) | 2023.09.22 |
운영체제(4) - 스케줄러와 Thread (0) | 2023.09.22 |
운영체제(2)- 시스템 구조 (0) | 2023.09.04 |
운영체제(1)- 운영체제란 무엇인가? (0) | 2023.09.04 |