Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Хохлов ДГ Материалы к аттестации по ОС 2012.rtf
Скачиваний:
2
Добавлен:
23.11.2019
Размер:
118.41 Кб
Скачать

Материалы к аттестации по операционным системам

(осень 2012)

Требования гос к обязательному минимуму содержания

ОПД Ф.09 Операционные системы: 140 час.

Назначение и функции операционных систем (ОС). Мультипрограммирование. Режим реального времени. Многопользовательский режим работы. Режим работы и ОС реального времени. Универсальные операционные системы и ОС специального назначения. Классификация операционных систем. Модульная структура построения ОС и их переносимость. Управление процессором. Понятие процесса и ядра. Сегментация виртуального адресного пространства процесса. Структура контекста процесса. Идентификатор и дескриптор процесса. Иерархия процессов. Диспетчеризация и синхронизация процессов. Понятие приоритета и очереди процессов. Средства обработки сигналов. Понятие событийного программирования. Средства коммуникации процессов. Способы реализации мультипрограммирования. Понятие прерывания. Многопроцессорный режим работы. Управление памятью. Совместное использование памяти. Защита памяти. Механизм реализации виртуальной памяти. Стратегия подкачки страниц. Принципы построения и защита от сбоев и несанкционированного доступа.

Краткий конспект содержания дисциплины

Назначение и функции операционных систем (ОС)

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

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

Основные функции ОС.

  • Организация пользовательского интерфейса: прием, обработка и выполнение заданий, команд и указаний конечных пользователей (операторов).

  • Управление процессами (выполнением программ): создание, выполнение, завершение и уничтожение процессов, управление их взаимодействием, в том числе совместным использованием ресурсов операционной системы.

  • Поддержка программных библиотек, поиск и загрузка в оперативную память подлежащих исполнению программ.

  • Организация программного интерфейса: прием и исполнение системных вызовов – обращений программ к услугам операционной системы.

  • Управление памятью: организация работы всех видов реальной и виртуальной памяти; учет свободных и занятых участков памяти и размещение в ней программ и данных.

  • Управление устройствами: процессорами, периферийными устройствами, накопителями; организация и размещение данных в накопителях, выполнение операций ввода-вывода.

  • Управление данными (файловая система): организация и доступ к данным в файлах; создание, уничтожение, хранение, копирование, перемещение и другие операции с файлами.

  • Обеспечение работы систем управления базами данных.

  • Обеспечение работы инструментальных систем.

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

Мультипрограммирование

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

Режим реального времени

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

Многопользовательский режим работы

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

Режим работы и ОС реального времени

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

Универсальные операционные системы и ОС специального назначения

Универсальная ОС (ОС общего назначения) предназначена для широкого круга пользователей компьютера определенного типа.

ОС специального назначения предназначена для узкого круга задач или для специализированного (например, бортового) компьютера и другого оборудования.

Некоторые ОС, например, знаменитая OS/360 (IBM, 1965) для семейства программно совместимых ЭВМ IBM/360, русифицированная для компьютеров ЕС ЭВМ под названием ОС ЕС, могли работать в нескольких режимах: мультипрограммная пакетная обработка, разделение времени и управление в реальном времени, но это делает систему слишком громоздкой, неповоротливой и сложной.

Классификация операционных систем

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

Появление в аппаратуре ЭВМ системы прерываний обеспечило возможность одновременной работы разных устройств, и в начале 1960-х годов появились мультипрограммные (многозадачные) ОС.

Операционные системы с разделением времени (СРВ) обеспечивают параллельную диалоговую работу многих пользователей за терминалами типа дисплея, подключенными к одной ЭВМ.

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

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

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

Модульная структура построения ОС и их переносимость

Управление процессором

Понятие процесса и ядра

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

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

К ресурсам операционной системы относятся:

- аппаратура: процессоры, устройства памяти и ввода-вывода и др.;

- данные: файлы, базы данных, системные переменные, параметры настройки ОС и т. п.;

- программы: библиотеки программ, программы управления файлами и вводом - выводом, сервисные программы (утилиты) и т. д.

