HOME > 상세정보

상세정보

OS 제작의 정석

OS 제작의 정석 (34회 대출)

자료유형
단행본
개인저자
오재준 오재준
서명 / 저자사항
OS 제작의 정석 / 오재준 저.
발행사항
서울 :   가남사 ,   2001.  
형태사항
558 p. : 삽도 ; 26 cm.
ISBN
8973542710
일반주기
부록: 기계어 코드 테이블  
색인수록  
000 00580namccc200229 k 4500
001 000000701345
005 20100806103123
007 ta
008 010416s2001 ulka 001a kor
020 ▼a 8973542710 ▼g 03000 : ▼c \18000
040 ▼a 211009 ▼c 211009
049 1 ▼l 111182965 ▼f 개가
082 0 4 ▼a 005.43 ▼2 21
090 ▼a 005.43 ▼b 2001c
100 1 ▼a 오재준
245 1 0 ▼a OS 제작의 정석 / ▼d 오재준 저.
260 ▼a 서울 : ▼b 가남사 , ▼c 2001.
300 ▼a 558 p. : ▼b 삽도 ; ▼c 26 cm.
500 ▼a 부록: 기계어 코드 테이블
500 ▼a 색인수록
700 1 ▼a 오재준

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.43 2001c 등록번호 111182965 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.43 2001c 등록번호 151102031 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.43 2001c 등록번호 111182965 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.43 2001c 등록번호 151102031 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

운영체제의 구축에 관심이 있는 프로그래머나 관련 전공자들을 위한 책이다. 부트 섹터 제작하기부터 주변장치, 파일 시스템 관리, 응용 프로그램 개발까지 OS 개발을 위해 필요한 사항들을 폭넓게 소개하였다.


정보제공 : Aladin

저자소개

오재준(지은이)

<OS 제작의 정석>

정보제공 : Aladin

목차


목차
머리말
제1장 Bellona2 커널의 개요
 1.1 들어가기에 앞서 = 14
 1.2 Bellona2는 어떻게 만들어졌나? = 15
 1.3 주요 기능 = 20
 1.4 당부의 말씀 = 24
제2장 Bellona2 커널 이미지
 2.1 커널 이미지 = 28
  2.1.1 어떤 언어를 선택할 것인가? = 28
  2.1.2 커널의 컴파일/링크 옵션 = 29
 2.2 부트 이미지 만들기 = 33
  2.2.1 부트 이미지 생성 프로그램 = 34
 2.3 커널 이미지 로더 = 37
  2.3.1 커널 이미지로의 제어 이행 = 42
 2.4 커널 이미지 재배치 = 44
  2.4.1 섹션의 재배치 = 46
  2.4.2 PE 파일의 섹션 헤더 = 46
  2.4.3 주소의 재배치 = 49
  2.4.4 재배치 정보 = 50
  2.4.5 커널 이미지 배치 구조 = 53
 2.5 부트 섹터 = 55
 2.6 요약 = 60
제3장 주변장치 다루기
 3.1 화면 출력 = 64
  3.1.1 단순한 형태가 가장 좋다. = 65
  3.1.2 printf 함수 만들기 = 66
  3.1.3 커서 옮기기 = 68
 3.2 키보드 = 69
  3.2.1 간단한 키보드 인터럽트 핸들러 = 71
  3.2.2 스캔 코드 처리 방법 = 73
  3.2.3 키보드 LED 변경 = 85
 3.3 하드디스크 = 88
  3.3.1 초창기 IDE 하드디스크의 용량 제한 = 89
  3.3.2 LBA(Logical Block Address) = 90
  3.3.3 하드디스크의 물리적 정보 인식 = 91
  3.3.4 하드디스크를 액세스하기 위한 레지스터들 = 100
  3.3.5 섹터 읽어들이기 = 102
 3.4 플로피디스크 = 106
  3.4.1 플로피디스크의 접근 계층 = 107
  3.4.2 플로피디스크의 접근 방법 = 108
  3.4.3 트랙 읽기 = 114
  3.4.4 IRQ 6 = 119
 3.5 타이머 = 121
  3.5.1 타이머 인터럽트의 발생 간격 조정 = 121
  3.5.2 Bellona2 커널의 타이머 인터럽트 핸들러 = 123
 3.6 CD-ROM 드라이브 = 126
  3.6.1 CD-ROM에 접근하기 위한 레지스터들 = 127
  3.6.2 CD-ROM 드라이브로부터 제품 번호와 일련 번호 구하기 = 129
  3.6.3 ATAPI 전송 프로토콜 = 134
  3.6.4 CD-ROM의 용량 알아내기 = 136
