вопросы по ОС к ОКР (2013г.)


«Операционные системы»
1. Основные функции операционных систем.
Прием от пользователя (или от оператора системы) заданий, или команд, сформулированных на соответствующем языке, и их обработка. Задания могут передаваться в виде текстовых директив (команд) оператора или в форме указаний, выполняемых с помощью манипулятора (например, с помощью мыши). Эти команды связаны, прежде всего, с запуском (приостановкой, остановкой) программ, с операциями над файлами (получить перечень файлов в текущем каталоге, создать, переименовать, скопировать, переместить тот или иной файл и др.), хотя имеются и иные команды.Загрузка в оперативную память подлежащих исполнению программ.
Распределение памяти, а в большинстве современных систем и организация виртуальной памяти.
Запуск программы (передача ей управления, в результате чего процессор исполняет программу).
Идентификация всех программ и данных.
Прием и исполнение различных запросов от выполняющихся приложений. Операционная система умеет выполнять очень большое количество системных функций (сервисов), которые могут быть запрошены из выполняющейся программы. Обращение к этим сервисам осуществляется по соответствующим правилам, которые и определяют интерфейс прикладного программирования (Application Program Interface, API) этой операционной системы.
Обслуживание всех операций ввода-вывода.
Обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения.
Обеспечение режима мультипрограммирования, то есть организация параллельного выполнения двух или более программ на одном процессоре, создающая видимость их одновременного исполнения.
Планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания.
Организация механизмов обмена сообщениями и данными между выполняющимися программами.
Для сетевых операционных систем характерной является функция обеспечения взаимодействия связанных между собой компьютеров.
Защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений.
Аутентификация и авторизация пользователей (для большинства диалоговых операционных систем). Под аутентификацией понимается процедура проверки имени пользователя и его пароля на соответствие тем значениям, которые хранятся в его учетной записи. Очевидно, что если входное имя (login) пользователя и его пароль совпадают, то, скорее всего, это и будет тот самый пользователь. Термин авторизация означает, что в соответствии с учетной записью пользователя, который прошел аутентификацию, ему (и всем запросам, которые будут идти к операционной системе от его имени) назначаются определенные права (привилегии), определяющие, что он может, а что не может делать на компьютере.
Удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени).
Обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы.
Предоставление услуг на случай частичного сбоя системы.
Операционная система изолирует аппаратное обеспечение компьютера от прикладных программ пользователей. И пользователь, и его программы взаимодействуют с компьютером через интерфейсы операционной системы.
2. Виды программ операционной системы
ОС – комплекс программ, которые обеспечивают управление аппаратурой ЭВМ, планирование эффективного использования ее ресурсов, автоматизацию процесса подготовки программ и прохождения их в ЭВМ.
ОС является посредником между ЭВМ и человеком (пользователь, программист, инженер, оператор…). Другими словами ОС – логическое расширение аппаратуры в сторону человека, позволяя перейти от физического уровня аппаратуры к более высокому логическому уровню.
ОС осуществляет достаточно сложный процесс управления ресурсами ЭВМ, все нюансы которого скрыты от пользователя. Взаимодействие с программистами, операторами и т.д. осуществляется через интерфейс пользователя, который поддерживается ОС.
Компонентный состав ОС определяется набором функций, для выполнения которых она предназначена. Все программы ОС можно разбить на две группы: управляющая программа и системные обрабатывающие программы.

Управляющая программа – обязательный компонент любой ОС. Ее функции – планирование прохождения непрерывного потока заданий, управление распределением ресурсов, реализация принятых методов организации данных, управление операциями ввода-вывода (В-В), организация мультипрограммной работы, управление работоспособностью системы после сбоев и др.
Управляющая программа состоит из ряда компонентов, среди которых следует выделить четыре основных.
 Управление статическими ресурсами (управление заданиями) осуществляет предварительное планирование потока заданий для выполнения и статич. распределение ресурсов между одновременно выполняемыми заданиями в процессе подготовки к выполнению. К статическим ресурсам относят разделы памяти (основной, виртуальной, внешней), доступные для использования устройства, допускающие только монопольное использование, наборы данных и др. такие ресурсы закрепляются за заданием или его частью с момента инициализации до момента завершения и используются обычно в монопольном порядке.
 Управление динамическими ресурсами (управление задачами) осуществляет динамическое распределение ресурсов системы между несколькими задачами, решаемых одновременно в мультипрограммном режиме для выполняемого потока заданий. Входящие в ядро ОС и постоянно находящиеся в ОП.
 Управление данными обеспечивает все операции В-В (т.е. обмен между ОП и ПУ) на физическом и логическом уровнях. Оно включает в себя ряд служб, обеспечивающих выполнение таких функций, как управление каталогом, управление распределением памяти прямого доступа, обработку ошибок В-В и др., реализует различные структуры данных и возможность доступа к ним.
 Управление восстановлением регистрирует машинные сбои и отказы и восстанавливает работоспособность системы после сбоев, если это возможно.
