• 베스트
  • 소득공제
  • 무료배송

그림으로 배우는 리눅스 구조:개정판 - 실습하며 배우는 운영체제 가상 머신 그리고 컨테이너 기본 지식까지

  • 타케우치 사토루
  • 서수환
  • 한빛미디어
  • 2023년 09월 08일
사용자 평점
0리뷰 0개
10%26,10029,000원
적립금
1,450원 (5% 적립)
추가 적립 안내
  • 5만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

  • 10만원 이상 결제 시 (*배송비 제외)

    정가제FREE(상품/사은품) 금액이
    2,000원 이상이면 2,000원 추가적립

    정가제FREE(상품/사은품) 금액이
    5,000원 이상이면 5,000원 추가적립

회원가입 시 적립금 즉시 지급!

배송비
무료 (해외배송의 경우 지역에 따라 상이)

배송안내

배송비 안내
  • 1만원 이상 주문 시 무료배송 입니다.
  • 주문하신 상품을 해외로 배송 하시는 경우에는 별도의 항공료 가 부과됩니다
서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
주문 수량 변경시 안내

[주문/배송] 주문 수량 변경 시 안내

주문 수량 변경 시,배송일정이 변경될 수 있으니 반드시 확인해 주시기 바랍니다.
(고객센터 1544-9020)

지금 주문하면 9/23(수) 출고 가능
택배보다 빠른, 나우드림
상품 규격 정보
상품상세정보
ISBNISBN-13 : 9791169211352
쪽수372쪽
크기기타 규격
제품구성단행본
이 책이 속한 분야
  • 컴퓨터/IT > OS
관련 이벤트

AI추천 이유

책 소개

선배가 옆에서 하나하나 알려주듯 친절히 설명해주는
실습과 그림으로 배우는 리눅스 지식의 모든 것
* Go 언어와 Python, Bash 스크립트 실습 코드 제공
* 이 도서는 『실습과 그림으로 배우는 리눅스 구조』의 개정판입니다.


리눅스 커널 책의 두께와 깊이에 질려 중간에 포기했던 경험이 있는 엔지니어라면, 『그림으로 배우는 리눅스 구조』로 다시 한번 도전해 보길 추천합니다.
이 책은 컴퓨터 시스템을 구성하는 OS나 하드웨어를 직접 동작해 보며 리눅스 개념을 종합적으로 이해할 수 있도록 다양한 실습을 제공합니다. 또한 리눅스가 무엇인지, 리눅스에 포함된 다양한 프로그램에는 어떠한 것이 있는지, 리눅스 프로그램의 필요성 등을 그림으로 친절하게 설명합니다.

Go, Python으로 작성된 실습 코드와 그 실행 결과를 그래프로 나타내어 리눅스의 흐름을 쉽게 파악할 수 있도록 도와줍니다. 프로세스 관리, 메모리 관리뿐만 아니라 디바이스 드라이버를 포함한 장치 접근 방법, 현대 소프트웨어 시스템을 다루는 데 빠질 수 없는 가상화, 컨테이너, cgroup 등의 내용까지 다룹니다. 이 한 권으로 리눅스 지식의 전반적인 내용과 기본 개념부터 파고들어야 비로소 배울 수 있는 심화 내용까지 배울 수 있습니다. 다양한 그림과 실습으로 리눅스 OS의 핵심 개념과 기술을 깊이 있게 배워봅니다.

책을 통해 OS와 하드웨어에 대한 이해도를 높이고 나면 다음과 같은 일이 가능합니다.
● 시스템 운용에 활용
● 보다 나은 프로그래밍에 활용
● 본격적인 커널 개발 시작

목차

[목 차]

CHAPTER 0 시작하면서

CHAPTER 1 리눅스 개요
프로그램 및 프로세스
커널
시스템 콜
_시스템 콜 호출 확인해 보기
_시스템 콜을 처리하는 시간 비율
Column 모니터링, 경고 알림 및 대시 보드
_시스템 콜 소요 시간
라이브러리
_표준 C 라이브러리
_시스템 콜 래퍼 함수
_정적 라이브러리와 공유 라이브러리
Column 정적 링크가 돌아왔다


CHAPTER 2 프로세스 관리(기초편)
프로세스 생성
_같은 프로세스를 두 개로 분열시키는 fork() 함수
_다른 프로그램을 기동하는 execve() 함수
_ASLR로 보안 강화
프로세스의 부모 자식 관계
Column fork() 함수와 execve() 함수 이외의 프로세스 생성 방법
프로세스 상태
프로세스 종료
좀비 프로세스와 고아 프로세스
시그널
Column 반드시 죽이는 SIGKILL 시그널과 절대로 죽지 않는 프로세스
셸 작업 관리 구현
_세션
_프로세스 그룹
데몬


