Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Michael Ryazanov                     2:5030/1492.64 09 Feb 2003  00:35:00
 To : All
 Subject : Выделение памяти
 -------------------------------------------------------------------------------- 
 
 
    Задачка, может быть, не совсем по теме, поэтому приветствуются ссылки на то, 
 где это узнать/спросить.
    Везде написано, что контроллер ПДП (DMA) не умеет переходить через границы
 64-килобайтных страниц, т.е. в адресе должны меняться только 16 младших битов. В
 связи с этим и вопрос -- как выделять память (под ДОСом) для буфера так, чтобы
 не пересечь границу?
    Можно, например, выделять блок двукратного размера и использовать
 "правильную" его половину. Hо это, во-первых, расходует лишнюю память,
 во-впорых, при достаточно большом размере буфера обе половины могут оказаться
 "неправильными", и придётся вычислять "правильный" адрес, в-третьих, могут
 возникнуть проблемы с использованием этого буфера в программе (16-битное
 смещение может переполниться).
    Есть ещё идея отбирать память минимальными кусочками, пока не получится
 выделить подходящий блок, после чего эти кусочки освободить. Hо это тоже как-то 
 некрасиво.
    А как это делают на самом деле? Или, может быть, проблема была только в
 древних контроллерах, и заморачиваться не надо? :-)
 
                                                                       |V|uxau/\
 --- -- - ъ
  * Origin:             Ф И З Ф А К - Ч Е М П И О H !           (2:5030/1492.64)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Выделение памяти   Michael Ryazanov   09 Feb 2003 00:35:00 
 Выделение памяти   Alex Astafiev   10 Feb 2003 21:53:54 
 All   Comoderator Of Ru Algorithms   11 Feb 2003 01:09:36 
 Re: Выделение памяти   Michael Ryazanov   11 Feb 2003 19:26:00 
 Выделение памяти   Alex Astafiev   14 Feb 2003 02:01:26 
 Re: Выделение памяти   Sergey Andrianov   11 Feb 2003 21:41:52 
 Выделение памяти   Aleksey Vaneev   11 Feb 2003 00:55:55 
 Re: Выделение памяти   Sergey Andrianov   10 Feb 2003 13:46:50 
 Re: Выделение памяти   Valentin Davydov   12 Feb 2003 09:13:12 
 Выделение памяти   Sergey Mudry   12 Feb 2003 15:53:41 
 Выделение памяти   Comoderator Of Ru Algorithms   13 Feb 2003 19:22:00 
Архивное /ru.algorithms/46363e45988b.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional