osdev

    1

    1답변

    콜백 기능을 구현하는 동안 다음과 같은 문제가 발생했습니다. 부적절한 수신자가 반송되지 않는 상황을 처리하는 좋은 방법은 무엇입니까? 어떻게 이런 상황을 감지하고 정규 프로그램 흐름을 계속할 수 있습니까? 내 생각은 지금까지 실제 콜백을 수행하는 스레드를 생성하고 시간 초과 후에는 그것을 죽이는 것입니다 (그리고 응용 프로그램). 둘째 요점은 내 피 호출자

    0

    2답변

    이것은 내가 시작을 이해하지 못하는 `[ORG 0x00] [BITS 16] SECTION .text jmp 0x07c0:START ; set CS(segment register) to 0x07C0 and jump to START label. TOTALSECTORCOUNT: dw 0x02 KERNEL32SECTORCOUNT:

    1

    1답변

    스택 어셈블리가 x86 어셈블리에서 작동하는 방식을 이해하는 데 도움이 필요합니다. 아래의 코드 스 니펫은 내가 공부하고있는 부트 로더에서 가져온 것입니다. 인쇄 기능에는 세 개의 "인수"가 사용됩니다. 스택에 3을 모두 밀어 넣기 때문에,은이 0xfff9 일 것으로 예상됩니다. bp은 인쇄 기능에서 한 번에 같은 주소를 사용합니다. 어떻게하면 [bp+2]

    1

    2답변

    나는 OS 개발로 놀고 있는데, 나는 내 자신의 커스텀 파일 시스템을 사용하고 싶다. 문제는 내 OS를 HDD에 가져 오기 위해 CD에 설치 프로그램을 만드는 것입니다.이 프로그램은 동일한 파일 시스템을 사용하여 만들고 싶습니다. 이것은 CDFS를 탐색하는 것에 대해 걱정할 필요가 없다는 것을 의미하며, 내 OS에 대해 동일한 부트 로더 시스템을 사용하여

    0

    2답변

    부트 로더와 커널이 모두 어셈블리로 작성되었습니다. 이제이 파일에 2 가지 문제가 있습니다. 부트 로더의 크기가 512B이므로 VirtualBox에서 부트 로더의 .img 파일을 성공적으로 실행할 수 있습니다. 그러나 : 커널의 크기는 580B이며이 버추얼 플로피 드라이브에 의해 허용되지 않습니다. 어떻게 나올 수 있습니까? 그것은 VirtualBox에서

    -1

    1답변

    OS 개발에 대한 좋은 자습서를 많이 보았지만 에뮬레이터를 설정하고 내 OS를 테스트하는 방법을 알지 못합니다. 또한 GRUB을 사용하고 싶지 않기 때문에 어떤 부트 로더를 선택할지는 알 수 없습니다. OS는 경량이고 GRUB은 무겁습니다.

    3

    1답변

    나는 PCI에 대해 질문이 있습니다. PCI에는 세 개의 주소 공간이 있습니다. PCI I/O, PCI 메모리 및 PCI 구성 공간. 그들은 각각 물리적으로 어디에 위치하고 있습니까? PCI 컨트롤러에서? 아니면 장치에서? 그 중 일부는 시스템 RAM의 일부입니까?

    0

    1답변

    을 사용할 때 필요한 많은 키보드 컨트롤러 대기 호출되며, A20을 가능하게하기위한 코드들 바와 같이 다음에 enable_A20: cli call a20wait mov al,0xAD out 0x64,al call a20wait mov al,0xD0 out 0x64,al ca

    2

    1답변

    대상 플랫폼 용으로 컴파일 된 libgcc가있는 교차 컴파일러가 있지만 표준 C 라이브러리는 없습니다. libgcc가 의존하는 기능과 그 정보는 어디에서 찾을 수 있습니까? :

    -2

    2답변

    this question을 읽은 후 주 응답으로 커널에서 readelf를 실행하고 내 .text 섹션이 0x00101000이 아니라 0x00100000임을 확인했습니다. 또한 .text 섹션이 있어야하는 위치에있는 .not.gnu.build-i를 읽는 위의 섹션을 발견했습니다. .text 섹션을 올바른 위치에 만들 수있는 방법이 있습니까? 이미 align