Операционные системы. Операционная система(ОС) представляет собой комплекс управляющих и обрабатывающих программ, которые
Операционная система(ОС) представляет собой комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой стороны, предназначены для наиболее эффективного расходования ресурсов вычислительной системы и организации надежных вычислений.
Операционная система изолирует аппаратное обеспечение компьютера от прикладных программ пользователей. И пользователь, и его программы взаимодействуют с компьютером через интерфейсы операционной системы.
Примеры операционных систем: UNIX, OS/2, Windows, Linux, QNX, MacOS, BeOS.
Пренебрегая детализацией, можно сказать, что операционные системы выполняют две основные функции. Во-первых, расширяют реальные физические возможности компьютера. Например, путем виртуального увеличения объема его оперативной памяти или обеспечения многозадачного режима работы на одном процессоре. Во-вторых, управляют ресурсами компьютера, в частности, памятью и устройствами ввода-вывода.
Более детальный перечень функций приведен ниже:
1. Прием от пользователя (или от оператора системы) заданий, или команд, сформулированных на соответствующем языке, и их обработка.
2. Загрузка в оперативную память подлежащих исполнению программ.
3. Распределение памяти.
4. Запуск программы (передача ей управления, в результате чего процессор исполняет программу).
5. Идентификация всех программ и данных.
6. Прием и исполнение различных запросов от выполняющихся приложений. ОС умеет выполнять большое количество системных функций (сервисов), которые могут быть запрошены из выполняющейся программы. Обращение к этим сервисам осуществляется по определенным правилам, которые определяют интерфейс прикладного программирования (Application Program Interface, API) этой операционной системы.
7. Обслуживание всех операций ввода-вывода.
8. Обеспечение работы систем управления файлами (СУФ) и/или систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения.
9. Обеспечение режима мультипрограммирования, то есть организации параллельного выполнения двух или более программ на одном процессоре, которая создает видимость их одновременного исполнения.
10. Планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания.
11. Организация механизмов обмена сообщениями и данными между выполняющимися программами.
12. Для сетевых операционных систем характерной является функция обеспечения взаимодействия связанных между собой компьютеров.
13. Защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений.
14. Аутентификация и авторизация пользователей (для большинства диалоговых операционных систем). Под аутентификациейпонимается процедура проверки имени пользователя и его пароля на соответствие тем значениям, которые хранятся в его учетной записи. Если входное имя (login) пользователя и его пароль совпадают, то, скорее всего, это и будет тот самый пользователь. Термин авторизация означает, что в соответствии с учетной записью пользователя, который прошел аутентификацию, ему (и всем запросам, которые будут идти к операционной системе от его имени) назначаются определенные права (привилегии), определяющие, что он может, а чего не может делать на компьютере.
15. Удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени).
16. Обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы.
17. Предоставление услуг на случай частичного сбоя системы.
Операционная система состоит из множества программных модулей. Главный модуль операционной системы называется супервизором (supervisor). В сложных операционных системах он может состоять из нескольких модулей, например супервизора ввода-вывода, супервизора прерываний, супервизора программ, диспетчера задач и т.д.
В литературе также часто используется термин ядро (kernel) операционной системы, который понимается как синоним супервизора.
При необходимости использовать какой-нибудь ресурс (оперативную память, устройство ввода-вывода, массив данных и т.п.) вычислительный процесс путем обращения к супервизору операционной системы посредством специальных вызовов сообщает о своем требовании. При этом указывается вид ресурса и, если надо, его объем. Например, при запросе оперативной памяти указывается количество адресуемых ячеек, необходимое для дальнейшей работы.
Команда обращения к операционной системе передает ей управление, переводя процессор в привилегированный режим работы. Большинство компьютеров имеют два (и более) режима работы: привилегированный (режим супервизора) и пользовательский. Ресурс может быть выделен вычислительному процессу, обратившемуся к операционной системе с соответствующим запросом, если:
1. ресурс свободен и в системе нет запросов от задач более высокого приоритета к этому же ресурсу;
2. текущий запрос и ранее выданные запросы допускают совместное использование ресурсов;
3. ресурс используется задачей низшего приоритета и может быть временно отобран (разделяемый ресурс).
Получив запрос, операционная система либо удовлетворяет его и возвращает управление задаче, выдавшей данный запрос, либо, если ресурс занят, ставит задачу в очередь к ресурсу, переводя ее в состояние ожидания (блокируя). Очередь к ресурсу может быть организована несколькими способами, но чаще всего она реализуется с помощью списковой структуры.
После окончания работы с ресурсом задача опять с помощью специального вызова супервизора (посредством соответствующей команды) сообщает операционной системе от отказа от ресурса, либо операционная система забирает ресурс сама, если управление возвращается супервизору после выполнения какой-либо системной функции.
Супервизор, получив управление по этому обращению, освобождает ресурс и проверяет, имеется ли очередь к освободившемуся ресурсу. Если очередь есть, то он выводит из состояния ожидания задачу, ждущую ресурс, и переводит ее в состояние готовности к выполнению, после чего либо передает управление ей, либо возвращает управление задаче, только что освободившей ресурс.
Дата добавления: 2014-12-13; просмотров: 1997;