Study · open-source/os/linux
[Study] 운영체제 — 커널이 하는 일을 분야별로 하나씩
커널이 하는 일을 분야 5개로 가르고, 그 안에서 실제로 궁금한 것을 항목 17개로 늘어놓았다 — 로그인하면 무슨 일이 일어나는지, 계정을 만들면 어디에 적히는지, rm 이 정말 지우는 것인지처럼. 분야 사이에는 순서가 없다. 네트워크가 궁금하면 거기부터 봐도 되고, 한 분야 안에서만 번호 순서를 따르면 된다. 항목마다 페이지가 하나이고, 장면은 버튼을 눌러 한 스텝씩 넘기며 본다.
두 가지 출처를 섞지 않았다. 장면에 붙은 파일:줄은 저장소에 받아 둔 리눅스 커널 소스(open-source/os/linux, Linux 7.3-rc4)를 직접 열어 확인한 것이고, 수치는 도커 우분투 24.04(커널 6.6.87.2)에서 실제로 돌려 잰 것이다. 둘의 커널이 다르므로 줄 번호를 6.6에서 찾으면 안 맞는다. 다시 재려면 tools/os-study를 돌린다.
분야 5개 · 항목 17개 — 궁금한 분야부터 본다
계정과 권한
1
로그인하면 무슨 일이 일어나나
자격증명을 갈아 끼운다
2
계정을 만들면 어디에 무엇이 쓰이나
/etc/passwd · /etc/shadow
3
chmod 가 바꾸는 것은 어디에 있나
inode 안의 비트 아홉 개
4
파일을 열 때 권한을 언제 보나
rwx 를 지나도 LSM 이 있다
파일과 디렉터리
5
파일을 만들면 무엇이 생기나
알맹이 하나 + 이름 한 줄
6
디렉터리를 만들면 무엇이 생기나
디렉터리도 파일이다
7
파일을 읽으면 어디를 거치나
두 번째는 디스크에 안 간다
8
파일을 지우면 정말 사라지나
이름만 뗀다
프로세스
9
명령 하나를 치면 무슨 일이 벌어지나
복제하고 덮어쓴다
10
프로세스가 파일을 열면 무엇이 늘어나나
fd 표에 번호 하나
11
CPU 하나를 여럿이 어떻게 나눠 쓰나
런큐와 문맥 교환
메모리
네트워크