위치: 학습 › 개발 (CS) › CS 기초 › 운영체제
규모: 포스팅 16개
시작하기
리눅스 커널 공부의 큰 그림을 잡는 로드맵.
| 포스팅 | 설명 |
|---|---|
| 리눅스 커널 학습 로드맵 | 지도·개념서·소스분석·실전실습 5단계 로드맵 |
프로세스·스레드·동시성
프로세스·좀비 프로세스, 스레드 개념, race·deadlock, 세마포어.
| 포스팅 | 설명 |
|---|---|
| 프로세스와 좀비 프로세스 (fork·waitpid) | 자식 프로세스가 종료됐는데도 부모가 상태를 수거하지 않아 defunct(좀비) 상태로 남는 문제의 근본 원리(fork/wait/waitpid)를 정리. |
| 쓰레드(Thread)의 기본개념 | |
| 스레드 동시성 문제 정리 (race·deadlock·livelock·starvation) | 증상별 구분, 락 순서·timeout, volatile, ThreadLocal 주의점 |
| 세마포어와 동시성 제어 | 동시성 도구가 IPC로도 분류되는 이유 |
가상 주소 공간·공유 메모리
가상 주소 공간과 mmap, 공유메모리 세그먼트·동시성 주의점.
| 포스팅 | 설명 |
|---|---|
| 프로세스 가상 주소 공간 — heap·stack·mmap 영역과 물리 메모리 | 기동 시 실제 동작, 영역 배치, demand paging, ASLR, VSZ/RSS |
| 공유메모리 한눈에 보기 — 가상 주소 공간·mmap·세그먼트·락 허브 | 그림 중심 전체 지도·일생·시퀀스·용어 사전·오해 정정·명령어 치트시트 (허브) |
| 공유메모리 세그먼트 — 크기·key·권한·수명과 삭제 | 크기·한도, key/shmid, 권한, /dev/shm, 삭제 권한·삭제 예약·key 반납 |
| mmap — 파일과 공유메모리를 포인터로 붙이기 | 시그니처·매핑 종류·포인터 사용·munmap·POSIX 공유메모리 예제 |
| 공유메모리 동시성 — 락 선택과 프로세스 간 함정 | race 원리, 락 수단 비교, robust 뮤텍스·SEM_UNDO, 체크리스트 |
| IPC와 스레드 메모리 공유 비교 | 주소 공간 독립 여부가 근본 원인, 동시성 제어 방식 차이 |
IPC (System V·POSIX·메시지 큐)
System V·POSIX IPC 비교, 메시지 큐 API, IPC 키 관리.
| 포스팅 | 설명 |
|---|---|
| System V IPC 개념 (메시지 큐·세마포어·공유메모리) | System V IPC 3형제, POSIX IPC와 비교 |
| POSIX IPC와 System V IPC 비교 — 메시지 큐 중심 | 공유메모리 쪽의 POSIX/System V 비교는 이미 공유메모리 세그먼트 노트에 있다. |
| 메시지 큐 API (msgget·msgsnd·msgrcv·msgctl) | System V 메시지 큐 API 4형제와, 사내 프레임워크가 이를 감싸는 일반적인 래핑 패턴, 메시지 헤더로 응답 주소를 실어 보내는 라우팅 패턴을 정리한다. |
| ftok과 IPC 키 생성 | 파일 기반 키 생성 방식과 함정, 명시적 테이블 방식과의 비교 |
| 이름-키 매핑 테이블 방식의 IPC 키 관리 |