- •1. Классификация программного обеспечения
- •1. Базовое программное обеспечение
- •2. Трансляторы
- •3. Языки программирования
- •4. Инструментальные средства (утилиты)
- •5. Прикладное программное обеспечение
- •2. Основные задачи ос
- •3. Типы ос
- •4. Базовая система ввода/вывода (bios)
- •5. Файловая система. Типы файловых систем. Их особенности.
- •6. Загрузчик ос
- •Addr1 - addr2
- •7. Ядро ос
- •8. Основные функции ядра
- •9. Драйвер ос
- •10. Типы драйверов
- •11. Типы многозадачности, их особенности
- •12. Понятие суперпроцесса
- •13. Потоки
- •Листинг 2. Окончание процедуры инициализации ядра Linux
- •14. Семафоры
- •15. Встроенные функции ос. Встроенные команды ос
- •16. Внешние команды
- •17. Понятие пользователя. Понятие идентификатора пользователя
- •18. Понятие группы. Понятие идентификатора группы
- •19. Виртуальная память. Swap
- •20. Историческое развитие ос
- •21. Ос unix
- •22. Типы unix
- •23. Особенности bsd. Особенности System 5
- •24. Ядро unix
- •25. Типы драйверов unix
- •26. Потоки в unix
- •27. Управление процессами в unix
- •28. Режимы ядра в Unix
- •29. Файловая система в unix
- •30. Реализация безопасности в unix на уровне файловой системы
- •31. Реализация безопасности в unix на уровне ос
- •32. Понятие пользователь, группа в unix
- •33. Бесправный пользователь. Пользователь ресурса. Пользователь ос
- •34. Понятие ресурса
- •35. Понятие консоли.
- •36. Основные команды в unix
- •37. Сеть в unix
- •38. Ос ms-dos
- •39. Особенности реализации ms-dos, как составной части unix
- •40. Реализация ядра в ms-dos
- •41. Реализация драйверов в ms-dos
- •42. Реализация потоков в ms-dos
- •43. Управление процессами в ms-dos
- •44. Ограничение на использование оп
- •45. Файловая система в ms-dos
- •46. Реализация безопасности в ms-dos
- •47. Реализация многозадачности в ms-dos
- •48. Встроенные команды ms-dos
- •49. Внешние стандартные команды ms-dos
- •50. Графическая оболочка X- Window
- •51. Графическая оболочка Windows
- •52. Ос Windows nt
- •53. Ядро Windows nt
- •54. Драйверы в Windows nt
- •55. Реализация многозадачности в Windows nt
- •56. Файловая система в Windows nt
- •57. Режимы использования оп в Windows nt
- •58. Реализация безопасности в Windows nt на уровне файловой системы
- •59. Реализация безопасности в Windows nt на уросне ос
- •1. Пользователи, ресурсы и операции доступа
- •2. Локальные, глобальные и специальные группы
- •3. Встроенные группы пользователей и их права
- •4. Возможности пользователей
- •5. Управление профилями пользователей
- •6. Аудит
- •7. Репликация каталогов в сети Windows nt
- •60. Сеть в Windows nt
- •1. Однодоменная сеть Windows nt
- •2. Многодоменная сеть Windows nt
4. Базовая система ввода/вывода (bios)
Разработка любого компьютера требует, чтобы множество технических элементов, из которых и состоит компьютер, взаимодействовали между собой. Поэтому для удобства были введены адреса, по которым эти устройства могут общаться между собой. А роль “справочника” отдали BIOS.
BIOS - Базовая система ввода-вывода (Basic Input Output System) называется так потому, что включает в себя обширный набор программ ввода-вывода, благодаря которым операционная система и прикладные программы могут взаимодействовать с различными устройствами, как самого компьютера, так и подключенными к нему. Вообще говоря, в PS система BIOS занимает особое место. С одной стороны, ее можно рассматривать как составную часть аппаратных средств, с другой стороны, она является как бы одним из программных модулей операционной системы. Сам термин BIOS, видимо, заимствован из операционной системы CP/M, в которой модуль с подобным названием был реализован программно и выполнял примерно подобные действия.
Её можно отнести и к аппаратным средствам и программным. Такая двойственность происходит оттого, что BIOS – это программа, но она “зашита” внутри одной из микросхем. Присутствие такой микросхемы – обязательное условие взаимодействия всех программ с аппаратными средствами компьютера. Такая микросхема имеет важную особенность, она не теряет информацию при отключении питания и позволяет перезаписывать BIOS, для чего раньше требовались специальные устройства – “программаторы”.
Большинство современных видеоадаптеров, а также контроллеры накопителей имеют собственную систему BIOS, которая обычно дополняет системную. Во многих случаях программы, входящие в конкретную BIOS, заменяют соответствующие программные модули основной BIOS. Вызов программ BIOS, как правило, осуществляется через программные или аппаратные прерывания.
Заметим, что система BIOS помимо программ взаимодействия с аппаратными средствами на физическом уровне содержит программу тестирования при включении питания компьютера POST (Power–On-Self-Test, Самотестирование при включении питания компьютера). Тестируются основные компоненты, такие как процессор, память, вспомогательные микросхемы, приводы дисков, клавиатуру и видеоподсистему. Если при включении питания компьютера возникают проблемы (BIOS не может выполнить начальный тест), вы услышите последовательность звуковых сигналов:
|
Код сигнала |
Значение |
|
1 |
Ошибка регенерации DRAM |
|
2 |
Отказ схемы четности |
|
3 |
Отказ базового ОЗУ 64 Кб |
|
4 |
Отказ системного таймера |
|
5 |
Отказ процессора |
|
6 |
Ошибка адресной линии A20 контроллера клавиатуры |
|
7 |
Ошибка исключения виртуального режима Virtual Mode Exception |
|
8 |
Ошибка теста чтения, записи памяти дисплея |
|
9 |
Ошибка контрольной суммы ROM-BIOS |
Если вы сталкиваетесь с чем-либо подобным, существует высокая вероятность того, что эта проблема связана с аппаратными средствами.
Система BIOS в PS реализована в виде одной микросхемы, установленной на материнской плате компьютера. Заметим, что название ROM BIOS в настоящее время не совсем справедливо, ибо «ROM» - предполагает использование постоянных запоминающих устройств (ROM - Read Only Memory), а для хранения кодов BIOS в настоящее время применяются в основном перепрограммируемые (стираемые электрически или с помощью ультрафиолетового излучения) запоминающие устройства. Мало того, наиболее перспективным для хранения системы BIOS является сейчас флэш-память. Это позволяет легко модифицировать старые или добавлять дополнительные функции для поддержки новых устройств, подключаемых к компьютеру.
Поскольку содержимое ROM BIOS фирмы IBM было защищено авторским правом, то есть его нельзя подвергать копированию, то большинство других производителей компьютеров вынуждены были использовать микросхемы BIOS независимых фирм, системы BIOS которых, разумеется, были практически полностью совместимы с оригиналом. Наиболее известные из этих фирм три: American Megatrends Inc. (AMI), Award Software и Phoenix Technologies. Заметим, что конкретные версии BIOS неразрывно связаны с набором микросхем (chipset), используемым на системной плате. Кстати, компания Phoenix Technologies считается пионером в производстве лицензионно-чистых BIOS. Именно в них впервые были реализованы такие функции, как задание типа жесткого диска, поддержка привода флоппи-дисков емкостью 1,44 Мб и т.д. Более того, считается, что процедура POST этих BIOS имеет самую мощную диагностику. Справедливости ради надо отметить, что BIOS компании AMI наиболее распространены. По некоторым данным, AMI занимает около 60% этого сегмента рынка. Кроме того, из программы Setup AMI BIOS можно вызвать несколько утилит для тестирования основных компонентов системы и работы с накопителями. Однако при их использовании особое внимание следует обратить на тип интерфейса, который использует привод накопителя.
Система BIOS в компьютерах, неразрывно связана с SMOS RAM. Под этим понимается «неизменяемая» память, в которой хранится информация о текущих показаниях часов, значении времени для будильника, конфигурации компьютера: количестве памяти, типах накопителей и т.д. Именно в этой информации нуждаются программные модули системы BIOS. Своим названием SMOS RAM обязана тому, что эта память выполнена на основе КМОП-структур (CMOS – Complementary Metal Oxide Semiconductor), которые, как известно, отличаются малым энергопотреблением. Заметим, что CMOS-память энергонезависима только постольку, поскольку постоянно подпитывается, например, от аккумулятора, расположенного на системной плате, или батареи гальванических элементов, как правило, смонтированной на корпусе системного блока. Заметим, что большинство системных плат допускают питание CMOS RAM как от встроенного, так и от внешнего источника.
Заметим, что в случае повреждения микросхемы CMOS RAM (или разряде батареи или аккумулятора) программа Setup имеет возможность воспользоваться некой информацией по умолчанию (BIOS Setup Default Values), которая хранится в таблице соответствующей микросхемы ROM BIOS. Кстати, на некоторых материнских платах питание микросхемы CMOS RAM может осуществляться как от внутреннего, так и от внешнего источника. Выбор определяется установкой соответствующей перемычки.
Программа Setup поддерживает установку нескольких режимов энергосбережения, например Doze (дремлющий), Standby (ожидания, или резервный) и Suspend (приостановки работы). Данные режимы перечислены в порядке возрастания экономии электроэнергии. Система может переходить в конкретный режим работы по истечении определенного времени, указанного в Setup. Кроме того, BIOS обычно поддерживает и спецификацию АРМ (Advanced Power Management). Как известно, впервые ее предложили фирмы Microsoft и Intel. В их совместном документе содержались основные принципы разработки технологии управления потребляемой портативным компьютером мощностью.
Напомним, что задание полной конфигурации компьютера осуществляется не только установками из программы Setup, но и замыканием (или размыканием) соответствующих перемычек на системной плате. Назначение каждой из них указано в соответствующей документации.
Чтобы позволять пользователю изменять установки в CMOS, BIOS содержит небольшую программу - SETUP. Чаще всего SETUP может быть вызван нажатием специальной комбинации клавиш (DEL, ESC, CTRL-ESC, или CRTL-ALT-ESC) во время начальной загрузки (некоторые BIOS позволяют запускать SETUP в любое время, нажимая CTRL-ALT-ESC). В AMI BIOS, чаще всего, это осуществляется нажатием клавиши DEL (и удержанием ее) после нажатия кнопки RESET или включения ЭВМ. Как правило, все параметры в BIOS устанавливаются изготовителем. В некоторых случаях они могут быть защищены паролем. Это делается не случайно – изменение, какого либо параметра может привести к потере работоспособности компьютером. И если Вы уже готовы к тому что бы самостоятельно вносить изменения в настройки Вашего компьютера то, мой Вам совет, перед любым изменением запишите все начальные установки на бумагу. Это позволит Вам в случае неудачи попытаться восстановить работоспособность компьютера.
Standard CMOS Setup (возможны варианты в названии)
Перед тем как заняться рассмотрением настроек Вашего компьютера, нужно сказать, что вариантов BIOS множество. И поэтому рассматриваться будут только наиболее часто встречающиеся версии.
В этом разделе содержатся основные параметры компьютера. Во-первых, это установки даты (Date), времени (Time). Я надеюсь на то, что при настройке этих параметров у Вас не возникнет затруднений, и поэтому их не описываю.
Следующий параметр, устанавливаемый в этом разделе - количество и размеры жёстких дисков (Hard Disks), а так же некоторые другие параметры. В эти параметры входят: статус самого диска (Hard Disks), его тип (Type), размер (Size), количество цилиндров (Cyls), количество головок (Head), секторов (Sector), режим работы (Mode). Также присутствуют такие параметра, как предкомпенсация при записи (ProComm). Для современных HDD (все AT-BUS и SCSI) этот параметр бесполезен и его следует устанавливать равным -1 или максимальному номеру цилиндра (для IDE-дисков он не требуется, и будет игнорироваться, поскольку они хранят внутри себя свои собственные параметры), (Lands) адрес зоны парковки головок (используется только старыми HDD без функции автопарковки головок). Статус диска в системе может быть определен как Primary Master, Primary Slave, Secondary Master, Secondary Slave. Как видно из количества статусов к компьютеру можно подключить до 4х дисков одновременно. И, чтобы компьютер не путался, к какому из них обращаться, то каждый из них имеет свой приоритет. Самый высокий у Primary Master, самый низкий у Secondary Slave.
Drive A:, Drive B: В этом параметре устанавливаются наличие, размеры и емкость гибких дисководов установленных в машине. Параметры занесены заранее и Вам только требуется клавишей [Пробел] выбрать необходимый. Чаще всего употребляются конфигурации: {1.44 Мб,3 1/2"}, {1.2 Мб,5 1/4"} {1.2 Мб,3.5"} или {1.2 Мб,5.25"}Floppy drive B (тип дисковода B) - аналогично предыдущему.
Video. Эта опция позволяет выставить тип видеоадаптера/дисплея - EGA, VGA и т.д. Современные ЭВМ имеют VGA (Video Graphics Array). Если вы имеете более старый черно-белый дисплей, выбирайте Mono или Hercules; если ваша видео-плата только текстовая, выберите MDA. Но если на Вашей машине этой опции вдруг не окажется - не пугайтесь. Всё дело в том, что современные видео-платы имеют свой собственный BIOS и надобность в этой опции отпадает.
Halt On. Предназначена для определения типа ошибки, возникающей при начальном тестировании после которой машина прекращает дальнейшую работу и выдаёт предупредительное сообщение. Типичные варианты ошибочных ситуаций:
All Errors - при любой ошибке,
All But Keyboard - все, кроме клавиатуры,
All But Diskette - все, кроме дисковода,
All But Disk - все, кроме дисковых,
No Errors - ни при каких ошибках.
Keyboard. Ещё одна редко встречающаяся опция. Она может использоваться только для больших компьютеров использующихся в качестве серверов. Представить домашний или рабочий компьютер без клавиатуры, на мой взгляд, трудновато.
Memory. Это небольшая табличка, в которой сведена информация о количестве доступной памяти. В основном в этой таблице указывается основная память (Main), расширенная (Extended) и остальная (Other) память.
BIOS Features Setup (возможно название Advanced CMOS Setup)
Virus Warning (Вирусное предупреждение). Если Вы не уверены в том, что Ваш компьютер защищен от вирусов, то лучше всего включить эту возможность. При этом BIOS начинает отслеживать попытки записать любую информацию в Master Boot Record, т.е. в Главную Загрузочную Запись. Если такая попутка будет предпринята то, на экран будут выведено соответствующее сообщение и работа программы, попытавшейся выполнить запрещённую операцию, будет завершена. При этом надо помнить что, если Вы собрались переустанавливать систему, то эту возможность необходимо временно отключить, так как большинство систем вносят свои коррективы в Главную Загрузочную Запись.
External Cache. Внешний кэш. Для ускорения работы процессора и компьютера в целом в их состав вводят кэш-память. В такой памяти хранится часто используемая программой информация и поэтому, при использовании такой памяти уменьшается время на поиск и выборку требуемой информации. В компьютере бывают две разновидности кэш-памяти (как минимум), кэш-память первого и второго уровней. Кэш-память первого уровня находится внутри процессора или в непосредственной близости с ним. Кэш-память второго уровня (External Cache) является буфером между процессором и оперативной памятью. Изменяя значение в этой опции, Вы можете включить или выключить кэширование информации передаваемой из оперативной памяти в процессор. При этом будьте готовы к тому, что скорость работы компьютера может существенно снизится. В некоторых версиях BIOS может встретиться возможность отключения кэш-память первого уровня (Internal Cache).
Quick Power on Self Test. Быстрый тест при включении. Эта опция предназначена для ускорения проверки компьютером работоспособности всех систем. К примеру, память будет тестироваться не три, а один раз.
Boot Sequence. Операционная система может загружаться с различных устройств. Это может быть дисковод, жёсткий диск, устройство CD-ROM и т.д. В этой опции Вы можете указать устройство, с которого будет производиться загрузка системы. Если же по какой либо причине на указанном устройстве нет системы, то компьютер будет производить поиск на других устройствах до тех пор, пока не найдет, либо пока список альтернативных устройств не закончится. Последовательность поиска устанавливается в этой же опции. Например, строка "C only" заставит компьютер искать систему на диске C. Если система на указанном диске не будет обнаружена, то на экран будет выведено соответствующее сообщение - "Non system disk" (Не системный диск). Строка "C,A,CDROM" заставит компьютер искать систему на диске С, затем (если не найдёт) на диске А, и в конце концов на CDROM.
Boot Up Floppy Seek. Проверка работоспособности дисковода при включении компьютера.
Security Option. Если в BIOS платы есть возможность устанавливать пароль, то эта опция показывает, что именно он защищает - систему (System) или сам BIOS (Setup).
Video BIOS Shadow. Для ускорения графических операций (в некоторых программах) предусматривается возможность записи BIOS видеокарты в оперативную память. Ниже этой опции указываются конкретные области памяти, которые можно скопировать.
Typematic Rate - программирование скорости автоповтора нажатой клавиши. По умолчанию - Disabled. Не все типы клавиатур поддерживают этот режим! Следующие два пункта определяют, как программируется клавиатура, если она допускает это. Typematic Rate Delay (msec) - задержка автоповтора - начальное значение: 500 мс. Начальная задержка перед стартом автоповтора символа, т.е., сколько времени вы должны удерживать клавишу нажатой, чтобы ее код начал повторяться. Typematic Rate (Chars/Sec) - частота автоповтора (символов в секунду). Начальное значение: 15.
Boot Up Num Lock - включение дополнительной клавиатуры при загрузке в цифровой режим. Определяет, будет ли включен режим Num Lock при начальной загрузке ЭВМ. Одним это нравится, другим - нет.
Chipset Features Setup (Настройка особенностей микросхем)
Этот раздел предназначен для настройки возможностей платы. У каждой платы эти настройки будут различны:
Above 1 MB Memory Test - тест ОЗУ выше 1 Мб. Если вы хотите, что- бы система проверяла память выше 1 Мб на наличие ошибок при загрузке, установите Enabled. Для ускорения загрузки рекомендуется установить Disabled, т.к. драйвер HIMEM.SYS для DOS 6.2 выполняет проверку XMS, поэтому данный тест становится избыточным.
Memory Test Tick Sound - щелчок при прохождении теста памяти. Рекомендуется устанавливать Enabled для того, чтобы слышать, что процесс загрузки выполняется нормально.
Memory Parity Error Check - проверка ошибок четности памяти. Рекомендуется установить Enabled. Дополнительная возможность проверки бита ошибки в памяти. Все (или почти все) PC проверяют память во время работы. Каждый байт памяти имеет дополнительный девятый pазpяд, котоpый пpи каждом обpащении к ОЗУ по записи устанавливается таким обpазом, чтобы общее число единиц было нечетным. При каждом обращении по чтению проверяется признак нечетности. При обнаружении ошибки возникает немаскируемое преpывание NMI, котоpое вы не можете заблокиpовать. ЭВМ прекращает работу и на экране отображается сообщение об ошибке ОЗУ - обычно в виде сообщения вида: PARITY ERROR AT 0AB5:00BE SYSTEM HALTED. Некоторые системные платы позволяют отключать проверку четности стандартной памяти. Проверка включается для того, чтобы быть уверенным, что данные считаны из ОЗУ пpавильно. Отключайте эту проверку только тогда, когда в вашем PC установлена 8-pазpядная память, которую некотоpые пpодавцы используют, т.к. она на 10% дешевле. Если у вас установлена карта Gravis Ultrasound (GUS), проверка должна быть обязательно включена, иначе не будет выполняться эмуляция Sound Blaster!
Hard Disk Type 47 - RAM area - жесткий диск типа 47 - область ОЗУ. BIOS размещает данные для HD типа 47 где-нибудь в памяти. Вы можете выбрать или память ДОС, или память PC BIOS с адресами 0:300. Память ДОС представляет ценность, если у вас имеется только 640 кб. В этом случае вам следует попробовать использовать область памяти 0:300. Возможно, у вас имеется некоторая периферийная плата, которая также требует эту область (звуковые, сетевые карты и т.п.). Поэтому, если у вас установлены какие-либо "причудливые" карты, сверьтесь с pуководством на них - используют ли они данную область памяти. Hо в большинстве случаев это не нуждается в пpовеpке. Wait for F1 If Any Error - ждать нажатия F1 в случае любой ошибки. Когда пpи начальной загрузке обнаpуживается ошибка, PC пpосит вас нажать F1 - только в случае не фатальных ошибок. Если установлено в Disabled - система печатает предупреждение и пpодолжает загpузку без ожидания нажатия клавиши. Рекомендуется устанавливать Enabled.
Numeric Processor Test - тест числового пpоцессоpа. Устанавливается в Enabled, если установлен математический сопpоцессоp (в 486DX и 486DX2 - встpоен). Устанавливается в Disabled, если NPU нет (386SX, 386DX, 486SX, 486SLC, 486DLC). Пpи отключении этого теста сопpоцессоp, если он даже и пpисутствует в системе, не pаспознается и считается отсутствующим. Weitek Coprocessor - сопpоцессоp Weitek: если он имеется, следует установить Enabled. Если нет - Disabled. FPU Weitek использует некотоpую часть ОЗУ, поэтому память
IDE HDD Auto Detection (Автоматическое определение HDD)
Для подключения винчестера к компьютеру Вам не понадобится каких либо особых знаний, если только Вы не захотите поэкспериментировать с настройками. Все Ваши действия будут сведены к слудующему. Выберите эту опцию (нажав Enter), автоматически компьютер начнёт искать диск, обозначенный как Primary Master (т.к. такому диску назначен высший приоритет). После того как диск будут найден, определятся его тип, размер и др. параметры. После чего Вам будут показаны соответствующие установки (их может быть несколько) и предложено определить дальнейшие действия - либо установить диск (Y), либо нет (N). В случае, когда найдено несколько вариантов установок они будут выведены на экран и напротив наиболее подходящей, будет стоять буква Y. В этом случае для выбора необходимо нажать цифру выбранного варианта. После этого компьютер начнет искать следующий диск и выполнять аналогичные действия.
Прерывания BIOS
Система прерываний ППЭВМ предусматривает три типа прерываний:
внутренние прерывания, происходящие при возникновении определенных состояний процессора;
внешние прерывания, возникающие по сигналам от специального контроллера прерываний, связанного с периферийным оборудованием;
программные прерывания, являющиеся результатом выполнения специальных команд процессора (INT).
Во всех случаях обработчик прерывания вызывается по значению указателя, расположенному в младших адресах памяти; абсолютный адрес вектора получается умножением на 4 номера прерывания (номера вектора). Внутренние прерывания могут вызываться через векторы 0 - 7, для внешних прерываний выделены векторы 8 - 15 (установкой режима контроллера прерываний), программые прерывания могут происходить через векторы 0 - 255. Таким образом, первый килобайт ОЗУ выделяется для хранения адресов модулей обработки прерываний. Прерывания всех типов выполняются совершенно аналогично, что позволяет, в частности, программно моделировать аппаратные прерывания, используя отведенные для аппаратуры векторы.
BIOS устанавливает обработчики прерываний 0 - 31. На некоторых моделях компьютеров BIOS может инициировать и другие обработчики прерываний (с номерами 64, 65, 74, 112, возможно, и другие), в зависимости от установленного оборудования, однако векторы 32 - 63 резервируются АДОС, и их значения будут установлены при загрузке АДОС независимо от присоединенного оборудования.
В табл. 1 перечислены обработчики прерываний, устанавливаемые BIOS всех или многих моделей ЭВМ. Не следует считать, что в таблице перечислены все обработчики прерываний BIOS. При присоединении дополнительного оборудования могут определяться и новые векторы прерываний. При отсутствии некоторого оборудования могут отсутствовать и соответствующие обработчики прерываний.
Только векторы 0 - 31 устанавливаются BIOS во всех случаях. Следует также отметить, что некоторые обработчики прерываний BIOS не выполняют никаких действий, кроме возврата из прерывания (IRET), и становятся способными выполнять свое назначение только после загрузки АДОС или даже некоторых транзитных команд (системных программ) АДОС. При загрузке АДОС могут переопределяться и другие векторы. Не следует считать, что какой-либо вектор всегда установлен на адрес BIOS.
|
№ Прерывания (вектора) |
Адрес |
Назначение |
|
0(0) |
0000H |
деление на ноль |
|
1(1) |
0004H |
пошаговое выполнение инструкций процессора |
|
2(2) |
0008H |
немаскируемое прерывание: в некоторых моделях прерывание от схем контроля или от арифметического сопроцессора |
|
3(3) |
000CH |
точка прекращения |
|
4(4) |
0010H |
переполнение |
|
5(5) |
0014H |
печать экрана |
|
6(6) |
0018H |
резервируется |
|
7(7) |
001CH |
резервируется |
|
8(8) |
0020H |
прерывание от системного таймера |
|
9(9) |
0024H |
прерывание от клавиатуры |
|
10(0AH) |
0028H |
прерывания от подчиненного ПКП (IBM AT) резервируется для других моделей |
|
11(0BH) |
002CH |
в некоторых моделях прерывание от второго адаптера асинхронной связи |
|
12(0CH) |
| 0030H |
прерывание от (первого) адаптера асинхронной связи |
|
13(0DH) |
0034H |
во многих моделях прерывание от жесткого диска; прерывание от второго адаптера синхронной связи IBM AT |
|
14(0EH) |
0038H |
прерывание от контроллера дискеты |
|
15(0FH) |
003CH |
в некоторых моделях прерывание от устройства параллельной печати; в IBM AT прерывание от (первого) адаптера синхронной связи |
|
16(10H) |
0040H |
функции дисплея |
|
17(11H) |
0044H |
определение набора подключенного оборудования |
|
18(12H) |
0048H |
определение объема ОЗУ |
|
19(13H) |
004CH |
функции дисковых устройств |
|
20(14H) |
0050H |
функции устройств асинхронной связи |
|
21(15H) |
0054H |
функции кассетной ленты и функции дополнительного оборудования (зависят от модели компьютера) |
|
22(16H) |
0058H |
функции клавиатуры |
|
23(17H) |
005CH |
функции печати |
|
24(18H) |
0060H |
загрузка системы с альтернативного устройства или загрузка Бейсика ПЗУ |
|
25(19H) |
0064H |
загрузка операционной системы с диска |
|
26(1AH) |
0068H |
функции системного таймера; в некоторых моделях - функции часов |
|
27(1BH) |
006CH |
прерывание, вызываемое пользователем с клавиатуры (ввод BREAK) |
|
28(1CH) |
0070H |
резерв для прикладного обработчика прерываний от системного таймера |
|
29(1DH) |
0074H |
указатель на таблицу параметров экрана |
|
30(1EH) |
0078H |
указатель на таблицу параметров дискетного устройства |
|
31(1FH) |
007CH |
указатель на таблицу изображений знаков на экране |
|
32-63(20H-3FH) |
- |
зарезервированы для ДОС |
|
64(40H) |
0100H |
функции дискетных устройств (в моделях с жесткими дисками) |
|
65(41H) |
0104H |
указатель таблицы параметров жестких дисков |
|
70(46H) |
0118H |
в некоторых моделях (AT) указатель на таблицу параметров второго жесткого диска |
|
74(4AH) |
0128H |
в некоторых моделях прерывание от сигнала тревоги |
|
96-103(60H-67H) |
- |
резервируются для пользователей |
|
112(70H) |
01C0H |
в некоторых моделях прерывание от часов реального времени |
|
117(75H) |
01D4H |
в некоторых моделях программный вызов немескируемого прерывания |
|
128-240(80H-F0H) |
- |
используются или зарезервированы для Бейсика |
|
241-255(F1H-FFH) |
- |
резервируются для пользователей |
Таблица 1. Прерывания базовой системы ввода-вывода
Обеспечение мультизадачности
Все версии BIOS, кроме ранних, обеспечивают некоторые сигналы для поддержки многозадачных операционных систем. Всякий раз, когда BIOS ожидает данные от устройства, выдается сигнал (WAIT), которым может воспользоваться система для прекращения ожидания. Аналогичный сигнал (POST) выдается и в те моменты, когда BIOS завершает обработку прерывания от устройства.
Следующие замечания относятся только к случаю, когда процессор работает в режиме реальной адресации.
Программа ответственна за корректное использование сигналов WAIT и POST. и за организацию последовательного доступа к устройствам. Код BIOS не является реентерабельным.
В диспетчере задач многозадачной операционной системы необходимо обеспечить следующие четыре интерфейса:
инициализация. Диспетчер должен определить новые обработчики функций (AH)= 90H и (AH) = 91H прерывания 15H, и должен направлять в BIOS вызовы всех других функций INT 15H.
обеспечение поледовательного доступа. Диспетчер должен гарантировать последовательное использование драйверов. Повторный вход в драйвер приведет к ошибке.
ожидание. Перед тем как перейти к ожиданию, BIOS выдает прерывание 15H с (AH) = 90H (WAIT). В этот момент диспетчер должен сохранить состояние задачи и может перейти к другой задаче. Это позволяет приостанавливать выполнение задачи до освобождения устройства.
прерывание. Всякий раз, кода BIOS устанавливает флаг случившегося прерывания для некоторого цикла ожидания, вызывается функция (AH) = 91H прерывания 15H (POST). В этот момент диспетчер задач должен установить флаг готовности к продолжению соответстсующей задачи и вернуть управление обработчику прерываний.
Сигнал WAIT поддерживается для трех типов устройств:
(AL) = 0, 1,..., 7FH - последовательно используемые устройства. Код доайвера такого устройства не является реентерабельным, и программа должна обеспечивать последовательность запросов к устройству.
(AL) = 80H, 81H,...,0BFH - реентерабельные устройства. Нет ограничений на число задач, имеющих одновременно доступ к устройству. Чтобы отличать запросы к устройству, используется (ES:BX).
(AL) = 0C0H,0C1H,...,0FFH - непрерывающие устройства. Это просто тайм-аут устройства (время зависит от устройства), и в дальнейшем не будет сигнала POST. Диспетчер должен выполнить соответствующее действие и выйти из цикла, для чего вернуть управление в BIOS c (CF) = 1.
Модернизация BIOS
Существует несколько причин, по которым приходится модерни-зировать BIOS:
Появление нового оборудования, поддержки которого просто не могло быть в момент выхода в свет оригинальной версии BIOS. Чаще всего это новые процессоры. Согласитесь, несколько неприятно видеть при загрузке компьютера надпись "Pentium II", в то время как на самом деле у Вас последняя модель Pentium III "Coppermine". Однако, помимо чисто внешних проявлений совместимости, новый BIOS может нести в себе поддержку новых функций процессора (например, возможность блокировки серийного номера процессора) или же возможность настройки ранее недоступных параметров (изменение латентности кэш-памяти второго уровня у Pentium III "Katmai"). Кроме процессоров, существует еще масса разнообразного оборудования, поддержка которого в BIOS может стать со временем просто необходимой. Это и жесткие диски, максимальный объем которых очень некстати может быть ограничен со стороны BIOS, и приводы CD-ROM или ZIP-Drive, которые можно использовать в качестве загрузочных устройств и так далее.
Выход нового программного обеспечения. Эта проблема была чрезвычайно актуальна несколько лет назад, когда появилась операционная система MS Windows 95, поддерживающая стандарт Plug'n'Play. Для реализации этого стандарта в полной мере необходим совместимый с ним BIOS. В настоящее время эта проблема практически потеряла свою актуальность, так как все современные материнские платы изначально комплектуются PnP BIOS. Но это вовсе не означает, что появление нового программного обеспечения больше не является серьезной причиной для модернизации BIOS. Так, с выходом MS Windows 98 и MS Windows 2000 появилась необходимость в полноценной поддержке со стороны BIOS стандарта ACPI, регулирующего энергопотребление компьютера.
Производительность компьютера, на которую новая версия BIOS может повлиять самым положительным образом. Примером такого изменения может служить уже упоминавшаяся возможность изменения латентности кэш-памяти второго уровня у ранних моделей Pentium III, появившаяся в BIOS многих производителей материнских плат лишь спустя значительный промежуток времени после выхода этих моделей процессоров в свет. Кроме этого, на производительность системы самым решительным образом могут повлиять изменения, касающиеся инициализации регистров набора системной логики.
Расширение возможностей конфигурирования. Обновление BIOS зачастую позволяет значительно разнообразить поведение компьютера. Это может быть и загрузка с любого жесткого диска, установленного в системе, и автоматическое включение компьютера в определенный момент времени, и интеллектуальный мониторинг за состоянием системы, позволяющий, например, регулировать скорость вращения вентиляторов в зависимости от температуры компонентов, и многое другое.
Исправления мелких ошибок и недоработок, как правило, не влияющих на работу большинства пользователей, но устраненных в новых версиях BIOS.
При всех явных преимуществах, которые сулит обновление BIOS, нельзя забывать, что эта операция сопряжена с серьезным риском выхода вашей системы из строя. Кроме этого, нет никакой гарантии, что новая версия BIOS позволит решить все ваши проблемы. В отдельных случаях для возможности полноценного использования новых функций BIOS необходимо переустановить операционную систему. Поэтому, если Ваш компьютер работает стабильно и новая версия BIOS не содержит кардинальных изменений, которые Вам действительно необходимы, категорически рекомендуется воздержаться от модернизации BIOS.
