나에게 필요한 지식과 기술을 검색해 보세요.

만들면서 배우는 OS 커널의 구조와 원리

지은이

김범준

출간일

2005.03.16

레벨

중고급

평점

4.4(10명)

정가

22,000

판매가

19,800

총 결제 금액

10%

19,800

적립 예정

990P

쪽수

456쪽

ISBN

8979143257

브랜드

한빛미디어

도대체 커널 책은 왜 그리 어려운가?

이 책의 가장 큰 목적은 방대한 커널을 이해하기 위한 토대를 마련해주는 것이다. 소프트웨어 개발자는 HelloWorld 소스코드를 컴파일하고 실행하는 것으로 시작한다. 그리고 하드웨어 개발자는 8비트 컴퓨터 회로를 제작하는 것으로 시작한다. 이처럼 커널 학습도 작은 커널을 자신이 직접 만들어 보며 배경지식을 습득하는 것으로 시작하여 방대한 OS의 커널에 도전해야 더욱 빠르고 수월하게 목표에 도달할 수 있을 것이다.
직접 만들어보며 OS 커널의 원리를 깨닫는다
HelloWorld 수준의 커널에서 핵심 기능을 단계별로 추가
Real Mode의 부트코드에서 메모리 페이징 기능까지
누구나 어셈블리어로 커널을 확장 개발해보고 시험해볼 수 있게 구성

어셈블리어와 C를 활용한 커널 프로젝트
인터럽트, 태스크 관리, 페이징 기능을 갖춤
[주요내용]
  • 부트스트랩 : 화면에 문자를 출력하는 부트코드 작성
  • 커널 로드 : 리눅스의 LILO와 같은 부트코드 제작
  • Protected Mode 커널 프로그램 작성과 이해 : Real Mode에서 Protected Mode로 전환
  • 인터럽트 예외 : 인터럽트 핸들러가 포함된 커널 제작
  • Task Switching : 스위칭 기능의 이해와 구현(TSS 등)
  • 보호 : 특권레벨에 관한 이해(CPL, DPL, RPL, 콜게이트)
  • 유저모드 Task Switching : 다수의 애플리케이션을 실행하는 커널 제작
  • 페이징 : 메모리 페이징 기능의 구현 및 개념의 이해
  • C 언어와 어셈블리어를 활용한 커널 프로젝트 : C와 어셈블러의 링크 방법 학습과 이를 활용한 통합 커널 제작
"나에게 또 다시 운영체제를 만들고 싶은 욕구를 불러 일으키는 책이다. i386이라는 프로세서에 대한 자세한 설명(정말 자세하다)과 운영체제를 만들고 실습할 수 있도록 설명하는 샘플소스와 시험 방식에 대한 설명은 자신만의 운영체제를 만들고 싶어 하는 사람들에게 어떻게 커널을 만들고 실험할 수 있는지를 안내해 주는 등불과도 같은 역할을 하리라 생각된다."
- 유영창("IT EXPERT 리눅스 디바이스 드라이버" 저자)


저자

목차

시작하기 전에 준비해야 할 것들
1. NASM 다운로드
2. NASM 환경 변수 추가
3. Rawrite 툴 다운로드

제1장  부트스트랩
1. OS 없이 프로그램을 실행시킨다
2. boot.txt 프로그램 소스의 해설

제2장  커널을 로드한다.
1. 부트로더와 커널 프로그램 작성
2. 실행
3. 소스 해설

제3장  Protected Mode로 변환
1. 커널 프로그램의 작성
2. 16비트 Real Mode
3. Protected Mode
4. GDT
5. Protected Mode의 주소 지정 방법	
6. 16비트 Real Mode에서 32비트 Protected Mode로 이동

제4장  인터럽트와 예외
1. 실행
2. IDT 만들기
3. PIC의 초기화
4. 타이머 인터럽트 핸들러 구현
5. 키보드 인터럽트 핸들러 구현
6. 예외(Exception)

제5장  Task Switching
1. 실행
2. Task Switching과 TSS
3. CALL 명령에 의한 Task Switching	

제6장  보호
1. CPU의 체크 포인트
2. 특권 레벨
3. 특권 레벨 변동 시의 스택의 변화

제7장  유저 모드 Task Switching
1. 유저 모드와 콜게이트
2. 여러 개의 유저 모드 태스크 실행

제8장  페이징
1. A20 게이트
2. 페이징 구현
3. 페이징 실험

제9장  C 언어로 커널을 만든다.
1. GCC의 다운로드
2. C와 어셈블리의 링크
3. C 언어로 커널 만들기
4. 소스의 해설

리뷰

전체 평점

4.4

오탈자

등록된 오탈자가 없어요

오탈자를 발견하셨다면 작성해주세요.

22,000

10%

19,800