2025. 3. 10. 17:41ㆍComputer Science/OS
운영체제는 중재자다
컴퓨터는 결국 물리적 전자들의 흐름으로 동작한다. 우리는 그걸 맘대로 조종했으면 좋겠다.
그렇게 사용자/응용프로그램과 하드웨어 사이의 교량 역할이 필요하다.
우리는 기계어를 이해할 수 없다. 그래서 자연어와 같은 형태의 명령을 원한다.
하지만 컴퓨터는 기계어 밖에 이해하지 못한다.
운영체제는 이 간극을 해결하기 위해 존재한다.
운영체제가 수행하는 일
사용자 관점은 역시 인터페이스에 영향을 많이 받는다. 얼마나 사용하기 편하게 디자인 되어있고, 많은 기능들을 제공하며
그런 것들이다. 그 뒤에서 일어나는 일이야 원리를 몰라도 알아서 잘 동작한다.
시스템적 관점은 우리가 모르게 일어나고 있는 하드웨어와 이를 제어하기 위한 동작에 대한 이야기다.
자원을 할당하고 이를 효율적이고 공정하게 운영해야 한다.
자원이란? CPU time, Memory Space, File Storage, I/O device 등을 의미한다.
Kernel(커널)
운영체제를 말함에 절대 빠질 수 없는 것이다. 우리가 작성한 명령들을 OS 를 거쳐서 하드웨어까지 전달하기 위한 프로그램이다. 운영체제는 이 커널에 대해서 어떻게 운용하는가에 달려있다.
현재의 컴퓨터 시스템
CPU 외에도 파일디스크, 여러 I/O 장치에서도 메모리를 자원으로 사용한다. 동시에 수행 되면 CPU와 여러 장치들이 메모리 사이클 경쟁이 발생할 수 있다. 이런 컴퓨터 내부 자원의 스케줄링을 하는 하것도 OS의 역할이다.
Interrupt(인터럽트)
컴퓨터의 동작은 여러가지 이벤트들을 처리하는 것 이라고 들어 본적이 있을 것 같다.
이 이벤트 = 인터럽트 라고 생각하면 된다.
하드웨어 또는 소프트웨어에 의해서 발생되어 CPU에 보내지는 신호. 모든 동작은 인터럽트를 발생시키고 OS는 이것들을 처리하기 위해 존재한다. 컴퓨터 동작의 하나의 단위라고 봐도 괜찮을 것 같다.
인터럽트 핸들링은 OS의 가장 중요한 역할이다.
처리할 인터럽트가 없다는 일하지 않는다는 의미이기도 하다
Interrupt Sequence
CPU가 인터럽트를 받게 되면 이를 수행해야한다. 하지만 CPU가 하던 일이 있을 수 있고, 다른 인터럽트를 처리하고 있을 수 있다. 이를 중단하고 요청을 즉시 수행할 것인지, 아니면 현재 하던 작업을 마친 후 할 것인지에 대한 논의가 있을 수 있다. 인터럽트 별로 우선순위와 중요도 같은게 내부적으로 정해져있다는 걸 알면된다.
다음은 과정이다.
ISR의 주소 결정에는
Polled Interrupt, Vectored Interrupt가 있다.
CPU가 인터럽트를 처리하며 동작하는 것을 타임라인으로 보자면 이렇다.
요약
1. OS는 사용자(응용프로그램)과 컴퓨터 사이의 중재자다.
2. OS는 여러 컴퓨터 자원에 대한 사용 정도를 관리한다.
3. OS에는 Kernel이라는 우리가 알게모르게 항상 동작하는 중요한 프로그램이 있다.
4. 인터럽트는 컴퓨터의 동작에 있어 중요한 개념이다.
'Computer Science > OS' 카테고리의 다른 글
3. OS의 구조 (0) | 2025.04.13 |
---|---|
2. Storage 구조와 I/O구조 (0) | 2025.03.12 |