vixjv***
2023-09-24

선배가 옆에서 하나하나 알려주듯 친절히 설명해주는 실습과 그림으로 배우는 리눅스 지식의 모든 것
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
리눅스 하면 두꺼운 책만 생각 났는데 이 책은 os의 하드웨어를 직접 동작 확인해보는 굉장히 방대한 분야인데 생각보다 책이 상당히 얇다. 그렇다고 쉽게 이해가 되진 않는데 워낙 리눅스 자체가 어렵기도 하고 거기에 파이썬 까지 더해지니 쉽진 않았다. 그래도 글씨만 빡빡한 책 보단 컬러풀 하니 보기 재미 있었다.
1장 - 프로그램과 프로 세스 , 커널, 시스템 콜 과 라이브러리에 대한 내용이 나온다.
2장 - 프로세스 생성 (같은 프로세스를 두 개로 분열 시키는 python fork() 함수, 다른 프로그램을 기동 하는 execve()함수, ASLR로 보안강화 하는 방법 등이 나온다.)
3장 - 프로세스의 스케줄러( 기본 지식과 논리 CPU를 하나만 사용하는 경우와 여러 개를 사용하는 경우, 처리 성능, 프로그램 병렬 실행의 중요성)
4장 - 메모리 관리 시스템 (메모리 관련 정보 수집, 메모리 재활용 처리, 가상 메모리, 프로세스에 새로운 메모리 할당, 페이지 테이블 계층화)
5장 - 프로세스 관리(fork() 함수 고속화 , execve() 함수의 고속화, 프로세스 통신, 멀티 프로세스와 멀티 스레드 등)
6장 - 장치 접근(캐릭터 장치, 블록 장치, 루프 장치, 디바이스 드라이버 등)
7장 - 파일 시스템( 파일 접근, 메모리 맵 파일, 쿼터, 파일 시스템 정합성 , Btrfs가 제공하는 파일 시스템의 고급기능 , 데이터 손상 감지와 복구 등)
8장 - 메모리 계층( 캐시 메모리, 페이지 캐시, 버퍼캐시, 통계 정보등)
9장 - 블록 계층(하드디스크 특징, 블록 계층의 기본, 블록 장치의 성능 지표와 측정 방법, 블록 계층이 NVMe SSD 성능에 미치는 영향 등)
10장 - 가상화 기능(가상화 소프트웨어, 중첩 가상화, 가상 머신은 호스트 OS에서 어떻게 보이는가, 가상화 환경과 프로세스 스케줄링 , 가상 머신과 메모리 관리 등)
11장 - 컨테이너 ( 가상 머신과 차이점, 컨테이너 종류 , 보안위험성 등)
12장 - cgroup (cgroup으로 제어 가능한 자원, 응용 예제 등)
13장 - 이 책에서 배운 내용과 활용법
총 13Part로 구성된 책은 한 장 한장이 예제코드 위주로 잘 구성 되어 있다
이번 도서를 읽으면서 리눅스에 대한 공부를 한다고 해도 많이 부족했다는 것을 느꼈다. 확실히 책의 매력은 내가 아는 것이 전부가 아니라는 것을 말해주는 듯한 느낌을 받는 다는 점이다. 이 책은 두고두고 공부를 해가기에도 좋고 리눅스와 커널, 하드웨어 가 상위 계층에 직접적으로 매핑 되는 것을 공부 하기에 좋다.
python과 ubuntu에 관심이 있다면 무조건 추천 한다.