- •Управление оп компьютера.
- •Использование оперативной памяти под ms-dos. Высвобождение стандартной оперативной памяти.
- •Состав файла config.Sys
- •Emm386.Exe ram размер_памяти
- •Файл autoexec.Bat
- •Программирование операций с оп. Использование указателей.
- •Структура сегменту пам’яті
- •Адресация far
- •Адресация huge.
- •15.10Можно отнимать указатели huge один от другого, сравнивать их, чего не сделаешь с far. (Также можно отнимать и сравнивать указатели near).
- •Обращение к отдельным ячейкам оп.
- •Int *nPtr; - отведено место под указатель;
- •Непосредственная инициализация указателей. Обращение к ячейкам оп в пределах 1мб.
- •Программирование видеоадаптеров програмування відеоадаптерів Архітектура відеоадаптера
- •20.10Режимы работы видеоадаптеров
- •Vga (Video Graphic Array) – видеографический массив.
- •Видеоадаптеры svga (SuperVga)
- •Режимы работы видеоадаптеров svga по стандарту vesa
- •Int 10h ; прерывание для работы с видеосистемой.
- •Текстовый режим работы видеоадаптера.
- •Формат байтов символа
- •Мерцающий зеленый символ на красном фоне. Программирование непосредственной записи в видеобуфер.
- •2 4.10Видеоконтроллер в графическом режиме (например, cga № 4).
- •Т ехнология изменения цвета пиксела. П оследовательность действий.
Міністерство освіти і науки України
Запорізький національний технічний університет
Кафедра «Комп’ютерні системи і мережі»
СИСТЕМНЕ ПРОГРАМУВАННЯ
(Керування апаратними ресурсами комп’ютера)
Конспект лекцій
Лектор – Солдатов Борис Трохимович.
Теми лекцій (І семестр)
Програмування на Асемблері.
Управление ОП компьютера.
Программирование операций с ОП.
Программирование видеоадаптеров
Программирование дисковой подсистемы
Работа с файловой системой DOS
Программирование прерываний
Работа с системным таймером
Работа с мышью
Запоріжжя
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 с.
Введение
Аппаратные ресурсы.
Оперативная память (ОП).
Видеоподсистема (её отдельная оперативная память, видеоадаптер и монитор).
Дисководы (жёстких, гибких дисков, CD, DVD).
Принтеры, плоттеры.
Сканеры.
Мышь, джойстик, клавиатура, трекбол, тачпэд.
Акустическая подсистема.
Адаптеры внешних 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 – системный файл, драйвер, поддерживающий национальную форму записи дат и т.д.
Три варианта использования диспетчера верхней памяти (два ключа и доп. параметр):
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 не загружаются, занимая стандартную память.
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]
/c – classify – классификация использования ОП;
/d – debug – отладка (детальные сведения об использовании ОП);
/p – page – выводит постранично;
mem /d > mem_d вывести в файл.
Эффективно использовать основную память позволяет загрузка драйверов и резидентных программ в верхнюю память командами:
devicehigh (в config.sys, config.nt);
loadhigh или lh (в autoexec.bat, autoexec.nt);
загрузку необходимо делать в такой последовательности: сначала большие программы, потом – маленькие.