컨텐츠상세보기

실습과 그림으로 배우는 리눅스 구조
실습과 그림으로 배우는 리눅스 구조
  • 저자<다케우치 사토루> 저/<신준희> 역
  • 출판사한빛미디어
  • 출판일2019-02-20
  • 등록일2019-05-17
보유 2, 대출 0, 예약 0, 누적대출 79, 누적예약 1

책소개

[개발자 레벨업 프로젝트] OS의 구조를 들여다 보자!

스마트폰에서 클라우드까지, IT 산업 곳곳에서 리눅스가 보인다. 이렇게 산업과 생활 전반에 걸쳐 사용하는 OS는 어떻게 움직일까? 이 책은 컴퓨터 시스템을 구성하는 운영체제를, 그중 가장 많이 사용하는 리눅스를 예로 들어 설명했다. 단순히 읽고 넘어가지 않고 스스로 실습해보며 동작 원리를 익힐 수 있으며, 프로그래머, 시스템 설계자 등 대부분의 개발자에게 꼭 필요한 지식을 담았다. 이 책을 통해 소프트웨어와 하드웨어의 상호작용을 이해하자. 그다음, 책에서 배운 운영체제 전체 구성, 프로세스, 메모리 등에 대한 이해를 바탕으로 프로그램을 개발한다면 소프트웨어 신뢰도를 확보하는 동시에 성능 최적화까지도 도전할 수 있다.

저자소개

2005년부터 2017년까지 후지츠(주)에서 엔터프라이즈용 리눅스, 그중 특히 커널 개발과 서포트 일을 주로 했다. 2017년부터는 사이보우즈(주)에서 기술고문으로 일하고 있다.

목차

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의 동작 방식 
____정리 

____찾아보기