Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Память, видеосист.DOC
Скачиваний:
6
Добавлен:
16.11.2019
Размер:
1.23 Mб
Скачать

Міністерство освіти і науки України

Запорізький національний технічний університет

Кафедра «Комп’ютерні системи і мережі»

СИСТЕМНЕ ПРОГРАМУВАННЯ

(Керування апаратними ресурсами комп’ютера)

Конспект лекцій

Лектор – Солдатов Борис Трохимович.

Теми лекцій (І семестр)

  1. Програмування на Асемблері.

  2. Управление ОП компьютера.

  3. Программирование операций с ОП.

  4. Программирование видеоадаптеров

  5. Программирование дисковой подсистемы

  6. Работа с файловой системой DOS

  7. Программирование прерываний

  8. Работа с системным таймером

  9. Работа с мышью

Запоріжжя

2005

Література

Основна

1. Фролов А.В., Фролов Г.В. Аппаратное обеспечение IBM PC: - М.:"ДИАЛОГ-МИФИ", 1992.- 208 с. - (Библиотека системного программиста; Т.2, ч.1-2).

2. Фролов А.В., Фролов Г.В. Тонкая настройка и оптимизация MS DOS. - М.:"ДИАЛОГ-МИФИ", 1993.- 96 с. - (Библиотека системного программиста; Т.5).

3. Касаткин А.И. Профессиональное программирование на языке Си. Управление ресурсами: Справ. пособие. - Мн.: Выш. шк., 1992. - 432 с.: ил.

4. Данкан Р. Профессиональная работа в MS-DOS.- М.: Мир., 1993. - 454 с.: ил.

5. Фролов А.В., Фролов Г.В. Операционная система MS-DOS. - М.:"ДИАЛОГ-МИФИ", 1991, 1992.- 512 с. - (Библиотека системного программиста; Т.1, Кн.1-3).

6. Рудаков П.И., Финогенов К.Г. Программируем на языке ассемблера IBM PC: В 4-х частях. – М.: «Энтроп», 1995.

7. Касаткин А.И. Профессиональное программирование на языке Си. Системное программирование: Справ. пособие. - Мн.: Выш. шк., 1993. - 340 с.: ил.

8. Абель П. Язык Ассемблера для IBM PC и програм­мирования: Пер. с англ. - М.: Высш. шк., 1992. - 447 с., ил.

9. Д.М.Піза, Б.Т.Солдатов. Асемблер: Навчальний посібник. – Запоріжжя: ЗНТУ, 2004. 166 с., іл.

Додаткова

10. Касаткин А.И., Вальвачев А.Н. Профессиональное программирование на языке Си. От Turbo C к Borland C++: Справ. пособие. - Мн.: Выш. шк., 1992. - 240 с.: ил.

11. Фролов А.В., Фролов Г.В. Программирование видеоадаптеров CGA, EGA, VGA. - М.:"ДИАЛОГ-МИФИ", 1992.- 288 с. - (Библиотека системного программиста; Т.3).

12. Букчин Л.В., Безрукий Ю.Л. Дисковая подсистема IBM-совместимых персональных компьютеров. - М.: "PRESS-MEDIA", 1993. - 286 с.: ил.

13. Пильщиков В.Н. Программирование на языке аcсемблера IBM PC. - М.: "ДИАЛОГ-МИФИ", 1994. - 288 с.

Введение

Аппаратные ресурсы.

  1. Оперативная память (ОП).

  2. Видеоподсистема (её отдельная оперативная память, видеоадаптер и монитор).

  3. Дисководы (жёстких, гибких дисков, CD, DVD).

  4. Принтеры, плоттеры.

  5. Сканеры.

  6. Мышь, джойстик, клавиатура, трекбол, тачпэд.

  7. Акустическая подсистема.

  8. Адаптеры внешних LPT, СОМ, USB и дополнительных портов.

Уровни управления аппаратными ресурсами.

Самый нижний (простой) уровень управления – использование системного командного языка.

Следующий уровень – использование стандартных библиотек языков программирования высокого уровня.

Следующий – использование языков нижнего уровня, например, ассемблеров.

Управление аппаратными ресурсами на уровне прерываний.

Управление на уровне регистров подсистем компьютера.

Управление оп компьютера.

С труктура ОП:

С одержимое стандартной памяти:

Использование оперативной памяти под ms-dos. Высвобождение стандартной оперативной памяти.

Не загружать лишние драйверы и резидентные

программы.

Драйверы и резидентные программы загружаются после включения компьютера и загрузки ОС при помощи файлов CONFIG.SYS и AUTOEXEC.BAT.

Обычная команда для загрузки драйвера в файле CONFIG.SYS имеет вид:

devicehigh=(полный путь к драйверу и имя драйвера)

Эти драйверы не нужно загружать:

- ANSI.sys;

  • driver.sys;

  • setver.sys:

  • ega.sys;

