도스의 기본 메모리 (주먹 640kB)에는 운영 체제, 드라이버 및 실행 프로그램이 포함되어 있습니다. 이러한 프로그램 간의 충돌을 피하기 위해이 메모리를 어떻게 배치합니까? 예를 들어, 해당 주소 공간의 일부가 예약되어 있습니까?도스의 기본 메모리 레이아웃
답변
DOS는 EXE가로드 될 때 DOS 의해 지정된 메모리 블록에 대한 올바른 상대적으로 메모리 참조를 재배치 EXE header 정보를 이용하여 프로그램을 메모리에로드
http://www.frontiernet.net/~fys/rombios.htm .
그렇다면 아무 것도 프로그램이 OS, 장치 드라이버 등을 방해하지 못하게한다는 것입니다. 모든 메모리 위치를 읽고 쓸 수 있습니다. 이 기법은 일반적으로 예를 들어. TSR programs (다시 쓰기 interrupt vector table)으로 키보드, 타이머, 마우스 또는 그와 유사한 장치를 연결 한 다음 메모리에 남아있는 동안 종료하십시오.
DOS 메모리 레이아웃 here에 대한 자세한 내용은 여기를 참조하십시오.
이 자세히 들어가는
지도가 좋지만 주소 0x900의 653,056 바이트에 관심이 있습니다. 컴파일러는 내 프로그램 (리얼 모드로 실행)이 드라이버를 말하는 것과 충돌하지 않는다는 것을 어떻게 보장합니까? – abc
DOS 자체가 프로그램을 여유 메모리의 맨 아래에로드하고 나머지는 DOS에 멀티 태스킹하지 않으므로 사용할 수있는 여유 메모리가 있습니다. 드라이버, TSR 등에는 프로그램이로드되는 메모리의 최하부 (bottom of memory)를 늘리거나 메모리 상단으로 자르는 메모리가 할당됩니다 (일반적으로 BIOS 확장은이를 수행합니다). C 컴파일러를 사용하는 경우 DOS에 사용 가능한 메모리가 있는지 묻습니다. 어셈블러에서 수행하는 경우 두 번째 16 비트 워드는 프로그램 위에 예약 된 메모리 세그먼트 인 http : //docs.huihoo를 보유합니다. co.kr/help-pc/table-Program_Segment_Prefix.html –
+ vote. 그 의견과 에릭 제이의 대답은 제가 찾고있는 것입니다. 감사. – abc
- 1. 도스의 java 명령
- 2. 자바와 메모리 레이아웃
- 3. 메모리 레이아웃 C++ 객체
- 4. Android 기본 설정 레이아웃
- 5. 기본 html 레이아웃 질문
- 6. 기본 Android 레이아웃 질문
- 7. 기본 WPF 레이아웃 질문
- 8. 레이아웃 변경 후 기본 레이아웃 설정이 사라졌습니다.
- 9. Java 프로젝트의 기본 디렉토리 레이아웃
- 10. 기본 Magento 페이지 레이아웃 설정
- 11. Android 기본 목록보기 행 레이아웃
- 12. 레이아웃 기본 설정 저장 /로드
- 13. 기본 고정 메모리 대 제로 - 복사 메모리
- 14. 메모리 게임을위한 GridView 대 기타 레이아웃 | Android
- 15. 대용량 메모리 서버의 기본 ASP
- 16. PHP - 메모리 제한 기본 128MB의와
- 17. (iphone) 기본 메모리 관리 질문
- 18. Android - 기본 레이아웃에 런타임에 레이아웃 추가
- 19. 레이아웃 = button_count 인 버튼이 기본 90px를 내림
- 20. Android 기본 설정 맞춤 레이아웃 수정
- 21. Zend Framework : 기본 레이아웃 이외의 방법 부착
- 22. 어떻게 기본 레이아웃 디렉토리를 바꿀 수 있습니까?
- 23. Homepage 스크롤 및 아이콘 레이아웃 기본 Apple
- 24. 아이폰 메모리 관리 아이폰 메모리 관리에 대한 (기본)
- 25. ActionScript - 메모리 관리를위한 기본/비 기본 객체의 차이점은 무엇입니까?
- 26. 기본 기능이있는 크롬 확장 메모리 돼지
- 27. 기본 C++ 메모리 할당 및 strlen
- 28. Dalvik 메모리 할당 - 기본 제한을 변경하는 방법?
- 29. 기본 소프트 키 메모리 제한 초과
- 30. Xcode 디버거 : 기본 유형의 메모리 주소 표시?
이 기사가 실제 모드 주소 공간에서의 충돌 문제에 대한 대답이라고 생각하지 않습니다. – abc