프로젝트/운영체제 만들기
-
[운영체제 만들기] Buddy Allcator프로젝트/운영체제 만들기 2023. 8. 7. 02:00
글의 참고 - https://en.wikipedia.org/wiki/Buddy_memory_allocation https://gee.cs.oswego.edu/dl/html/malloc.html https://koreascience.kr/article/CFKO200221138081397.pdf 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. - `글의 참조`에서 빨간색 볼드체로 체크된 링크는 이 글을 작성하면 가장 많이 참조한 링크다. - 대개 UEFI 에서 말하는 platform은..
-
[메모리] Fixed-size blocks allocation프로젝트/운영체제 만들기 2023. 8. 5. 17:03
글의 참고 http://www.thinkmind.org/index.php?view=article&articleid=computation_tools_2012_1_10_80006 https://en.wikipedia.org/wiki/Memory_pool https://en.wikipedia.org/wiki/Memory_management#FIXED-SIZE https://gee.cs.oswego.edu/dl/html/malloc.html 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자...
-
Real mode프로젝트/운영체제 만들기 2023. 8. 5. 16:30
글의 참고 - https://en.wikipedia.org/wiki/Real_mode - http://www.c-jump.com/CIS77/ASM/Memory/lecture.html - https://wiki.osdev.org/Segmentation - https://stackoverflow.com/questions/45283851/how-to-set-ss-and-sp-registers-correctly-in-i386/45285701?noredirect=1#comment77534008_45285701 - https://stackoverflow.com/questions/33827474/why-enable-a20-line-in-protected-mode - https://en.wikipedia.org/wik..
-
Protected mode프로젝트/운영체제 만들기 2023. 8. 5. 15:10
글의 참고 - https://wiki.osdev.org/Protected_mode - https://stackoverflow.com/questions/73778169/problem-understanding-far-jump-after-entering-protected-mode?rq=1 - https://stackoverflow.com/questions/36968829/how-to-switch-from-real-mode-to-protected-mode-after-bootloader - https://huichen-cs.github.io/course/CISC3320/19FA/lecture/modeswitch.html#subroutine-for-printing-message-in-real-mode%EF%BB%B..
-
[운영체제 만들기] FAT프로젝트/운영체제 만들기 2023. 8. 5. 02:59
글의 참고 https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/fatgen103.doc http://elm-chan.org/docs/fat_e.html#name_matching https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system http://elm-chan.org/docs/fat_e.html#name_matching 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크..
-
GDT프로젝트/운영체제 만들기 2023. 8. 5. 01:22
글의 참고 - https://wiki.osdev.org/Segmentation#Protected_Mode - https://wiki.osdev.org/Global_Descriptor_Table - https://stackoverflow.com/questions/37554399/what-is-the-use-of-defining-a-global-descriptor-table - https://stackoverflow.com/questions/67901342/why-in-xv6-theres-sizeofgdt-1-in-gdtdesc - https://en.wikipedia.org/wiki/X86_memory_segmentation - https://softwareengineering.stackexchange.c..
-
부트 로더프로젝트/운영체제 만들기 2023. 8. 3. 22:43
글의 참고 - https://academickids.com/encyclopedia/index.php/X86_assembly_programming_in_real_mode - https://wiki.osdev.org/Real_Mode - https://wiki.osdev.org/Memory_Map_(x86) - https://wiki.osdev.org/Bootable_Disk - https://stackoverflow.com/questions/32955887/how-to-disassemble-16-bit-x86-boot-sector-code-in-gdb-with-x-i-pc-it-gets-tr/32960272#32960272 - https://stackoverflow.com/questions/32955887..
-
[xv6] entry프로젝트/운영체제 만들기 2023. 8. 1. 20:08
글의 참고 - https://github.com/jserv/xv6-x86_64/tree/64bit 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 : `mboot_entry`는 `xv6` 64비트 모드에 진입 시, 가장 먼저 시작되는 엔트리 포인트다. `mboot_entry`에 진입하면 제일 먼저하는 작업은 64비트 페이징 작업을 진행한다. 아래의 내용을 이해하기 위해서는 `페이징`과 `Higher Half Kernel`에 대한 내용을 알고 있어야 한다. : `mboot_entry`의 처음 시작은 물리 주소 0x1000 ~ 0x6000까지 0으로 초기화한다. // entry64.S ... mboot_entry: # zero 4 pages f..