HOME > 상세정보

상세정보

UNIX/LINUX 커널의 설계 및 구현

UNIX/LINUX 커널의 설계 및 구현 (49회 대출)

자료유형
단행본
개인저자
이형봉
서명 / 저자사항
UNIX/LINUX 커널의 설계 및 구현 / 이형봉 저.
발행사항
서울 :   홍릉과학출판사 ,   2001.  
형태사항
355 p. : 삽도 ; 26 cm.
기타표제
운영체제의 이론과 실제
ISBN
8972831794
일반주기
색인수록  
000 00683namccc200229 k 4500
001 000000702413
005 20100806104143
007 ta
008 010424s2001 ulka 001a kor
020 ▼a 8972831794 ▼g 03000 : ▼c \15000
040 ▼a 211009 ▼c 211009 ▼d 211009
049 1 ▼l 111183307 ▼f 개가 ▼l 121052992 ▼f 과학 ▼l 121052993 ▼f 과학
082 0 4 ▼a 005.43 ▼2 21
090 ▼a 005.43 ▼b 2001d
100 1 ▼a 이형봉 ▼0 AUTH(211009)17034
245 1 0 ▼a UNIX/LINUX 커널의 설계 및 구현 / ▼d 이형봉 저.
246 1 3 ▼a 운영체제의 이론과 실제
260 ▼a 서울 : ▼b 홍릉과학출판사 , ▼c 2001.
300 ▼a 355 p. : ▼b 삽도 ; ▼c 26 cm.
500 ▼a 색인수록
940 ▼a 유닉스 리눅스 커널의 설계 및 구현

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/보존서고1(동양서)/ 청구기호 005.43 2001d 등록번호 121052992 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고)/ 청구기호 005.43 2001d 등록번호 111183307 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.43 2001d 등록번호 151100236 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/보존서고1(동양서)/ 청구기호 005.43 2001d 등록번호 121052992 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고)/ 청구기호 005.43 2001d 등록번호 111183307 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실(5층)/ 청구기호 005.43 2001d 등록번호 151100236 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

이 책은 유닉스나 리눅스 커널을 완전하게 정복하고자 하는 운영체제 매니아들을 위해 쓰여졌다. 3부로 나누어 있으며 제1부는 UNIX 커널의 생성 및 부팅, 그리고 메모리 관리, 제2부는 프로세스 관리 및 IPC, 마지막으로 제3부는 입출력 내용으로 구성되어 있다.

제1부와 2부는 I권에 묶어 이번에 출판되었으며, 제3부는 II권으로 곧 출판될 예정. 이 책은 지금까지 유닉스/리눅스 시스템을 자주 사용하면서 내부적인 동작방식에 많은 호기심을 가진 사람들에게 유익할 것이다.


정보제공 : Aladin

저자소개

이형봉(지은이)

<UNIX / LINUX 커널의 설계 및 구현>

정보제공 : Aladin

목차


목차