Системные обрабатывающие программы выполняются под управлением управляющей системы, так же как и любая обрабатывающая программа, в т.ч. пользовательская. Это значит, что она в полном объеме может пользоваться услугами управляющей программы и не может самостоятельно выполнять системные функции. Так, обрабатывающая программа не может самостоятельно осуществлять собственный В-В. операции В-В обрабатывающая программа реализует с помощью запросов к управляющей программе, которая и выполняет непосредственно ввод и вывод данных. Централизованное выполнение системных функций управляющей программой позволяет выполнять их более эффективно и обеспечивает высокий уровень услуг для пользователя.
К системным обрабатывающим программам относятся программы, входящие в состав ОС: ассемблеры, трансляторы, редакторы связей, загрузчик, программы обслуживания и ряд других. Трансляторы, редактор связей и загрузчик образуют основу систем программирования, построенных на базе ОС.
3. Структура сетевой операционной системы

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

Рис. 1.1. Структура сетевой ОС
В сетевой операционной системе отдельной машины можно выделить несколько частей (рисунок 1.1):
Средства управления локальными ресурсами компьютера: функции распределения оперативной памяти между процессами, планирования и диспетчеризации процессов, управления процессорами в мультипроцессорных машинах, управления периферийными устройствами и другие функции управления ресурсами локальных ОС.
Средства предоставления собственных ресурсов и услуг в общее пользование - серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, что необходимо для их совместного использования; ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам.
Средства запроса доступа к удаленным ресурсам и услугам и их использования - клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей, при этом запрос поступает от приложения в локальной форме, а передается в сеть в другой форме, соответствующей требованиям сервера. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо.
Коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию сообщений, выбор маршрута передачи сообщения по сети, надежность передачи и т.п., то есть является средством транспортировки сообщений.
4. Прерывания, классификация прерываний.
Прерывание – это приостановка выполнения в процессоре программы с целью выполнения какой-то более важной программы или нужной в данный момент другой программы или процедуры, после завершения которой продолжается выполнения прерванной программы с момента ее прерывания. Прерывание позволяет компьютеру приостановить любое свое действие и временно переключиться на другое, как заранее запланированное, так и неожиданное, вызванное непредсказуемой ситуацией в работе машины или ее компонента. Каждое прерывание вызывает загрузку определенной программы, предназначенной для обработки возникшей ситуации, - программу обработки прерывания.
Классификация видов прерывания
ПРЕРЫВАНИЯ
Пользовательские Системные Справочные

Прикладные Внутренние Внешние Псевдопрерывания
Планируемые Непланируемые Аппаратные

