실습과 그림으로 배우는 리눅스 구조
이 책의 이벤트
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
이 책은 컴퓨터 시스템을 구성하는 운영체제를, 그중 가장 많이 사용하는 리눅스를 예로 들어 설명했습니다. 단순히 읽고 넘어가지 않고 스스로 실습해보며 동작 원리를 익힐 수 있으며, 프로그래머, 시스템 설계자 등 대부분의 개발자에게 꼭 필요한 지식을 담았습니다.
이 책을 통해 소프트웨어와 하드웨어의 상호작용을 이해하세요. 그다음, 책에서 배운 운영체제 전체 구성, 프로세스, 메모리 등에 대한 이해를 바탕으로 프로그램을 개발한다면 소프트웨어 신뢰도를 확보하는 동시에 성능 최적화까지도 도전할 수 있습니다.
작가정보
저자(글) 다케우치 사토루
2005년부터 2017년까지 후지츠(주)에서 엔터프라이즈용 리눅스, 그중 특히 커널 개발과 서포트 일을 주로 했다. 2017년부터는 사이보우즈(주)에서 기술고문으로 일하고 있다.
번역 신준희
컴퓨터공학과를 졸업하고 드러나지 않는 분야에서 주로 일했다. 2008년부터 2013년까지는 리눅스 및 안드로이드용 GPU 드라이버 개발과 GPU 애플리케이션 이식 작업을 주로 했다. 그후 2017년까지는 그래픽 엔진 개발회사에서 그래픽 엔진 개발과 콘텐츠 제작을 했다. 현재에는 일본과 한국을 오가며 모바일 GPU용 그래픽 엔진을 개발하며 콘텐츠를 제작하고 있다.
작가의 말
[역자의 글]
이미 리눅스는 설명할 필요도 없이 세상에 널리 사용되고 있습니다. 이 부분은 제가 덧붙일 필
요가 없을 정도입니다. 하지만, 리눅스의 내부가 어떻게 구성되어 있고, 어떤 방식으로 돌아가
고 있는지 깊이 아는 이는 드물 겁니다.
그간 제가 했던 일을 다시 생각해보면 리눅스 커널의 소스를 살펴보며 컴파일하거나, 임베디드
시스템을 구성하거나, 직접 서버를 구성하여 운영한 경험이 있습니다. 그렇게 나름 리눅스와
친밀하게 일해왔지만, 대학에서 배운 OS나 컴퓨터 구조 등과 연관 지어 리눅스에 대해 깊이 생
각해본 적은 별로 없습니다.
부끄럽게도 트러블슈팅도 대부분 구조를 이해했다기보다는, 남이 해결한 방식을 인터넷에서
찾아보고 그대로 적용해보는 수준에 그쳤었습니다. 게다가 그나마 따라 한 해결 방식을 제대로
이해하지 못했거니와 (남의 방식을 단순히 따라 해서 생기는) 오히려 더 많은 문제를 일으키기
도 했습니다.
다행스럽게도(?) 저는 시스템을 깊이 있게 알아야만 해결할 수 있는 문제를 마주칠 일은 적었
습니다. 제가 마주쳤던 문제는 그저 제 서버를 다시 설치하거나 코드를 롤백해서 처음부터 작
성하는 정도로 문제를 해결할 수 있었습니다.
하지만 여러분이 더 나은 개발자의 영역으로 발을 들이기 위해서는, 운이 좋든 나쁘든 남이 해
결한 방식으로는 해결할 수 없는 수많은 문제에 맞닥뜨리고 도전하고, 더해서 나만의 방식으로
해결해야 할 일이 언젠가는 반드시 생기게 될 것입니다.
이 책을 읽으며 여러분이 리눅스로 대표되는 OS(운영체제)의 구성 방식 및 어떻게 구현되었
나를 이해하기 시작한다면, 이 책을 만난 일이야말로 더 나은 개발자가 되기 위한 가장 중요한
첫걸음이 되리라 믿습니다.
모든 프로그래머가 이 책을 읽을 필요는 없습니다.
하지만 특히 리눅스와 연관된 분야에서 일하는 프로그래머 중에서 ‘여기가 왜 이렇게 되었을까’
하는 의문을 조금이라도 지니신 분들이라면 이 책이 그 의문을 풀기 위해 ‘내 코드의 어느 곳을
역자의 글
5
어떻게 봐야 할까’를 알아가는 데 충분히 도움이 되리라 생각합니다.
이 책의 저자, ‘다케우치 사토루’의 풍부한 교육 경험에 이론과 실전이 어우러진 실무 경력을 잘
녹여낸 덕에 이 책에는 이론과 실제 사이의 간극을 좁히고 나아가 이해할 수 있는 아주 좋은 내
용이 들어 있습니다. 다른 책에서는 이런 부분을 접하기 어려웠을 겁니다.
OS의 구조에 대해 조금 더 알고 개발하고자 하는 분들, 혹은 리눅스에 대해 조금이라도 깊이
있는 의문을 가져본 적이 있는 분들이라면 이 책을 읽어보시기를 적극적으로 권장합니다.
고맙습니다!
2019년 봄을 기다리며,
신준희 드림
목차
- 역자의 글
추천사
들어가기 전에
CHAPTER 1 컴퓨터 시스템의 개요
CHAPTER 2 사용자 모드로 구현되는 기능
____시스템 콜
____시스템 콜의 wrapper 함수
____표준 C 라이브러리
CHAPTER 3 프로세스 관리
____프로세스 생성의 목적
____fork() 함수
____execve() 함수
____종료 처리
CHAPTER 4 프로세스 스케줄러
____테스트 프로그램의 사양
____테스트 프로그램의 구현
____첫 번째 실험
____고찰
____컨텍스트 스위치
____프로세스의 상태
____상태 변환
____idle 상태
____여러 가지 상태 변환
____스루풋과 레이턴시
____실제 시스템
____논리 CPU가 여러 개일 때 스케줄링
____실험 방법
____두 번째 실험
____스루풋과 레이턴시
____고찰
____경과 시간과 사용 시간
____슬립을 사용하는 프로세스
____실제 프로세스
____우선순위 변경
CHAPTER 5 메모리 관리
____메모리의 통계 정보
____메모리 부족
____단순한 메모리 할당
____가상 메모리
____페이지 테이블
____실험
____프로세스에 메모리를 할당할 때
____실험
____고수준 레벨에서의 메모리 할당
____해결법
____가상 메모리의 응용
____파일 맵
____디맨드 페이징
____메모리 부족
____스왑
____계층형 페이지 테이블
____Huge Page
CHAPTER 6 메모리 계층
____캐시 메모리
____Translation Lookaside Buffer
____페이지 캐시
____동기화된 쓰기
____버퍼 캐시
____파일의 읽기 테스트
____파일의 쓰기 테스트
____튜닝 파라미터
____정리
____하이퍼스레드
CHAPTER 7 파일시스템
____리눅스의 파일시스템
____데이터와 메타데이터
____용량 제한
____파일시스템이 깨진 경우
____저널링
____Copy on Write
____그래도 깨지는 것을 막을 수 없는 경우
____파일시스템의 깨짐에 대한 대책
____파일의 종류
____캐릭터 장치
____블록 장치
____여러 가지 파일시스템
____메모리를 기반으로 한 파일시스템
____네트워크 파일시스템
____가상 파일시스템
____Btrfs
CHAPTER 8 저장 장치
____HDD의 데이터 읽기 쓰기의 동작 방식
____HDD의 성능 특성
____HDD의 테스트
____테스트 프로그램
____블록 장치 계층
____I/O 스케줄러
____미리 읽기
____테스트
____시퀀셜 접근
____랜덤 접근
____SSD의 동작 방식
____정리
____찾아보기
추천사
-
저자의 교육법은 매우 독특하고 늘 풍부한 도표와 설명을 더한 테스트 데이터를 그림으로 보여줍니다. 이런 그림과 데이터는 구체적이고도 간결하게 상황을 잘 설명해 이해를 돕습니다. 예를 들어 성능을 내기 위해 프로그램을 작성할 때 필수인 캐시 메모리를 설명할 때에는 동작 원리를 그림으로 나타낼 뿐만 아니라, 메모리와 캐시 메모리의 구체적인 속도 차이를 나타내는 그래프를 이용하기도 합니다. 이런 독특한 교육 방법으로 저자에게 배운 덕에 신입사원들도 프로그램을 짜면서 프로그램의 품질까지도 고려하는 개발자로 성장했습니다.
출판사 서평
[특징]
따라하며 OS의 작동방식을 이해해봅시다.
이 책에서는 컴퓨터 시스템을 구성하는 OS(운영체제, Operating System)나 하드웨어를 직접 다루며 어떻게 작동하는지를 알려줍니다. 실습을 진행하는 환경은 우분투 리눅스 16.04/x86_64입니다.
애플리케이션 개발자, 시스템 설계자, 지금 서비스를 운영하거나 벤더의 서버 엔지니어라면 이 책을 한 번 읽어 보길 권합니다. 단, 리눅스의 기본 명령어 정도는 아셔야 합니다.
책을 통해 OS나 하드웨어에 대한 이해도를 높이고 나면 다음과 같은 일이 가능합니다.
● 하드웨어 특성을 고려하여 소프트웨어를 개발할 수 있습니다.
● 시스템 설계 시 기준으로 삼을 지표가 무엇인지 알 수 있습니다.
● OS나 하드웨어 관련 오류를 대처할 수 있습니다.
ㆍ누구를 위한 책인가요?
현업에서 OS나 하드웨어 구조를 알고 프로그래밍 해야 하는 개발자와 리눅스 동작과 구조에 관심있는 학생, 벤더의 서버 엔지니어라면 이 책이 꼭 필요합니다.
기본정보
ISBN | 9791162241523 | ||
---|---|---|---|
발행(출시)일자 | 2019년 02월 20일 | ||
쪽수 | 304쪽 | ||
크기 |
183 * 235
* 27
mm
/ 553 g
|
||
총권수 | 1권 | ||
원서(번역서)명/저자명 | 試して理解LINUXのしくみ 實驗と圖解で學ぶOSとハ-ドウェアの基礎知識/武內覺 |
Klover 리뷰 (15)
구매 후 리뷰 작성 시, e교환권 200원 적립
사용자 총점
44%의 구매자가
도움돼요 라고 응답했어요
집중돼요
도움돼요
쉬웠어요
최고예요
추천해요
문장수집 (0)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
-
반품/교환방법
* 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900) -
반품/교환가능 기간
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내 -
반품/교환비용
-
반품/교환 불가 사유
(단지 확인을 위한 포장 훼손은 제외)
2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
3) 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등 -
상품 품절
-
소비자 피해보상 환불 지연에 따른 배상
2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)
기분 좋은 발견
이 분야의 베스트
이 분야의 신간
-
된다! 맥북&아이맥: 맥OS 세쿼이아 판10% 17,100 원
-
쉽게 배우는 리눅스: 우분투 실습을 통한 Linux 기초 다지기30,000 원
-
2025 이기적 리눅스마스터 2급 1·2차10% 25,200 원
-
쉽게 배우고 생활에 바로 쓰는 윈도우 1110% 12,600 원
-
이것이 우분투 리눅스다10% 32,400 원
주어가 생략되어있는 경우도 잦고
좀 아쉽네요