CHAPTER 3 프로세스 스케줄러
기본 지식: 경과 시간과 사용 시간
논리 CPU 하나만 사용하는 경우
논리 CPU 여러 개를 사용하는 경우
real보다 user+sys가 커지는 경우
타임 슬라이스
Column 타임 슬라이스 구조
컨텍스트 스위치
처리 성능
프로그램 병렬 실행의 중요성


CHAPTER 4 메모리 관리 시스템
메모리 관련 정보 수집하기
_used
_buff/cache
_sar 명령어를 사용해서 메모리 관련 정보를 수집하기
메모리 재활용 처리
_프로세스 삭제와 메모리 강제 해제
가상 메모리
_가상 메모리가 없을 때 생기는 문제점
_가상 메모리 기능
_가상 메모리로 문제 해결하기
프로세스에 새로운 메모리 할당
_메모리 영역 할당: mmap () 시스템 콜
Column Meltdown 취약점의 공포
_메모리 할당: Demand paging
Column 프로그래밍 언어 번역기와 메모리 관리
페이지 테이블 계층화
_Huge Page
_Transparent Huge Page(THP)


CHAPTER 5 프로세스 관리(응용편)
빠른 프로세스 작성 처리
_fork() 함수 고속화: 카피 온 라이트
_execve() 함수의 고속화: Demand paging
프로세스 통신
_공유 메모리
_시그널
_파이프
_소켓
배타적 제어
돌고 도는 배타적 제어
멀티 프로세스 및 멀티 스레드
Column 커널 스레드와 사용자 스레드


CHAPTER 6 장치 접근
디바이스 파일
_캐릭터 장치
_블록 장치
Column 루프 장치
디바이스 드라이버
_메모리 맵 입출력(MMIO)
_폴링
_인터럽트
Column 일부러 폴링을 사용하는 경우
디바이스 파일명은 바뀌기 마련


CHAPTER 7 파일 시스템
파일 접근 방법
메모리 맵 파일
일반적인 파일 시스템
쿼터(용량 제한)
파일 시스템 정합성 유지
_저널링을 사용한 오류 방지
_카피 온 라이트로 오류 방지
_뭐니 뭐니 해도 백업
Btrfs에서 제공하는 파일 시스템의 고급 기능
_스냅샷
_멀티 볼륨
Column 어떤 파일 시스템을 사용하면 좋은가?
데이터 손상 감지와 복구
기타 파일 시스템
_메모리 기반의 파일 시스템
_네트워크 파일 시스템
_procfs
_sysfs


CHAPTER 8 메모리 계층
캐시 메모리
_참조의 지역성
_계층형 캐시 메모리
_캐시 메모리 접근 속도 측정
Simultaneous Multi Threading (SMT)
Column 변환 색인 버퍼(Translation Lookaside Buffer)
페이지 캐시
_페이지 캐시 효과
버퍼 캐시
쓰기 타이밍
직접 입출력
스왑
통계 정보


CHAPTER 9 블록 계층
하드 디스크의 특징
블록 계층의 기본 기능
블록 장치의 성능 지표 및 측정 방법
_하나의 프로세스만 입출력을 호출하는 경우
_여러 프로세스가 병렬로 입출력을 호출하는 경우
Column 추측하지 말고, 측정해라
_성능 측정 도구: fio
블록 계층이 하드 디스크 성능에 주는 영향
_패턴 A 측정 결과
_패턴 B 측정 결과
Column 무엇을 위한 성능 측정인가
_기술 혁신과 관련된 블록 계층의 변화
블록 계층이 NVMe SSD의 성능에 미치는 영향
_패턴 A 측정 결과
_패턴 B 측정 결과
Column 실제 성능 측정


CHAPTER 10 가상화 기능
가상화 기능이란 무엇인가
가상화 소프트웨어
이 장에서 사용하는 가상화 소프트웨어
Column 중첩 가상화
가상화를 지원하는 CPU 기능
_QEMU+KVM 조합
Column CPU 가상화 기능이 없는 경우의 가상화
가상 머신은 호스트 OS에서 어떻게 보이는가?
_호스트 OS에서 본 게스트 OS
_여러 머신을 실행하는 경우
Column IaaS의 오토스케일 메커니즘
가상화 환경의 프로세스 스케줄링
_물리 기기에서 프로세스가 동작하는 경우
_통계 정보
가상 머신 및 메모리 관리
_가상 머신이 사용하는 메모리
가상 머신과 저장 장치
_가상 머신과 저장소 입출력
_저장 장치 쓰기와 페이지 캐시
_반가상화 장치와 virtio_blk
Column 호스트 OS와 게스트 OS의 저장소 입출력 성능 역전 현상
virtio_blk 구조
Column PCI 패스스루


CHAPTER 11 컨테이너
가상 머신과 차이점
컨테이너 종류
네임스페이스
_프로세스ID 네임스페이스
_컨테이너 정체
보안 위험성


CHAPTER 12 cgroup
cgroup으로 제어 가능한 자원
사용 예: CPU 사용 시간 제어
Column cgroup 기능이 리눅스 커널에 포함된 과정
응용 예
Column cgroup v2

