2-2 System Structure & Program Execution
- CPU에서는 메모리의 기계어를 읽어와서 실행한다.
- CPU의 레지스터 중에서 메모리의 위치를 가리키는 PC(Program Counter)를 통해 해당 위치의 명령을 실행한다.
- Interrupt 발생 시 CPU가 OS로 넘어가게 된다.
- I/O Device에 접근하기 위해서는 OS만 이를 수행할 수 있다.
동기식 입출력(Synchronous I/O)
- I/O 요청 후 입출력 작업이 완료된 이후에야 제어가 사용자 프로그램에 넘어감
- 구현 방법
- I/O가 끝날 때까지 CPU를 낭비시킴
- I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗음
- I/O 처리를 기다리는 줄에 그 프로그램을 줄 세움
- 다른 프로그램에게 CPU를 줌
비동기식 입출력(Asynchronous I/O)
- I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어감
Byte 단위라면 CPU에서 접근 가능.
프로그램의 실행
함수
- 사용자 정의 함수 : 자신의 프로그램에서 정의한 함수
- 라이브러리 함수
- 자신의 프로그램에서 정의하지 않고 갖다 쓴 함수
- 자신의 프로그램의 실행 파일에 포함되어 있다
- 커널 함수
- 운영체제 프로그램의 함수
- 커널 함수의 호출 = 시스템 콜
프로그램의 실행