-
- OS중 항상 메모리에 올라가 있는 부분은 전체 OS 중 일부분에 해당 → 커널
1) device controller: 작은 CPU와 같은 역할(I/O device를 관리하는 작은 CPU) → 장치에서 로컬 버퍼로 읽어오는 역할
데이터를 모두 가지고 왔는지 확인하는 작업을 위해 인터럽트를 발생시켜 CPU에게 알림
2) local buffer: 작업공간, 장치로부터 들어오고 나가는 데이터를 임시로 저장하기 위한 작은 메모리
3) memory: CPU가 놀지 않도록 하기 위해 I/O발생 시 I/O Controller가 작업하고 CPU는 memory와 일을 한다
4) memory controller: 메모리 접근 순서 제어
5) DMA controller: 직접 메모리 접근
6) timer: 특정 프로그램의 CPU독점을 막기 위한 역할을 한다
- 정해진 시간이 감소하다 0이되면 타이머 인터럽트 발생
- time sharing 구현을 위해 널리 사용
7) interrupt line: I/O device의 입/출력, 종료 등에 대한 정보관리
8) registers: memory보다 빠른 작은 저장공간
9) mode bit: CPU에서 실행되는게 OS인지 사용자인지 구분
- 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치
- mode bit을 통해 하드웨어적으로 두가지 operation 지원
- 1(사용자 모드): 사용자 프로그램 수행
- 0(모니터 모드): OS 코드 수행(=커널모드, 시스템모드)
- interrupt나 exception 발생 시 하드웨어가 mode bit을 0으로 바꿈
- 사용자 프로그램에게 CPU를 넘기기 전에 mode bit을 1로 셋팅
10) CPU: CPU안 register가 가리키는 memory의 insteruction을 읽어 실행
- Device driver: OS코드 중 각 장치별 처리
- I/O수행: 모든 입출력 명령은 특권 명령(→ 운영체제를 통해서만**(system call)** 입출력 장치 접근 가능)
[참조]core.ewha.ac.kr/publicview/C0101020140311132925816476?vmode=f
'운영체제' 카테고리의 다른 글
[OS] 쓰레드와 멀티쓰레드 (0) | 2022.08.29 |
---|---|
[OS]시스템구조 - 컴퓨터 계층구조 (0) | 2020.11.22 |
[OS]동기식/비동기식 (0) | 2020.11.21 |
[OS]인터럽트(Interrupt) (0) | 2020.11.17 |
[OS]운영체제 시스템 소개 (0) | 2020.11.14 |