CHAPTER 13 이 책에서 배우는 내용과 활용법

[본 문]


추천사

    신입부터 경력자까지 개발자라면 무조건 읽어야 하는 리눅스 필독서입니다. 단순히 리눅스를 알려주기보다 리눅스를 통해 컴퓨터 구조와 OS에 대한 이해를 몸소 체험하게 해줍니다. 쉬운 이론 설명과 핸즈온을 통해 직접 확인함으로써 리눅스 구조를 쉽고 재밌게 익힐 수 있습니다.

    김삼영, 쿼리파이(체커) 검색 클라우드 개발자

    리눅스 커널 책의 두께와 기술적 깊이에 질려 중간에 포기한 경험이 있는 엔지니어라면, 수많은 그림과 실습 코드로 리눅스의 이해를 더하는 이 책으로 충분히 다시 도전해 볼 만하다고 생각합니다.


    최규민, 국가정보자원관리원(NIRS)

    이런 리눅스 책은 처음입니다. 선배가 옆에서 하나하나 알려주듯 그림과 실습으로 어렵지 않게 리눅스를 이해할 수 있습니다. matplotlib을 활용하여 메모리의 타임 슬라이스 단위로 프로세스의 CPU 점유를 시각적으로 확인하며, 스루풋과 레이턴시 등 성능 지표를 직접 체감하며 익힐 수 있도록 도와줍니다. 나아가 애플리케이션의 관측성에 대한 이해뿐만 아니라 가상화, 메모리 등 많은 내용도 다룹니다. 책은 IT 분야에서 깊이 있는 지식을 원하는 분들에게 추천합니다.

    최치영, 클라우드메이트 클라우드 엔지니어

    학부 시절 어렵게만 느껴졌던 OS에 대한 내용을 그림과 실습으로 설명해 쉬운 이해를 도와줍니다. 처음 코딩을 시작할 때 이런 개념이 왜 필요할까? 왜 공부해야 할까?에 대한 의문이 있었는데 막상 실무에 적용하다 보니 개념이 확실하게 정리되어야 모든 과정이 수월하다는 걸 깨닫게 되었습니다. 이러한 측면에서 이 책은 개발자라면 필독서로 한 번쯤 읽어보는 것이 좋다고 생각합니다.


    백혜림, 이포쉬림 대표 겸 AI 강사

    Go, Python, Bash 스크립트 등으로 작성된 실습 코드 기반으로 리눅스 OS에서 어떤 일들이 일어나는지 직접 따라해 보며 경험적으로 쉽게 이해할 수 있습니다. OS에 필요한 기본 개념을 코드와 그래프로 확인하며 자세히, 직관적으로 이해할 수 있습니다. 실제로 리눅스를 기반으로 서버를 운용하는 엔지니어에게 이 책의 일독을 권합니다.

    안다혜, 무신사 SRE

출판사 서평

클라우드, 빅데이터, 인공지능 등 빠르게 발전하는 기술의 근간에는 튼튼한 기본기가 필수적입니다.
기술 발전의 토대인 리눅스의 깊은 이해는 최신 기술 트렌드를 익히는 데도 필수적인 밑바탕을 제공합니다.

리눅스는 백엔드 개발자와 데이터 분석가에게 꼭 필요한 OS입니다. 리눅스의 핵심인 커널에 대한 이해는 무시할 수 없는 중요한 부분입니다. 커널은 리눅스 시스템의 모든 기능과 동작의 핵심이며, 이에 대한 지식은 매우 중요합니다.

『그림으로 배우는 리눅스 구조』는 『실습과 그림으로 배우는 리눅스 구조』의 최신 개정판으로,
컴퓨터 시스템을 구성하는 OS나 하드웨어를 직접 실습해 보며 동작 원리를 익힐 수 있는 책입니다. 다양한 그림을 제공해 리눅스와 커널, 하드웨어가 상위 계층과 직접 연결된 부분을 이해할 수 있도록 구성했습니다. 또한, Go, Python으로 작성된 실습 코드와 친절한 주석 설명을 담고 있으며, 가상화, 컨테이너, cgroup과 같은 내용도 다룹니다. 이외에도 깊이 있는 내용을 Column으로 제공하여 리눅스 기본 지식뿐만 아니라 다양한 인사이트를 얻을 수 있도록 구성하였습니다.

저자 소개
저자 : 타케우치 사토루
도서리뷰

이 책을 읽고 어떤 느낌을 받으셨나요?
리뷰를 남기고 다른 독자들과 함께 공유해보세요.

안내 열기구매(배송/수령완료) 후 리뷰를 작성하시면 적립금 300원을 드려요!

등록된 리뷰가 없습니다

첫번째 리뷰어가 되어주세요

교환/반품/환불
반품/교환방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
반품/교환 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

매장에서 사용할 수 있는 바코드가 있어요!