책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 리눅스/유닉스 프로그래밍
· ISBN : 9788909150552
· 쪽수 : 398쪽
목차
Overview 운영체제의 과거, 현재, 미래
0.1 운영 체제의 발달
0.2 리눅스의 역사
0.3 리눅스의 미래
Chapter 1. 리눅스 커널의 구조
1.1 리눅스 운영 체제의 구조
1.1.1 마이크로 커널 Mach
1.1.2 모놀리딕 커널 Linux Kernel
1.2 리눅스 커널의 소스 구조
1.3 리눅스 커널 프로그래밍을 위해 알아두어야 할 사항
1.3.1 커널 프로그래밍에 필요한 언어
1.3.2 커널 프로그래밍에 필요한 제반 사항
1.3.3 커널 프로그래밍 환경의 특징
1.4 리눅스 커널의 컴파일 방법
1.5 커널 코드 분석 및 테스트 방법
Chapter 2. 시스템 콜의 이해
2.1 시스템 콜이란?
2.2 시스템 콜의 수행 흐름
2.3 시스템 콜의 구현 방법
2.3.1 커널 내 시스템 콜의 구현
2.3.2 모듈 프로그래밍(시스템 콜 모듈 구성)
2.4 시스템 콜 구현 프로젝트
2.4.1 My_CPU_Info() 시스템 콜 구현 문제 및 풀이
2.4.2 MySystemLoadInfo() 구현 문제
Chapter 3. 운영 체제와 하드웨어
3.1 인터럽트와 예외
3.1.1 인터럽트와 예외란
3.1.2 인터럽트와 수행 과정
3.1.3 인터럽트 지연 처리
3.2 시그널
3.2.1 시그널이란?
3.2.2 시그널 자료 구조
3.2.3 시그널의 전달 과정
3.3. 커널 동기화
3.3.1 커널 동기화(Synchronization)의 필요성
3.3.2 Atomic operation
3.3.3 Locking
3.3.4 Interrupt Disabling
3.4 시간 관리
3.5 초정밀 시간 측정 기능 구현 프로젝트
Chapter 4. 프로세스와 스케줄링
4.1 전반적인 프로세스 수행 방식
4.2 프로세스
4.2.1 test_struct 구조체 분석
4.2.2 프로세스 생성과 실행 및 종료
4.3 스케줄링
4.3.1 리눅스 스케줄링 정책
4.3.2 프로세스 스위칭
4.4 User Sharing Scheduling 구현 프로젝트
Chapter 5. 리눅스 메모리 관리
5.1 메모리 주소 공간의 이해
5.2 요구 페이징
5.3 스와핑
5.4 Process Virtual Information 구현 프로젝트
Chapter 6. 리눅스 파일 시스템
6.1 파일 시스템의 개요
6.2 리눅스 파일 시스템의 구조
6.3 가상 파일 시스템의 구조
6.4 ext2 파일 시스템
6.4.1 가상 파일 시스템과 ext2 파일 시스템
6.4.2 파일 시스템의 캐시 구조
6.4.3 파일 시스템의 수행 흐름
6.5 ext3 파일 시스템
6.6 proc 파일 시스템
6.6.1 procfs 관리
6.6.2 사용자 영역과 커널과의 소통
6.7 sinceboot 구현 프로젝트
Chapter 7. 리눅스 네트워크 시스템
7.1 TCP/IP
7.2 리눅스 네트워크 구조
7.3 리눅스의 네트워크 관련 주요 자료 구조
7.4 데이터 송수신
7.5 Packet Filter 구현 프로젝트
Chapter 8. 리눅스 운영 체제와 최신 운영 체제
8.1 리눅스 커널의 전반적인 구조
8.2 마이크로 커널의 역사
8.3 초소형 운영 체제 : Tiny OS
8.3.1 Tiny OS의 특징
8.3.2 Tiny OS의 작성 언어 - nesC
8.3.3 TOSSIM 시뮬레이터
8.4 Tiny OS 설치 및 응용 프로그램 작성 방법
8.4.1 Tiny OS 인스통
8.4.2 응용 프로그램 작성 방법
부록
A. 리눅스 네트워크 송수신 관련 커널 코드 분석
B. 일반적인 인터럽트 처리 루틴에 대한 커널 코드 분석
C. 네트워크에 초점을 맞춘 커널 초기화 커널 코드 분석
D. 일반적인 시스템 콜 및 시그널 종류