목차 일부
역자 서문 ... 6
서문 ... 15
1장 소개
리눅스와 다른 유닉스 계열 커널 비교 ... 24
하드웨어 의존성 ... 27
리눅스 버전 ... 29
운영체제의 기초 개념 ... 29
유닉스 파일 시스템 개요 ... 34
유닉스 커널의 개요 ... 41
2장 메모리 주소 지정
메모리 주소 ... 57
하드웨어 ...
더보기
목차 전체
역자 서문 ... 6
서문 ... 15
1장 소개
리눅스와 다른 유닉스 계열 커널 비교 ... 24
하드웨어 의존성 ... 27
리눅스 버전 ... 29
운영체제의 기초 개념 ... 29
유닉스 파일 시스템 개요 ... 34
유닉스 커널의 개요 ... 41
2장 메모리 주소 지정
메모리 주소 ... 57
하드웨어 세그먼테이션 ... 58
리눅스에서의 세그먼테이션 ... 63
하드웨어 페이징 ... 67
리눅스 페이징 ... 78
3장 프로세스
프로세스와 경량 프로세스. 스레드 ... 99
프로세스 디스크립터 ... 101
프로세스 전환 ... 121
프로세스 생성 ... 133
프로세스 끝내기 ... 144
4장 인터럽트와 예외
인터럽트 신호의 역할 ... 150
인터럽트와 예외 ... 151
예외 핸들러와 인터럽트 핸들러의 중첩 실행 ... 160
인터럽트 디스크립터 테이블 초기화 ... 162
예외 처리 ... 165
인터럽트 처리 ... 168
소프트 IRQ와 소작업 ... 187
작업 큐 ... 195
인터럽트와 예외에서 복귀 ... 198
5장 커널 동기화
커널이 요청을 서비스하는 방법 ... 205
동기화 원시 기법 ... 209
커널 자료 구조로의 접근 동기화 ... 232
경쟁 조건 방지의 예 ... 238
6장 타이밍 측정
클록와 타이머 회로 ... 244
리눅스 시간 관리 구조 ... 248
시간과 날짜 갱신 ... 256
시스템 통계 갱신 ... 257
소프트웨어 타이머와 지연 함수 ... 260
타이밍 측정 관련 시스템 콜 ... 268
7장 프로세스 스케줄링
스케줄링 정책 ... 275
스케줄링 알고리즘 ... 279
스케줄러가 사용하는 자료 구조 ... 283
스케줄러가 사용하는 함수 ... 286
멀티프로세서 시스템에서 실행 큐 부하 조절 ... 301
스케줄링 관련 시스템 콜 ... 306
8장 메모리 관리
페이지 프레임 관리 ... 311
메모리 영역 관리 ... 339
불연속적인 메모리 영역 관리 ... 358
9장 프로세스 주소 공간
프로세스의 주소 공간 ... 370
메모리 디스크립터 ... 371
메모리 구역 ... 375
페이지 폴트 예외 핸들러 ... 394
프로세스 주소 공간의 생성과 제거 ... 409
힙 관리 ... 412
10장 시스템 콜
POSIX API와 시스템 콜 ... 415
시스템 콜 핸들러와 서비스 루틴 ... 416
시스템 콜로의 진입과 복귀 ... 418
매개 변수 전달 ... 425
커널 래퍼 루틴 ... 434
11장 시그널
시그널의 역할 ... 437
시그널 발생 ... 449
시그널 배달 ... 455
시그널 처리 관련 시스템 콜 ... 466
12장 가상 파일 시스템
가상 파일 시스템의 역할 ... 473
VFS 자료 구조 ... 479
파일 시스템 유형 ... 496
파일 시스템 다루기 ... 499
경로명 탐색 ... 510
VFS 시스템 콜 구현 ... 519
파일 락킹 ... 524
13장 입출력 아키텍처와 디바이스 드라이버
입출력 아키텍처 ... 533
디바이스 드라이버 모델 ... 539
장치 파일 ... 548
디바이스 드라이버 ... 552
문자 장치 드라이버 ... 564
14장 블록 장치 드라이버
블록 장치 다루기 ... 571
일반 블록 계층 ... 577
입출력 스케줄러 ... 582
블록 장치 드라이버 ... 594
블록 장치 파일 열기 ... 603
15장 페이지 캐시
페이지 캐시 ... 608
페이지 캐시에 블록 저장하기 ... 619
디스크에 더티 페이지 쓰기 ... 629
sync(), fsync(), fdatasync() 시스템 콜 ... 635
16장 파일 접근
파일 읽기와 쓰기 ... 638
메모리 매핑 ... 659
직접 입출력 전송 ... 669
비동기 입출력 ... 671
17장 페이지 프레임 회수
페이지 프레임 회수 알고리즘 ... 677
역 매핑 ... 681
PFRA 구현 ... 689
스와핑 ... 710
18장 EXT2, EXT3 파일 시스템
Ext2의 일반적인 특징 ... 735
Ext2 디스크 자료 구조 ... 738
Ext2 메모리 자료 구조 ... 746
Ext2 파일 시스템 생성 ... 749
Ext2 메소드 ... 751
Ext2 디스크 공간 관리 ... 753
Ext3 파일 시스템 ... 762
19장 프로세스 통신
파이프 ... 772
FIFO ... 782
시스템 V IPC ... 784
POSIX 메시지 큐 ... 799
20장 프로그램 실행
실행 파일 ... 802
실행 파일 형식 ... 816
실행 도메인 ... 818
exec 계열 함수 ... 819
부록 A 시스템 시작
선사 시대 : BIOS ... 825
고대 시대 : 부트 로더 ... 827
중세 시대 : setup() 함수 ... 828
르네상스 : startup_32() 함수 ... 830
근대 시대 : start_kernel() 함수 ... 831
부록 B 모듈
모듈로 만들 것인가 말 것인가 ... 833
모듈 구현 ... 835
모듈의 링크와 언링크 ... 838
요청할 때 모듈 링크하기 ... 840
참고문헌 ... 843
찾아보기 ... 847
더보기 닫기