운영체제

프로세스와 스레드, 스케줄링, 동기화, 메모리 관리, 파일 시스템

  1. 01

    운영체제의 유형

    일괄 처리부터 다중 프로그래밍, 시분할, 다중 처리, 실시간, 분산 처리까지 운영체제 유형별 목표와 특징을 정리한다.

    3분 읽기
  2. 02

    System Call과 Dual Mode

    CPU의 사용자 모드와 커널 모드가 나뉜 이유, 시스템 콜의 동작 과정과 유형을 정리한다.

    4분 읽기
  3. 03

    인터럽트와 폴링

    인터럽트의 처리 절차와 저장되는 문맥, 중첩 인터럽트, 폴링과의 차이, 하드웨어·소프트웨어 인터럽트를 정리한다.

    3분 읽기
  4. 04

    프로세스와 PCB, 프로세스의 상태 변화

    프로세스와 PCB의 역할, 생성부터 종료까지의 상태 전이와 스와핑, 리눅스의 프로세스 생성과 좀비·고아·데몬 프로세스를 정리한다.

    6분 읽기
  5. 05

    프로세스 주소 공간과 Stack이 높은 주소부터 할당되는 이유

    Stack·Heap·Data·Text 영역의 역할과 Stack이 Heap보다 빠른 이유, Stack이 높은 주소에서 자라는 이유를 정리한다.

    5분 읽기
  6. 06

    스레드: 사용자·커널 수준 스레드와 Thread Pool, Fork-Join

    스레드의 개념과 TCB, 사용자 수준과 커널 수준 스레드의 차이와 매핑 모델, Thread Pool과 Fork-Join을 정리한다.

    5분 읽기
  7. 07

    Context Switching

    문맥 교환의 과정과 발생 시점, 프로세스와 스레드의 전환 비용 차이, 준비 큐가 길어질 때의 문제와 해결 방안을 정리한다.

    3분 읽기
  8. 08

    프로세스 스케줄링: 단계와 알고리즘

    장기·중기·단기 스케줄러와 선점 여부, FCFS·SJF·SRT·우선순위·RR·HRN·다단계 큐 알고리즘의 특징을 정리한다.

    7분 읽기
  9. 09

    Thread Scheduling: 경합 범위 PCS와 SCS

    스레드 스케줄링의 대상과 LWP의 역할, 경합 범위인 PCS와 SCS의 차이와 장단점을 정리한다.

    3분 읽기
  10. 10

    경쟁 상태와 상호 배제: Thread Safe, 데커·피터슨 알고리즘

    경쟁 상태가 생기는 이유를 생산자-소비자 문제로 살펴보고, Thread Safe 조건과 데커·피터슨 알고리즘, 원자적 연산을 정리한다.

    7분 읽기
  11. 11

    뮤텍스와 세마포, 모니터

    뮤텍스와 세마포의 동작과 차이, 대기 큐로 Busy waiting을 없애는 방법, 모니터의 구조와 Java의 모니터를 정리한다.

    6분 읽기
  12. 12

    교착 상태: 발생 조건과 해결 방법

    교착 상태의 네 가지 발생 조건과 자원 할당 그래프, 예방·회피(은행가 알고리즘)·탐지와 회복의 장단점을 정리한다.

    6분 읽기
  13. 13

    메모리 계층 구조와 캐시 메모리

    메모리 계층 구조와 L1·L2 캐시, 캐시 매핑 방식, 지역성과 배열 탐색 성능, 애플리케이션 캐시의 일관성 문제를 정리한다.

    5분 읽기
  14. 14

    메모리 관리: 주소 바인딩과 연속 메모리 할당

    주소 바인딩 시점, 고정·가변 분할 방식과 단편화, 최초·최적·최악 적합 배치 전략과 통합·압축을 정리한다.

    4분 읽기
  15. 15

    가상 메모리: Paging과 Segmentation, TLB

    가상 주소 매핑의 원리부터 Paging, TLB, Segmentation, 둘을 결합한 Hybrid 방식까지 주소 변환 과정을 비교한다.

    10분 읽기
  16. 16

    요구 페이징과 페이지 교체 알고리즘, Thrashing

    요구 페이징과 Page Fault 처리, FIFO·LRU·LFU·MFU 교체 알고리즘, Thrashing의 발생 과정과 완화 방법을 정리한다.

    5분 읽기
  17. 17

    File Descriptor와 File System, I-Node

    프로세스가 파일을 가리키는 File Descriptor, 파일 시스템의 역할, 파일의 속성과 블록 주소를 담는 I-Node를 정리한다.

    2분 읽기
  18. 18

    동기/비동기와 블로킹/논블로킹, I/O Multiplexing

    동기·비동기와 블로킹·논블로킹이 서로 다른 관점임을 짚고, 네 가지 조합과 select·poll 기반 I/O Multiplexing을 정리한다.

    2분 읽기