제1부 UNIX 커널의 생성 및 부팅, 그리고 메모리 관리

 1장 UNIX 커널의 생성 및 부팅 = 13

  1.1 UNIX 커널의 생성 및 장착 = 13

 2장 어드레스 매핑기법 = 17

 3장 기본적인 커널 매핑 테이블 작성(physicla mode) = 21

  3.1 bootstrap 과정 = 21

  3.2 MC68000 계열의 경우(_start()) = 23

  3.3 WE32000 계열의 경우(pstart()) = 29

 4장 메모리 관리를 위한 메모리 풀(pool)의 구성(virtual mode) = 35

  4.1 커널 virtual 어드레스 풀의 구성 = 36

  4.2 물리 메모리 페이지 풀의 구성(mlsetup()) = 45

 5장 프로세스 스위칭 모드(time sharing mode)로의 전환 = 49

  5.1 프로세스 0(shed() : 메모리 스케줄러)을 위한 초기화(pOinit()) = 50

  5.2 프로세스 0의 탄생 = 51

  5.3 "u" block("u" area)의 교체 = 53

   5.3.1 MC68000 계열의 경우 = 53

   5.3.2 WE32000 계열의 경우 = 54

 6장 a.out 포맷 = 57

  6.1 a.out의 포맷 = 58

  6.2 text, data, bss section = 62

 7장 프로세스 이미지 관리 = 65

  7.1 프로세스 이미지의 공유 = 65

  7.2 region 테이블과 pregion 테이블 = 66

  7.3 프로세스 이미지와 pregion, region, 그리고 page 테이블 = 67

  7.4 page 테이블(PDT : Page Descriptor Table)의 할당 = 70

  7.5 pregion 테이블과 region 테이블의 할당 = 74

  7.6 region 관리를 위한 유틸리티 함수 = 76

  7.7 attachreg(), growreg(), loadreg() 함수 = 81

  7.8 Disk Block Descriptor(DBD) = 85

  7.9 mapreg()과 loadreg() 함수 = 88

   7.9.1 magic number 0410 타입 = 88

   7.9.2 magic number 0413 타입 = 89

 8장 메모리 스케줄링(memory scheduling) = 93

  8.1 swapping의 종류 = 93

  8.2 swap device = 94

  8.3 swapping을 위한 준비 = 99

  8.4 swapping out = 102

  8.5 getpages() 함수 = 109

  8.6 primary swapper(sched() : 메모리 스케줄러) = 115

  8.7 secondary swapper(vhand() : page stealer) = 123

 9장 page fault(swapping in) = 129

  9.1 exception & interrupt = 129

   9.1.1 WE32000 계열의 경우 = 129

   9.1.2 MC68000 계열의 경우 = 130

  9.2 translation fault(swapping in) = 131

  9.3 protection fault = 133

  9.4 page의 free = 135

 10장 메모리 관리와 관련된 시스템 콜 = 139

  10.1 fork() 시스템 콜 = 139

  10.2 exec() 시스템 콜 = 149

  10.3 brk() 시스템 콜 = 161