Состав файла config.Sys

device=c:\w98\himem.sys /TESTMEM:OFF (драйвер верхней памяти)

device=c:\w98\emm386.exe NOEMS (или RAM) (дис-

петчер верхней памяти)

dos=high, UMB

devicehigh=c:\ sscdrom.sys /D: sscdrom01 (драйвер привода компакт-диска)

files=80

devicehigh=c:\w98\command\display.sys con=(ega,,1)

country=380, 866,c:\w98\command\country.sys

buffers=4

Комментарий

display.sys - драйвер дисплея;

country – для поддержки формата времени (день, месяц, год);

380 – ZIP код Украины;

866 – DOS-раскладка кириллицы;

country.sys – системный файл, драйвер, поддерживающий национальную форму записи дат и т.д.

Три варианта использования диспетчера верхней памяти (два ключа и доп. параметр):

  1. emm386.exe NOEMS

NOEMS – запрещает использовать UMB для организации отображаемой памяти (Expanded Memory) и позволяет MS-DOS управлять UMB для записи в нее драйверов и резидентных программ.

( В машинах ХТ (i8088, <=640К ОП) для работы с базами данных использовались дополнительные модули – EMS (Expanded Memory Specification)).

2. emm386.exe RAM

- при этом драйвер emm386.exe организует в памяти XMS (Extended) блоки по протоколу EMS (Expanded). (Expanded => EMS – отображаемая, Extended => XMS ­– расширенная).

В памяти XMS организуются блоки EMS, UMB заняты и драйверы в UMB не загружаются, занимая стандартную память.

  1. Emm386.Exe ram размер_памяти

В памяти XMS организуется блок EMS указанного объема, драйверы в UMB загружаются.

Зачем необходим ключ NOEMS?

MS-DOS v.4.0 и выше может использовать UMB для размещения драйверов и резидентных программ, но это возможно, если отменить эмуляцию EMS за счет XMS.

Три варианта:

- при помощи NOEMS и строки dos=high,umb драйверы и резидентные программы заносятся в блоки UMB (освобождается Conventional) и тогда нельзя создать EMS;

- при помощи параметра RAM создается дополнительная память по спецификации EMS и тогда никаких резидентных программ и драйверов в блоках UMB не может быть, тогда все драйверы и программы находятся в основной памяти в границах 640 Кб. В этом случае в Conventional остаётся, например, 460 Кб, а этого достаточно не для всех программ

при помощи параметра RAM с указанием размера памяти можно ограничить память, отводимую под EMS и загружать драйверы в UMB.

Файл autoexec.Bat

@echo off - отключить вывод сообщений на экран во время выполнения команд из autoexec.bat

set path=c:\w98\;d:\bc31\bin,… - определение альтерна-

set path= с:\vc; %PATH% тивных путей к испол-

няемым файлам и программам (.СOM, .EXE, DLL)

c:\w98\smartdrv 2048 2МБ (или 512 K или 1 M)

lh c:\mscdex.exe/D: sscdrom01 /M:10 - подключение дополнит. драйвера Microsoft для работы привода CD

lh c:\mouse.com - загрузка драйвера мыши в верхнюю память (lh – loadhigh)

mode con codepage prepare=((866) c:\w98\command\ega3.cpi) - подготовка кодовой страницы (поддержка алфавита)

mode con codepage select=866 - выбор страницы для изображения букв кириллицы

keyb ur,,c:\w98\command\keyboard3.sys – загрузка драйвера клавиатуры с украинской раскладкой

vc – загрузка Volkov Commander

Комментарии:

smartdrv.exe – драйвер буфера (драйвер кэша) для ускорения дисковых операций; кэш создаётся в ОП; необходим, например, для копирования файлов или инсталляции Windows NT, т.к. первая часть инсталляции происходит под чистым DOS и инсталляция без smartdrv длится около часа, с ним - 20 минут.

lh c:\mscdex.exe /D:mtmide01 /M:10

Загружается расширение MicroSoft Compact Disc Extension (mscdex)

/D:mtmide01 /M:10 – для запуска драйвера Mitsumi.

/D:sscdrom1 /M:10 – для CD-ROM Samsung.

Для того, чтобы оценить использование ОП, можно воспользоваться системной программой mem.exe, которая находится в каталоге COMMAND, или mft.exe (Manifest) из пакета QEMM.

Программа mem.exe запускается с ключами:

mem.exe [/c|/d][/p]

/cclassify – классификация использования ОП;

/ddebug – отладка (детальные сведения об использовании ОП);

/ppage – выводит постранично;

mem /d > mem_d вывести в файл.

Эффективно использовать основную память позволяет загрузка драйверов и резидентных программ в верхнюю память командами:

  • devicehighconfig.sys, config.nt);

  • loadhigh или lhautoexec.bat, autoexec.nt);

загрузку необходимо делать в такой последовательности: сначала большие программы, потом – маленькие.