ОСиС.ppt
- Количество слайдов: 41
Операционная система (ОС) - это комплекс системных управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой стороны, предназначены для наиболее эффективного расходования ресурсов вычислительной системы и организации надежных вычислений.
Функции операционных систем. • Прием от пользователя (или от оператора системы) заданий, или команд, сформулированных на соответствующем языке, и их обработка. • Загрузка в оперативную память подлежащих исполнению программ. • Распределение памяти, организация виртуальной памяти. • Запуск программы. • Идентификация всех программ и данных. • Прием и исполнение различных запросов от выполняющихся приложений. • Обслуживание всех операций ввода-вывода.
• Обеспечение работы систем управлений файлами (СУФ) и/или-систем управления базами данных (СУБД). • Обеспечение режима мультипрограммирования, то есть организация параллельного выполнения двух или более программ на одном процессоре. • Планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания. • Организация механизмов обмена сообщениями и данными между выполняющимися программами. • Для сетевых операционных систем характерной является функция обеспечения взаимодействия связанных между собой компьютеров.
• Защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений. • Аутентификация и авторизация пользователей. • Удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени). • Обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы. • Предоставление услуг на случай частичного сбоя системы.
Классификация ОС. 1. Основывается на режимах управления процессами обработки информации. 2. Основывается на видах интерфейса. 3. Основывается на разрядности процессора.
Архитектура ОС. Современные ОС представляют собой хорошо структурированные модули системы. Все модули ОС разделяются на две группы: • ядро – модули, выполняющие основные функции ОС; • модули, выполняющие вспомогательные функции ОС.
Ядро и вспомогательные модули ОС. Системные обрабатывающие программы утилиты Ядро ОС пользовательские приложения
Функции ядра: 1. Обработка прерываний. 2. Создание/уничтожение процесса. 3. Переключение процесса из состояния в состояние. 4. Диспетчеризация (регулировка). 5. Приостановка и активизация. 6. Синхронизация процесса. 7. Организация взаимодействия между процессами. 8. Манипулирование БУП. 9. Поддержка операций ввода/вывода. 10. Поддержка распределения и перераспределения памяти. 11. Поддержка работы файловой системы.
Функции вспомогательных модулей. • архивирование информации; • дефрагментация данных на диске; • поиск необходимого файла и т. п.
Вспомогательные модули ОС условно разделяются на следующие группы: • Утилиты – приложения, решающие отдельные задачи управления и сопровождения ОС • Системные обрабатывающие программы – текстовые и графические редакторы, компиляторы, компоновщики и т. п. • Программы предоставления пользователю дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор, игры и т. п. • Библиотеки процедур – модули различного назначения, упрощающие разработку приложений. Вспомогательные модули обращаются к функциям ядра ОС посредством системных вызовов.
Основные составные части ОС. • Базовая система ввода-вывода (BIOS, Basic Input/Output System), находящаяся в постоянной памяти компьютера. Эта часть ОС является "встроенной" в ПК. Ее назначение состоит в выполнении наиболее простых и универсальных услуг ОС, связанных с осуществлением ввода-вывода. Базовая система ввода-вывода содержит также тест функционирования компьютера, проверяющий работу памяти и устройств компьютера при включении его электропитания. Кроме того, базовая система вводавывода содержит программу вызова загрузки операционной системы.
• Загрузчик ОС - это очень короткая программа, находящаяся в первом секторе каждого диска с ОС. Функция этой программы заключается в считывании в память еще двух модулей ОС, которые и завершают процесс загрузки. Загрузчик ОС на жестком диске состоит из двух частей. Первая часть загрузчика находится в первом секторе жесткого диска, она выбирает, из какого из разделов жесткого диска следует продолжать загрузку. Вторая часть загрузчика находится в первом секторе этого же раздела, она считывает в память модули ОС и передает им управление.
• Дисковые файлы IO. SYS и MSDOS. SYS (они могут называться по-другому, например, IBMBIO. COM и IBMDOS. COM для PC DOS, DRBIOS. SYS и DRDOS. SYS для DR DOS - названия меняются в зависимости от версии ОС). Они загружаются в память загрузчиком ОС и остаются в памяти компьютера постоянно. Файл IO. SYS представляет собой дополнение к базовой системе ввода-вывода в ПЗУ. Файл MSDOS. SYS реализует основные высокоуровневые услуги ОС.
• Командный процессор обрабатывает команды, вводимые пользователем. Командный процессор находится в файле COMMAND. COM на диске, с которого загружается ОС. Он выполняет внутренние команды ОС. Для выполнения внешних команд пользователя командный процессор ищет на дисках программу с соответствующим именем, загружает ее в память и передает ей управление. По окончании работы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению других команд.
• Внешние команды DOS - это программы, поставляемые вместе с ОС в виде отдельных файлов. Эти программы выполняют действия обслуживающего характера, например, форматирование дискет, проверку дисков и т. д. • Драйверы устройств - это специальные программы, которые дополняют систему ввода-вывода ОС и обеспечивают обслуживание новых или нестандартное использование имеющихся устройств. Драйверы загружаются в память компьютера при загрузке ОС, их имена указываются в специальном файле CONFIG. SYS.
Ресурсы ВС. Ресурс – это любой потребляемый (расходуемый) объект, который может быть выделен процессу на определенный интервал времени. Управление ресурсами сводится к выполнению следующих функций: • Управление доступа к ресурсам; • Распределение ресурсов между имеющимися задачами.
Общая схема выделения ресурсов. Вычислительный процесс (задача) путем обращения к супервизору ОС посредством специальных вызовов (команд, директив) сообщает о необходимости использовать какойлибо ресурс (оперативную память, устройство ввода-вывода и т. п. ). При этом указывается вид ресурса и, если надо, его объем. Команда обращения к ОС передает ей управление, переводя процессор в привилегированный режим работы, если такой существует.
Ресурс может быть выделен вычислительному процессу (задаче), обратившемуся к операционной системе с соответствующим запросом, если: • ресурс свободен и в системе нет запросов от задач более высокого приоритета к этому же ресурсу; • текущий запрос и ранее выданные запросы допускают совместное использование ресурсов; • ресурс используется задачей низшего приоритета и может быть временно отобран (разделяемый ресурс).
Получив запрос, ОС либо удовлетворяет его и возвращает управление задаче, выдавшей данный запрос, либо, если ресурс занят, ставит задачу в очередь к ресурсу, переводя ее в состояние ожидания (блокируя). После окончания работы с ресурсом, задача опять с помощью специального вызова супервизора (посредством соответствующей команды) сообщает ОС об отказе от ресурса, либо ОС забирает ресурс сама, если управление возвращается супервизору после выполнения какой-либо системной функции.
Супервизор операционной системы, получив управление по этому обращению, освобождает ресурс и проверяет, имеется ли очередь к освободившемуся ресурсу. Если очередь есть, то в зависимости от принятой дисциплины обслуживания и приоритетов заявок он выводит из состояния ожидания задачу, ждущую ресурс, и переводит ее в состояние готовности к выполнению, после чего либо передает управление ей, либо возвращает управление задаче, только что освободившей ресурс.
При выдаче запроса на ресурс задача может указать, хочет ли она владеть ресурсом монопольно или допускает совместное использование с другими задачами. Дисциплина распределения ресурса определяет порядок использования несколькими процессами того или иного ресурса, который в каждый момент времени может обслуживать только один процесс.
Классификация ресурсов. Ресурсы Аппаратные Программные процессор, память, устройства ввода-вывода и др. все доступные пользователю программные средства управления вычислительными процессами и данными
Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств вычислительной системы и реагировать на особые состояния, возникающие при работе процессора. Основная цель введения прерываний — реализация асинхронного режима функционирования и распараллеливание работы отдельных устройств вычислительного комплекса.
Прерывание — это принудительная передача управления от выполняемой программы к системе (а через нее — к соответствующей программе обработки прерывания), происходящая при возникновении определенного события.
Механизм обработки прерываний. 1. Установление факта прерывания и идентификация прерывания. 2. Запоминание состояния прерванного процесса вычислений. 3. Управление аппаратно передается на подпрограмму обработки прерывания. 4. Сохранение информации о прерванной программе, которую не удалось спасти с помощью аппаратуры. 5. Выполнение программы, связанной с обработкой прерывания. 6. Восстановление информации, относящейся к прерванному процессу. 7. Возврат на прерванную программу.
Функции механизма прерываний : • распознавание или классификация прерываний; • передача управления соответствующему обработчику прерываний; • корректное возвращение к прерванной программе.
Сигналы, вызывающие прерывания, формируются вне процессора или в самом процессоре, они могут возникать одновременно. Выбор одного из них для обработки осуществляется на основе приоритетов.
Программное управление специальными регистрами маски (маскирование сигналов прерывания) позволяет реализовать различные дисциплины обслуживания. • С относительными приоритетами, то есть обслуживание не прерывается даже при наличии запросов с более высокими приоритетами. • С абсолютными приоритетами, то есть всегда обслуживается прерывание с наивысшим приоритетом. • По принципу стека, или, как иногда говорят, по дисциплине LCFS (Last Come First Served — последним пришел, первым обслужен), то есть запросы с более низким приоритетом могут прерывать обработку прерывания с более высоким приоритетом.
Причины прерываний определяет ОС (модуль - супервизор прерываний). Супервизор прерываний прежде всего сохраняет в дескрипторе текущей задачи рабочие регистры процессора, определяющие контекст прерываемого вычислительного процесса. Далее он определяет подпрограмму, которая должна выполнить действия, связанные с обслуживанием текущего запроса на прерывание. После выполнения подпрограммы обработки прерывания управление вновь передается ядру операционной системы (модулю, который занимается диспетчеризацией задач). Диспетчер задач в соответствии с принятой дисциплиной распределения процессорного времени (между выполняющимися вычислительными процессами) восстановит контекст той задачи, которой будет решено выделить процессор.
Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса, например: • прерывания от таймера; • прерывания от внешних устройств; • прерывания по нарушению питания; • прерывания с пульта оператора вычислительной системы; • прерывания от другого процессора или другой вычислительной системы. Внутренние прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями. Примерами являются следующие запросы на прерывания: • при нарушении адресации (в адресной части выполняемой команды указан запрещенный или несуществующий адрес, обращение к отсутствующему сегменту или странице при организации механизмов виртуальной памяти); • при делении на ноль; • от средств контроля (например, вследствие обнаружения ошибки четности, ошибок в работе различных устройств).
Операции над процессами - создание процесса – завершение процесса ; - приостановка процесса (перевод из состояния исполнение в состояние готовность ) - запуск процесса (перевод из состояния готовность в состояние исполнение ); - блокирование процесса (перевод из состояния исполнение в состояние ожидание ) - разблокирование процесса (перевод из состояния ожидание в состояние готовность ).
Блок управления процессом (Process Control Block) Для того чтобы операционная система могла выполнять операции над процессами, каждый процесс представляется в ней некоторой структурой данных. Эта структура содержит информацию, специфическую для данного процесса: - состояние, в котором находится процесс ; - программный счетчик процесса или, другими словами, адрес команды, которая должна быть выполнена для него следующей; - содержимое регистров процессора; - данные, необходимые для планирования использования процессора и управления памятью (приоритет процесса, размер и расположение адресного пространства и т. д. ); - учетные данные (идентификационный номер процесса, какой пользователь инициировал его работу, общее время использования процессора данным процессом и т. д. ); - сведения об устройствах ввода-вывода, связанных с процессом (например, какие устройства закреплены за процессом, таблицу открытых файлов).
Блок управления процессом является моделью процесса для операционной системы. Информацию, для хранения которой предназначен блок управления процессом, удобно для дальнейшего изложения разделить на две части. Содержимое всех регистров процессора (включая значение программного счетчика) будем называть регистровым контекстом процесса, а все остальное – системным контекстом процесса. Знания регистрового и системного контекстов процесса достаточно для того, чтобы управлять его работой в операционной системе, совершая над ним операции.
С точки зрения пользователя, наоборот, наибольший интерес представляет содержимое адресного пространства процесса, возможно, наряду с регистровым контекстом определяющее последовательность преобразования данных и полученные результаты. Код и данные, находящиеся в адресном пространстве процесса, будем называть его пользовательским контекстом. Совокупность регистрового, системного и пользовательского контекстов процесса для краткости принято называть просто контекстом процесса. В любой момент времени процесс полностью характеризуется своим контекстом.