2부 프로세스 관리 및 IPC

 11장 WE32000 계열의 interrupt, trap 메커니즘 = 165

  11.1 Process Control Block(PCB) = 165

  11.2 CALLPS, RETPS instruction과 %pcbp, %r0 그리고 인터럽트 스택(%isp) = 166

  11.3 GATE, RETG instruction과 gate 테이블 = 168

  11.4 reset exception, process exception, stack exception = 170

  11.5 interrupt = 170

  11.6 모드 전환(유저 모드, 커널 모드) = 171

  11.7 시스템 콜과 normal exception = 172

 12장 WE32000 계열의 프로세스 스위칭 기법 = 175

  12.1 프로세스 스위칭의 원인 = 175

  12.2 runrun 플래그 = 176

  12.3 프로세스 스위칭(process context switching) = 178

  12.4 스위칭의 예 : 시스템 콜 수행도중 스스로 CPU를 반납하는 경우 = 179

  12.5 시스템 콜 과정과 스위칭 = 181

  12.6 normal exception과 스위칭 = 187

  12.7 clock interrupt와 스위칭 = 190

  12.8 stack exception과 스위칭 = 194

  12.9 스스로 스위칭을 원하는 경우(setch()) = 199

  12.10 pswtch() 루틴 = 201

  12.11 setrq() 루틴 = 203

 13장 MC68000 계열의 인터럽트, 트랩 매커니즘 = 205

  13.1 exception vector table = 205

  13.2 exception 발생시의 stack frame format = 207

  13.3 RTE instruction = 208

  13.4 MOVEM instruction = 208

  13.5 인터럽트 처리루틴 = 211

  13.6 시스템 콜 및 트랩 처리루틴 = 213

 14장 MC68000 계열의 스위칭 기법 = 219

  14.1 context save = 220

  14.2 context restore & resume = 221

  14.3 스위칭 루틴(swtch(),qswtch()) = 224

 15장 프로세스의 수명주기 = 229

  15.1 프로세스의 탄생 = 229

   15.1.1 WE32000 계열의 경우 = 233

   15.1.2 MC68000 계열의 경우 = 234

  15.2 최초의 유저 프로세스 이미지(icode) = 236

   15.2.1 WE32000 계열의 경우 = 237

   15.2.2 MC68000 계열의 경우 = 240

  15.3 프로세스의 상태 = 242

 16장 프로세스 우선순위(priority) = 247

  16.1 프로세스 priority와 관련된 proc 테이블의 엔트리 = 247

  16.2 프로세스 priority의 계산 = 249

 17장 프로세스 스케줄링(dispatch) = 253

  17.1 disp() 함수 = 253

  17.2 프로세스 스케줄링 시나리오 = 255

 18장 sleep과 wake up = 259

  18.1 자원의 공유 및 프로세스의 동기화 = 259

  18.2 sleep과 wake up 사이의 매개체 = 261

  18.3 sleep과 system priority = 262

  18.4 setjmp()와 longjmp() 함수 = 266

  18.5 sleep() 함수 = 268

  18.6 wakeup() 함수 = 271

 19장 signal(신호) = 273

  19.1 signal의 유형 = 273

  19.2 signal의 전송과 proc 테이블의 p_sig 엔트리 = 276

  19.3 proc 테이블의 p_hold와 p_chold 엔트리 = 277

  19.4 psignal() 함수 = 278

  19.5 signal에 대한 대응처리 (issig()와 psig() 함수) = 278

   19.5.1 WE32000 계열의 경우 = 282

   19.5.2 MC68000 계열의 경우 = 284

 20장 signal과 관련된 시스템 콜 1 = 287

  (signal(), sigset(), sighold(), sigrelse(), siginore(), sigpause()) = 287

 21장 signal과 관련된 시스템 콜 2 (kill()) = 291

  21.1 real user(group) id와 effective user(group) id = 291

  21.2 process group id = 294

  21.3 kill() 시스템 콜 = 296

  21.4 signal() 함수 = 296

 22장 signal과 관련된 시스템 콜 3 (wait(), exit()) = 299

  22.1 parent-child-sibling 리스트 = 299

  22.2 exit() 시스템 콜 = 301

  22.3 wait() 시스템 콜 = 304

  22.4 wait() 시스템 콜의 리턴 값 = 305

  22.5 freeproc() 함수 = 307

 23장 IPC(Inter Precess Communication) = 310

  23.1 공유 자원을 사용하는 절차 = 310

  23.2 공유 자원의 설정(ipcget() 함수) = 311

  23.3 공유 자원의 id 관리 = 312

  23.4 shared memory = 315

   23.4.1 shared memory의 설정 = 315

   23.4.2 shared memory의 attach = 317

   23.4.3 shared memory의 datach = 319

   23.4.4 shared memory의 free(취소) = 320

   23.4.5 shared memory와 관련된 시스템 콜 = 322

  23.5 message queues = 322

   23.5.1 message queues의 설정 = 323

   23.5.2 message의 send = 323

   23.5.3 message의 receive = 325

   23.5.4 message queues의 free(취소) = 327

   23.5.5 커널 내의 message buffer = 328

   23.5.6 message queues와 관련된 시스템 콜 = 329

  23.6 semaphore = 329

   23.6.1 semaphore의 설정 = 330

   23.6.2 semaphore 값의 초기화 = 331

   23.6.3 semaphore operation = 331

   23.6.4 on exit entry의 구성 = 335

   23.6.5 semaphore의 free(취소) = 337

   23.6.6 semaphore operation의 atomicity(원자성) = 337

그림 색인 = 339

색인 = 343



관련분야 신착자료

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