Introduction > 이름 : 한승훈 (a.k.a kkamagui) > 취미 : > OS 개발 > 안드로이드 어플 개발 > 스크립트 언어를 통한 생산성 향상 … (Python, Ruby….)
Why OS? > 오랜 꿈 ~!( 초딩시절부터 …) > 호기심 ~!!(OS 내부가 궁금 …) > 2000 년부터 준비하고 2002 년말부터 OS 제작에 도전 시작 ~!!!
Initial State > 윈도우 프로그래머로 시작 > 소방 방재 시스템용 서버 프로그램 > 방재 시스템과 연계하는 간단한 클라이언트 > 주경야독 ( 晝耕夜讀 )~! > 어셈블리어, BIOS, Intel Architecture Manual
Ready and Start > 2002 년 말부터 시작 > 1 차는 2004 년까지 약 2 년정도 작업 … > 32 비트 OS 완성 (KKAMAGUI OS) > Demand Paging, Multitasking > FAT16/32 File System, Evil GUI System > System Call For Application
Accelerate > ARM Processor 에 도전 > 1 차 완성을 하고나니 겁이 없어짐 > 개발 보드 셋팅 후 바로 시작 > 개발 보드 ?! > ARM7 과 ARM9 듀얼 코어를 내장 > 화면도 2 개 ( 작아서 문제지만 …)
Last Spurt > 64 비트 멀티코어 프로세서의 시대 ~! > 2008 년에 PC 업글 후 호기심 발동 > Intel Architecture Manual 탐독 > 본격적으로 내용 정리 시작 > 개발 진행 사항을 문서로 남기기로 함 > 남이 아닌 나를 위해 정리
Death Hill > 32 비트 시절과 많이 달라진 구조 > 64 비트 부분은 32 비트의 확장 수준 > 멀티 코어 부분은 Zero-base 에서 다시 시작 > 내가 아닌 남을 위해 정리 시작 > 64 비트 멀티 코어 관련 자료는 거의 없음 > 초심으로 돌아가 차곡차곡 정리
Overcome > 작업시간 부족 … > 퇴근 후 밤 ~ 새벽 시간 활용 > 최소한의 수면 ( 죽지 않을 만큼 …) 으로 버팀 > 막판에는 포션 섭취 … OTL…. > 30 대로 넘어오면서 젊음이 소진됨 > 국민 포션인 박카스 + 우루사 복용 > 가끔 죽을 것 같으면 홍삼도 같이 ….
Goal~!! > 64 비트 멀티코어 원리와 구조 출간 > 3000 Page 수준, 너무 두꺼워 2 권으로 나눔 > OS 개발 A~Z 까지 모두 정리 > 출판사 초기 예상은 1000 Page 미만 … > 마감일이 다가오자 편집 맡으신 분들 3 명이서 합 숙했다는 후문이 …
MINT64 OS Feature > 64 비트 싱글 / 멀티 코어 지원 > Multitasking, 자체 File System > GUI System, 한글 입출력 > System Call For Application > USB Booting > ETC Applications…
MINT64 OS Layer PC Hardware Hard Disk Device Driver RAM Disk Device Driver Memory Management Task Management Keyboard/Mous e/Serial/Etc Device Driver Interrupt Management File System 2D Graphic Device Driver GUI System User Level API (Library For Application) GameText ViewerImage ViewerHangul Editor User Level Kernel Level
> 그날의 기분에 따라 추가할 기능을 선택 > 혼자 개발을 진행하면 좋은 점 중 하나 … > 작은 설계, 빠른 구현, 테스트를 반복 > 특성상 디버깅이 불편하고 복잡 > 기능을 잘게 나눠 구현한 뒤, 충분히 테스트 Development Process
기능 추가 목표 수립 단위 설계구현 구현 기능 검증 기존 기능 검증 다음 단계 진행
> H/W Dependant Module > ex) Bootloader, Device Driver … > Real Machine 이나 Virtual Machine 을 주로 사용 > H/W Independent Module > ex) File System, GUI System … > Windows 환경에서 구현한 뒤 Visual Studio 로 Test & Debugging Development Tip
Example of H/W Indep. Module PC Hardware Interrupt Management Hard Disk Device Driver RAM Disk Device Driver File System Block I/O Simulation Module Windows/Linux OS PC Hardware 병행
For Base Knowledge…
QnA > >