반응형
1장
-Multiprogramming : 여러 개의 프로그램을 동시에 실행하는 것
- CPU가 너무 많이 쉬도록 하는 것을 피하기 위한 방법
- memory를 각기 다른 job을 가지고 있는 몇 개의 partition으로 나눔
- 하나의 job이 I/O가 마무리될 때까지 기다리는 동안, 다른 job이 CPU를 사용할 수 있음
-System Calls : 프로그램이 os로부터 다양한 서비스를 제공받고자 할 때 사용할 수 있는 인터페이스
CPU의 2가지 모드 : 1. kernel mode 2. user mode
PSW(Program Status Word)의 bit가 mode를 조절함
- kernel mode : CPU는 어떤 instruction도 수행 가능
- user mode-I/O 와 memory protection이 허용되지 않음
- -user mode에서 OS의 서비스를 받으려면 system call을 통해 kernel mode로 trap in 해야 함
- -일부 명령어 집합에만 접근 가능
Trap instruction : user mode에서 kernel mode로 바뀌어 OS가 수행을 시작하도록 해줌
하드웨어 문제 발생 시에도 trap 발생
ex) read system call
- 스택에 nbytes 값 push
- 스택에 &buffer(버퍼의 주소) push
- file disk push
- library procedure read를 들여다봄
- OS에 system call의 number(code)가 여러 개 있는데, 그 중 read에 해당하는 code를 register에 넣음
- kernel로 trap in(trap instruction 수행 중)하여 kernel에서 OS가 수행됨
- register를 들여다봄
- system call handler의 주소를 찾음
- 다시 library procedure read로 돌아옴
- stack pointer 조정
UNIX : 1개의 library procedure를 가지고 있음
POSIX : 100개의 procedure call을 가지고 있음
제공하는 서비스
- 프로세스 생성 및 종료
- 파일 생성, 삭제, read, write, 디렉토리 관리
- I/O 수행
반응형
'기타' 카테고리의 다른 글
[운영체제론] Process (0) | 2021.12.11 |
---|---|
[운영체제론] IPC(Inter-Process Communication) (0) | 2021.12.11 |
[프로그래밍] C++과 JAVA의 차이점 (0) | 2021.12.09 |
[Jupyter] 주피터 노트북 사용하기 (0) | 2021.10.25 |
[디자인 패턴] MVC(Model-View-Controller) 패턴 (0) | 2021.02.03 |