Программные BIOS Программные DOS Технические Логические
Прикладные прерывания временно устанавливаются пользователем при многопрограммной работе МП для указания приоритета выполнения прикладных программ (при появлении необходимости выполнения более приоритетной программы текущая менее приоритетная программа прерывается).
Псевдопрерывания используются для запоминания важных фиксированных адресов, которые могут быть использованы в программах, в частности, при условных и безусловных передачах управления (запоминания адресов передачи управления как векторов прерывания возможно благодаря аналогии выполнения прерывания и обращения к процедурам).
Аппаратные прерывания инициируются при обращении к МП со стороны внешних устройств с требованием уделить им внимание и выполнить совместно с ними те или иные процедуры. Аппаратные прерывания не координируются с работой программ и могут быть весьма разнообразны. Для из систематизации и определения очередности выполнения при одновременном возникновении нескольких из них обычно используется контроллер прерываний.
Программные прерывания – это обычные процедуры, которые вызывает текущая программа для выполнения предусмотренных в ней стандартных подпрограмм, чаще всего подпрограмм – служебных функций работы с внешними устройствами, то есть фактически программные прерывания ничего не прерывают. Программные прерывания делятся на две большие группы вызывающие служебные функции:
базовой системы ввода-вывода - прерывания BIOS;
операционной системы - прерывания DOS.
Технические прерывания (или, иначе, прерывания от схем контроля) возникают при появлении отказов и сбоев в работе технических средств (аппаратуре) ПК. Большенство технических прерываний не маскируются, то есть они разрешаются всегда, а некоторые из них относятся к категории «аварийных» (например, отключение питания), и при их возникновении даже не запрашивается причина прерывания.
Логические прерывания возникают при появлении ошибок в выполняемых программах (деление на 0, потеря значности мантиссы, нарушение защиты памяти и т.п.)
Прерывания обслуживаются базовой системой ввода-вывода - модулем расширения BIOS и модулем обработки прерывания DOS. BIOS и блок расширения BIOS имеют дело в основном с ее не планируемыми техническими и логическими прерываниями, пользовательскими прикладными прерываниями, а также со многими планируемыми прерываниями, обслуживающими систему ввода-вывода, детализированными и не очень детализированными (прерывания, обслуживаемые BIOS, часто называют прерываниями нижнего уровня).Модуль обработки прерываний DOS обслуживает в основном планируемые прерывания, в том числе и прерывания системы ввода-вывода. Прерывания DOS часто называют прерывания верхнего уровня, так как, с одной стороны, в этих прерываниях меньше учитываются технические особенности элементов ПК, с другой стороны, при обработке этих прерываний часто имеют место обращения к программам прерываний системы BIOS. Большенство прерываний BIOS имеют близкие аналоги среди прерываний DOS.
Всего предусмотрено 256 типов (0-255) прерываний. Из них только 5 жестко закреплены в МП, остальные используются системами BIOS и DOS.
5. Управления данными, функции управления данными.
Управление данными — важнейший компонент операционной системы, так как осуществляет связь вычислительной системы с «окружающей средой»: реализует запросы на ввод-вывод, исходящие как от программы пользователя, так и от программы операционной системы.
Основные функции управления данными.
Управление данными предназначено для выполнения следующих функций:
централизованного осуществления операций ввода-вывода (операций обмена) с использованием внешних (периферийных) устройств;
обеспечения хранения данных на устройствах внешней памяти;
обеспечения различных способов организации и идентификации данных;
каталогизации данных, позволяющей осуществлять их поиск используя лишь символическое имя без указания местонахождения;
автоматического распределения памяти на томах прямого доступа;
автоматического поиска данных по их символическому имени;
обеспечения независимости программ от характеристик данных, которые они обрабатывают, и типов используемых внешних устройств;
обеспечения различных методов доступа к данным в зависимости от их организации и логического уровня способа доступа.
6. Управление памятью. Многоуровневое распределение основной памяти.
Управление памятью заключается в:
− распределении имеющейся физической памяти между всеми существующими в системе процессами,
− загрузке кодов и данных процессов в отведенные им области памяти,
− настройке адресно-зависимых частей кодов процесса на физические адреса выделенной области,
− защите областей памяти каждого процесса.
Одним из самых популярных способов управления памятью в современных операционных системах является так называемая виртуальная память. Наличие в операционной системе механизма виртуальной памяти позволяет программисту писать программу так, как будто в его распоряжении имеется однородная оперативная память большого объема. Часто этот объем существенно превышает объем имеющейся физической памяти. Обычно этот объем определяется максимально адресуемым адресным пространством процессора. На самом деле большая часть данных, используемых программой, хранятся на диске, и при необходимости частями (сегментами или страницами) отображаются в оперативную память.
При перемещении кодов и данных между оперативной памятью и диском подсистема виртуальной памяти выполняет преобразование (трансляцию) виртуальных адресов, полученных в результате компиляции и компоновки программы, в физические адреса ячеек оперативной памяти. Очень важен тот факт, что все операции по перемещению кодов и данных между оперативной памятью и диском, а также трансляцию адресов выполняются операционной системой прозрачно для программиста.
Многоуровневое распределение основной памяти. Как уже отмечалось, в операционных системах широко используется многоуровневое распределение основной памяти, при котором выделенный участок памяти на верхнем уровне подлежит дальнейшему распределению на нижнем. Рассмотрим три уровня распределения основной памяти:
уровень заданий, на котором осуществляется выделение разделов основной памяти для выполнения заданий (пунктов заданий). Размер выделяемых участков на этом уровне колеблется от десятков килобайт до мегабайт.
уровень задач, на котором осуществляется выделение участков памяти для подпулов, связанных с задачами. В подпулы помещаются запросы одного класса. Использование подпулов позволяет уменьшить проблемы фрагментации основной памяти. Каждая задача имеет один или несколько подпулов. Подпул может находиться или в монопольном использовании задачи, или в совместном использовании нескольких задач. Размер выделяемых участков на этом уровне (размер подпула) кратен 2 Кбайт. Минимальный размер подпула 2 Кбайт. Максимальный размер не фиксируется.
уровень запросов, самый нижний. Запрос на выделение участка памяти выражается макрокомандойGETMAIN; на освобождение участка памяти — макрокомандой FREEMAIN. Участки памяти выделяются для загрузочных модулей, буферов, рабочих областей и т. д. Минимальный размер запроса — 8 байт (определяется размером FQE).

Приложенные файлы

  • docx 23808580
    Размер файла: 62 kB Загрузок: 0

Добавить комментарий