CHAPTER 0 시작하면서
CHAPTER 1 리눅스 개요
1.1 프로그램 및 프로세스
1.2 커널
1.3 시스템 콜
_시스템 콜 호출 확인해 보기
_시스템 콜을 처리하는 시간 비율
Column 모니터링, 경고 알림 및 대시 보드
_시스템 콜 소요 시간
1.4 라이브러리
_표준 C 라이브러리
_시스템 콜 래퍼 함수
_정적 라이브러리와 공유 라이브러리
Column 정적 링크가 돌아왔다
CHAPTER 2 프로세스 관리(기초편
2.1 프로세스 생성
_같은 프로세스를 두 개로 분열시키는 fork( 함수
_다른 프로그램을 기동하는 execve( 함수
_ASLR로 보안 강화
2.2 프로세스의 부모 자식 관계
Column fork( 함수와 execve( 함수 이외의 프로세스 생성 방법
2.3 프로세스 상태
2.4 프로세스 종료
2.5 좀비 프로세스와 고아 프로세스
2.6 시그널
Column 반드시 죽이는 SIGKILL 시그널과 절대로 죽지 않는 프로세스
2.7 셸 작업 관리 구현
_세션
_프로세스 그룹
2.8 데몬
CHAPTER 3 프로세스 스케줄러
3.1 기본 지식: 경과 시간과 사용 시간
3.2 논리 CPU 하나만 사용하는 경우
3.3 논리 CPU 여러 개를 사용하는 경우
3.4 real보다 user+sys가 커지는 경우
3.5 타임 슬라이스
Column 타임 슬라이스 구조
3.6 컨텍스트 스위치
3.7 처리 성능
3.8 프로그램 병렬 실행의 중요성
CHAPTER 4 메모리 관리 시스템
4.1 메모리 관련 정보 수집하기
_used
_buff/cache
_sar 명령어를 사용해서 메모리 관련 정보를 수집하기
4.2 메모리 재활용 처리
_프로세스 삭제와 메모리 강제 해제
4.3 가상 메모리
_가상 메모리가 없을 때 생기는 문제점
_가상 메모리 기능
_가상 메모리로 문제 해결하기
4.4 프로세스에 새로운 메모리 할당
_메모리 영역 할당: mmap ( 시스템 콜
Col
클라우드, 빅데이터, 인공지능 등 빠르게 발전하는 기술의 근간에는 튼튼한 기본기가 필수적입니다. 기술 발전의 토대인 리눅스의 깊은 이해는 최신 기술 트렌드를 익히는 데도 필수적인 밑바탕을 제공합니다. 리눅스는 백엔드 개발자와 데이터 분석가에게 꼭 필요한 OS입니다. 리눅스의 핵심인 커널에 대한 이해는 무시할 수 없는 중요한 부분입니다. 커널은 리눅스 시스템의 모든 기능과 동작의 핵심이며, 이에 대한 지식은 매우 중요합니다.
『그림으로 배우는 리눅스 구조』는 『실습과 그림으로 배우는 리눅스 구조』의 최신 개정판으로, 컴퓨터 시스템을 구성하는 OS나 하드웨어를 직접 실습해 보며 동작 원리를 익힐 수 있는 책입니다. 다양한 그림을 제공해 리눅스와 커널, 하드웨어가 상위 계층과 직접 연결된 부분을 이해할 수 있도록 구성했습니다. 또한, Go, Python으로 작성된 실습 코드와 친절한 주석 설명을 담고 있으며, 가상화, 컨테이너, cgroup과 같은 내용도 다룹니다. 이외에도 깊이 있는 내용을 Column으로 제공하여 리눅스 기본 지식뿐만 아니라 다양한 인사이트를 얻을 수 있도록 구성하였습니다.
추천사
신입부터 경력자까지 개발자라면 무조건 읽어야 하는 리눅스 필독서입니다. 단순히 리눅스를 알려주기보다 리눅스를 통해 컴퓨터 구조와 OS에 대한 이해를 몸소 체험하게 해줍니다. 쉬운 이론 설명과 핸즈온을 통해 직접 확인함으로써 리눅스 구조를 쉽고 재밌게 익힐 수 있습니다.
- 김삼영 (쿼리파이(체커 검색 클라우드 개발자
리눅스 커널 책의 두께와 기술적 깊이에 질려 중간에 포기한 경험이 있는 엔지니어라면, 수많은 그림과 실습 코드로 리눅스의 이해를 더하는 이 책으로 충분히 다시 도전해 볼 만하다고 생각합니다.
- 최규민 (국가정보자원관리원(NIRS
이런 리눅스 책은 처음입니다. 선배가 옆에서 하나하나 알려주듯 그림과 실습으로 어렵지 않게 리눅스를 이해할 수 있습니다. matplotlib을 활용하여 메모리의 타임 슬라이스 단위로 프로세스의 CP