Многопоточность - параллелизм внутри процесса, т. е. возможность прикладной программы (процесса) выполнять параллельно несколько операций - потоков управления. Поток (thread - нить, тред) - это самостоятельная часть программы (процесса), выполняемая параллельно с другими частями, упрощенный процесс. Поток не является для ОС самостоятельным потребителем ресурсов, а использует ресурсы своего процесса (кроме времени центрального процессора).

С точки зрения ОС, задача (task) – это получатель процессорного времени. В отсутствие потоков задачами являются процессы, а в многопоточной операционной системе задачами служат потоки.

Сегментация виртуального адресного пространства процесса

Структура контекста процесса

Идентификатор и дескриптор процесса

Иерархия процессов

Диспетчеризация и синхронизация процессов

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

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

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

Для решения проблем синхронизации n процессов Э. Дейкстра предложил идею семафоров. Семафор - это защищенная переменная, значение которой можно читать и изменять только при помощи специальных операций P и V и операции инициализации:

Инициализация_семафора (Семафор, Начальное_значение);

Двоичные семафоры могут принимать только значения 0 и 1. Считающие семафоры (семафоры со счетчиками) могут принимать неотрицательные целые значения. Каждый семафор имеет очередь, в которой процессы могут ожидать выполнения V-операций.

Участки взаимного исключения по семафору S в каждом из синхронизируемых процессов обрамляются операциями P(S) и V(S) (в данном случае можно трактовать операцию P как "получить ресурс", а V - "возвратить ресурс”):

P(S);

Критический участок;

V(S);

Если одновременно несколько процессов попытаются выполнить операцию P(S), это будет разрешено только одному из них, а остальным придется ждать в очереди на этом семафоре.

Считающий семафор удобен для выделения ресурса из группы одинаковых ресурсов. Значение счетчика семафора равно количеству имеющихся ресурсов. Каждая P-операция запоминает, что ресурс выделяется некоторому процессу, а V-операция - что ресурс возвращается в общую группу.

В ОС Windows двоичный семафор реализован в виде объекта типа Critical Section для синхронизации потоков одного процесса. Объекты ядра – типа mutex (двоичный семафор) и semafore (со счетчиком) позволяют синхронизировать и потоки разных процессов, но требуют затрат времени для переключения в режим ядра и обратно.

Понятие приоритета и очереди процессов

Средства обработки сигналов

Понятие событийного программирования

Средства коммуникации процессов

Способы реализации мультипрограммирования

Понятие прерывания

Прерывание (interrupt - прерывать) - это сигнал, заставляющий ЭВМ изменить обычный порядок исполнения команд в ответ на некоторое событие. Сигналы прерывания обычно вызываются такими событиями, как, например, завершение операции ввода-вывода, нажатие или отпускание клавиши клавиатуры или кнопки мыши, истечение заранее заданного интервала времени, попытка деления на нуль или выполнение программой особой команды для обращения на себя внимания операционной системы (INT в компьютере IBM PC, SVC – supervisor call (вызов супервизора) в других компьютерах). У каждого типа ЭВМ имеется свой набор возможных причин прерываний.

Появление в аппаратуре ЭВМ системы прерываний обеспечило

  1. возможность одновременной работы разных устройств компьютера (уменьшить простои оборудования), и в начале 60-х годов появились мультипрограммные (многозадачные) ОС;

  2. возможность компьютера реагировать на внешние события, подобно живым существам, т. е. реализовать более разумное поведение.

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

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

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

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

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

Если программе требуется, например, чтобы ОС ввела символ с клавиатуры, она может выполнить команды языка ассемблера:

MOV AH,1 ;Засылка в регистр AH номера требуемой функции

INT 21h ;Возникновение прерывания с номером 21h

Программа обработки прерывания с номером 21h выполняет много различных функций. Номер необходимой функции указывается ей в регистре AH. Используемая в приведенном примере функция номер 1 представляет собой ввод символа с клавиатуры с отображением этого символа на экране дисплея и пересылкой кода символа в регистр AX. Для ввода символа без его появления на экране можно использовать функцию с номером 8.

Многопроцессорный режим работы

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

Управление памятью

Совместное использование памяти

Защита памяти

Механизм реализации виртуальной памяти

Стратегия подкачки страниц

Принципы построения и защита от сбоев и несанкционированного доступа