전체 글
-
[OS] 22. MallocOS/OS from Scratch 2021. 7. 24. 20:40
서론 이번 강의에서는 간단한 malloc 함수를 구현하겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/22-malloc GitHub - cfenollosa/os-tutorial: How to create an OS from scratch How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Paging 기법 컴퓨터는 메모리를 가상 메모리로서 관리하는데, 이를 통해 실제 메모리를 추상화해 프로세스들이 연속된 메모리를 사용하는 것..
-
[OS] 21. ShellOS/OS from Scratch 2021. 7. 23. 16:30
서론 이번 강의에서는 작성했던 코드를 정리하고 가장 기본적인 Shell을 구현하겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/21-shell GitHub - cfenollosa/os-tutorial: How to create an OS from scratch How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 코드 이번 강의에서는 위 Github 링크에서 설명하는 대로 파일의 경로들을 재설정하고, 단순 구현을 진행합니다. 코드를..
-
[OS] 20. Interrupt-timerOS/OS from Scratch 2021. 7. 18. 00:27
서론 이번 강의에서는 CPU Timer와 키보드 Interrupt를 구현하겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/20-interrupts-timer cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 PIT (Programmable Interval Timer) PIT chip(문서)은 oscillator, prescaler, frequency dividers로 구성되며, fr..
-
[OS] 19. Interrupt-irqsOS/OS from Scratch 2021. 7. 12. 00:57
서론 이번 강의에서는 Interrupt Request를 구현하겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/19-interrupts-irqs cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 Computer Buses 버스에 대한 좋은 동영상이 있어 첨부합니다. Computer Bus 버스는 데이터 버스, 주소 버스, 제어 버스로 나뉩니다. 데이터 버스: 데이터 버스는 데이터가 이..
-
[OS] 18. InterruptsOS/OS from Scratch 2021. 7. 3. 16:43
서론 이번 강의에서는 Interrupt Service를 구현해보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/18-interrupts cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 ISR (Interrupt Service Routine) CPU가 A 작업을 하고 있다가 키보드 입력과 같은 Interrupt을 받으면 CPU는 현재 진행 중인 A 작업을 멈추고 Interrupt S..
-
[OS] 17. Video ScrollOS/OS from Scratch 2021. 7. 2. 22:34
서론 이번 강의에서는 화면에서 스크롤을 구현해보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/17-video-scroll cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 코드 이번 강의에서 구현할 기능은 Scroll 기능입니다. 본 강의에서의 Scroll은 화면에 문자열이 마지막 행까지 가득 찬 상태에서 문자열을 더 출력하려는 경우, 스크린의 행들을 이전 행으로 하나씩 밀어 마지막 행..
-
[OS] 16. Video DriverOS/OS from Scratch 2021. 7. 2. 14:08
서론 이번 강의에서는 이전 강의에서 사용했던 이론과 코드를 응용해 화면에 문자열을 출력해보겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/jschang0215/os-tutorial/tree/master/16-video-driver jschang0215/os-tutorial How to create an OS from scratch. Contribute to jschang0215/os-tutorial development by creating an account on GitHub. github.com 코드 screen.h #define VIDEO_ADDRESS 0xb8000 #define MAX_ROWS 25 #define MAX_COLS 80 #define WHIT..
-
[OS] 15. Video PortsOS/OS from Scratch 2021. 6. 30. 20:19
서론 이번 강의에서는 VGA와 Data Ports의 사용법에 대해 공부하겠습니다. 해당 Github 강의는 다음과 같습니다. https://github.com/cfenollosa/os-tutorial/tree/master/15-video-ports cfenollosa/os-tutorial How to create an OS from scratch. Contribute to cfenollosa/os-tutorial development by creating an account on GitHub. github.com 이론 I/O Programming Input/Output을 담당하는 하드웨어 장치는 Controller Chip을 통해 CPU와 상호작용합니다. Controller Chip에는 CPU가 읽고 쓸..