MARC 닫기
00968nam 2200301 c 4500
000000748140
C_1140.cpp#604
070803s2007 ulka 001 kor
▼a 9788979144826
▼g 18000:
▼c \32000
▼a 248023
▼c 248023
▼a kor
▼h jpn
▼l EM0000186310
▼a 005.43
▼2 22
▼a 005.43
▼b 천92o
▼a 천합수실
▼a OS 구조와 원리:
▼b OS 개발 30일 프로젝트/
▼d 카와이 히데미 지음;
▼e 이영희 역.
▼i 표제관련정보:
▼a "수년 동안 터득한 저자의 OS 개발 비법을 공개한다" - 표지
▼a 서울:
▼b 한빛미디어,
▼c 2007.
▼a 895 p.:
▼b 삽화;
▼c 24 cm+
▼e 컴팩트 디스크 1매.
▼a 권말부록으로 "한글 출력", "텍스트 에디터 소개" 수록
▼a 카와이 히데미의 한자명은 "川合秀實" 임
▼a 색인수록
▼a OS개발
▼a 운영체제
▼a OPERATING
▼a SYSTEM
▼a 이영희
▼a OS 개발 30일 프로젝트
▼a 카와이 히데미
▼a 오에스 구조와 원리
▼b \32000
▼a 단행본
▼a 005.43
▼b 천92o
| 자료유형 : | 단행본 |
|---|---|
| ISBN : | 9788979144826 |
| 분류기호 : | 005.43 |
| 개인저자 : | 천합수실 |
| 서명/저자사항 : | OS 구조와 원리: OS 개발 30일 프로젝트/ 카와이 히데미 지음; 이영희 역. |
| 기타표제 : | 표제관련정보: "수년 동안 터득한 저자의 OS 개발 비법을 공개한다" - 표지 |
| 발행사항 : | 서울: 한빛미디어, 2007. |
| 형태사항 : | 895 p.: 삽화; 24 cm+ 컴팩트 디스크 1매. |
| 일반주기 : | 권말부록으로 "한글 출력", "텍스트 에디터 소개" 수록 |
| 일반주기 : | 카와이 히데미의 한자명은 "川合秀實" 임 |
| 서지주기 : | 색인수록 |
| 개인저자 : | 이영희 |
| 분류기호 : | 005.43 |
| 언어 | 한국어 |
KMO200701636
권 호 :
발행년 : 2007
발행처 : 한빛미디어
서 명 : OS 구조와 원리:OS 개발 30일 프로젝트
목차
저자 서문
역자 서문
감수자 서문
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
바이브 코딩 혁명이 온다 : AI 에이전트와 제로 코드 소사이어티의 탄생
005.133 김73ㅂ
(바닥부터 배우는) 강화 학습 : 강화 학습 기초에 대한 쉽고 정확한 개념 설명
006.31 노57ㄱ
(맥스 테그마크의) 라이프 3.0 : 인공지능이 열어갈 인류와 생명의 미래
006.301 T261ㄹ백
인문의 재발견
001.3 안73ㅇ
서평쓰기