장바구니 담기 close

장바구니에 상품을 담았습니다.

개발자를 위한 나만의 운영체제 만들기

개발자를 위한 나만의 운영체제 만들기

  • 노재현
  • |
  • 정보문화사
  • |
  • 2007-03-05 출간
  • |
  • 386페이지
  • |
  • 185 X 235 mm
  • |
  • ISBN 9788956743677
★★★★★ 평점(10/10) | 리뷰(1)
판매가

16,000원

즉시할인가

14,400

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
14,400

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

개발자라면 누구나 한 번쯤은 'OS(Operating System)를 만들어보고 싶다'라는 막연한 생각을 해보았을 것입니다. 필자 역시 마찬가지였습니다. 어렸을 적 도스를 처음 접했을 때, OS라는 것이 무엇인지 모르고 그냥 컴퓨터에 있는 것인가 보다 생각하고 사용하는 데만 집중을 했던 기억이 납니다. 나중에 알게 되었지만 그것이 바로 도스라고 불리는 OS라는 것이었고, 그때부터 OS에 점점 관심을 가지게 되었습니다. 그리고 중학교 때 리눅스라는 OS를 접하게 되고 나서야 OS라는 것 역시 개발자들이 개발하는 하나의 소프트웨어라는 것을 알게 되었습니다. 리눅스를 접하고 난 후 저는 OS에 상당히 많은 관심을 가지게 되었습니다. 직접 OS를 만들어보고 싶다는 마음에 잘 알지도 못하는 리눅스 소스 코드를 분석한답시고 답답해하며 밤을 지새우던 날들이 많았던 것으로 기억이 됩니다. 마음 같아서는 OS 개발에 관한 책들을 찾아서 보고 싶었지만, 당시 국내 상황으로는 OS 관련 서적을 찾기란 참으로 어려웠습니다. SNUDOS(Seoul National University Disk Operating System)라는 서울대학교 연구실에서 개발한 OS가 책으로 출판된 정도였거나 OS 개발 책은 아니지만 개발에 부분적으로 도움이 되는 책들뿐이었습니다. 물론, 그 책들만으로도 필자에게는 큰 도움이 되었습니다.

이처럼 OS 개발에 관한 자료를 구하는데 어려움을 겪으면서 OS 공부를 시작하다 보니, 열심히 공부해서 나중에 꼭 OS 관련 개발 서적을 쓰겠다는 마음을 먹었었고, 현재로서도 부족한 지식이지만 필자와 같이 OS를 직접 개발하고자 하는 분들께 조금이라도 도움이 되고자 집필을 시작하게 되었습니다.

그 동안 필자는 여러 가지로 공부를 하면서 어셈블리어, C/C++, 자바와 같은 언어들로 OS를 개발해오고 있었고, 처음에는 이와 같은 언어들로 개발한 OS를 책에서 소개하려고 하였습니다. 헌데 막상 책으로 집필하려고 하니 복잡한 구조에 대한 설명은 깊이 있는 내용을 다뤄야 했고 게다가 분량까지 방대해져 초보자들이 어렵게 느낄 수 있겠다는 판단을 하게 되었습니다. 이에 일단은 작고 간단한 기능을 가진 OS를 직접 개발해보면서 쉽게 이해하고 자신감을 쌓는 쪽으로 방향을 잡았습니다.

그리하여 이 책에서는 "Chobits"라는 윈도우즈 환경에서 개발할 수 있는 OS를 소개하고자 합니다. Chobits OS는 OS가 가져야 할 가장 기본적인 부분들을 구현해놓은 OS입니다. 메모리 관리자, 파일 시스템, 키보드 디바이스 드라이버, 플로피 디스크 디바이스 드라이버, 쉘, 응용 프로그램을 구현하여 개발된 OS에서 실행할 수도 있습니다.

이 책을 통해서 여러분은 학교에서 이론만으로 배워오던 OS에 대한 생각을 넘어서서 이론을 익히고 실제로 구현해 보면서 한 층 더 높은 부분까지 학습할 수 있기를 바랍니다. 그리고 이 외에도 OS 내에서 구현되어야 하는 기능들이 더 있는데, 이런 기능들은 나중에 필자가 제작한 OS와 함께 다시 한 번 소개할 수 있는 날이 오기를 소망합니다.

목차

