| 000 | 00860namccc200277 k 4500 | |
| 001 | 000045356771 | |
| 005 | 20100806021442 | |
| 007 | ta | |
| 008 | 070511s2007 ulka 001c kor | |
| 020 | ▼a 9788979144826 ▼g 18000 | |
| 035 | ▼a (KERIS)BIB000010859919 | |
| 040 | ▼a 248003 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h jpn |
| 082 | 0 4 | ▼a 005.43 ▼2 22 |
| 090 | ▼a 005.43 ▼b 2007a | |
| 100 | 1 | ▼a 川合秀實 , ▼d 1975- ▼0 AUTH(211009)28634 |
| 245 | 1 0 | ▼a OS 구조와 원리 = ▼x Operating system : ▼b OS 개발 30일 프로젝트 / ▼d 지은이: 카와이 히데미 ; ▼e 옮긴이: 이영희. |
| 246 | 1 9 | ▼a OS自作入門 : 30日でできる! : operating system |
| 260 | ▼a 서울 : ▼b 한빛 미디어 , ▼c 2007. | |
| 300 | ▼a 895 p. : ▼b 삽도 ; ▼c 24 cm. + ▼e CD-ROM 1매. | |
| 500 | ▼a 부록 및 색인수록. | |
| 700 | 1 | ▼a 이영희 , ▼e 역 |
| 900 | 1 1 | ▼a Kawai, Hidemi , ▼d 1975- |
| 940 | ▼a 오에스 구조와 원리. | |
| 945 | ▼a KINS |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.43 2007a | 등록번호 111417524 (8회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.43 2007a | 등록번호 111417525 (7회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 3 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.43 2007a | 등록번호 121145900 (32회 대출) | 도서상태 대출중 | 반납예정일 2019-09-30 | 예약 | 서비스 |
| No. 4 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.43 2007a | 등록번호 121145901 (35회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.43 2007a | 등록번호 111417524 (8회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.43 2007a | 등록번호 111417525 (7회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.43 2007a | 등록번호 121145900 (32회 대출) | 도서상태 대출중 | 반납예정일 2019-09-30 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.43 2007a | 등록번호 121145901 (35회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
저자소개
카와이 히데미(지은이)
1975년생. 어릴적 8비트의 PC가 보급될 당시, 소프트웨어를 살 수 없을 정도로 궁핍했기 때문에 프로그램을 만들어서 놀게 되었다. 그 후 프로그래밍 전문 교육을 거의 받지 않고 여기까지 와서인지, 보통 프로그래머가 할 수 있는 것은 할 수 없지만, 그러나 보통 프로그래머가 할 수 없는 것을 할 수 있다. 요컨대 괴짜 프로그래머. 대표작으로 에뮬레이터 V98, OS OSASK, 압축 tek 등이 있다.
이영희(옮긴이)
노틸러스효성(=효성티앤에스)에서 IT 업무를 시작하였다. 현재 ㈜코나아이 R&D센터에서 품질 및 보안, 시스템 인프라 업무 등을 담당하고 있다. 번역서로는 <SE를 위한 제안서 작성법>, <OS의 구조와 원리>, <리눅스 커널 2.6 구조와 원리>, <다이어그램으로 쉽게 배우는 UML>, <VHDL을 이용한 디지털 회로 입문>, <컴파일러 구조와 원리>, <구글 크롬 OS>, <시스템 장애는 왜 두 번 일어났을까?>, <컴퓨터는 어떻게 만들어졌나요?> 등이 있다.
노재현(감수)
어렸을 때부터 컴퓨터를 접하게 된 덕에 프로그래밍을 오랫동안 정겹게 하고 있는 프로그래머다. 특히 게임 및 OS 개발에 관심이 많으며, 심심할 때면 뭔가 새로운 프로그램을 만들어내는 것을 좋아한다. 현재는 OS관련 웹사이트(osguru.cafe24.com)를 운영하며 넥슨에서 게임 개발을 하고 있다. 저서로는 『개발자를 위한 나만의 운영체제 만들기』(정보문화사, 2007)가 있다.
목차
목차 저자 서문 역자 서문 감수자 서문 Chapter 00. 개발을 시작하기 전에 : 0일째 1. 시작하기에 앞서 = 23 2. OS란 무엇일까? = 26 3. OS 제작법 요모조모 = 26 4. 모르면 모르는 대로 = 27 5. OS를 만들려면 어떻게 해야 되나요? = 29 6. OS를 만들 때의 난점 = 30 7. 1장 이후를 읽기 전에(중요!) = 33 8. 이후의 내용 흐름 = 35 Chapter 01. PC 구조로부터 어셈블리 입문까지 : 1일째 1. 어쨌든 해 보는 거야! = 38 2. 결국 무엇을 한 것인가? = 44 3. 어셈블러 첫 체험 = 48 4. 첫 체험의 어셈블러 다시 써 보기 = 50 Chapter 02. 어셈블러 학습과 Makefile 입문 : 2일째 1. 텍스트 에디터 소개 = 54 2. 개발 재개 = 55 3. 부트섹터만 만들도록 정리 = 69 4. 이후를 위한 Makefile 도입 = 69 Chapter 03. 32비트 모드 돌입과 C언어 도입 : 3일째 1. IPL 만들기 = 74 2. 에러가 나면 다시 하자 = 80 3. 18섹터까지 읽어보기 = 81 4. 10실린더만큼 읽어보기 = 83 5. OS 본체 작성하기 = 84 6. 부트섹터에서 OS 본체 실행시키기 = 86 7. OS 본체의 동작 확인하기 = 87 8. 32비트 모드 준비 = 88 9. C언어 도입 = 91 10. HLT 해 보기(harib00j) = 94 Chapter 04. C언어와 화면 표시의 연습 : 4일째 1. C언어로 메모리에 쓰기(harib01a) = 97 2. 줄무늬(harib01b) = 101 3. 포인터에 도전(harib01c) = 103 4. 포인터의 응용(1)(harib01d) = 109 5. 포인터의 응용(2)(harib01e) = 109 6. 색 번호 설정(harib01f) = 110 7. 사각형 그리기(harib01g) = 122 8. 완성(harib01h) = 124 Chapter 05. 구조체와 문자표시와 GDT/IDT 초기화 1. 부팅 정보 받기(harib02a) = 126 2. 구조체 사용하기(harib02b) = 127 3. 화살표 표기 사용하기(harib02c) = 130 4. 문자 출력하기(harib02d) = 130 5. 여러 문자 출력하기(harib02e) = 133 6. 문자열 출력하기(harib02f) = 136 7. 변수 값 표시하기(harib02g) = 138 8. 마우스 커서 그리기(harib02h) = 140 9. GDT와 IDT의 초기화(harib02i) = 142 Chapter 06. 분할 컴파일과 인터럽트 처리 : 6일째 1. 소스 파일 분할(harib03a) = 151 2. Makefile 정리(harib03b) = 152 3. 헤더 파일 정리(harib03c) = 154 4. 어제 남은 설명 = 156 5. PIC 초기화(harib03d) = 160 6. 인터럽트 핸들러 작성(harib03e) = 165 Chapter 07. FIFO와 마우스 제어 : 7일째 1. 키 코드 취득(harib04a) = 172 2. 인터럽트 처리는 재빠르게(harib04b) = 174 3. FIFO 버퍼 만들기(harib04c) = 178 4. FIFO 버퍼 수정하기(harib04d) = 181 5. FIFO 버퍼 정리하기(harib04e) = 184 6. 마우스(harib04f) = 188 7. 마우스로부터의 데이터 수신(harib04g) = 192 Chapter 08. 마우스 제어와 32비트 모드 전환 : 8일째 1. 마우스 데이터 분석(1)(harib05a) = 195 2. 조금 정리(harib05b) = 198 3. 마우스 데이터 분석(2)(harib05c) = 200 4. 움직여라 마우스(harib05d) = 204 5. 32비트 모드의 길 = 206 Chapter 09. 메모리 관리 : 9일째 1. 소스 정리(harib06a) = 217 2. 메모리 용량 체크(1)(harib06b) = 218 3. 메모리 용량 체크(2)(harib06c) = 224 4. 메모리 관리에 도전(harib06d) = 230 Chapter 10. 겹치기 처리 : 10일째 1. 메모리 관리 계속(harib07a) = 240 2. 겹치기 처리(harib07b) = 244 3. 겹치기 처리의 고속화(1)(harib07c) = 255 4. 겹치기 처리의 고속화(2)(harib07d) = 259 Chapter 11. 마침내 윈도우 : 11일째 1. 마우스에 대해 좀 더 알아보기(harib08a) = 264 2. 화면 밖의 지원(harib08b) = 266 3. shtctl의 지정 생략(harib08c) = 267 4. 윈도우 만들기(harib08d) = 270 5. 조금 놀아보기(harib08e) = 273 6. 고속 카운터(harib08f) = 274 7. 깜박거림 해소(1)(harib08g) = 276 8. 깜박거림 해소(2)(harib08h) = 280 Chapter 12. 타이머-1 : 12일째 1. 타이머 사용(harib09a) = 287 2. 시간 재기(harib09b) = 291 3. 타임아웃 기능(harib09c) = 293 4. 복수 타이머(harib09d) = 297 5. 인터럽트 처리(1)(harib09e) = 301 6. 인터럽트 처리(2)(harib09f) = 304 7. 인터럽트 처리(3)(harib09g) = 306 Chapter 13. 타이머-2 : 13일째 1. 간단하게 문자열 표시하기(harib10a) = 311 2. FIFO 버퍼 수정(1)(harib10b) = 313 3. 성능 측정(harib10c-harib10f) = 315 4. FIFO 버퍼 수정(2)(harib 10g) = 318 5. 인터럽트 처리(4)(harib 10h) = 327 6. Sentinel을 사용한 프로그램 작성(harib10i) = 332 Chapter 14. 고해상도와 키 입력 : 14일째 1. 성능 측정(harib11a-harib11c) = 338 2. 고해상도(1)(harib11d) = 342 3. 고해상도(2)(harib11e) = 346 4. 키 입력(1)(harib11f) = 350 5. 키 입력(2)(harib11g) = 353 6. 덤(1)(harib11h) = 355 7. 덤(2)(harib11i) = 358 Chapter 15. 멀티태스크 - 1 : 15일째 1. 태스크 스위치(1)(harib12a) = 361 2. 태스크 스위치(2)(harib12b) = 369 3. 간단한 멀티태스크 해 보기(1)(harib12c) = 371 4. 간단한 멀티태스크 해 보기(2)(harib12d) = 374 5. 스피드 업(harib12e) = 376 6. 스피드 측정(harib12f) = 379 7. 멀티태스크 좀 더 다루기(harib12g) = 381 Chapter 16. 멀티태스크-2 : 16일째 1. 태스크 관리의 자동화(harib13a) = 387 2. Sleeve 해 보기(harib13b) = 392 3. 윈도우 늘리기(harib13c) = 398 4. 우선순위 매기기(1)(harib13d) = 403 5. 우선순위 매기기(2)(harib13e) = 407 Chapter 17. 콘솔 : 17일째 1. IDLE 태스크(harib14a) = 417 2. 콘솔 만들기(harib14b) = 420 3. 입력 변환 만들기(harib14c) = 422 4. 문자 입력하기(harib14d) = 426 5. 기호 입력하기(harib14e) = 431 6. 대문자와 소문자(harib14f) = 435 7. Lock 키 대응(harib14g) = 438 Chapter 18. dir 커맨드 : 18일째 1. 커서 점멸 제어(1)(harib15a) = 442 2. 커서 점멸 제어(2)(harib15b) = 445 3. Enter 키 대응(harib15c) = 448 4. 스크롤 대응(harib15d) = 451 5. mem 커맨드(harib15e) = 453 7. cls 커맨드(harib15f) = 459 8. dir 커맨드(harib15g) = 462 Chapter 19. 애플리케이션 : 19일째 1. type 커맨드(harib16a) = 468 2. type 커맨드 수정(harib16b) = 475 3. FAT 대응(harib16c) = 480 4. 소스 정리(harib16d) = 486 5. 마침내 첫 애플리케이션 실행(harib16e) = 487 Chapter 20. API : 20일째 1. 프로그램 정리(harib17a) = 492 2. 한 글자 표시 API(1)(harib17b) = 501 3. 한 글자 표시 AP(2)(harib17c) = 504 4. 애플리케이션 종료(harib17d) = 506 5. OS의 버전이 바뀌어도 변함이 없는 API(harib17e) = 508 6. 애플리케이션의 이름을 자유롭게(harib17f) = 511 7. 레지스터에 주의하기(harib17g) = 514 8. 문자열 표시 API(harib17h) = 516 Chapter 21. OS 지키기 : 21일째 1. 문자열 표시 API의 재도전(harib18a) = 524 2. 애플리케이션을 C언어로 만들자(harib18b) = 526 3. OS 지키기(1)(harib18c) = 531 4. OS 지키기(2)(harib18d) = 533 5. 예외 처리 서포트하기(harib18e) = 539 6. OS 지키기(3)(harib18f) = 543 7. OS 지키기(4)(harib18g) = 544 Chapter 22. C언어로 애플리케이션을 만들자 : 22일째 1. OS 지키기(5)(harib19a) = 554 2. 버그 발견 돕기(harib19b) = 559 3. 애플리케이션의 강제 종료(harib19c) = 565 4. C언어로 문자열 표시(1)(harib19d) = 569 5. C언어로 문자열 표시(2)(harib19e) = 570 6. 윈도우 표시하기(harib19f) = 577 7. 윈도우에 문자나 사각형 그리기(harib19g) = 580 Chapter 23. 그래픽의 여러 가지 : 23일째 1. malloc 만들기(harib20a) = 584 2. 점 그리기(harib20b) = 589 3. 윈도우 리프레시하기(harib20c) = 593 4. 선 긋기(harib20d) = 596 5. 윈도우 닫기(harib20e) = 602 6. 키 입력 API(harib20f) = 604 7. 키 입력으로 놀기(harib20g) = 608 8. 강제 종료로 윈도우 닫기(harib20h) = 609 Chapter 24. 윈도우 조작하기 : 24일째 1. 윈도우 변환하기(1)(harib21a) = 614 2. 운도우 변환하기(2)(harib21b) = 616 3. 윈도우 이동하기(harib21c) = 618 4. 마우스로 윈도우 닫기(harib21d) = 621 5. 애플리케이션 윈도우를 입력 모드로 변환하기(harib21e) = 623 6. 마우스로 원하는 윈도우 선택하기(harib21f) = 630 7. 타이머 API(harib21g) = 632 8. 타이머 취소(harib21h) = 637 Chapter 25. 콘솔 늘리기 : 25일째 1. BEEP 사운드(harib22a) = 642 2. 색 늘리기(1)(harib22b) = 646 3. 색 늘리기(2)(harib22c) = 648 4. 윈도우의 초기 위치(harib22d) = 651 5. 콘솔 늘리기(1)(harib22e) = 652 6. 콘솔 늘리기(2)(harib22f) = 657 7. 콘솔 늘리기(3)(harib22g) = 661 8. 콘솔 늘리기(4)(harib22h) = 663 9. OS답게 만들기(1)(harib22i) = 666 10. OS답게 만들기(2)(harib22j) = 670 Chapter 26. 윈도우 이동의 고속화 : 26일째 1. 윈도우 이동을 빠르게(1)(harib23a) = 673 2. 윈도우 이동을 빠르게(2)(harib23b) = 676 3. 윈도우 이동을 빠르게(3)(harib23c) = 680 4. 윈도우 이동을 빠르게(4)(harib23d) = 683 5. OS 부팅 시 콘솔을 하나만 표시하기(harib23e) = 686 6. 콘솔을 좀 더 많이 만들기(harib23f) = 689 7. 콘솔 닫기(1)(harib23g) = 691 8. 콘솔 닫기(2)(harib23h) = 698 9. start 커맨드(harib23i) = 701 10. ncst 커맨드(harib23j) = 702 Chapter 27. LDT와 라이브러리 : 27일째 1. 먼저 버그를 고치자(harib24a) = 711 2. 애플리케이션 실행 중에 콘솔 닫기(harib24b) = 714 3. 애플리케이션 지키기(1)(harib24c) = 719 4. 애플리케이션 지키기(2)(harib24d) = 722 5. 애플리케이션 사이즈 조정하기(harib24e) = 727 6. 라이브러리(harib24f) = 732 7. make 환경 정리(harib24g) = 735 Chapter 28. 파일과 일본어 표시 : 28일째 1. alloca(1)(harib25a) = 745 2. alloca(2)(harib25b) = 748 3. 파일 API(harib25c) = 753 4. 커맨드 라인 API(harib25d) = 761 5. 일본어 표시(1)(harib25e) = 765 6. 일본어 표시(2)(harib24f) = 744 7. 일본어 표시(3)(harib25g) = 780 Chapter 29. 압축과 간단한 애플리케이션 : 29일째 1. 버그 수정(harib26a) = 787 2. 파일 압축(harib26b) = 788 3. 표준 함수 = 798 4. 비사각형 윈도우(harib26c) = 802 5. bball(harib26d) = 804 6. 인베이더 게임(harib26e) = 807 Chapter 30. 고도의 애플리케이션 : 30일째 1. 커맨드 라인 계산기(harib27a) = 818 2. 텍스트 뷰어(harib27b) = 824 3. MML 플레이어(harib27c) = 832 4. 화상 뷰어(harib27d) = 842 5. IPL 수정(harib27e) = 848 6. CD-ROM으로 부팅(harib27f) = 854 Chapter 31. 개발을 마친 후 : 31일째 1. 앞으로는 혼자서 만들어가기 = 856 2. OS의 크기에 대해 = 858 3. OS를 잘 만드는 요령 = 860 4. 다른 사람에게 사용하게 한다면 = 861 5. CD-ROM 내의 소프트웨어에 대해 = 862 6. 권장하는 오픈 소스 = 863 7. 후서 = 866 8. 작별(졸업식) = 871 9. 부록 = 871 부록A. 한글 출력 = 882 부록B. 텍스트 에디터 소개 = 888 찾아보기 = 890 칼럼 1. 데이터도 '실행' 할 수 있다? 기계어도 '표시' 할 수 있다? = 73 2. 캐스트를 사용하면 p라는 것은 사용하지 않아도 됩니까? = 106 3. 역시 포인터는 잘 모르겠어∼ = 106 4. p[i]라는 것은 뭡니까? = 110 5. 구조체의 간단한 설명 = 128 6. 10진수에서의 버림은? = 243 7. 실행 3초 후에 count를 0으로 하는 이유 = 318 8. 이런 작은 개선에 의미가 있는 거야? = 342 9. return해선 안 돼? = 378 10. 키보드의 사양? = 437 11. FAT의 압축 = 486 12. 이것으로 OS 만들기 입문이라니! = 869



