OS
-
[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..
-
[OS] 06. Boot Sector SegmentationOS/OS from Scratch 2021. 6. 20. 17:04
서론 이번 강의에서는 가장 기본적인 Boot Sector에서 Segmentation을 고려하는 코드를 만들어 보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/06-bootsector-segmentation cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Segmentation Segmentation은 03. Boot Sector Memory에서 설명했던 offset을 설정하는 개..
-
[OS] 05. Boot Sector FunctionOS/OS from Scratch 2021. 6. 20. 16:25
서론 이번 강의에서는 가장 기본적인 Assembly에서 함수와 같은 역할을 하는 코드를 만들어 보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/05-bootsector-functions-strings cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Assembly pusha, popa pusha는 모든 레지스터에 저장된 값을 Stack에 저장, popa는 Stack에 저장됐던 모..
-
[OS] 04. Boot Sector StackOS/OS from Scratch 2021. 6. 20. 15:32
서론 이번 강의에서는 가장 기본적인 Boot Sector에서 Stack을 만들어 보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/04-bootsector-stack cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Assembly Stack bp레지스터는 Stack의 Bottom을 의미하며, sp레지스터는 stack의 top을 의미합니다. 이때 Stack은 bp에서 시작해 아래로 ..
-
[OS] 03. Boot Sector MemoryOS/OS from Scratch 2021. 6. 20. 15:03
서론 이번 강의에서는 가장 기본적인 Boot Sector에서 메모리의 구조에 대해 알아보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/03-bootsector-memory cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 메모리 구조 BIOS는 Boot Sector를 0x7c00주소부터 채우게 됩니다. 이를 고려해 Boot Sector를 만듭니다. Assembly org 명령어 [..