컴퓨터 시스템 구조
각각의 I/O device에는 이 디바이스를 관리하는 작은 cpu가 붙어있음(= device controller)
- cpu 안에도 register 있다.
- cpu는 항상 메모리에 있는 instructions만 실행한다.
- timer : 특정 프로그램이 cpu를 독점하는 걸 막기 위한 장치(time sharing) ➡️ 하나의 instructions이 긴 시간 잡아먹으면 interrupt 걸림.
- interrupt 걸리면 running ➡️ blocked 상태로 interrupt
- 사용자 프로그램은 항상 OS를 통해 I/O 장치에 접근할 수 있다.
Multiprogramming/Multiple processing
메모리에 여러 프로그램이 동시에 올라가는 방식
* 같이 알아둬야할 것
cpu는 사실 모든 일을 한꺼번에 하는 게 아니라 자기 능력을 나눠서 일을 빠르게 처리하는데, 이때 하나의 일을 끝마지초 다른 일을 시작할 때 switching이 일어난다. multiple processing을 과도하게 하면, switching 시간이 많이 들어서 thrashing(잦은 페이지 부재로 인한 작업이 멈춘 것과 같은 현상)이 발생함
Time sharing(시분할)
cpu는 여러가지 일을 처리하기 위해서 능력을 짧게 나눠서 컴팩트하게 처리를 함. 이러한 cpu 특징을 시분할이라고 한다.
Multiprocess
여러 프로그램이 동시에 실행된다.
⭐️Multiprocesser(다중 처리기)
Multiprogramming, Time sharing, Multiprocess는 모두 하나의 cpu가 여러 일을 동시에/ 나눠서 빠르게 하는 것을 의미하는데,
Multiprocessor는 여러 개의 cpu가 들어간 컴퓨터를 말하는 것. 차이점이 있다.
Interrupt
프로그램의 정상적인 실행을 변경하는 것.
인터럽트가 발생하면 순차 구조의 프로그래밍 흐름이 잠시 중단되고, 인터럽트 처리기가 실행된다.
이후 작업을 마치면 인터럽트 핸들러가 실행되어 이전 상태로 돌아와, 다시 흐름이 정상적으로 재개된다.
CPU scheduling
어떤 프로그램/자원에 cpu를 할당할지 결정하는 것.
선착순x 우선순위별/짧게 처리할 수 있는 것부터 등등의 기준이 있다.
cpu를 줬다뺏었다.. 빠른 작업
Concurrency
Execution context
Reference
이화여자대학교 반효경 교수님의 KMOC 강의
한국항공대학교 송동호 교수님의 컴퓨터 운영체제 및 실습
'CS > OS' 카테고리의 다른 글
[OS] 프로세스 | 프로세스의 상태 | PCB | context switching (0) | 2023.04.07 |
---|---|
[OS] 컴퓨터 시스템 구조 | 저장장치 계층 | 프로그램 실행 과정 | 커널 | 동기식/비동기식 IO | DMA (0) | 2023.04.06 |
[OS] Mode bit | Device Controller | Interrupt (0) | 2023.03.17 |
[OS] 운영체제 (4) | 2023.03.09 |
[OS] Linker(링커)와 Linking(링킹) (1) | 2022.10.24 |