Mini OS 14 brossm samsung co kr Mini
Mini OS 만들기 강남 멤버십 14기 조경민 (bro@ssm. samsung. co. kr)
Mini OS는? • x 86(i 386+) 32 bits Protected mode OS • 개발환경: Windows, VC 6, NASM, VMWare • 목표 : multitasking, user level application environment ( kernel API, debugging env ) • 현재 개발 상황 : nasm을 통한 pmode 진입 부트로더 작성 vc 커널 개발환경 세팅 Interrupt 처리를 통한 crt/keboard/timer 제어 soft-task switch를 위한 function switch 작성 soft-task switch 구현
간단 구조 NASM 부트로더 Boot. bin Minios. img VC 커널 minios. bin testing
Pmode: Descriptor Null Decriptor Code Segment Descriptor CS Data Segment Descriptor DS : Descriptor Table 자신이 구성하고 싶은데로 마음대로 구성이 가능하다. LGDT [table주소] 로 로드 후 CR 0 의 0 bit 셋하면 Pmode 진입!
Pmode: selector and offset
Interrupt Descriptor 어떤 인터럽트가 발생하면 특정 selector : offset으로 분기하라는 내용을 담는 Interrupt Descriptor
Task. Switch Task switch core eip cs eflags Task switch time Timer Interrupt Int 30 soft switch pushad push 인터럽트가 발생되면서 현재 esp에 Push 되어진다. ds es fs gs push esp call schedule mov esp, eax pop pop Popad gs fs es ds iretd 현재 스택에 있던 eip, cs, eflags를 pop
첨부 자료 • • 세미나 발표 자료 minios. ppt Minios 소스, 일기 팁 How to i 386 32 bit OS Kernel Compile in VC 6. doc 주요 OS 소스: Chobits OS, Flick. OS, Bellona 2 OS
Q&A THANK YOU
- Slides: 24