인터럽트2 OS - 시스템콜, 커널모드, 이중모드 시스템 콜 (커널 모드, 이중 모드, 인터럽트)내가 파이썬으로 open("a.txt") 한 줄을 실행하면, 그 안에서는 사용자 프로그램이 직접 할 수 없는 일이 벌어진다. 디스크라는 하드웨어를 건드리는 일은 운영체제만의 특권이기 때문이다. 사용자 프로그램이 파일을 읽고, 네트워크로 데이터를 보내고, 새 프로세스를 만드는 모든 순간, 프로그램은 운영체제 커널에게 "이 일을 대신 해 달라"고 요청한다. 이 요청의 공식 창구가 시스템 콜(System Call)이다. 본 글은 사용자 모드와 커널 모드를 가르는 이중 모드의 원리, 시스템 콜이 호출되는 과정, 그리고 그것을 떠받치는 인터럽트 메커니즘을 세심하게 정리한다(출처: 위키백과 — System call). 제가 운영체제 수업에서 strace 명령으로 간단한.. 2026. 5. 27. 입출력 관리와 인터럽트 입출력 관리 (인터럽트, DMA, 버퍼)운영체제의 메모리·CPU·파일 관리가 컴퓨터 안쪽의 자원을 다뤘다면, 입출력 관리는 컴퓨터 바깥 세계와 통신하는 책임을 진다. 키보드·마우스·디스크·네트워크 카드·프린터처럼 속도와 동작 방식이 천차만별인 외부 장치들을 일관된 인터페이스로 추상화하고, CPU의 시간을 낭비하지 않으면서 효율적으로 데이터를 주고받게 만드는 일이 입출력 관리의 핵심이다. 본 글은 입출력 방식 3종(폴링·인터럽트·DMA)과 인터럽트 처리, 그리고 버퍼링·스풀링·캐싱 같은 성능 최적화 기법을 세심하게 정리한다(출처: 위키백과 — Input/Output). 제가 학교 OS 실습에서 같은 1MB 파일을 폴링과 DMA로 읽어 비교했을 때 CPU 사용률이 95%에서 5%로 떨어지는 모습을 직접 본 .. 2026. 5. 19. 이전 1 다음