[운영체제 아주 쉬운 세 가지 이야기 - Concurrency] 27. Thread API
POSIX 쓰레드의 생성과 종료, 락과 컨디션 변수 사용법, 그리고 컴파일 방법을 정리했습니다.
POSIX 쓰레드의 생성과 종료, 락과 컨디션 변수 사용법, 그리고 컴파일 방법을 정리했습니다.
쓰레드의 개념과 데이터를 공유할 때 생기는 경쟁 조건, 그리고 원자성이 필요한 이유를 정리했습니다.
객체 지향 설계와 데이터 지향 설계의 차이를 메모리 캐싱 관점에서 비교하고, 대규모 데이터 처리에서 성능이 달라지는 이유를 정리했습니다.
메모리가 부족할 때 내보낼 페이지를 고르는 교체 정책으로 최적·FIFO·무작위·LRU를 비교하고 성능을 정리했습니다.
물리 메모리보다 큰 주소 공간을 지원하는 스왑 공간과 present bit, 그리고 페이지 폴트 처리 과정을 정리했습니다.
페이지 테이블이 차지하는 메모리를 줄이기 위한 멀티 레벨 페이지 테이블과 역 페이지 테이블 등의 기법을 정리했습니다.
주소 변환을 빠르게 하는 TLB의 동작 원리와, 미스 처리·문맥 교환 문제 및 교체 정책을 정리했습니다.
SVN 병합 후 .uproject 파일에 쉼표가 누락되어 프로젝트가 열리지 않던 문제의 원인과 해결 과정을 정리했습니다.
주소 공간을 고정 크기 페이지로 나누는 페이징의 원리와, 페이지 테이블의 구조 및 성능 문제를 정리했습니다.
베이스·바운드 방식의 메모리 낭비를 해결하는 세그멘테이션의 원리와, 세그먼트 공유 및 외부 단편화 문제를 정리했습니다.