cs지식/운영체제
OS - Introduction
Eunbae
2022. 6. 7. 15:51
Dual Mode of Processors
- OS는 Code data형태로 존재하고, 프로세스는 필요하면 시스템 호출을 통해 Interrupt를 통해 OS code를 실행하고 돌아간다!
-> OS는 프로세스가 아니고, 코드 데이터 형태로 Library처럼 어딘가에 존재하며 프로세스가 언제든 호출할수있도록 준비된 형태로 존재한다.
- 사용자 프로그램은 직접 입출력장치를 구동하면 안되며 유저 모드에서 실행한다. 운영체제 코드는 입출력 장치를 실행할 수 있어야 하므로 CPU의 모드는 OS코드 실행시 자동으로 커널모드로 바뀐다. 이후 interrupt return을 하면 다시 유저 모드로 바뀌게 된다.
- 커널 모드일때만 특권 명령(입출력, 메모리 영역 조절, 프로세서 상태 변경 등)을 실행할 수 있도록 하드웨어적으로 CPU 설계가 되어있다.
Buses
예전 PC에선 ISA버스 하나만 존재하였다. 속도가 빨라지며 PCI 버스 추가되었으며 전용 메모리/캐시 버스도 추가되었다. 각 버스의 속도는 다르기 때문에 맞춰주기 위해 bridge회로를 추가하여 사용한다.
System Calls
시스템 호출을 할 때 interrupt를 건다!