분류 전체보기
-
intel 모델카테고리 없음 2023. 6. 18. 19:23
글의 참고 - 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. - `글의 참조`에서 빨간색 볼드체로 체크된 링크는 이 글을 작성하면 가장 많이 참조한 링크다. - `운영체제 만들기` 파트에서 퍼온 모든 참조 글들과 그림은 반드시 `이 글과 그림을 소스 코드로 어떻게 구현을 해야할까` 라는 생각으로 정말 심도있게 잠시 멈춰서 생각해봐야 실력이 발전한다. 글의 내용 : Intel 8008 " 인텔이 1972년 4월에 공개한 ㄱ : Intel 8080 " 인텔이 1974년 4월에 공개한..
-
참고 자료프로젝트/운영체제 만들기 2023. 6. 14. 18:39
글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. - `글의 참조`에서 빨간색 볼드체로 체크된 링크는 이 글을 작성하면 가장 많이 참조한 링크다. 글의 내용 - 컴퓨터 구조 : https://book.huihoo.com/pc-architecture/start.htm " 옛날 느낌이 많이 묻어나지만, 정말 쉽게 자세히 방대한 양을 설명한다. PC에 들어가는 대부분의 칩들을 쉽게 설명한다. : https://flylib.com/books/en/4.57.1/ " 일단 책이다. 위의 hui..
-
재배치프로젝트/운영체제 만들기 2023. 6. 12. 14:14
글의 참고 - http://bravegnu.org/gnu-eprog/linker.html - https://people.cs.pitt.edu/~xianeizhang/notes/Linking.html 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. 글의 내용 " 심볼 리졸루션 단계가 끝나면, 각각의 심볼들이 서로 연결을 맞췄다는 뜻이 된다. 예를 들어, pbl.asm에서 사용하는 `_main` 심볼이 실제로는 sfl.asm에 있다는 것을 이 시점에서는 알게된다. 컴파일 및 어셈블 후..
-
ddLinux/development tool 2023. 6. 10. 14:41
글의 참고 글의 전제 - `운영체제 만들기` 파트에서 퍼온 모든 참조 글들과 그림은 반드시 `이 글과 그림을 소스 코드로 어떻게 구현을 해야할까` 라는 생각으로 정말 심도있게 잠시 멈춰서 생각해봐야 실력이 발전한다. 글의 내용 : dd 유틸리트를 이용하면 간단하게 디스크 드라이브를 이미지를 만들 수 있다. dd if=/dev/zero of=./disk.img bs=512 count=1024 : if는 `input file`의 약자이고, of는 `output file`의 약자이다. 위에 명령어를 통해서 0으로 채워진 0x80000(524288)B 크기의 disk.img 라는 파일이 만들어진다. 이와 같이 입력 파일의 값으로 출력 파일을 만드는게 dd다. 그 사이즈는 bs와 count에 전달된 값을 통해 계..
-
[개발 도구] objdumpLinux/development tool 2023. 6. 10. 02:21
글의 참고 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. - `글의 참조`에서 빨간색 볼드체로 체크된 링크는 이 글을 작성하면 가장 많이 참조한 링크다. - `운영체제 만들기` 파트에서 퍼온 모든 참조 글들과 그림은 반드시 `이 글과 그림을 소스 코드로 어떻게 구현을 해야할까` 라는 생각으로 정말 심도있게 잠시 멈춰서 생각해봐야 실력이 발전한다. 글의 내용 - 개요 " 리눅스 환경에서 OS 개발시에 디버깅을 위해서 어셈블리 파일을 ELF로 빌드하기 위해 DWARF 정보를 삽입한다..
-
[개발도구] - inline assemblyLinux/development tool 2023. 6. 7. 13:16
글의 참고 - https://en.wikipedia.org/wiki/Inline_assembler - https://en.cppreference.com/w/c/language/asm - https://wiki.osdev.org/Inline_Assembly - https://www.ic.unicamp.br/~celio/mc404-s2-2015/docs/ARM-GCC-Inline-Assembler-Cookbook.pdf 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. 글의 내용 - 인..
-
세그먼테이션프로젝트/운영체제 만들기 2023. 6. 7. 01:21
글의 참고 글의 전제 - 밑줄로 작성된 글은 강조 표시를 의미한다. - 그림 출처는 항시 그림 아래에 표시했다. 글의 내용 : 이제는 거의 사용하지 않지만, 여전히 x86 아키텍처 기반의 시스템 프로그래밍을 할 때 사용하는 메모리 주소 방식이다. 인텔이 초창기 모델인 8086은 처음 나올 때 부터 CPU 내부 레지스터 부터해서 내부와 외부 데이터 버스의 대역폭은 16비트였다(내부와 외부는 CPU를 기준으로 나눈다. CPU안에 있는 버스는 내부 버스, CPU 밖에 있는 버스는 외부 버스). 그런데, 메모리와 연결되는 외부 주소 버스가 20비트였다. 이게 세그먼트 주소 지정방식의 시작이다. : 아래의 8086의 회로도를 보면 알겠지만, AD0 - AD15 까지 있는데, A16 - A19가 추가적으로 있는 것..
-
Higher Half Kernel프로젝트/운영체제 만들기 2023. 6. 6. 19:03
글의 참고 - https://wiki.osdev.org/Higher_Half_x86_Bare_Bones - https://medium.com/@connorstack/how-does-a-higher-half-kernel-work-107194e46a64 - https://littleosbook.github.io/#paging-and-the-kernel 글의 전제 - 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다. - 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자. - `글의 참조`에서 빨간색 볼드체로 체크된 링크는 이 글을 작성하면 가장 많이 참조한..