Интерфейс пользователя

Ядро

Несмотря на различные подходы к проектированию, различное назначение и различные компьютеры, для которых разработаны операционные системы, в любой ОС можно выделить четыре основных компонента. Это ядро системы и три подсистемы, обеспечивающие взаимодействие ядра с внешними устройствами, прикладными программами и пользователем соответственно.

Структура операционных систем

Исключительные ситуации

Прерывания

Прерывания - это событие, генерируемое внешними устройствами (по отношению к процессору). Посредствам аппаратных прерываний аппаратура либо информирует центральный процессор о том, что произошло какое- либо событие требующей немедленной реакции (пользователь нажал клавишу), либо сообщает о завершении асинхронной операции ввода-вывода (закончена операция чтения данных с диска в оперативную память) Важнейший тип аппаратных прерываний прерывания таймера, которые генерируются периодически через фиксированный промежуток времени, используются ОС при планировании процессов. Каждый тип аппаратных прерываний имеет собственный номер, однозначно определяющий источник прерывания. Аппаратное прерывание - это асинхронное событие, т.е. оно возникают в независимости от того, какой код исполняется процессором в данный момент. Обработка аппаратного прерывания не должна учитывать, какой процесс является текущим.

Исключительные ситуации - события, возникающие в результате попытки выполнения команды, которые по каким-то причинам не может быть выполнена до конца (обращение к отсутствующей страницы памяти, попытка доступа к ресурсу при отсутствии достаточных привилегий).

Исключительные ситуации являются синхронным событиями, возникающие в контексте текущей задачи. Исключительные ситуации делятся на исправимые и не исправимые.

Исправимые - это такие как отсутствие информации. В ОП после устранения причины исправной исключающей ситуации программа может выполняться дальше. Возникновение в процессе работы исправимых исключающих ситуации считается нормальными явлениями.

Не исправимые ситуации чаще всего возникают в результате ошибок в программах. Обычно в таких системах ОС реагирует завершением программы, вызвавшей исключающую ситуацию.

На рисунке схематически показаны основные компоненты ОС и порядок их взаимодействия друг с другом, пользователями, внешними устройствами и прикладными программами.

Следует понимать, что в реальных ОС описание компоненты обычно не выделяются явно, скажем, в виде отдельных программных модулей. Просто существуют фрагменты системы, выполняющие функции каждого из компонентов. Так что описанное разделение ОС на подсистемы следует воспринимать как логическую схему, а не как техническое описание.

Центральным элементов ОС является ядро, выполняющее функции главного управляющего модуля. Ядро выполняет функции разделения процессорного времени, управления памятью, оборудованием, файловой системой, правами пользователей и приложений, защиты от несанкционированного доступа, а также ряд других. Физически ядро представляет собой один или несколько программных модулей, которые загружаются при старте ОС и работают все время, пока компьютер не будет выключен.

В ходе взаимодействия с ОС человек должен иметь возможность отдавать команды системе, а система должна иметь возможность передавать пользователю данные и сигнализировать о происходящих в системе событиях. Именно эту задачу решает интерфейс пользователя.

Внешне интерфейс пользователя может выглядеть как угодно, но его содержание всегда одно и то же – пользователь отдает команды и получает информацию о реакции системы на них. Можно выделить два основных варианта организации интерфейса пользователя – визуальный интерфейс и интерфейс, основанный на текстовых командах.