OS/OS from Scratch
-
[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 명령어 [..
-
[OS] 02. Boot Sector PrintOS/OS from Scratch 2021. 6. 20. 14:54
서론 이번 강의에서는 가장 기본적인 Boot Sector에서 문자를 출력하는 기능을 만들어 보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/02-bootsector-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 이론 TTY Mode TTY Mode는 일반 CLI 콘솔 환경을 의미하며, ah 레지스터에 0x0e를 대입하면 TTY Mode로 진입한다. Interrupt Int..
-
[OS] 01. Boot Sector BareboneOS/OS from Scratch 2021. 6. 20. 14:14
서론 이번 강의에서는 가장 기본적인 Boot Sector의 뼈대를 만들어 보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/01-bootsector-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 이론 BIOS BIOS는 부팅 시 하드웨어를 확인하는 역할을 합니다. 컴퓨터가 부팅할 때 짧게 벨소리가 들리는 것이 BIOS가 하드웨어에 문제가 없다는 것을 인식한 신호입니다..
-
[OS] 00. 강좌 소개와 Environment 구성OS/OS from Scratch 2021. 6. 20. 13:26
OS를 처음부터 만들어 볼 수 있는 Github Repository를 찾아 이에 관한 해설 글들을 올리려 합니다. Github 링크는 다음과 같습니다. 사용하는 언어는 Assembly와 C언어이며, Assembly는 코드가 나올 때마다 구글링을 통해 알아가도 충분할 것 같습니다. https://github.com/cfenollosa/os-tutorial cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 먼저 환경 구성입니다. 본 튜토리얼에서는 Nasm과 QEMU를 이용해 실습합니다. QE..