CS
2026
2025
- Swap Disk: 메모리가 부족할 때 페이지를 잠시 맡기는 곳
- Paging: OS는 가상 메모리를 어떻게 관리할까?
- Page Replacement Policy: 어떤 페이지를 희생시킬까?
- Lazy Loading: 진짜 필요할 때 불러오는 전략
- Anonymous & File-backed Page: 두 가지 페이지의 차이
- PintOS 4~5주차: Lazy Loading & Swap 구현
- PML4: 왜 큰 페이지 테이블 하나로는 안 될까?
- PintOS 2~3주차: Argument Passing & System Call 구현
- Multi-Level Feedback Queue Scheduler (MLFQS)
- PintOS Out Of Memory 개념: Demand Paging과 Eviction
- PintOS 1주차: Alarm Clock과 Priority Scheduling 구현
- Priority Donation: 우선순위 역전을 막는 기부 기법
- 스레드(Thread): 프로세스 안의 실행 단위
- 스레드(Thread) 심화: 스케줄링 전략과 타이밍
- 프로세스(Process): 실행 중인 프로그램
- 동기화 기법 3대장: Lock / Semaphore / Condition Variable
- CS:APP 11장 네트워크 프로그래밍 & Proxy 서버 C언어로 구현
- HTTP, TCP, UDP: 계층별 역할과 차이
- Datagram Socket과 Stream Socket: UDP와 TCP 소켓 비교
- OSI 7계층(OSI 7 Layer): 네트워크 통신을 7단계로 나눈 설계도
- IP Layer: 인터넷을 한 덩어리로 묶는 추상화
- System Call: 응용 프로그램이 커널에게 일을 부탁하는 통로
- Direct Memory Access(DMA): CPU를 거치지 않는 메모리 전송
- Demand-zero memory: 필요할 때 0으로 채워 붙이는 메모리
- CS:APP 9장 가상메모리 & Malloc C언어로 구현
- 링커(Linking): 심볼 해석, 재배치, 그리고 로딩
- 가상화(Virtualization): VM과 컨테이너, 그리고 Docker
- 프로그램의 기계수준 표현(Machine-Level Representation of Programs)
- 컴퓨터 시스템