|
Вопрос # 4 477/ вопрос открыт / |
|
Привет всем!
Мой вопрос заключается в том, что мне нужно узнать как выделить в первом мегабайте RAM(не virtual memory) одну страницу памяти размером 64Кб под буфер DMA, так чтоб знать ее номер, который понадобится в дальнейшем.
Просто никогда ничего подобного раньше с RAM не делал, знаю только что в первый мегабайт при загрузке системы грузится часть ядра системы, если я не ошибаюсь.
Сначала думал что подойдет функция AllocateUserPhysicalPages но на msdn пишут что для корректной работы нужна как минимум vista.
Возможно это реализуется както иначе не через API, в любом случае буду благодарен за хоть какую нибудь информацию по этому вопросу.
|
Вопрос задал: SOA (статус: Посетитель)
Вопрос отправлен: 31 июля 2010, 11:55
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 2 августа 2010, 08:30; участников в обсуждении: 3.
|
Егор (статус: 10-ый класс), 31 июля 2010, 18:24 [#1]:
нифига себе вопрос. это зачем тебе такое понадобилось?
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
SOA (статус: Посетитель), 31 июля 2010, 18:59 [#2]:
Это нужно для функции воспроизведения wav файла с 16 битным сэймплом через звуковую карту, посредством DMA контроллера(Dynamic memory access), порывшись в манах на эту тему нашел несколько стоящих, вот в этом
http://zet.aluzina.org/index.php/8237_DMA_controller
пишут что DMA буфер должен распологаться в пределах первого мегабайта RAM (там где пишут про Page register).
|
|
Вадим К (статус: Академик), 1 августа 2010, 20:07 [#3]:
В первом мегабайте выделить кусочек памяти сложно - никто не даст, а если точнее быть - это невозможно. То есть, что бы выделить память, нужно что бы кто то выделял ее, а в Windows не выделяет там память....
Поэтому выделять не нужно. Там уже все зарезервировано. Нужно просто узнать и писать/читать. Если разрешат конечно
Галочка "подтверждения прочтения" - вселенское зло.
|
|
SOA (статус: Посетитель), 2 августа 2010, 08:30 [#4]:
Спасибо.
Буду знать.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|