운영체제10 OS - 시스템콜, 커널모드, 이중모드 시스템 콜 (커널 모드, 이중 모드, 인터럽트)내가 파이썬으로 open("a.txt") 한 줄을 실행하면, 그 안에서는 사용자 프로그램이 직접 할 수 없는 일이 벌어진다. 디스크라는 하드웨어를 건드리는 일은 운영체제만의 특권이기 때문이다. 사용자 프로그램이 파일을 읽고, 네트워크로 데이터를 보내고, 새 프로세스를 만드는 모든 순간, 프로그램은 운영체제 커널에게 "이 일을 대신 해 달라"고 요청한다. 이 요청의 공식 창구가 시스템 콜(System Call)이다. 본 글은 사용자 모드와 커널 모드를 가르는 이중 모드의 원리, 시스템 콜이 호출되는 과정, 그리고 그것을 떠받치는 인터럽트 메커니즘을 세심하게 정리한다(출처: 위키백과 — System call). 제가 운영체제 수업에서 strace 명령으로 간단한.. 2026. 5. 27. OS - 가상 메모리 요구 페이징 TLB 가상 메모리 (요구 페이징, TLB, 주소 변환)내 노트북의 물리 메모리는 16GB인데, 어떻게 수십 개의 프로그램이 각자 수 GB씩 쓰는 것처럼 동시에 돌아갈까. 답은 가상 메모리(Virtual Memory)다. 운영체제는 각 프로세스에게 "너는 메모리를 통째로 혼자 쓴다"는 거대한 환상을 심어 주고, 실제로는 물리 메모리와 디스크를 영리하게 오가며 그 환상을 떠받친다. 이 추상화 덕분에 프로그래머는 다른 프로세스나 물리 메모리 크기를 신경 쓰지 않고 코드를 짤 수 있다. 본 글은 가상 주소가 물리 주소로 변환되는 과정, 필요할 때만 페이지를 올리는 요구 페이징, 그리고 그 느린 변환을 캐시로 가속하는 TLB를 세심하게 정리한다(출처: 위키백과 — Virtual memory). 제가 운영체제 수업에서 .. 2026. 5. 26. OS 보안과 접근 제어 OS 보안 (접근제어, ACL, 권한)운영체제의 마지막 핵심 책임이 보안이다. 여러 사용자가 한 시스템을 공유하고, 외부 네트워크로 노출되며, 악성 코드가 끊임없이 침입 시도를 한다. 이 모든 위협으로부터 자원을 보호하면서도 정당한 사용자에게는 매끄러운 접근을 보장해야 하는 모순적 책임이 OS 보안의 핵심이다. 본 글은 인증·인가의 차이, 접근 제어 모델(DAC·MAC·RBAC), 유닉스 권한 비트와 ACL, 그리고 능력(capability) 기반 보안까지 OS 보안의 핵심 모델을 세심하게 정리한다(출처: 위키백과 — Computer security model). 제가 학교 리눅스 실습에서 처음 chmod 755 한 줄로 같은 디렉터리에 사용자별로 접근이 달라지는 모습을 봤을 때 "권한은 운영체제 안에 .. 2026. 5. 19. 입출력 관리와 인터럽트 입출력 관리 (인터럽트, DMA, 버퍼)운영체제의 메모리·CPU·파일 관리가 컴퓨터 안쪽의 자원을 다뤘다면, 입출력 관리는 컴퓨터 바깥 세계와 통신하는 책임을 진다. 키보드·마우스·디스크·네트워크 카드·프린터처럼 속도와 동작 방식이 천차만별인 외부 장치들을 일관된 인터페이스로 추상화하고, CPU의 시간을 낭비하지 않으면서 효율적으로 데이터를 주고받게 만드는 일이 입출력 관리의 핵심이다. 본 글은 입출력 방식 3종(폴링·인터럽트·DMA)과 인터럽트 처리, 그리고 버퍼링·스풀링·캐싱 같은 성능 최적화 기법을 세심하게 정리한다(출처: 위키백과 — Input/Output). 제가 학교 OS 실습에서 같은 1MB 파일을 폴링과 DMA로 읽어 비교했을 때 CPU 사용률이 95%에서 5%로 떨어지는 모습을 직접 본 .. 2026. 5. 19. 파일 시스템과 디스크 파일 시스템 (inode, 디스크, FAT)운영체제가 메모리와 CPU를 관리하는 만큼이나 중요한 책임이 영속적인 데이터를 안전하게 보관하는 일이다. 프로세스는 종료되면 사라지지만 사용자가 만든 파일과 시스템 설정은 다음 부팅 후에도 그대로 남아 있어야 하며, 그 보관 책임을 지는 운영체제 모듈이 바로 파일 시스템(File System)이다. 본 글은 파일 시스템의 정의·계층 구조·inode 모델·대표 구현체(FAT·NTFS·ext4) 비교, 그리고 디스크 스케줄링까지 세심하게 정리한다(출처: 위키백과 — File system). 제가 학교 OS 실습에서 ls -li로 inode 번호를 처음 본 후로는 같은 파일이 두 경로에서 같은 inode를 공유하는 하드 링크의 동작이 비로소 손에 잡혔다. 파일 시스템.. 2026. 5. 19. OS - CPU 스케줄링 CPU 스케줄링 (FCFS, SJF, RR)CPU는 컴퓨터에서 가장 비싸고 가장 빠른 자원이다. 한 대의 컴퓨터에서 수십·수백 개의 프로세스가 동시에 실행되는 것처럼 보이는 이유는 운영체제가 매우 짧은 시간 단위로 CPU를 여러 프로세스에 번갈아 할당하기 때문이며, 이 분배를 결정하는 알고리즘이 바로 CPU 스케줄링이다. 어떤 알고리즘을 쓰느냐에 따라 평균 대기 시간이 5배 차이 나고, 응답 시간이 보장되거나 망가지며, 일부 프로세스가 영원히 실행되지 못하는 기아 상태(starvation)가 발생하기도 한다. 본 글은 스케줄링의 평가 기준부터 다섯 가지 핵심 알고리즘, 그리고 다단계 큐 같은 실전 운영 기법을 세심하게 정리한다(출처: 위키백과 — Scheduling (computing)). 제가 학교 O.. 2026. 5. 19. 이전 1 2 다음