ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.12.2023
Просмотров: 172
Скачиваний: 1
-
Аппаратные прерывания –события, которые исходят от внешних источников (устройств ввода/вывода..), которые уведомляют процессор о том, что они нуждаются в обслуживании. Вызываются электрическими сигналами, поступающими на входы процессора и могут произойти в любой момент времени: сигнал от таймера, нажатие клавиши, движение мыши, сигналы от дискового накопителя, сетевой карты -
Программные прерывания- события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода (деление на 0, обращение к недопустимым адресам, переполнение типа данных..)
-
Установление факта прерывания (прием и идентификация сигнала на прерывание) -
Запоминание состояния прерванного процесса (состояние процесса определяется значениями счетчика команд, содержимым регистров процессора, спецификацией режима: пользовательский или привилегированный…) -
Управление аппаратно передается программе обработки прерывания
Вектор прерываний- целое число от 0 до 255, указывающее на одну из 256 программ обработки прерываний, адреса которых находятся в таблице обработчиков прерываний. В счетчик команд заносятся начальные адреса подпрограммы обработки конкретного прерывания -
Сохранение данных прерванной программы, которую не удалось спасти с помощью действий аппаратуры -
Обработка прерывания -
Восстановление информации, относящейся к прерванному процессу -
Возврат в прерванную программу
Таблица обработчиков прерываний содержит перечень всех допустимых для данной ОС прерываний и адреса в памяти соответствующих обработчиковГлавные функции механизма прерывания:1. Распознавание или классификация прерывания2.Передача управления обработчику прерывания. Процесс перехода от прерванной программы к обработчику должен происходить как можно быстрее3. Корректное возвращение к прерванной программе. Для этого перед передачей управления обработчику содержимое регистров процессора запоминается либо в памяти с прямым доступом, либо в системном стекеДетальная классификация прерываний:1. Программные- прерывания по системным командам. Инициируются активным процессом, который выполняет запрос на предоставление ОС вычислительной услуги (запрос ресурса)2. Прерывания ввода-вывода. Инициируются устройством ввода/вывода и сигнализируют процессору о том, что произошло изменение состояния канала ввода/вывода (завершение работы, генерация ошибки, переход устройства в состояние готовности)3. Внешние прерывания (нажатие клавиш или прием сигнала от другого процессора)4. Прерывание при перезагрузке вычислительной системы5. Логические прерывания по контролю программы. Вызываются ошибками, выявленными в ходе работы программы (деление на 0, неверный код операции, попытка проникнуть в защищенные области памяти и т.д.)6. Прерывания по контролю вычислительной системы из-за аппаратных ошибок. Упорядочены по приоритетамЗагрузка операционной системыПри физическом форматировании жесткий диск разбивается на дорожки (концентрические окружности), дорожки разбиваются на секторы. Размер сектора 512 байт. Каждая «пластина» имеет две поверхности, к каждой поверхности можно подвести головки для считывания/записи данных на диск. Набор дорожек, находящихся на разных поверхностях ВСЕХ пластин и расположенных на одинаковом расстоянии от оси вращения называется цилиндром (Cylinder)Сектор- минимальная единица хранения данных(бит), каждый сектор определяется дорожкой, на которой он расположен, и поверхностью, на которой расположена дорожка. В модели хранения данных, принятой в ОС, местоположение каждого сектора определяется номером дорожки (номером цилиндра), номером поверхности (номер головки). Существует трехмерная адресация любого сектора –CHS(Cylinder-Head- Sector)При логическом форматировании диск разбивается на логические разделы (том)Раздел (partition)- часть
долговременной памяти жесткого диска, выделенная для удобства работы
Информация о размещении разделов на жестком диске хранится в таблице разделов (partitiontable), которая является частью главной загрузочной записи (Master Boot Record- MBR). MBR располагается в 1-м физическом секторе (с номером 0) жесткого диска. Первые 446 байт MBR занимает программа главного загрузчика, 64 байта- таблица разделов
Раздел может быть либо первичным (основным), или расширенным (дополнительным)
В 1-м секторе каждого первичного раздела находится загрузчик ОС, установленной на этот раздел.
Под таблицу разделов выделено 64 байта, каждая запись- 16 байт. На жестком диске может быть не более 4-х основных разделов
Структура записи элемента таблицы разделов (16 байт):
-Флаг активности раздела;
-номер головки начала раздела;
-номер сектора и цилиндра загрузочного сектора раздела;
-номер головки, сектора и цилиндра последнего сектора раздела;..
Дополнительный раздел- внутри него можно создавать любое число логических дисков («контейнер» для логических дисков), не содержит собственной файловой системы
Всего на жестком диске может быть 3 первичных раздела и один дополнительный
Сведения о разделе, хранящиеся в записи размером 16 байт, содержат: флаг активности раздела, номер головки начала раздела, номер сектора и цилиндра загрузочного сектора раздела, кодовый идентификатор ОС…
В первичном разделе может быть размещена ОС, приложения и пользовательские данные
Многие ОС (Windows-подобные) могут загружаться только с первичного раздела. Если используется несколько ОС, то нужно создавать несколько первичных разделов
В расширенном разделе создаются логические диски, на которые могут устанавливаться ОС, не требующие загрузки с первичного раздела (Linux..)
Логический раздел(том)- часть пространства жесткого диска, воспринимаемая ОС как отдельный жесткий диск
Этапы загрузки ОС
1. Начальный этап загрузки – начинается при работе BIOS- базовая система ввода- вывода. В настройках BIOS указываются загрузочные устройства в порядке их приоритета
BIOS перебирает указанные устройства до тех пор, пока не найдет на одном из них MBR
2. Работа с MBR. Осуществляется поиск активного системного раздела и передача управления его загрузочному сектору- в нем хранится загрузчик конкретной ОС
3. передача управления исполняемому коду, записанному в загрузочном секторе активного раздела (PBS- Partition Boot Sector). В коде PBS указано имя файла загрузчика той ОС, которой передается управление4. Начало загрузки операционной системы. Если речь идет о загрузке ОС семейства Windows, то запускается загрузчик, имя которого указано в PBS. Он считывает информацию из текстового файла boot.ini, в котором записаны сведения об установленных ОС. Затем происходит загрузка ядра ОС и передача ему управленияПосле окончания загрузки ОС управление передается командному процессору. Если используется интерфейс командной строки, то появляется приглашение системы, в противном случае загружается графический интерфейс (он поддерживается системным сервисом explorer.exe)В процессе загрузки ядра загрузчик остается главным в управлении вычислительной системой. Кроме ядра, загружается еще слой уровня абстрагирования от оборудования, для того, чтобы ядро ОС работало независимо от «железа» (HardWare). Модуль ядра в процессе загрузки проходит 2 фазы- так называемые фазы 0 и 1. Фаза 0 инициализирует только ту часть микроядра и подсистемы, которые требуются для работы основных служб и продолжения загрузкиФаза 1 начинается, когда уровень абстрагирования от оборудования(HAL) подготавливает систему для обработки прерываний устройств. Если в вычислительной системе установлено более одного процессора, то инициализируются все процессоры, а затем происходит запуск всех исполнительных подсистемПосле окончательной загрузки ядра ОС сама система переходит в сеанс «работы пользователя», т.е. пользователю предоставляется либо графический интерфейс (как в Windows-подобных ОС), либо интерфейс командной строки для авторизации и получения соответствующих прав доступа (как в ОС семейства Linux)Файловые системыБазовые понятия:Файловая система позволяет пользователям и программам обходиться набором достаточно простых средств для выполнения действий над некоторым абстрактным объектом- файломС точки зрения ОС, файл- это именованная последовательность байт, хранящаяся тем или иным образом в кластерах жесткого диска (механизм хранения данных на флеш-накопителях несколько иной). Номера кластеров, в которых хранится тот или иной файл, должны «фиксироваться» ОС и при необходимости выполнить низкоуровневые операции чтения/записи файловая система должна достаточно быстро получить доступ к этим кластерам (по сути, фрагментам жесткого диска)
Файловая система распределяет дисковую память, поддерживает именование файлов, отображает имена файлов и соответствующие им номера кластеров (это соответствие должно фиксироваться в некоторой защищенной от всякого внешнего вмешательства области, недоступной никаким пользовательским приложениям- таблице размещения файлов, в ранних версиях файловых систем она так и называлась- FAT(File Allocation Table)- таблица, MFT-Master File Table) в соответствующие адреса во внешней памяти, поддерживает защиту и восстановление данныхГлавное: файловая система играет роль некоторого промежуточного слоя, который абстрагирует пользователя от физической организации долговременного хранения данных (нумерации кластеров, механизма передачи данных с любого запоминающего устройства..) и создающего более простую логическую модель этого хранилища (например, поддержку иерархической структуры каталогов). Т.е. файловая система предоставляет пользователю (и приложениям) набор интерфейсов (в том числе и интерфейсов командной строки) для манипулирования данными (хранение, копирование, удаление, переименование, поддержка протоколов передачи данных по сети и т.д.)Файлы могут быть разных типов (например, текстовые, бинарные, exe-файлы), иметь различные уровни доступа, получать различные атрибуты, но механизм работы со всеми файлами должен быть единым. Таким механизмом и является файловая системаОпределение. Файловая система- это часть ОС (невидимая пользователю, но он через системные утилиты может управлять некоторыми ее аспектами), включающая в себя:- совокупность всех файлов на всех носителях данных, независимо от их физического устройства;- набор структур данных, используемых для управления файлами (то, как файл идентифицирует операционная система и с помощью чего отличает один файл от другого)- каталоги, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске и т.д. Т.е. эти структуры данных представляют некоторую модель, с помощью которой ОС работает с «железом»- КЛАСТЕРАМИ жесткого диска и т.д. Эта модель поддерживается с помощью некоторых программных (и специальным образом оформленных) модулей- комплекс системных программных модулей, реализующих различные операции над файлами – создание, уничтожение, чтение/запись и т.д. Эти модули в различных файловых системах имеют различную реализацию, но функционал один и тот же