서문
1. Operating System이란?
2. 대상 독자
3. 다루고 있는 내용
4. 시스템 요구사항
5. 부록 CD의 내용
6. 웹 사이트

제1장 Chobits OS
1. 필요한 소프트웨어
2. 소프트웨어 설치
2.1 NASM(Netwide Assembler)
2.2 VMWare Player
3. Compile 환경 설정
4. 다음 장에서는

제2장 부트 로더(Boot Loader)
1. Hello Chobits OS
1.1 Boot Code
1.2 Hello Chobits 컴파일 및 실행
1.3 커널 이미지 읽어들이기
1.4 실행

제3장 커널의 시작
1. 커널의 작성
1.1 Real Mode & Protected Mode
2. 구현
2.1 GDT(Global Descriptor Table)의 로드
2.2 GDT(Global Descriptor Table)
2.3 실습(Protected Mode로의 전환) - 프로젝트 설정
2.4 실습(Protected Mode로의 전환) - 디스크 이미지 만들기 및 실행

제4장 콘솔 시스템(Console System)
1. 콘솔 시스템의 초기화
1.1 콘솔 시스템의 초기화 루틴
1.2 문자열 출력
1.3 실행
2. 콘솔 디바이스 드라이버
2.1 콘솔 디바이스 드라이버의 초기화
2.2 실행

제5장 커널의 초기화
1. 커널의 초기화
1.1 HAL(Hardware Abstraction Layer)
1.2 A20 Line
1.3 PIC(Programmable Interrupt Controller)
1.4 Timer
1.5 인터럽트(Interrupt)

제6장 메모리 관리자와 프로세스 관리자
1. 메모리 관리자
1.1 Chobits OS의 메모리 구성
1.2 메모리 풀(Memory Pool)
1.3 메모리 관리자의 초기화
1.4 실행
2. 프로세스 관리자
2.1 프로세스 관리자의 초기화
2.2 Chobits OS의 시스템 프로세스 및 쓰레드
2.3 Task Switch
2.4 시스템 프로세스 및 쓰레드의 생성
2.5 실행

제7장 시스템 콜(System Call)
1. 시스템 콜의 원리
1.1 콜 게이트(Call Gate)
1.2 시스템 콜의 구현
2. 실행

제8장 키보드(Keyboard)
1. 키보드 디바이스 드라이버
1.1 키보드 입력 문자의 종류
1.2 구현
2. 실행

제9장 플로피 디스크(Floppy Disk)
1. 플로피 디스크 디바이스 드라이버
1.1 플로피 디스크 디바이스 드라이버의 구현
1.2 플로피 디스크 드라이브의 작동 방식
1.3 플로피 디스크로부터의 읽기 명령
1.4 DMA(Direct Memory Access)
2. 실행

제10장 쉘(Shell)
1. 쉘의 구현
1.1 쉘의 처리를 담당할 프로세스 및 쓰레드의 생성
2. 실행

제11장 파일 시스템(File System)
1. 파일 시스템(File System)
1.1 FAT(File Allocation Table)
1.2 파일 시스템의 구조
1.3 구현
2. 파일 시스템을 이용한 쉘의 기능 추가
3. 실행

제12장 응용 프로그램
1. 프로젝트 설정
2. "Hello World" 응용 프로그램
2.1 응용 프로그램의 진입점
2.2 시스템 콜의 호출
3. 실행

제13장 그래픽 시스템(Graphic System)
1. 그래픽 디바이스 드라이버의 초기화
1.1 팔레트(Palette)
2. DirectY
3. 비트맵 파일(Bitmap File)
4. VIEW 명령
4.1 Bitmap 파일 로딩
4.2 그래픽 모드 전환
4.3 비트맵 이미지 출력
5. 실행
6. 마치며

찾아보기

도서소개

OS 개발 입문서. 이 책은 OS를 스스로 개발하는 방법을 설명한 것으로 부트 로더부터 메모리 관리, 응용프로그램에 이르기까지 따라 하면서 쉽게 만드는 방법을 소개한다. 개발자의 스타일에 맞는 맞춤형 나만의 운영체제를 통해 프로그래밍을 하는 법까지 담았다.

부록CD에는 본문에서 사용한 예제 소스 코드와 NASM, VMWare Player, Winlmage 트라이얼 버전이 들어있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.