На сегодняшний день операционная система (ОС) представляет собой комплекс системных управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой стороны, предназначены для наиболее эффективного расходования ресурсов вычислительной системы и организации надежных вычислений.
Основные функции операционных систем:
1) прием от пользователя (или от оператора системы) заданий, или команд, сформированных на соответствующем языке, и их обработка.
2) загрузка в оперативную память подлежащих исполнению программ;
3) распределение памяти, а в большинстве современных систем и организация виртуальной памяти;
4) запуск программы;
5) идентификация всех программ и данных;
6) прием и исполнение различных запросов от выполняющихся приложений;
7) обслуживание всех операций ввода-вывода;
8) обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД);
9) обеспечение режима мультипрограммирования, то есть организация параллельного выполнения двух или более программ на одном процессоре, создающая видимость их одновременного исполнения;
10) планирование и диспетчеризация задач;
11) организация механизмов обмена сообщениями и данными между выполняющимися программами;
12) обеспечение взаимодействия связанных между собой компьютеров (для сетевых ОС);
13) защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений;
14) аутентификация и авторизация пользователей. Аутентификация –процедура проверки имени пользователя и его пароля на соответствие тем значениям, которые хранятся в его учетной записи. Авторизация – в соответствии с учетной записью пользователя, который прошел аутентификацию, ему назначаются определенные права.
15) удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени);
16) обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы;
17) предоставление услуг на случай частичного сбоя системы.
Операционная система изолирует аппаратное обеспечение компьютера от прикладных программ пользователей. И пользователь, и его программы взаимодействуй с компьютером через интерфейсы операционной системы.
Понятие операционных сред и оболочек
Операционная система выполняет функции управления вычислениями в компьютере, распределяет ресурсы вычислительной системы между различными процессами, и образует ту программную среду, в которой выполняются прикладные программы пользователей. Такая среда называется операционной.
Набор функций и сервисов операционной системы, а также правила обращения к ним как раз и образуют то базовое понятие, которое мы называем операционной средой. Таким образом, термин «операционная среда» означает, прежде всего, соответствующие интерфейсы, необходимые программам и пользователям для обращения к управляющей (супервизорной) части операционной системы с целью получить определенные сервисы.
Каждая операционная система имеет множество системных функций; они вызываются соответствующим образом, по принятым в системе правилам. Совокупность системных вызовов и правил, по которым их следует использовать, определяет интерфейс прикладного программирования (API – Application Program Interface). Очевидно, что программа, созданная для работы в некоторой операционной системе, скорее всего не будет работать в другой операционной системе, поскольку API у этих операционных систем, как правило, различаются. Поэтому разработчики операционных систем стали создавать так называемые программные среды.
Программную (системную) среду следует понимать как некоторое системное окружение, позволяющее выполнить все системные запросы от прикладной программы.
Помимо основной операционной среды в операционной системе организованы (путем эмуляции иной операционной среды) дополнительные программные среды.
Параллельное существование терминов «операционная система» и «операционная среда» вызвано тем, что операционная система (в общем случае) может поддерживать несколько операционных сред.
Операционная среда может включать несколько интерфейсов (оболочек): пользовательские и программные.
Программы-оболочки относятся к классу системных программ. Они обеспечивают более удобный и наглядный способ общения с компьютером, чем штатные средства ОС.
Некоторые программы не заменяют «штатную оболочку», а дополняют ее или добавляют в нее новые функции.
Прерывания.
Прерывание – это принудительная передача управления от выполняемой программы к системе (а через нее — к соответствующей программе обработки прерывания), происходящая при возникновении определенного события.
Идея прерывания была предложена в середине 50-х годов. Основная цель введения прерываний — реализация асинхронного режима функционирования и распараллеливание работы отдельных устройств вычислительного комплекса.
Механизм прерываний реализуется аппаратно-программными средствами. Прерывание непременно влечет за собой изменение порядка выполнения команд процессором.
Механизм обработки прерываний подразумевает выполнение шагов:
1) установление факта прерывания;
2) запоминание состояния прерванного процесса вычислений.
3) управление аппаратно передается на подпрограмму обработки прерывания;
4) сохранение информации о прерванной программе, которую не удалось спасти помощью аппаратуры;
5) собственно выполнение программы, связанной с обработкой прерывания;
6) восстановление информации, относящейся к прерванному процессу;
7) возврат на прерванную программу.
Шаги 1-3 реализуются аппаратно, шаги 4-7 — программно.
Прерывания, возникающие при работе вычислительной системы, можно разделить на два основных класса: внешние (их иногда называют асинхронными) и внутренние (синхронные).
Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса.
Внутренние прерывания вызываются событиями, которые связаны с работой процессора, и являются синхронными с его операциями.
Наконец, существуют собственно программные прерывания.
Процессор может обладать средствами защиты от прерываний: отключение системы прерываний, маскирование (запрет) отдельных сигналов прерывания.
Программное управление специальными регистрами маски (маскирование сигнала прерывания) позволяет реализовать различные дисциплины обслуживания:
• с относительными приоритетами, то есть обслуживание не прерывается даже при наличии запросов с более высокими приоритетами.
• с абсолютными приоритетами, то есть всегда обслуживается прерывание с наивысшим приоритетом.
• по принципу стека (последним пришел, первым обслужен).