제4장 디바이스 드라이버
 4.1 블록 디바이스 드라이버 = 142
  4.1.1 일관성 있는 접근 방법 제공 = 142
  4.1.2 내장형 드라이버와 동적 드라이버 = 143
  4.1.3 블록 디바이스, 블록 디바이스 드라이버, 그리고 저장매체 = 144
  4.1.4 블록 디바이스 드라이버 인식 번호 = 145
  4.1.5 블록 디바이스 표준 함수 = 147
  4.1.6 블록 디바이스 구조체 = 149
  4.1.7 블록 디바이스 드라이버 관련 함수 = 153
  4.1.8 램 디스크 드라이버 = 155
  4.1.9 플로피디스크 드라이버 = 163
  4.1.10 하드디스크 드라이버 = 174
  4.1.11 하드디스크 파티션 디바이스 드라이버 = 182
  4.1.12 블록 디바이스 드라이버 요약 = 187
 4.2 문자 디바이스 드라이버 = 188
  4.2.1 문자 디바이스 드라이버의 개요 = 188
  4.2.2 키보드 디바이스 드라이버 = 194
  4.2.3 시리얼 포트 디바이스 드라이버 = 197
  4.2.4 표준 출력 디바이스 드라이버 = 207
제5장 파일 시스템
 5.1 가상 파일 시스템 = 211
  5.1.1 가상 파일 시스템의 개념 = 211
  5.1.2 가상 파일 시스템을 표현하기 위한 구조체 = 212
 5.2 파일 시스템 캐시 매니저 = 214
  5.2.1 캐시를 두는 이유 = 214
  5.2.2 해시 테이블 = 215
  5.2.3 캐시 매니저와 해시 인덱스를 표현하기 위한 구조체 = 217
 5.3 파일 관리를 위한 노드 구조체 = 219
  5.3.1 Vnode의 개요 = 219
  5.3.2 Vnode 구조체 = 220
  5.3.3 Vnode 해시 = 222
  5.3.4 파일 시스템 고유 데이터 = 223
 5.4 루트 파일 시스템과 파일 시스템의 마운트 = 224
  5.4.1 마운트의 개요 = 224
  5.4.2 루트 파일 시스템 = 225
  5.4.3 파일 시스템의 테스트 = 225
 5.5 파일 시스템의 초기화 = 226
 5.6 FAT32 파일 시스템 = 227
  5.6.1 FAT 파일 시스템 = 227
  5.6.2 FAT32 자료구조 = 228
  5.6.3 FAT32 파일 시스템의 마운트 과정 = 231
  5.6.4 FAT32 파일 시스템의 디렉토리 엔트리 = 237
 5.7 파일 디스크립터 = 242
 5.8 파일 관련 함수 = 244
  5.8.1 파일 오픈하기 = 244
  5.8.2 파일 읽기 = 248
  5.8.3 파일 닫기 = 251
  5.8.4 파일명 변경 = 253
 5.9 FAT12 파일 시스템의 인식 = 255
 5.10 FAT16 파일 시스템의 인식 = 257
 5.11 윈도우 상에서의 파일 시스템 테스트 = 258
 5.12 표준 입력, 표준 출력, 표준 에러 핸들 = 261
 5.13 파일 시스템 구현에 있어서 아쉬운 점 = 264
제6장 메모리 관리
 6.1 페이징 = 266
  6.1.1 페이징의 장점 = 266
  6.1.2 페이징 기능 활성화 = 268
  6.1.3 페이지 디렉토리와 페이지 테이블 = 269
 6.2 물리 메모리 = 272
  6.2.1 물리 메모리 크기 구하기 = 272
  6.2.2 물리 메모리 관리 테이블 = 273
 6.3 메모리 = 277
  6.3.1 메모리 모델의 종류 = 277
  6.3.2 Bellona2 커널의 메모리 모델 = 281
 6.4 가상 주소 공간의 관리 = 283
 6.5 메모리 블록의 단편화 = 285
 6.6 메모리의 할당과 해제시 고려해야 할 사항 = 288
 6.7 메모리 할당 방법 = 290
  6.7.1 메모리 풀 = 290
  6.7.2 메모리 블록 관련 자료구조 = 293
 6.8 kmalloc과 kfree 함수 = 297
 6.9 공유 메모리 = 302
  6.9.1 공유 메모리의 개요 = 302
  6.9.2 공유 메모리를 이용한 예제 프로그램 = 307
 6.10 Bellona2 커널의 메모리 관리 시스템 요약 = 310
 6.11 향후 보강이 필요한 부분 = 311
