Monkos는 인텔 및 AMD 프로세서를위한 실험 64 비트 운영 체제입니다. 그것은 C와 어셈블리 언어의 혼합이며 진행중인 작업입니다. 현재 BIOS 부트 로더, 가상 콘솔 시스템, 인터럽트 처리 시스템, 페지 메모리 관리자, 힙 할당 자, 몇 가지 간단한 장치 드라이버 및 원시 대화식 쉘로 구성됩니다. 부트 로더는 CDROM에서 운영 체제를 시작하도록 설계되었습니다.
OS는 현재 크로스 컴파일러를 사용하여 Linux 아래에서 구축됩니다. (1) 시스템에 필요한 모든 도구를 설치하고 make 실행하거나 (2) 필요한 모든 빌드 도구가 포함 된 기성품 도커 컨테이너를 사용하여 필요한 두 가지 방법이 있습니다.
로컬 시스템에 설치된 도구로 빌드하려면 다음 소프트웨어가 이미 설치되어 있어야합니다.
이러한 도구의 대부분은 표준 Linux 패키지 관리자에서 제공됩니다. 그러나 크로스 컴파일러는 그렇지 않습니다. 크로스 컴파일러를 구축하려면이 페이지의 지침을 참조하십시오. 레드 존 지침없이 LIBGCC를 따르십시오.
모든 도구를 설치하고 크로스 컴파일러가 경로에 있는지 확인하면 make 실행하십시오.
$ make 이로 인해 빌드 하위 디렉토리에서 monk.iso 라는 부팅 가능한 CDROM ISO 파일이 발생합니다.
크로스 컴파일러를 구축하고 설치하는 것은 약간의 번거 로움이 될 수 있기 때문에 Docker 컨테이너가 준비되어 있으므로 크로스 컴파일러를 직접 구축하지 않도록 할 수 있습니다. Docker 기반 빌드를 실행하려면 시스템에 Docker의 최근 버전이 설치되어 있는지 확인하고 시스템의 Docker 사용자 그룹에 자신을 추가 한 다음 다음을 입력하십시오.
$ make docker 이렇게하면 Docker 컨테이너 ( brett/monkos-build )가 아직 가지고 있지 않으면 컨테이너 내부에서 빌드를 실행하고 빌드 하위 디렉토리에서 ISO 파일 (및 기타 모든 중간 출력 파일)을 생성합니다. 시스템에 로컬로 설치된 크로스 컴파일러를 사용하여 make 한 것처럼 거의 정확하게 작동합니다.
ISO 파일이 있으면 Monkos를 실행하는 방법에는 여러 가지가 있습니다. 가장 먼저 시간이 많이 걸리는 방법은 좋아하는 불타는 유틸리티를 사용하여 CD 또는 DVD ROM에 태우는 것입니다. 이것이 베어 메탈 시스템에서 Monkos를 테스트하는 유일한 방법입니다.
또는 VMware 또는 VirtualBox와 같은 가상 머신 소프트웨어를 사용하여 운영 체제를 시작할 수 있습니다.
또는 QEMU 또는 Bochs와 같은 Linux 기반 에뮬레이터에서 운영 체제를 운영 할 수 있습니다. Monkos Makefile은 QEMU에서 OS를 시작하기위한 간단한 빌드 규칙을 제공 함으로써이 대안을 특히 쉽게 만듭니다.
$ make testMakeFile을 사용하여 QEMU 및 GDB에서 커널 디버깅 세션을 시작할 수도 있습니다. 먼저 디버깅 모드에서 QEMU를 시작합니다.
$ make debug그런 다음 QEMU 디버거 엔드 포인트에 GDB를 연결하여 GDB 디버거 세션을 시작하십시오.
$ gdb
(gdb) set arch i386:x86-64
(gdb) symbol-file build/monk.sys
(gdb) target remote localhost:8864
(gdb) layout src
make docs Monkos를위한 멋진 포맷 된 문서를 작성하십시오. 이 작업을 수행하려면 시스템에 Doxygen을 설치해야합니다.
$ make docs Doxygen 문서는 docs/monk 서브 디렉토리에 나타납니다. 이를 보려면 브라우저에서 시작하십시오 (이 경우 Firefox) :
$ firefox docs/monk/index.html편집기 내에서 쉬운 기호 검색을위한 코드 태그를 구축하려면 MakeFile을 사용하여 활기 넘치는 태그 유틸리티를 실행하십시오.
$ make tags 이것은 Monkos 디렉토리에서 .tags 파일을 생성합니다.
모든 중간 파일을 정리하려면 청정 빌드를 사용하십시오.
$ make clean생성 된 모든 종속성 파일을 정리하려면 CleanDeps 빌드를 사용하십시오.
$ make cleandepsMonkos 문서 세트의 일부인 Doxygen 형식 문서를 참조하십시오.
이것들은 Bootloader 및 OS 개발의 수많은 및 다양한 측면을 더 잘 이해하려는 시도에서 내가 의존했던 리소스 중 일부입니다.
이 소스 코드의 사용은 라이센스 파일에서 찾을 수있는 BSD 스타일 라이센스로 관리됩니다.