Важнейшим достоинством большинства ОС является модульность. Это свойство позволяет объединить в каждом модуле определенные логически связанные группы функций. Если возникает необходимость в замене или расширении такой группы функций, это можно сделать путем замены или модификации лишь одного модуля, а не всей системы.
Большинство ОС состоит из следующих основных модулей: базовая система ввода-вывода (BIOS – Basic Input Output System); загрузчик операционной системы (Boot Record); ядро ОС; драйверы устройств; командный процессор; внешние команды (файлы).
Базовая система ввода-вывода (BIOS) – это набор микропрограмм, реализующих основные низкоуровневые (элементарные) операции ввода-вывода. Они хранятся в ПЗУ компьютера и записываются туда при изготовлении материнской платы. Данная система, по сути, «встроена» в компьютер и является одновременно его аппаратной частью и частью операционной системы.
Первая функция BIOS – автоматическое тестирование основных компонентов компьютера при его включении. При обнаружении ошибки на экран выводится соответствующее сообщение и / или выдается звуковой сигнал.
Microsoft PowerToys — улучшение операционной системы Windows по-максимуму
Далее BIOS осуществляет вызов блока начальной загрузки операционной системы, находящейся на диске (эта операция выполняется сразу по окончании тестирования). Загрузив в ОЗУ этот блок, BIOS передает ему управление, а он в свою очередь загружает другие модули ОС.
Еще одна важная функция BIOS – обслуживание прерываний. При возникновении определенных событий (нажатие клавиши на клавиатуре, щелчок мыши, ошибка в программе и т.д.) вызывается одна из стандартных подпрограмм BIOS по обработке возникшей ситуации.
Загрузчик операционной системы – это короткая программа, находящаяся в первом секторе любого загрузочного диска (дискеты или диска с операционной системой). Функция этой программы заключается в считывании в память основных дисковых файлов ОС и передаче им дальнейшего управления ЭВМ.
Ядро ОС реализует основные высокоуровневые услуги, загружается в ОЗУ и остается в ней постоянно. В ядре ОС выделяют несколько подсистем, каждая из которых отвечает за выполнение той или иной задачи:
— файловая система (отвечает за размещение информации на устройствах хранения);
— система управления памятью (размещает программы в памяти);
— система управления программами (осуществляет запуск и выполнение программ);
— система связи с драйверами устройств (отвечает за взаимодействие с внешними устройствами);
— система обработки ошибок;
— служба времени (предоставляет всем программам информацию о системном времени).
Модуль расширения BIOS придает гибкость операционной системе, позволяя добавлять драйверы, обслуживающие дополнительные устройства.
Драйверы требуются в тех случаях, когда обмен информацией с устройствами должен происходить иначе, чем определено в BIOS.
Драйверы устройств – это программы, управляющие работой внешних (периферийных) устройств на физическом уровне. Они дополняют систему ввода-вывода ОС и обеспечивают обслуживание новых устройств или нестандартное использование имеющихся. Они передают или принимают данные от аппаратуры и делают пользовательские программы независимыми от ее особенностей.
WINDOWS. Самое простое объяснение. Номинация на Оскар?
Драйверы загружаются в память компьютера при загрузке операционной системы; необходимость и порядок их загрузки указываются в специальных файлах конфигурации. Такая схема облегчает подключение к машине новых устройств и позволяет делать это, не затрагивая системные файлы ОС.
Источник: neudov.net
1.3 Состав операционной системы и назначение компонентов
Важнейшим достоинством большинства ОС является модульность. Это свойство позволяет объединить в каждом модуле определенные логически связанные группы функций. Если возникает необходимость в замене или расширении такой группы функций, это можно сделать путем замены или модификации лишь одного модуля, а не всей системы.
Большинство ОС состоит из следующих основных модулей:
- базовая система ввода-вывода (BIOS – Basic Input Output System);
- загрузчик операционной системы;
- ядро ОС;
- драйверы устройств;
- командный процессор;
- внешние команды (файлы).
- Первая функция BIOS – автоматическое тестирование основных компонентов компьютера при его включении. При обнаружении ошибки на экран выводится соответствующее сообщение и / или выдается звуковой сигнал.
- Далее BIOS осуществляет вызов блока начальной загрузки операционной системы, находящейся на диске (эта операция выполняется сразу по окончании тестирования). Загрузив в оперативное запоминающее устройство (ОЗУ) этот блок, BIOS передает ему управление, а он в свою очередь загружает другие модули ОС.
- Еще одна важная функция BIOS – обслуживание прерываний. При возникновении определенных событий (нажатие клавиши на клавиатуре, щелчок мыши, ошибка в программе и т.д.) вызывается одна из стандартных подпрограмм BIOS по обработке возникшей ситуации.
- файловая система (отвечает за размещение информации на устройствах хранения);
- система управления памятью (размещает программы в памяти);
- система управления программами (осуществляет запуск и выполнение программ);
- система связи с драйверами устройств (отвечает за взаимодействие с внешними устройствами);
- система обработки ошибок;
- служба времени (предоставляет всем программам информацию о системном времени).
- прием и синтаксический разбор команд, полученных с клавиатуры или из командного файла;
- исполнение внутренних команд операционной системы;
- загрузка и исполнение внешних команд (реализованных в виде самостоятельных программ) операционной системы и прикладных программ пользователя (файлы с расширением СОМ, ЕХЕ или ВАТ).
- исполнение командных файлов (это текстовые файлы с набором команд и расширением ВАТ). Когда в качестве команды задается имя такого файла, командный процессор начинает последовательно читать и интерпретировать содержащиеся в нем строки, каждая из которых может содержать одну команду, метку или комментарий. Если в очередной строке стоит команда, осуществляющая вызов какой-то программы, выполнение командного файла приостанавливается и начинается работа вызванной программы. После ее завершения происходит выполнение следующей команды командного файла.
Источник: studfile.net
Лекция 6. Структура ОС
Операционная система, содержит в себе ядро, подсистему управления оперативной памятью, подсистему управления программами, файловую систему, драйверы для работы с устройствами ввода/вывода и другие системы. Рассмотрим их кратко.
В состав операционной системы входят следующие подсистемы:
1. Управление процессами; Процесс — это программа в стадии выполнения. Процессу необходимы определенные ресурсы, включая процессорное время, память, файлы и устройства ввода/вывода для выполнения своих задач. ОС отвечает за следующие действия в связи с управлением процессами: создание и удаление процессов; приостановка и возобновление процессов; обеспечение механизмов для взаимодействия и синхронизации процессов.
2. Управление основной памятью; Память представляет собой большой массив слов или байт, каждый из которых имеет собственный адрес. Это хранилище данных, к которым обеспечивается быстрый доступ, распределенный между процессором и устройствами ввода/вывода. Основная память энергозависимое устройство и теряет содержимое в случае разрушения системы. ОС отвечает за следующие действия в связи с управлением памятью: ведет учет о том, какая часть памяти в настоящий момент используется; принимает решение о загрузке процессов при освобождении пространства ОП; распределяет и освобождает пространство ОП в соответствии с действующими стратегиями.
3. Управление внешней памятью; Поскольку основная память энергозависима и слишком мала для размещения всех данных и программ постоянно, ВС должна обеспечить вторичную память для сохранения основной памяти. Большинство современных ВС используют диски как средство оперативного хранения, как программ так и данных. ОС отвечает за следующие действия в связи с управлением внешней памятью: управление свободным пространством; распределение памяти; управление диском.
4. Управление устройствами ввода/вывода; Подсистема ввода/вывода состоит из: системы кэширования — буферирования; общего интерфейса драйверов устройств; драйверов специализированных устройств.
5..Управление файлами; Файл представляет собой набор взаимосвязанной информации, определенной при создании. Кроме собственно данных, файлы представляют программы, как в исходном, так и в объектном виде. Подсистема ОС отвечает за следующие действия в связи с управлением файлами: создание файлов; создание и удаление подкаталогов; поддержка операций для манипулирования с файлами и подкаталогами; представление файлов во внешней памяти; выгрузка файлов на другие внешние устройства.
6. Защита системы; Защита системы предполагает наличие механизма для управления доступом программ, процессов и пользователей к системным и пользовательским ресурсам. Механизм защиты должен:
различать авторизованное и не авторизованное использование;
определить элементы управления, которые будут задействованы;
обеспечить средства реализации.
7. Сетевая поддержка; Распределенная система — набор процессоров, которые не распределяют память или каждый процессор имеет свою локальную память. Процессоры в системе соединены посредством компьютерной сети и обеспечивают пользователям доступ к различным системным ресурсам, позволяющим: увеличить скорость вычислений; увеличить объем доступной информации; повысить надежность
8. Командный интерфейс системы. Множество команд в ОС предназначено для выполнения функций управления, которые имеют дело с созданием и управлением процессов; управлением вводом/выводом; управлением внешней памятью; управлением основной памятью; доступом к файловой системе; защитой; сетевым обеспечением.
Типовые средства аппаратной поддержки операционной системы и её машинно-зависимые компоненты
Четкой границы между программной и аппаратной реализацией функций ОС не существует — решение о том, какие функции ОС будут выполняться программно, а какие аппаратно, принимается разработчиками аппаратного и программного обеспечения компьютера. Современные аппаратные платформы имеют типичный набор средств аппаратной поддержки ОС, в который входят следующие компоненты:
· средства поддержки привилегированного режима;
· средства трансляции адресов;
· средства переключения процессов;
· средства защиты областей памяти.
Средства поддержки привилегированного режима обычно основаны на системном регистре процессора, часто называемом «словом состояния» машины или процессора. Этот регистр содержит некоторые признаки, определяющие режимы работы процессора, в том числе и признак текущего режима привилегий. Смена режима привилегий выполняется за счет изменения слова состояния машины в результате прерывания или выполнения привилегированной команды. В обязанности средств поддержки привилегированного режима входит выполнение проверки допустимости выполнения активной программой инструкций процессора при текущем уровне привилегированности.
Средства трансляции адресов выполняют операции преобразования виртуальных адресов, которые содержатся в кодах процесса, в адреса физической памяти. Таблицы, предназначенные при трансляции адресов, обычно имеют большой объем, поэтому для их хранения используются области оперативной памяти, а аппаратура процессора содержит только указатели на эти области. Средства трансляции адресов используют данные указатели для доступа к элементам таблиц и аппаратного выполнения алгоритма преобразования адреса, что значительно ускоряет процедуру трансляции по сравнению с ее чисто программной реализацией.
Средства переключения процессов предназначены для быстрого сохранения контекста приостанавливаемого процесса и восстановления контекста процесса, который становится активным. Содержимое контекста обычно включает содержимое всех регистров общего назначения процессора, регистра флагов операций, а также тех системных регистров и указателей, которые связаны с отдельным процессом, а не операционной системой, например указателя на таблицу трансляции адресов процесса.
Переключение контекста выполняется по определенным командам процессора, например по команде перехода на новую задачу. Такая команда вызывает автоматическую загрузку данных из сохраненного контекста в регистры процессора, после чего процесс продолжается с прерванного ранее места.
Система прерываний позволяет компьютеру реагировать на внешние события, синхронизировать выполнение процессов и работу устройств ввода-вывода, быстро переходить с одной программы на другую. Механизм прерываний нужен для того, чтобы оповестить процессор о возникновении в вычислительной системе некоторого непредсказуемого события или события, которое не синхронизировано с циклом работы процессора. При возникновении условий прерывания его источник выставляет определенный электрический сигнал. Этот сигнал прерывает выполнение процессором последовательности команд, задаваемой исполняемым кодом, и вызывает автоматический переход на заранее определенную процедуру, называемую процедурой обработки прерываний. Прерывания играют важнейшую роль в работе любой операционной системы, являясь ее движущей силой.
Системный таймер, часто реализуемый в виде быстродействующего регистра-счетчика, необходим операционной системе для выдержки интервалов времени. Для этого в регистр таймера программно загружается значение требуемого интервала в условных единицах, из которого затем автоматически с определенной частотой начинает вычитаться по единице. Частота «тиков» таймера, как правило, тесно связана с частотой тактового генератора процессора. При достижении нулевого значения счетчика таймер инициирует прерывание, которое обрабатывается процедурой операционной системы. Прерывания от системного таймера используются ОС в первую очередь для слежения за тем, как отдельные процессы расходуют время процессора.
Средства защиты областей памяти обеспечивают на аппаратном уровне проверку возможности программного кода осуществлять с данными определенной области памяти такие операции, как чтение, запись или выполнение. Если аппаратура компьютера поддерживает механизм трансляции адресов, то средства защиты областей памяти встраиваются в этот механизм. Функции аппаратуры по защите памяти обычно состоят в сравнении уровней привилегий текущего кода процессора и сегмента памяти, к которому производится обращение.
Машинно-зависимые компоненты ОС
Одна и та же операционная система не может без каких-либо изменений устанавливаться на компьютерах, отличающихся типом процессора и способом организации всей аппаратуры. В модулях ядра ОС не могут не отразиться такие особенности аппаратной платформы, как количество типов прерываний и формат таблицы ссылок на процедуры обработки прерываний, состав регистров общего назначения и системных регистров, состояние которых нужно сохранять в контексте процесса, особенности подключения внешних устройств.
Однако опыт разработки операционных систем показывает: ядро можно спроектировать таким образом, что только часть модулей будут машинно-зависимыми, а остальные не будут зависеть от особенностей аппаратной платформы. В хорошо структурированном ядре машинно-зависимые модули локализованы и образуют программный слой, естественно примыкающий к слою аппаратуры. Такая локализация машинно-зависимых модулей существенно упрощает перенос операционной системы на другую аппаратную платформу.
Объем машинно-зависимых компонентов ОС зависит от того, насколько велики отличия в аппаратных платформах, для которых разрабатывается ОС. Например, ОС, построенная на 32-битовых адресах, для переноса на машину с 16-битовыми адресами должна быть практически переписана заново. Одно из наиболее очевидных отличий — несовпадение системы команд процессоров — преодолевается достаточно просто.
Для уменьшения количества машинно-зависимых модулей производители операционных систем обычно ограничивают универсальность машинно-независимых модулей. Это означает, что их независимость носит условный характер и распространяется только на несколько типов процессоров и созданных на основе этих процессоров аппаратных платформ.
Особое место среди модулей ядра занимают низкоуровневые драйверы внешних устройств. С одной стороны эти драйверы, как и высокоуровневые драйверы, входят в состав менеджера ввода-вывода, то есть принадлежат слою ядра, занимающему достаточно высокое место в иерархии слоев. С другой стороны, низкоуровневые драйверы отражают все особенности управляемых внешних устройств, поэтому их можно отнести и к слою машинно-зависимых модулей. Такая двойственность низкоуровневых драйверов еще раз подтверждает схематичность модели ядра со строгой иерархией слоев.
Вопросы для самоконтроля
1. Назовите компоненты операционной системы.
2. Перечислите типовые средства аппаратной поддержки операционной системы.
3. Назовите машинно-зависимые компоненты ОС.
4. Какие подсистемы входят в состав операционной системы?
Источник: studopedia.su