전체 글
-
[OS] 14. CheckpointOS/OS from Scratch 2021. 6. 28. 01:35
서론 이번 강의에서는 앞으로의 강의를 진행하기 위해 코드들을 reformat 하겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/14-checkpoint cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Monolithic/Micro Kernel Monolithic Kernel은 애플리케이션을 제외한 모든 시스템 기능들이 커널의 각 영역에 들어가 있는 형태를 의미합니다. Linux K..
-
[OS] 13. Kernel BarebonesOS/OS from Scratch 2021. 6. 27. 15:07
서론 이번 강의에서는 Kernel과 boot sector를 연결해 kernel을 실행시켜 보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/13-kernel-barebones cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Kernel Kernel은 하드웨어 바로 위 단계에서 작동하며 애플리케이션들의 CPU와 메모리 등의 리소스를 관리하는 메모리에 항상 상주하고 있는 프로그램입니다..
-
[OS] 12. Kernel COS/OS from Scratch 2021. 6. 26. 15:41
서론 이번 강의에서는 C언어로 지금까지 작성했던 Low-Level 코드들을 만들겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/12-kernel-c cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Linking 이 블로그에서 Linking에 대해 알기 쉽게 설명해 놓았습니다. A.cpp라는 파일을 컴파일하면 A.o라는 Object Code가 생성되는데, 이 Object Code는 ..
-
[OS] 11. Kernel Cross CompilerOS/OS from Scratch 2021. 6. 23. 13:39
서론 이번 강의에서는 Kernel 개발 환경을 세팅하겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/11-kernel-crosscompiler cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Cross Compiler Cross Compiler는 한 플랫폼에서 다른 플랫폼의 실행 파일을 만들어주는 컴파일러 입니다. 예를 들어 Linux환경에서 Embedded환경의 실행 파일을 만들..
-
[OS] 10. 32 bit EnterOS/OS from Scratch 2021. 6. 23. 00:55
서론 이번 강의에서는 32bit protected mode로 진입해 이전 강의에서 만든 코드를 실행해보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/10-32bit-enter cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Pipelining 이 블로그에서 Pipelining에 대해 알기 쉽게 설명해 놓았습니다. Pipelining은 하나의 명령어가 실행되는 도중 동시에 다른 명..
-
[OS] 09. GDTOS/OS from Scratch 2021. 6. 22. 15:04
서론 이번 강의에서는 GDT를 구현해보겠습니다. 본 강의에서는 GDT에 대한 이해가 반드시 필요합니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/09-32bit-gdt cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 GDT GDT (Global Descriptor Table)은 메모리의 Segment와 Protected 모드의 구성 요소를 담은 메모리에 존재하는 자료구조입니다. 다음 ..
-
[OS] 08. 32 Bit PrintOS/OS from Scratch 2021. 6. 21. 22:52
서론 지난 강의를 끝으로 boot sector을 구현했습니다. 이번 강의에서는 32bit protected mode에서 화면에 출력하는 기능을 구현하겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/08-32bit-print cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 32 bit protected mode Protected 모드는 80286 이후의 인텔 CPU에서 사용하는 Op..
-
[OS] 07. Boot Sector DiskOS/OS from Scratch 2021. 6. 20. 22:10
서론 이번 강의에서는 가장 기본적인 Boot Sector에서 Disk에서 데이터를 불러오는 기능을 구현해 보겠습니다. 이번 강의는 조금 어려운 편에 속하는 것 같습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/07-bootsector-disk cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Disk 구조 먼저 디스크 구조를 쉽게 설명한 동영상을 첨부합니다. https://www.yo..