|
|
|
память в dos
|
|||
|---|---|---|---|
|
#18+
Всем привет! Не могу выделить большой объем память в DOS (пару Mb под массив чисел). Кто сталкивался с продобной проблемой, поделитесь пожалуйста опытом, буду очень признателен. Компилятор Borland C++ 3.1. Работа в чистой DOS. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 19:16 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
вообще-то память в DOS ограничена 640 Кбайтами, включая расходы на ОС и твою программу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 19:18 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
И ничего нельзя поделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 19:20 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzИ ничего нельзя поделать? если действительно "Работа в чистой DOS", то ничего. если установлены хоть какие-то драйвера раширенной памяти, то поищи про Expanded memory или Extended memory (не помню какое точно, вечно путаю эти два названия), про EMM386.EXE (собственно, он и есть драйвер раширенной памяти в MS DOS) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 19:24 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
Можно почитать в инете про DOS Extender - ы А используется чистый дос или дос-окно под Windows? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 19:26 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
Я доооолго смеялся .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 23:56 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzВсем привет! Не могу выделить большой объем память в DOS (пару Mb под массив чисел). Кто сталкивался с продобной проблемой, поделитесь пожалуйста опытом, буду очень признателен. Компилятор Borland C++ 3.1. Работа в чистой DOS. Заранее спасибо. под досом, в реал моде мона только заюзать 640 кБайт + 64 кБайт - 16 байт (последнии две цифры, если разрешить A20)... если перевести комп в протэкшен моде - то мона уже усю, что есть... в принцепе мона использовать "любой" размер памяти и под досом (см. тот же самый фортран) - но это больше похоже на свопинг, нежели доступ к физической памяти более указанного выше размера... с уважением (круглый) ЗЫ Вот они - дети форточек :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 15:41 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
даже печальнее - с помощью malloc() можно будет выделить не более 64Kb - ибо таков размер сегмента в DOS. То есть даже заветные 640 Kb не получить одним куском - а придется делать несколько сегментов память и переключать регистр DS на них. Это насколько я помню из DOS :-) Может уже забыл чего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 16:26 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
--null--даже печальнее - с помощью malloc() можно будет выделить не более 64Kb - ибо таков размер сегмента в DOS. То есть даже заветные 640 Kb не получить одним куском - а придется делать несколько сегментов память и переключать регистр DS на них. Это насколько я помню из DOS :-) Может уже забыл чего. смотрим дос внимательней... при загрузке то го же самого COMа - вся память начиная с PSP отдаёться текущему процессу.... И Вам никто не мешает вовремя переставлять верхнюю тэтраду адреса в сегменте адресации... 640 тем не менее - Вы правы, вряд ли мона заюзать... А вот почти 600 - без вопросов....Правда оттюнить придётся дос достаточно плотно... с уважением (круглый) ЗЫ Мона сделать просче... Написать на фортране например... заказать в его подпрограмме 4 мерный (к примеру) массив неизвестной длины... Вызвать эту подпрограмму с числом 500 млн. (к примеру)...Компильнуться...Запустить прогу(название ужо забыл - сорьки) сжатия бинарника...получить с гулькин хрен бинарник... Запустить под досом и радоваться обработки фортраном памяти в 2 ГГб... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 16:42 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
я давно уже с дос не общался, к сожалению, может забыл что-то. но ведь грубо говоря malloc() на 120 Kb скажем втупую сделать нельзя? Память, конечно, отдается процессу - но сегментную адресацию придется преодолевать вручную - автор И Вам никто не мешает вовремя переставлять верхнюю тэтраду адреса в сегменте адресации то есть играть с адресами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 16:51 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
--null--...то есть играть с адресами а шо там играть то !... вся память... 0FFFFFh из них "нижнии" 640 - это всего то, до адресса 0A0000h любой регистр x86 в реал моде 16 разрядный... реальный адресс получаеться путём сложения сегмента и регистра адресации со сдвигом в 4 бита... То бишь Вам никто не мешает работать спокойно в цикле с одним сегментом... и при окончании счётчика - прально выбирать следующий сегмент...сей код на азме - два пальца об асфальт... а вообще то, если уже более серьёзно - то время ОБРАБАТЫВАЕМЫХ данных ДОЛЖНО быть СОИЗМЕРИМО с временем ПЕРЕДАЧИ(сохранения) этих самих данных... Всё остальное - от лукавого - будет проигрыш по времени ;) За примерами - лучше к анализу индексных страниц (они всего 1, 2 кила), у того же самого формата DBF :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 17:18 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
угу, все верно просто у меня было подозрение, что товарищ попытался сделать баальшой alloc() :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 17:20 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
Всем спасибо! Дело в том, что я, можно сказать новичок в программировании, и не дорос еще до того, чтобы играть с адресами, тем более на асме =)! В результате нескольких часов мучений понял, что больше 64kb одним куском ни маллоками, ни аллоками, ни чем другим выделить не получается =((по крайней мере у меня). Хоть какой-то выход нашелся путем определения нескольких кусков по 64kb (возможно это и является "переключением регистров памяти", но через задний прход, увы, по-другому не умею). Но тем не менее свыше примерно 600кb не выходит =(. Неужели нет способа попроще, в виде готовой функции. И еще маленький вопросик: как перевести машину в защищенный режим? Еще раз всем огромное спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 21:46 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzХоть какой-то выход нашелся путем определения нескольких кусков по 64kb Это неправильный выход. Правильным будет выделить один кусок памяти и при необходимости подчитывать в него очередной кусок своего массива чисел. plut_snzИ еще маленький вопросик: как перевести машину в защищенный режим?"Не получается палец уколотый перевязать, ну и фиг с ним, пойду проведу операцию на сердце" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 22:10 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
White Owl plut_snzХоть какой-то выход нашелся путем определения нескольких кусков по 64kb Это неправильный выход. Правильным будет выделить один кусок памяти и при необходимости подчитывать в него очередной кусок своего массива чисел. plut_snzИ еще маленький вопросик: как перевести машину в защищенный режим?"Не получается палец уколотый перевязать, ну и фиг с ним, пойду проведу операцию на сердце" :) Про палец понял... Но все-таки если я буду в один участок памяти почитывать массив чисел, то рано или поздно этот участок закончится, а времени на то, чтобы вывести данные в файл нет! Именно поэтому я и прош помочь. В справке по borland c++ 3.1 написано, что используюя farmalloc можно занять ВСЮ имеющуюся память. У меня не выходит больше 54 kb =((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 22:27 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
авторКомпилятор Borland C++ 3.1 Если мне память не изменяет - в Борланде есть DMPI (кажется) интерфейс, который позволяет работать с памятью в защищенном режиме - т е всю доступную память выше 1024К видно как линейный массив. Может и спутал чего - давно было Это все а-ля DOS4GW (в смысле DMPI) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 22:28 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
авторИ еще маленький вопросик: как перевести машину в защищенный режим? оно конечно можно, но оно Вам надо? :-) придется слишком много прочитать про защищенный режим. Проще уж не ручками, а с DOS-Extender-ом И вообще - почему принципиален DOS? Учебная задача с обязательным требованием DOS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2006, 22:38 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzНо все-таки если я буду в один участок памяти почитывать массив чисел, то рано или поздно этот участок закончится, а времени на то, чтобы вывести данные в файл нет!Почему нет? При чем здесь время вообще? Прочитал, обработал, записал, повторить. Все просто как дважды-два. plut_snzИменно поэтому я и прош помочь. В справке по borland c++ 3.1 написано, что используюя farmalloc можно занять ВСЮ имеющуюся память. У меня не выходит больше 54 kb =(((ээээ.... Ну да, в справке борланда есть заявление что мол farmalloc может выделять куски более 64К, но насколько это работает на практике... На запрос памяти ОС ищет первый свободный кусок не меньше запрошеного по объему и отдает его пользователю. Возможно что у тебя просто в тот момент была большая замусореность памяти. В любом случае хапать большой кусок памяти на ОС без свопа непрактично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 00:57 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
landy авторКомпилятор Borland C++ 3.1 Если мне память не изменяет - в Борланде есть DMPI (кажется) интерфейс, который позволяет работать с памятью в защищенном режиме - т е всю доступную память выше 1024К видно как линейный массив. Может и спутал чего - давно было Это все а-ля DOS4GW (в смысле DMPI)DOS4GW это WatcomC, лучший компилятор во времена 386-х :) У борландов DPMI не было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 01:03 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
DOS принципиален, т.к. с портами и прерываниями под Windows работать совсем не умею. (а надо =)). Задача не учебная. Требуется считывать значения с одной железки, частота выборок должна быть высокой. Пробовал писАть в файл, получается фигово, т.е. пока пишу, пропускаю кучу значений, вот так вот. С екстендерами пока не разбирался, решил сразу сюда написать, думал есть способ попроще, выходит нету... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 10:55 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzТребуется считывать значения с одной железки, частота выборок должна быть высокой. Пробовал писАть в файл, получается фигово, т.е. пока пишу, пропускаю кучу значений, вот так вот. насколько высока частота выборок? имхо, такое лучше сделать в две ступени: 1) машина-коллектор принимает данные и по мере накопления блоков данных отправляет их машине-серверу по сети или какому-то другому каналу. Это вполне может быть DOS-машина или даже недорогой промышленный контроллер. 2) машина-сервер принимает блоки с данными, если необходимо, то выполняет первичную обработку и записывает данные в файл или в БД. т.е. я предлагаю поток данных из синхронного седлать асинхроным... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 11:14 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
--null--даже печальнее - с помощью malloc() можно будет выделить не более 64Kb - ибо таков размер сегмента в DOS. То есть даже заветные 640 Kb не получить одним куском - а придется делать несколько сегментов память и переключать регистр DS на них. Йесть мудель памити HUGE (она же Хуго, ни путать с Хуга Бозз). Ана можит и мигабайт выдилить в адин массиф. Многия кампилятары для ДОС иё паддерживали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 13:00 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzDOS принципиален, т.к. с портами и прерываниями под Windows работать совсем не умею. (а надо =)). Задача не учебная. Требуется считывать значения с одной железки, частота выборок должна быть высокой. Пробовал писАть в файл, получается фигово, т.е. пока пишу, пропускаю кучу значений, вот так вот. С екстендерами пока не разбирался, решил сразу сюда написать, думал есть способ попроще, выходит нету... в BP 7.0 DPMI точно был. IMHO, проще разобратся с портами и прерываниями Windows или Linux. эТИ знания, по крайней мере будут активно востребованны. Сложного там ничего нет. Каким образом собираетесь вводить информацию с железки в компьютер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 14:19 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzDOS принципиален, т.к. с портами и прерываниями под Windows работать совсем не умею. (а надо =)). Задача не учебная. Требуется считывать значения с одной железки, частота выборок должна быть высокой. Пробовал писАть в файл, получается фигово, т.е. пока пишу, пропускаю кучу значений, вот так вот. С екстендерами пока не разбирался, решил сразу сюда написать, думал есть способ попроще, выходит нету... как тут уже сказали - Вам будет просче и практичней - переползти под форточки... плюсы... 1) можно заюзать бОльшие мощности по обработки сигнала (имееться ввиду не железо, а программную часть и чужой опыт обработки сигналов под форточками). 2) мультизадачная среда... 3) азм в защищённом режиме более богатый и более продвинут в плане скорострельности выполнения (32, 64 битная орифметика и др.). 4) обретения опыта по драйверам под форточки.. минусы... 1) изучение написания драйверов..(в инете примеров - как грязи). 2) отладка драйвера (ну тут две машины Вам в помощь)... кажись так... с уважением (круглый) ЗЫ На досе, если не существует других аспектов - не стоит... Слишком уж не в духе времени - может сильно сказаться на спрос конечного продукта, так же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 15:25 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
В Win98 можно работать с железом практически так-же вольготно как в DOS но ежели она уйдет в своп Не думали об QNX ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 16:29 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)В Win98 можно работать с железом практически так-же вольготно как в DOS но ежели она уйдет в своп Не думали об QNX ? <IMHO> QNX-дорогое решение, применение кот. должно быть оправдано. Пока по данной задаче не были озвучены след. вещи - частота передачи данных (средняя) - интенсивность потока данных (на пике) - критичность потери части информации - наличие стандартных интерфейсов у опрашиваемого железа. давать какие - либо рекомендации по архитектуре системы весьма затруднительно. </IMHO> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 16:48 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
freebeerдавать какие - либо рекомендации по архитектуре системы весьма затруднительно. только самые общие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 17:13 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
[/quot] только самые общие [/quot] "Учиться , учиться и учиться...."(C В.И.Л.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 17:25 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
freebeerQNX-дорогое решение, применение кот. должно быть оправдано.И чем дальше, тем дороже :( Вечная проблема: продукт становится популярным, компания прибыльной, ее покупают и продукт умирает. От QSSL остались рожки да ножки, саппорта никакого, цены задраны. Публичные evalutaion версии куниха глючат как чикага во времена бет. В общем, сегодня я уже не советую смотреть в сторону QNX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 18:08 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
{Censored}, Но как-то же пишут драйвера для NT/win2000/XP? Наверняка болванки какие-то есть. Гимора всяко будет меньше, чем для ДОС писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 18:58 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
Смысл такой: надо мерить ток с помощью ацп.Частота выборок порядка нескольких кГц. Все это должно продолжаться в течение нескольких минут. Если периодически скидывать данные в файл, то пропускается некоторое количество значений. Потеря информации критична. Со стандартным интерфейсом не разбирался. Еще раз повторю, что я новичок в программировании. А все-таки придется делать в досе, проблема в том, что я работаю не один, а все остальные товарищи (включая меня) умеет программировать только в досе. Тем более создана довольно большая библиотека по работе с кучей разных плат. Переделать под винду нереально, по крайней мере для меня (я еще не до конца разобрался, как все работает =)). Пробовал покопаться в ассемблере, оказалось не по зубам =(. Короче фиг знает что делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 21:29 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
MasterZiv --null--даже печальнее - с помощью malloc() можно будет выделить не более 64Kb - ибо таков размер сегмента в DOS. То есть даже заветные 640 Kb не получить одним куском - а придется делать несколько сегментов память и переключать регистр DS на них. Йесть мудель памити HUGE (она же Хуго, ни путать с Хуга Бозз). Ана можит и мигабайт выдилить в адин массиф. Многия кампилятары для ДОС иё паддерживали... А можно примерчик, если не трудно, желательно для компиллятора borland 3.1 Буду очень признателен =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 21:34 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzСмысл такой: надо мерить ток с помощью ацп.Частота выборок порядка нескольких кГц. Все это должно продолжаться в течение нескольких минут. Если периодически скидывать данные в файл, то пропускается некоторое количество значений.Хреново скидываешь. Ты цифры в текст переводишь что-ли? Покажи код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 21:52 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
дома кода нету, возможно завтра притащу. Скидываю float значения. Да и если честно, то вариант со скидываним в файл уже наверно ушел в небытие... Я все с памятью воюю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 21:58 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzдома кода нету, возможно завтра притащу. Скидываю float значения. Да и если честно, то вариант со скидываним в файл уже наверно ушел в небытие... Я все с памятью воюю...а что это за АЦП которое выдает float'ы??? Первый раз про такое слышу. С порта всегда читаются байты и ничего кроме байтов. Их кладут в буфер, как только буфер заполнился - скидывают его в ранее открытый файл. Работает всегда и везде. Если во время записи буфера успели потерять несколько байтиков с порта, значит во первых надо включить буферизирование порта, во вторых уменьшить размер буфера. Увеличивать буфер глупо. Сегодня ты увеличил буфер с пяти секунд записи до десяти, а завтра понадобиться увеличить до минуты. В итоге все равно прийдется возиться со свопом и тогда тебе уже никакая RTOS не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 22:39 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snz А можно примерчик, если не трудно, желательно для компиллятора borland 3.1 Буду очень признателен =) Примерчик чего ? Параметров компилятора ? Не знаю я их и не помню. Посмотри в своем документации на компилятор. Ну и еще можешь посмотреть , обычно делали модификатор huge, как far или pascal. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 22:54 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzСмысл такой: надо мерить ток с помощью ацп.Частота выборок порядка нескольких кГц. Все это должно продолжаться в течение нескольких минут. Если периодически скидывать данные в файл, то пропускается некоторое количество значений. Потеря информации критична. Со стандартным интерфейсом не разбирался. Еще раз повторю, что я новичок в программировании. IMHO, АЦП меряет напряжение...(для измерения тока напряжение подается на высокоточный шунт и далее в полном соответствии с законом Ома ) Если честно - задача плевая... Частота низкая (хотя все же желательно знать, какая именно- быстродействующие АЦП сильно дороже + необходимо определятся с требуемой точностью (увеличение точности приводит к увеличению времени работы АЦП на выборке) + необходим расчет скорости передачи данных), все можно разгребать без больших ухищрений. Берется микроконтроллер с АЦП и последовательным портом RS-232 ( например ) или АЦП с RS-232. Применение микроконтроллера позволит производить буферизацию отсчетов, что позволит снизить требования к времени реагирования ОС. Далее работа производится по RS-232. Примеров работы с данным портом очень много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 09:11 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzПеределать под винду нереально, по крайней мере для меня (я еще не до конца разобрался, как все работает =)). Пробовал покопаться в ассемблере, оказалось не по зубам =(. Короче фиг знает что делать... Можешь не писать - не пиши. (C) какой-то литератор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 10:10 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
freebeer....Применение микроконтроллера позволит производить буферизацию отсчетов, что позволит снизить требования к времени реагирования ОС. Далее работа производится по RS-232. Примеров работы с данным портом очень много. Мой Вам совет... Заплатите профессионалу...Вам то каким боком это упёрлось ? Что касается последовательного порта - то писюк свои скорости отрабатывает... Или по другому - Вы не сможете послать в писюк по последовательному интерфейсу, с декларированными скоростями этого писюка, столько данных - чтоб они потерялись... Вообще в писюк мона вводить без предварительной обработки данные (как правило, без сильного гимора) до 1 МГц... Дальше нужно думать... Вводить мона по разному... Последовательный либо парралельный интерфейсы (стандартные либо свои)... Мона на прямую в адрессное пространство писюка плеваться... Всё зависит от задачи... В Вашем же случае - если идёт речь о низких скоростях, то указанный Вами канал ввода(RS232) вполне...Дальше, как говориться - дело техники...Думаю даже прокатит не сильная женитьба с железом - то бишь без драйверов и прерываний...На чиссом пуллинге (ну енто так, самый ломовой и тупой подход)...Должен прокатить на ура... Запись в файл - почитайте "Windows для проффесионалов", автор Рихтер (если не попутал автора). Там же скорее всего и про порты нароете... удачи Вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 15:34 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
Всем огромное спасибо! Постараюсь разобраться... Я сейчас заканчиваю вуз, по специальности конструктор, но так вышло, что прохожу практику (и скорее всего останусь работать) по специальности программиста, или близко к этому. Все вытекающие последствия... сами понимаете. Вобщем, я доволен, но походу придется много осваивать самостоятельно. Люди, которые со мной работают пишут все под дос, ну и я по тихоньку начинаю въезжать. Под винду никто не умеет... Если есть смысл переходить под винду, то что посоветуете почитать? Всем еще раз огромное спасибо! Если честно, то я думал все будет несколько прще =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 21:20 |
|
||
|
память в dos
|
|||
|---|---|---|---|
|
#18+
plut_snzDOS принципиален, т.к. с портами и прерываниями под Windows работать совсем не умею. (а надо =)). Задача не учебная. Требуется считывать значения с одной железки, частота выборок должна быть высокой. Пробовал писАть в файл, получается фигово, т.е. пока пишу, пропускаю кучу значений, вот так вот. С екстендерами пока не разбирался, решил сразу сюда написать, думал есть способ попроще, выходит нету... Попробуйте драйвер Fossil под ДОС. Он буферизует ввод - это поможет если железка сама что-то шлёт. Если нужно опрашивать, то не поможет. Однако я плохо представляю себе как процесс, максимальная частота которого где-то 115 000/10 забъёт массивы в памяти так, что их нельзя сбросить на диск. Гораздо более осмысленным выглядит использование Windows и работа с портом в отдельном процессе, который что-то пишет, скажем в vector. По достижении какго-то объёма он начинает писать в новый вектор, а заполненный передаёт другому процессу на запись. На современном ПК задержки не будет - проверено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 22:19 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2030831]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 485ms |

| 0 / 0 |