제7장 프로세스 관리
 7.1 프로세스와 쓰레드 = 314
 7.2 다중 쓰레드 모델 = 315
 7.3 멀티태스킹 = 317
 7.4 스케줄링 = 319
 7.5 프로세스의 주소 공간 = 322
 7.6 프로세스를 표현하기 위한 자료구조 = 324
 7.7 쓰레드를 위한 스택 = 327
 7.8 쓰레드를 표현하기 위한 자료구조 = 332
 7.9 쓰레드의 상태 변화 = 335
 7.10 이벤트와 웨이트 오브젝트 = 337
 7.11 타임아웃 오브젝트 = 344
 7.12 프로세스와 쓰레드에 관련된 구조체의 상관관계 = 350
 7.13 프로세스와 쓰레드의 생성 = 351
 7.14 프로세스와 쓰레드의 종료 = 356
 7.15 init 쓰레드 = 359
 7.16 응용 프로그램에서 쓰레드의 생성과 종료 = 361
 7.17 태스크 스위칭 = 367
 7.18 시그널 = 373
 7.19 세마포어 = 380
제8장 동적 모듈
 8.1 동적 모듈과 응용 프로그램과의 차이점 = 396
 8.2 동적 모듈 구조체(ModuleStt) = 397
 8.3 외부 모듈과 함수 공유 = 400
 8.4 외부 함수 호출 절차 = 404
 8.5 동적 모듈의 로딩 = 407
 8.6 동적 모듈의 언로딩 = 410
 8.7 동적 모듈 예제 = 411
제9장 커널 디버거
 9.1 디버거의 개요 = 416
  9.1.1 에러의 종류 = 417
  9.1.2 디버거가 있는 경우와 없는 경우 = 418
  9.1.3 디버거가 갖추어야 할 기본적인 기능 = 418
  9.1.4 가장 원시적인 디버깅 수단 = 420
  9.1.5 디버거가 디버거를 디버깅해(?) = 421
  9.1.6 소스 레벨 디버깅 = 421
 9.2 하드웨어적인 디버깅 지원 = 422
  9.2.1 디버깅 지원 수단 = 423
  9.2.2 디버그 레지스터 = 424
  9.2.3 디버그 인터럽트 = 426
  9.2.4 페이지 폴트 = 428
 9.3 Bellona2 커널 디버거의 주요 기능 = 432
  9.3.1 브레이크 포인트 설정 = 433
  9.3.2 역어셈블 = 440
  9.3.3 어셈블 = 462
 9.4 커널 디버거의 명령어 = 469
제10장 응용 프로그램
 10.1 컴파일과 링크 옵션 = 484
 10.2 프로그램 로더 = 487
 10.3 프로그램 내부 구조 = 495
 10.4 재배치 엔트리 처리 = 502
 10.5 프로그램의 디버깅 정보 = 505
 10.6 응용 프로그램 제작을 위한 라이브러리 = 514
 10.7 시스템 콜 = 516
제11장 Bellona2 커널로 시스템 부팅하기
 11.1 부팅 디스크의 제작 = 526
 11.2 실행 환경 = 530
 11.3 명령어 = 530
  11.3.1 부팅하기 = 530
  11.3.2 디버깅 정보 로딩 = 532
  11.3.3 도움말 = 533
  11.3.4 쓰레드 다루기 = 535
  11.3.5 프로세스 다루기 = 538
  11.3.6 역어셈블 명령 = 539
  11.3.7 커널 디버거 관련 명령 = 540
  11.3.8 메모리 덤프 = 542
  11.3.9 커널 내의 자료구조 살펴보기 = 543
  11.3.10 디바이스 드라이버 리스트 출력 = 545
  11.3.11 파일 시스템 관련 명령 = 546
  11.3.12 히든 카드? = 547
 11.4 맺음말 = 547
부록 : 기계어 코드 테이블
 1바이트 기계어 코드 테이블 = 550
 2바이트 기계어 코드 테이블 = 552
찾아보기 = 554


관련분야 신착자료

Burns, Brendan (2023)
김성기 (2023)