메모리 맵, 부트스트랩 관련 질문입니다.
글쓴이: maner07 / 작성시간: 토, 2006/01/07 - 10:11오전
x86계열의 컴퓨터에서..
처음 컴퓨터가 시작되면 바이오스의 내용을 읽고 실행합니다.
그런데 이때 실행 되는 바이오스 코드는 RAM으로 읽어들여서
실행되는 것인가요? 아니면 그냥 CPU가 읽고 실행하는 것
뿐인가요?
그리고 책에 보면 다음과 같은 메모리 맵이 있는데
| |
~~~~~~~~~~~
| 확장 메모리 영역 |
---------------------- FFFF:FFFF
| 롬 바이오스 영역 |
---------------------- C000:0000
| 컬러 텍스트 모드 |
| 비디오 메모리 |
---------------------- B800:0000
| 흑백 텍스트 모드 |
| 비디오 메모리 |
---------------------- B000:0000
| 그래픽 모드 |
| 비디오 메모리 |
---------------------- A000:0000
여기서 쓰여 있는 주소는 실제 RAM의 주소를 말하는 것인가요?
요즘에 "만들면서 배우는 OS 커널의 구조와 원리"라는 책을
보고 있는데.. 보호모드의 인터럽트 관련 내용 중에 IDT가
메모리(RAM)의 0번 주소에 저장하는 코드가 있었습니다.
RAM의 0번은 IDT 관련 내용이 고정되어 저장되고 사용되는
것인가요?
답변, 관련 자료 뭐든지 정말 감사하게 받겠습니닷.
절실해요..ㅜ_ㅜ
Forums:
Re: 메모리 맵, 부트스트랩 관련 질문입니다.
원래 mmaped I/O 는 CPU 가 바로 읽어들이는 겁니다만... pc 에서는 bios shadow 등의 방법을 통해 RAM 에서 읽어들이게도 할 수 있는걸로 압니다 ;)
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
Re: 메모리 맵, 부트스트랩 관련 질문입니다.
음.. bios shadow라는 기법에 대해 찾아 보았습니다. RAM의 일부분을 ROM의 mirror 형태로 만들어서 그 영역을 CPU가 ROM
처럼 사용하는 것으로 설명이 되어 있더군요. 그럼 ROM의 코드가
올라가는 RAM의 영역(주소)이 고정되어 있는 것인가요? 또 그 영역은
나중에 커널이 올라가면 사라지게 되는 것인가요?
memory mapped I/O 는 소프트웨어 적이 아니라 하드웨어 적으
memory mapped I/O 는 소프트웨어 적이 아니라 하드웨어 적으로 구성되는 것인데... OS 가 올라가고 말고랑은 상관 없지 않나요?
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
음.. memory mapped I/O에 대해 좀더 공부하고 질문 드리겠
음.. memory mapped I/O에 대해 좀더 공부하고 질문 드리겠습니다.
memory mapped I/O는 메모리 특정어드레스를 CPU가 접근할
memory mapped I/O는 메모리 특정어드레스를 CPU가 접근할 경우 실제 메모리가
아닌 어떤 장치로 날라가는거죠.. 일례로 비디오 메모리가 있죠. (0xa0000~
0xbffff사이에 데이터를 쓰게 되면 화면에 뭐가 쓰여지게 되죠)
memory mapped I/O 하드웨어쪽에서도 지원을 해 줘야 합니다.
해 줘야 합니다.
bios shadow 기술은
rom이 느리기 때문에 rom의 내용을 먼저 ram으로 복사해놓고 그걸 실행하는
걸로 알고 있습니다.
Written By the Black Knight of Destruction
댓글 달기