Тема 1.1. Общие сведения об операционных системах Занятие №3. Операционное окружение. Понятия базовой и расширенной машин. План занятия. 1. Операционное окружение. 2. 3. Домашняя с/р. 4. Источники 1. Операционное окружение Вспомним, что основными назначениями ОС являются: управление вычислительными процессами в вычислительной системе; распределение ресурсов вычислительной системы между различными вычислительными процессами; образование программной (операционной) среды, в которой выполняются прикладные программы пользователей. Т.е. ОС - программная подсистема, при обращении к которой посредством соответствующих вызовов пользователь получает функции и сервисы. То есть необходима среда, в которой пользователь будет запускать программы. Операционная среда – набор функций и сервисов ОС и правила обращения к ним. Операционное окружение (операционная среда) – набор интерфейсов, необходимый программам и пользователям для обращения к ОС с целью получить определенные сервисы. Это совокупность компьютерных программ, обеспечивающая оператору возможность управлять вычислительными процессами и файлами. Операционная система в общем случае может содержать несколько операционных сред. Операционная среда может включать несколько интерфейсов: пользовательские и программные. Операционная среда – системное программное окружение, в котором могут выполняться программы, созданные по правилам работы этой среды. Стандартом на операционные системы (ОС) определены синтаксис и семантика языка оболочки и утилит, составляющих операционную среду компьютера, работающего под управлением такой ОС. Операционное окружение DOS состоит из всех команд DOS, доступных пользователю. Есть операционные среды, позволяющие управлять вычислительными процессами и файлами в стандартной операционной системе посредством графического пользовательского интерфейса, такие как Enlightenment, GNOME, KDE и пр. Существуют также операционные среды, предназначенные для работы под альтернативными операционными системами (например, GEOS, Microsoft Windows 1.0-3.x, 95, 98 и ME на базе MS-DOS), причем сама ОС может включаться в поставку Тема 1.1. Общие сведения об операционных системах операционной среды, а некоторые альтернативные ОС (например, Windows NT, Mac OS), наоборот, включают графические операционные среды в свой состав. Проявляется тенденция включать в операционные среды также нетрадиционные средства ввода-вывода данных (голосовой ввод, синтез голоса, распознавание рукописного ввода и др.). В различных операционных системах состав среды окружения может сильно различаться. К составу среды окружения обычно относят: системные переменные текущие пути на различных дисках (в случае поддержки нескольких дисков операционной системой) Точка монтирования каталогов (в том числе корневого), используется в unixподобных операционных системах Связь стандартных потоков ввода-вывода с файловыми хэндлерами или устройствами (используется для перенаправления ввода-вывода) Ограничения на количество одновременно открытых файлов, стеков и т. д. Набор прав (обычно соответствует правам пользователя, запустившего процесс, но может изменяться как в сторону большего набора прав, так и в сторону ужесточения) Дисковые квоты, ограничение на максимальный объѐм оперативной памяти, загрузки процессоров и т. д. Значения показателей использования ресурсов, получаемые от родительского процесса (на некоторых системах) Также операционное окружение иногда называют контролирующей программой (control program). 2. Стандартные операционное окружение. сервисные программы, поддерживающие Одной из наиболее важных функций операционной системы является поддержка операционного окружения пользовательских задач. Оно состоит из ряда стандартных сервисных программ, которые могут быть использованы в процессе выполнения задачи и предоставлять средства для управления ресурсами вычислительной системы, выделяя их пользователю по мере надобности. В качестве примера услуг, предоставляемых операционным окружением, рассмотрим функцию ввода-вывода. Почти все операционные системы имеют стандартные программы, помогающие в осуществлении таких операций. Предположим, что программа работает на УУМ под управлением однопрограммной системы. Чтобы прочитать байт без помощи операционной системы, программа должна содержать цикл, в котором анализируется состояние устройства и выполняется команда RD. Обнаружение и исправление ошибок также возложено на саму программу. Наличие поддержки со стороны операционной системы сильно облегчает задачу. Программа пользователя может просто инициализировать стандартную сервисную программу, задав устройство, которое должно быть использовано. За всеми нюансами, Тема 1.1. Общие сведения об операционных системах такими как опрос состояния и подсчет переданных байтов, проследит операционная система. Она же примет необходимые меры по исправлению ошибок. Стандартная сервисная программа, подобная описанной выше, может восприниматься как расширение базовой машины. Типичная операционная система содержит много подобных программ. Вместе взятые, они составляют расширенную машину, которая и используется во время выполнения программы. Программам не нужно опускаться до уровня базовых аппаратных средств, поскольку все функции и возможности предоставляет расширенная машина. Она проще в использовании, чем реальная. Это касается, например, нюансов выполнения операций ввода-вывода. Есть и другие преимущества. Например, операции ввода-вывода на расширенной машине менее подвержены ошибкам, чем на реальной, так как за обнаружением и исправлением ошибок следит операционная система. Иногда расширенную машину называют виртуальной. Однако термин ―виртуальная машина‖ может иметь и другой смысл. Операционное окружение мультипрограммных операционных систем содержит также программы, которые управляют ресурсами ЭВМ, выделяя их по необходимости заданиям пользователей. Например, оперативная память распределяется между заданиями одновременно находящимися в решении, центральный процессор предоставляется заданиям, согласно заранее выбранной стратегии. За исключением конкретных запросов операционной системе заданиям пользователя нет необходимости иметь дело с управлением ресурсами. Благодаря операционному окружению каждое задание выполняется как бы на отдельной расширенной машине, хотя в действительности базовая машина может быть определена между несколькими пользователями. В некоторых системах программы пользователей могут вызывать функции операционных систем, обращаясь непосредственно к фиксированным областям памяти. В документации по операционным системам для пользователей дается описание областей, предназначенных для данных, и входных точек вместе с их реальными адресами. Иногда возможно наличие в памяти одной точки входа для всех сервисных программ, нужный тип обслуживания может быть определен при помощи кода запроса. Способ запроса связи с операционной системой при помощи обращения к фиксированной области памяти используется в микрокомпьютерах и персональных ЭВМ. 3. Режимы работы ОС. Чтобы конкурирующие процессы не могли взаимно влиять друг на друга, часть команд компьютера должны быть зарезервированы для исполнения только ОС. Эти привилегированные инструкции должны представлять такие инструкции, как: инициирование и ликвидация прерываний; переключение процессов между процессами; доступ к регистрам, используемый оборудованием защиты памяти; выполнение ввода/вывода; остановка CPU и управление его операциями (пример: инициирование и ликвидация внутренних механизмов таких, как элементы ускорения операций с Тема 1.1. Общие сведения об операционных системах плавающей точкой и кэшей памяти). Чтобы различать, когда можно, а когда нет выполнять привилегированные команды, большинство компьютеров работают более чем в одном режиме. В типичном случае есть два режима, часто известных как режим супервизора и режим пользователя. Если программе пользователя разрешить выполнение любых операций ввода-вывода, она могла бы вывести главный список паролей системы, распечатать информацию любого другого пользователя или вообще испортить операционную систему, поэтому все программы пользователя могут выполняться только в режиме пользователя. Режим супервизора — привилегированный режим работы процессора, как правило используемый для выполнения ядра операционной системы. В данном режиме работы процессора доступны привилегированные операции, как то: операции ввода-вывода к периферийным устройствам, изменение параметров защиты памяти, настроек виртуальной памяти, системных параметров и прочих параметров конфигурации. Как правило, в режиме супервизора или вообще не действуют ограничения защиты памяти или же они могут быть произвольным образом изменены, поэтому код, работающий в данном режиме, как правило, имеет полный доступ ко всем системным ресурсам (адресное пространство, регистры конфигурации процессора и т. п.). Во многих типах процессоров это наиболее привилегированный режим из всех доступных режимов. Известно одно исключение из данного правила: у некоторых современных процессоров может присутствовать ещѐ более привилегированный режим гипервизора, как правило, используемый с целью виртуализации, то есть обеспечения параллельной работы сразу нескольких операционных систем на одном процессоре. В этом случае настройки, сделанные из режима гипервизора могут вносить некоторые ограничения на прямой доступ к системным ресурсам и периферии из режима супервизора с целью предоставить гипервизору возможность арбитража и разграничения доступа к системным ресурсам и периферии незаметно для работающих параллельно операционных систем. В нормальном состоянии ЦП находится в режиме пользователя. Переход из этого режима в режим супервизора возможен только при нарушении нормальной работы специальной инструкцией или внешним событием. Такая ситуация называется исключением, а сама процедура перехода - обработкой исключения. Переключение из режима пользователя в режим супервизора происходит автоматически в следующих случаях: a. пользовательский процесс вызывает ОС для выполнения некоторых системных функций, требующих привилегированных команд. Такие вызовы называются вызовами супервизора или системными вызовами; b. возникновение прерываний; c. возникновение ошибки в пользовательском процессе. Это условие можно понимать как "внутреннее прерывание” и обрабатываться в первую очередь соответствующей процедурой прерывания; d. когда делается попытка выполнения привилегированной инструкции в режиме пользователя. Эта попытка может рассматриваться как особый вид ошибки и обрабатываться как в случае (с). Тема 1.1. Общие сведения об операционных системах Переключение из режима супервизора назад в режим пользователя происходит по привилегированной команде. Исключение - это любое нарушение нормальной работы МП. Исключения могут вызываться: выполнения инструкций, трассировка) причинами рали, прерывания) причинами. Исключения разделяются по приоритетам. Их обработка осуществляется подпрограммами, адреса которых вычисляет ЦП с использованием номера вектора исключения, генерируемого самим ЦП или передаваемым ему в цикле подтверждения прерывания. Привилегированные команды могут выполняться только операционной системой в режиме супервизора. В процессе развития компьютерных архитектур выявилась тенденция к увеличению количества привилегированных команд, т. е. команд, которые не могут выполняться в режиме задачи. Это служит свидетельством определенной тенденции к реализации большего числа функций операционных систем аппаратными средствами. Во многих случаях значительная часть функций операционной системы реализуется в аппаратуре. 4. Домашняя с/р 1. 2. Составить таблицу: «Основные виджеты графических интерфейсов» Подготовка сообщений по темам: «SILC-интерфейс», 5. Основные используемые источники https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0% BE%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D 0%B5 http://www.dnf.su/college/attachments/article/1/OS_04_Okrujenie.pdf http://elib.tolgas.ru/publ/Volovach_Shliapkin_Operats_sist_UMK_2012.pdf