저는 Linux 커널을 구축하지 않고 운영 체제 개발을 해오 고 있으며 최신 OS를 위해 디버거가 필요한 시점까지 왔습니다. Bochs를 (내 Win 7 파티션에서) 사용해 보았지만, USB를 인식하지 못했습니다. (포맷되지 않았습니다. 지금 특정 분야를 읽고 있습니다.) 우분투 11.10에서 뭔가를하고 싶습니다. Ubuntu 11.10 용 사용자 정의 빌
OS X에서 x86_64-elf 커널을 빌드하고 있습니다. 빌드 시스템이 autotools입니다. configure: error: C compiler cannot create executables
See `config.log' for more details
그래서 내가 config.log을보고 참조 : 을 내가 autotools를에서 생성 된 구성 스
이것이 크로스 컴파일 툴 체인의 환경 변수를 설정하는 방법에 적합한 지 모르겠습니다. 툴체인의 목적은 OS를 개발하는 것입니다. 우분투 12.04 LTS를 사용하고 있습니다. 문제는 툴 체인의 환경 변수를 설정하는 방법입니다. 크로스 컴파일러 툴 체인의 경로는 내가 우분투와 함께 제공되는 GCC 툴체인을 사용할 수 여전히 GCC 크로스 컴파일러 툴체인을 사
대학의 Pintos 장난감 운영체제에서 작업하고 있지만 GCC 4.6.2를 사용할 때 이상한 버그가 있습니다. 시스템 호출 인수 (인라인 어셈블리에서 3 pushl -s 만)를 푸시면 일부 신비한 데이터가 스택에 표시되고 인수의 순서가 잘못되었습니다. -fno-omit-frame-pointer를 설정하면 이상한 데이터가 제거되지만 인수는 여전히 잘못된 순서
재미 있기 때문에 OSless 하드웨어에서 실행되는 코드를 작성하고 싶습니다. 필자는 VM웨어 (VM웨어 나 버추얼 박스와 같은)에서 실행될 코드를 작성하는 것이 좋을 것이라고 생각한다. 그러나 나는 처음부터 시작하고 싶지 않다. C++ 런타임을 사용할 수 있기를 바랍니다. 뭔가 내가 읽기/쓰기 (아마 FAT32 파일 시스템 코드) 수 있습니다. 텍스트 그
저는 C 라이브러리조차 존재하지 않는 내 임베디드 프로젝트 중 하나에 대해 라이브러리와 마찬가지로 dlopen(), dlsym(), dlclose(), dlerror()를 작성하려고했습니다. 나는 이미 www.libcaprice.com에서 찾을 수있는 내 자신의 C/C++ 라이브러리를 썼다.) 하지만 저를 괴롭히는 것은이 동적 라이브러리 로더를 구현하는 것
나는 약간의 애호가 운영체제 개발을 골머리를 앓고 있는데, 나는 메모리 매핑 된 I/O 주소에 약간 혼란 스럽다. 전체 메모리 매핑 된 I/O 개념을 이해하지만 개발자가 주소를 가져 와서 하드웨어를 조작하는 방법을 파악하려고합니다. 하드웨어 공급 업체가 지정한 주소입니까? 아니면 모든 컴퓨터의 표준 주소입니까? 예를 들어, 텍스트 인쇄를위한 VGA 메모리는
최근 OS에 대해 배우고 있습니다. 그리고 모드를 보호하기 위해 실제 모드를 변경 한 다음 간단한 커널을로드하는 간단한 부트 로더를 작성하려고합니다. 하지만 입력 주소 문제를 알아낼 수 없습니다. 처음에는 부트 로더를 OS.img (qemu)의 첫 번째 섹터에 넣은 다음 두 번째 섹터에서 커널을 시작합니다. 내 커널의 결과는 다음과 같습니다. 진입 점 주소