LINUX.ORG.RU

ДОС, резидент и QEMU


1

0

Это мой первый скриншот на ЛОРе, поэтому прошу пинать очень сильно.

Что было надо? Надо было написать TSR приложение под ДОС, которое бы циклически через заданное количество секунд блокировало доступ к диску на другое заданное количество секунд. Все это делалось в рамках лабораторной работы по Операционным системам.

Собственно на скрине: FreeBSD 4.11, WindowMaker 0.92 с кучей докапов, MC в котором открыто описание функций из dos.h ну и конечно qemu с Turbo C 2.0 (единственный компилятор под дос, который сумел достать). К сожалению его пришлось использовать не только как компилятор, но и как редактор. Пробовал писать код в любимом emacs, а потом вставлять в ТС, но он почему-то игнорировал переносы строки.

>>> Просмотр (1023x767, 96 Kb)

Re: ДОС, резидент и QEMU

Лабу надо было в Minix-е делать там и редакторы и компиляторы нормальные, вывод препод ламо, вали аттуда

anonymous ()

Re: ДОС, резидент и QEMU

оформление кода какое-то странное...

hateful_dead ()

Re: ДОС, резидент и QEMU

Два обработчика таймера, setvect() туда-сюда... брр
Я бы делал все это в одном обработчике таймера
И еще - уже не помню, но сам setvect() вроде бы вызывает int 21h/ah=25h?
В обработчике таймера лучше писать напрямую в таблицу векторов прерываний - как-то спокойнее, да и быстрее ;-)

anonymous ()

Re: ДОС, резидент и QEMU

Резидент на C ?! Во времена DOS за такое убивали.

Darkman ★★★ ()
Ответ на: Re: ДОС, резидент и QEMU от smartly

Re: ДОС, резидент и QEMU

Гы гы... а те прерывания, которые он на себя перехватывал ты долго и мучительно востанавливал?

eXOR ★★★★★ ()
Ответ на: Re: ДОС, резидент и QEMU от smartly

Re: ДОС, резидент и QEMU

Паскаль перехватывает довольно много прерываний.
Но там есть процедуоа SwapVectors().
Так что никаких проблем.

SwapVectors;
Keep(0); // stay resident

anonymous ()
Ответ на: Re: ДОС, резидент и QEMU от smartly

Re: ДОС, резидент и QEMU

> Кто, паскаль? Какие он на себя прерывания перехватывал?

Номеров уже и не помню, но TP RunTime точно часть прерываний на себя перехватывал.

Darkman ★★★ ()
Ответ на: Re: ДОС, резидент и QEMU от grustnoe

Re: ДОС, резидент и QEMU

>а как в миниксе написать резидент? :)

лаба должна не только научить как писать на С,
но также позволить поглубже заглянуть в устройство ОС,

то что препод знает только DOS и соотвественно
его студенты изучают никому ненужную ОС,
это швах.

anonymous ()
Ответ на: Re: ДОС, резидент и QEMU от anonymous

Re: ДОС, резидент и QEMU

А кому реально счаз DOS нужен? И зачем нужен опыт писания резидента?

anonymous ()
Ответ на: Re: ДОС, резидент и QEMU от anonymous

Re: ДОС, резидент и QEMU

>А кому реально счаз DOS нужен? И зачем нужен опыт писания резидента?

никому, но остались динозавры которые только это и знают,
и считают это системным программированием.

anonymous ()
Ответ на: Re: ДОС, резидент и QEMU от anonymous

Re: ДОС, резидент и QEMU

А подумать ? Опыт написания резидента под ДОС пригодится человеку который столкнется с жестким hardware-программингом. Например для какого-нибудь 8-разрядного микроконтроллера или DSP-шника.

BottleHunter ()
Ответ на: Re: ДОС, резидент и QEMU от anonymous

Re: ДОС, резидент и QEMU

Просто есть такой предмет - операционные системы, в рамках которого изучается обработка прерываний и IPC (в линукс и в оффтопике). Это - первая лаба, она на обработку прерываний, следующие лабы будут по средствам IPC в Linux и OFFTOPIC соответственно.

Strange ()
Ответ на: Re: ДОС, резидент и QEMU от BottleHunter

Re: ДОС, резидент и QEMU

Ох не помню уже чего там паскаль перехватывал. Но помню, что все проблемы успешно решались.

> Опыт написания резидента под ДОС пригодится человеку который столкнется с жестким hardware-программингом. Например для какого-нибудь 8-разрядного микроконтроллера

В принципе согласен. Опыт написания обработчиков прерываний помогает писать обработчики прерываний для микроконтроллеров.

smartly ★★★ ()

Re: ДОС, резидент и QEMU

Хотел было спросить, а почему не dosemu для ДОСа
используется, но упс, это ж БСД... ну тогда почему
не dosbox?

anonymous ()

Re: ДОС, резидент и QEMU

Как называется шрифт в консоле?

Barlog_M ()
Ответ на: Re: ДОС, резидент и QEMU от anonymous

Re: ДОС, резидент и QEMU

Сейчас как раз использую DosBox, он оказался гораздо удобнее, т.к. нинадо делать никаких образов, можно просто маунтить каталог. Но все равно тестить прогу не получается, т.к. не дают напрямую писать в регистры и менять вектора. Приходится юзать еще одну тачку с голым досом.

Strange ()
Ответ на: Re: ДОС, резидент и QEMU от Strange

Re: ДОС, резидент и QEMU

Вот никак не могу понять большой радости от шрифта Terminus. Русские буквы <<к>> и <<в>> в нем какие-то странные: первая как латинская, а вторая неоличима от заглавной.

brazhe ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.