분류 전체보기
-
[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..
-
[BOJ] Greedy Algorithm알고리즘/BOJ 2020. 8. 28. 14:02
문제 출처 https://blog.naver.com/kks227/220775134486 탐욕적 기법(Greedy Algorithm) (수정: 2019-11-23) 먼저 가장 유명하고 기초적이지만, 입문만 쉽고 마스터는 어려운 그런 녀석들부터 강의하는 것이 좋겠죠.탐... blog.naver.com 1931 https://www.acmicpc.net/problem/1931 1931번: 회의실배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net // // main.cpp // BOJ1931 // // Created by JSChang on 2020/08/22. // Copyright © 2020 JSChang. All rights reserved. //..