Прерывания. Механизм обработки прерываний
Для обработки событий, происходящих асинхронно по отношению к выполнению программы, лучше всего подходит механизм прерываний. Прерывание можно рассматривать как некоторое особое событие в системе, требующее моментальной реакции. Кажется очевидным, что возможны самые разнообразные прерывания по самым различным причинам. Поэтому прерывание рассматривается не просто как таковое: с ним связывают число, называемое номером типа прерывания или просто номером прерывания. С каждым номером прерывания связывается то или иное событие. Система умеет распознавать, какое прерывание, с каким номером оно произошло, и запускает соответствующую этому номеру процедуру. Программы могут сами вызывать прерывания с заданным номером. Это так называемые программные прерывания. Программные прерывания не являются асинхронными, так как вызываются из программы. Программные прерывания удобно использовать для организации доступа к отдельным, общим для всех программ модулям. Прикладные программы могут сами устанавливать свои обработчики прерываний для их последующего использования другими программами. Для этого встраиваемые обработчики прерываний должны быть резидентными в памяти. Аппаратные прерывания вызываются физическими устройствами и приходят асинхронно. Эти прерывания информируют систему о событиях, связанных с работой устройств, например о том, что наконец-то завершилась печать символа на принтере и неплохо, было бы выдать следующий символ, или о том, что требуемый сектор диска уже прочитан, его содержимое доступно программе. Использование прерываний при работе с медленными внешними устройствами позволяют совместить ввод/вывод с обработкой данных в центральном процессоре и в результате повышает общую производительность системы. Некоторые прерывания (первые пять в порядке номеров) зарезервированы для использования самим центральным процессором на случай каких-либо особых событий вроде попытки деления на ноль, переполнения и т.п.
32. Операционные системы Windows 95/98/ME Windows 95 — результат объединения продуктов MS-DOS и Windows, которые ранее распространялись отдельно. Windows 95 является первой системой Windows, лишённой поддержки старых 16-разрядных процессоров x86 и, таким образом, требующей процессор Intel 80386 (или совместимый) в защищённом режиме. Windows 95 содержит значительные улучшения графического интерфейса и внутреннего устройства системы, включая рабочий стол и меню «Пуск», поддержку 256-символьных имён файлов, выполнение 32-разрядных приложений в защищённом режиме с приоритетной многозадачностью и систему «plug and play». Основном нововведением в Windows 95 стала возможность выполнять 32-разрядные приложения на основе API Win32. Впервые эта возможность появилась в Windows NT, однако системы этого семейства имели весьма высокие требования к аппаратному обеспечению и потому не могли сравниться по популярности с «обычной» серией Windows (которая до выхода Windows 95 была представлена Windows 3.x). В Windows 95 была реализована лишь часть возможностей Win32, доступных в Windows NT. Однако этого было достаточно для того, чтобы многие приложения, разработанные на основе API Win32, смогли работать как в среде Windows NT (которая позиционировалась как система для деловых применений), так и в среде Windows 95 (ориентированной на потребительский рынок). Это способствовало популярности Windows 95. Появление 32-разрядного доступа к файлам в Windows для рабочих групп 3.11 означало, что 16-разрядный реальный режим MS-DOS более не использовался для работы с файлами во время выполнения Windows, а внедрение 32-разрядного доступа к диску в Windows 3.1 позволяло избежать использования BIOS для управления жёсткими дисками. В результате роль MS-DOS фактически свелась к тому, чтобы загружать ядро Windows, работающее в защищённом режиме. DOS могла по-прежнему использоваться для работы старых драйверов устройств в целях совместимости, но Microsoft рекомендовала не использовать их, поскольку это мешало правильной многозадачности и уменьшало стабильность системы. С помощью Панели Управления пользователь мог определить, какие компоненты MS-DOS всё ещё использовались в его системе; оптимальная производительность достигалась в том случае, если таковых не было. Ядро Windows по-прежнему использовало старые вызовы «в стиле MS-DOS» в так называемом режиме защиты от сбоев, но этот режим использовался лишь для исправления неполадок при загрузке «родных» драйверов защищённого режима.
|