рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Классификация ОС универсальные операционные системы и ОС специального назначения - раздел Философия, Классификация Ос (Универсал...

Классификация ОС (универсальные операционные системы и ОС специального назначения).

По алгоритмам управления ресурсами:

1) однозадачные ОС (MS DOS) – предоставляет пользователю виртуальную машину, реализую процесс взаимодействия пользователя с компьютером.

2) многозадачные (Windows 95, Unix) – поддерживают параллельное исполнение некоторых задач.

Эти системы обеспечивают управление разделяемыми устройствами.

Важным разделительным ресурсом является процессорное время.

Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:

1) невытесняющая многозадачность;

2) вытесняющая многозадачность.

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

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

По числу одновременно работающих пользователей:

1) однопользовательские;

2) многопользовательские.

В многопользовательских системах обеспечивается защита пользователей друг от друга.

Другим важным свойством ОС является наличие мультипроцессированиямногопроцессорная обработка.

Мультипроцессорные ОС классифицируются по способу организации вычислительного процесса:

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

Сетевые ОС

К сетевым функциям относят:

1) распознавание и перенаправление запросов к удаленным ресурсам;

2) передача сообщений по сети и выполнение удаления запросов.

По аппаратной платформе:

1) ОС персональных компьютеров;

2) ОС миникомпьютеров;

3) ОС кластеров;

4) ОС суперкомпьютеров;

5) ОС сетей ЭВМ;

6) мобильные ОС.

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

По области приложений

2) Системы разделения времени Каждому пользователю предоставляется терминал, с которым он может вести диалог… 3) Система реального времени

По архитектуре

2) монолитные (Windows XP); 3) гибридные (Windows NT, большинство Linux). Современные универсальные ОСможно охарактеризовать, прежде всего, как:

ОС, предназначенные для организации работы вычислительных сетей

1) блоки данных должны циркулировать в сети асинхронно и независимо в обоих направлениях между источником сообщения и его адресатом; 2) операционные системы должны осуществлять контроль за прохождением блока… 3) необходимы программные и аппаратные средства, предотвращающие потерю или искажения блоков данных при одновременном…

Функции ОС

1) управление процессором;

2) управление памятью;

3) управление устройствами

инициализация запросов на ввод/вывод управление очередями;

4) управление программами

инициализация программ

осуществление межпрограммных связей;

5) управление данными – файловая манипуляция.

ОС поддерживает два интерфейса, уровень которых значительно выше аппаратного.

Структура ОС на примере Windows NT

Операционная система Windows NT имеет модульную структуру. Это означает, что она состоит из четко разделяемых компонентов, каждый из которых отвечает строго за свои функции. Структурно операционная система Windows NT может быть представлена в виде двух частей (см. рис.): одна часть системы работает в режиме пользователя (user mode), другая часть работает в режиме ядра (kernel mode).

Часть Windows NT, работающая в режиме ядра, называется Executive - исполнительной частью. Она включает ряд компонентов, которые управляют виртуальной памятью, объектами (ресурсами), вводом-выводом и файловой системой (включая сетевые драйверы), взаимодействием процессов и частично системой безопасности. Эти компоненты взаимодействуют между собой с помощью межмодульной связи. Каждая компонента вызывает другие с помощью набора тщательно специфицированных внутренних процедур. Режим ядра представляет собой привилегированный режим. Код, выполняющийся в режиме ядра, имеет прямой доступ ко всем аппаратным средствам и всей памяти, включая адресные пространства всех процессов режима пользователя.

В состав модуля Executive входят такие компоненты, как Уровень аппаратных абстракций (Hardware Abstraction Level, HAL), ядро системы, а также сервисные модули Windows NT Executive.

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

Режим разделения времени позволяет имитировать одновременное исполнение нескольких программ на одном компьютере (даже содержащем лишь один процессор). При этом специальный компонент, называемый планировщиком, «нарезает» процессорное время на короткие отрезки и предоставляет их поочередно различным исполняющимся программам (процессам).

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

Реальное время – режим работы автоматизированной системы обработки информации и управления, при котором учитываются жёсткие ограничения на временны́е характеристики функционирования. Нарушение этих ограничений считается отказом системы.

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

Примеры временных характеристик:

1) задержка реакции системы на внешние события;

2) моменты генерации внутрисистемных событий и т. п.

Принципы построения ОС

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

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

3) Сетевые ОС. Локальные вычислительные сети (ЛВС), сервер, клиент.


Ресурсы. Понятие ресурса. Виды ресурсов. Классификация ресурсов. Управление ресурсами.

Ресурсыразличные средства и возможности необходимые для организации процесса.

Виды ресурсов

I. 1) физические (реально существующие);

2) виртуальные;

II. 1) активные;

2) пассивные

III.1) временные;

2) постоянные.

Категория ресурсов

2) память (оперативная, дисковая, виртуальная); 3) периферийное устройство.  

Аппаратная зависимость и мобильность ОС

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

Состояние процессов

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний: ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает… ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам,…

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

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

Алгоритмы планирования процессов

Планирование процессов включает в себя решение следующих задач: определение момента времени для смены выполняемого процесса; выбор процесса на выполнение из очереди готовых процессов;

Вытесняющие и невытесняющие алгоритмы планирования

Существует два основных типа процедур планирования процессов - вытесняющие (preemptive) и невытесняющие (non-preemptive). Non-preemptive multitasking - невытесняющая многозадачность - это способ… Preemptive multitasking - вытесняющая многозадачность - это такой способ, при котором решение о переключении…

Критическая секция

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

Семафоры в ОС.

Даны 2 процесса: "производитель" и "потребитель".… Чтобы этого не допустить в ОС работают семафоры как для "производителя", так и для…

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

 

Приведенный выше пример поможет нам проиллюстрировать еще одну проблему синхронизации - взаимные блокировки, называемые также дедлоками (deadlocks), клинчами (clinch) или тупиками. Если переставить местами операции P(e) и P(b) в программе "писателе", то при некотором стечении обстоятельств эти два процесса могут взаимно заблокировать друг друга. Действительно, пусть "писатель" первым войдет в критическую секцию и обнаружит отсутствие свободных буферов; он начнет ждать, когда "читатель" возьмет очередную запись из буфера, но "читатель" не сможет этого сделать, так как для этого необходимо войти в критическую секцию, вход в которую заблокирован процессом "писателем".

Рассмотрим еще один пример тупика. Пусть двум процессам, выполняющимся в режиме мультипрограммирования, для выполнения их работы нужно два ресурса, например, принтер и диск. На рисунке 2.6,а показаны фрагменты соответствующих программ. И пусть после того, как процесс А занял принтер (установил блокирующую переменную), он был прерван. Управление получил процесс В, который сначала занял диск, но при выполнении следующей команды был заблокирован, так как принтер оказался уже занятым процессом А. Управление снова получил процесс А, который в соответствии со своей программой сделал попытку занять диск и был заблокирован: диск уже распределен процессу В. В таком положении процессы А и В могут находиться сколь угодно долго.

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

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

Проблема тупиков включает в себя следующие задачи:

- предотвращение тупиков,

- распознавание тупиков,

- восстановление системы после тупиков.

 

Рис. 2.6. (a) фрагменты программ А и В, разделяющих принтер и диск; (б) взаимная блокировка (клинч);(в) очередь к разделяемому диску; (г) независимое использование ресурсов

 

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

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

Если же тупиковая ситуация возникла, то не обязательно снимать с выполнения все заблокированные процессы. Можно снять только часть из них, при этом освобождаются ресурсы, ожидаемые остальными процессами, можно вернуть некоторые процессы в область свопинга, можно совершить "откат" некоторых процессов до так называемой контрольной точки, в которой запоминается вся информация, необходимая для восстановления выполнения программы с данного места. Контрольные точки расставляются в программе в местах, после которых возможно возникновение тупика.

Из всего вышесказанного ясно, что использовать семафоры нужно очень осторожно, так как одна незначительная ошибка может привести к останову системы. Для того, чтобы облегчить написание корректных программ, было предложено высокоуровневое средство синхронизации, называемое монитором. Монитор - это набор процедур, переменных и структур данных. Процессы могут вызывать процедуры монитора, но не имеют доступа к внутренним данным монитора. Мониторы имеют важное свойство, которое делает их полезными для достижения взаимного исключения: только один процесс может быть активным по отношению к монитору. Компилятор обрабатывает вызовы процедур монитора особым образом. Обычно, когда процесс вызывает процедуру монитора, то первые несколько инструкций этой процедуры проверяют, не активен ли какой-либо другой процесс по отношению к этому монитору. Если да, то вызывающий процесс приостанавливается, пока другой процесс не освободит монитор. Таким образом, исключение входа нескольких процессов в монитор реализуется не программистом, а компилятором, что делает ошибки менее вероятными.

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

 

 

10. Концепция прерываний. Понятие прерывания, назначение и типы прерываний. Механизм прерываний. Классы прерываний. Обработка прерываний. Классификация особых случаев. ???Обслуживание несуществующих устройств???.

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

 

В зависимости от источника возникновения сигнала прерывания делятся на:

§ асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание (англ. Interrupt request, IRQ);

§ синхронные или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;

§ программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения (firmware), драйверов и операционной системы.

Термин «ловушка» (англ. trap) иногда используется как синоним термина «прерывание» или «внутреннее прерывание». Как правило, словоупотребление устанавливается в документации производителя конкретной архитектуры процессора.

Маскирование

В зависимости от возможности запрета внешние прерывания делятся на:

§ маскируемые — прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний (в x86-процессорах — сбросом флага IF в регистре флагов);

§ немаскируемые (англ. Non maskable interrupt, NMI) — обрабатываются всегда, независимо от запретов на другие прерывания. К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти.

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

Приоритезация

§ Относительное обслуживание прерываний означает, что если во время обработки прерывания поступает более приоритетное прерывание, то это прерывание… § Абсолютное обслуживание прерываний означает, что если во время обработки…

Таблица прерываний

Вектор прерывания — закреплённый за устройством номер, который идентифицирует соответствующий обработчик прерываний. Векторы прерываний объединяются в таблицу векторов прерываний, содержащую адреса обработчиков прерываний. Местоположение таблицы зависит от типа и режима работы процессора.

Программное прерывание

В процессорах архитектуры x86 для явного вызова синхронного прерывания имеется инструкция Int, аргументом которой является номер прерывания (от 0 до… MS-DOS использует для взаимодействия со своими модулями и прикладными…  

Управление памятью. Управление физической памятью

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

Иерархия памяти в современных ПК

1. Регистры процессора, организованные в регистровый файл — наиболее быстрый доступ (порядка 1 такта), но размером лишь в несколько сотен или,… 2. Кэш процессора 1го уровня (L1) — время доступа порядка нескольких тактов,… 3. Кэш процессора 2го уровня (L2) — большее время доступа (от 2 до 10 раз медленнее L1), около полумегабайта или…

Непрерывное распределение памяти

1) область операционной системы; 2) область загрузки (размещается исполняемая программа); 3) свободная область.

Распределение памяти фиксированными разделами

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

Рис. 2.9. Распределение памяти фиксированными разделами:
а - с общей очередью; б - с отдельными очередями

Подсистема управления памятью в этом случае выполняет следующие задачи:

· сравнивая размер программы, поступившей на выполнение, и свободных разделов, выбирает подходящий раздел,

· осуществляет загрузку программы и настройку адресов.

При очевидном преимуществе - простоте реализации - данный метод имеет существенный недостаток - жесткость. Так как в каждом разделе может выполняться только одна программа, то уровень мультипрограммирования заранее ограничен числом разделов не зависимо от того, какой размер имеют программы. Даже если программа имеет небольшой объем, она будет занимать весь раздел, что приводит к неэффективному использованию памяти. С другой стороны, даже если объем оперативной памяти машины позволяет выполнить некоторую программу, разбиение памяти на разделы не позволяет сделать этого.

Распределение памяти разделами переменной величины

В этом случае память машины не делится заранее на разделы. Сначала вся память свободна. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача. Таким образом, в произвольный момент времени оперативная память представляет собой случайную последовательность занятых и свободных участков (разделов) произвольного размера. На рисунке 2.10 показано состояние памяти в различные моменты времени при использовании динамического распределения. Так в момент t0 в памяти находится только ОС, а к моменту t1 память разделена между 5 задачами, причем задача П4, завершаясь, покидает память. На освободившееся после задачи П4 место загружается задача П6, поступившая в момент t3.

Рис. 2.10. Распределение памяти динамическими разделами

Задачами операционной системы при реализации данного метода управления памятью является:

· ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти,

· при поступлении новой задачи - анализ запроса, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи,

· загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей,

· после завершения задачи корректировка таблиц свободных и занятых областей.

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

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

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

Перемещаемые разделы

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

Рис. 2.11. Распределение памяти перемещаемыми разделами

Хотя процедура сжатия и приводит к более эффективному использованию памяти, она может потребовать значительного времени, что часто перевешивает преимущества данного метода.

 

 

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

 

Виртуа́льная па́мять (англ. Virtual memory) — технология управления памятью ЭВМ, разработанная для многозадачных операционных систем. При использовании данной технологии для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. Позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств (англ.), и обеспечить защиту памяти между различными приложениями. Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище (см. Подкачка страниц).

При использовании виртуальной памяти упрощается программирование, так как программисту больше не нужно учитывать ограниченность памяти, или согласовывать использование памяти с другими приложениями. Для программы выглядит доступным и непрерывным все допустимое адресное пространство, вне зависимости от наличия в ЭВМ соответствующего объема ОЗУ.

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

§ упростить адресацию памяти клиентским программным обеспечением;

§ рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);

§ изолировать процессы друг от друга (процесс полагает, что монопольно владеет всей памятью).

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

Страничная организация виртуальной памяти

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

Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g — номер сегмента, а s — смещение в сегменте.… Недостатком данного метода распределения памяти является фрагментация на…  

FIFO алгоритм. Выталкивание первой пришедшей страницы.

Простейший алгоритм. Каждой странице присваивается временная метка. Реализуется это просто созданием очереди страниц, в конец которой страницы попадают, когда загружаются в физическую память, а из начала берутся, когда требуется освободить память. Для замещения выбирается старейшая страница. К сожалению, эта стратегия с достаточной вероятностью будет приводить к замещению активно используемых страниц, например, страниц текстового процессора. Заметим, что при замещении активных страниц все работает корректно, но fault происходит немедленно.

Управление внешней памятью. Управление вводом-выводом и внешними устройствами.

Рис. 2.8. Логическая структура жесткого диска файлового сервера Один из дисков файлового сервера должен иметь раздел DOS (NetWare загружается… Таблица 2.1. Ограничения, накладываемые на структуру внешней памяти Количество жестких дисков на один…

Управление вводом-выводом

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

Физическая организация устройств ввода-вывода

Внешнее устройство обычно состоит из механического и электронного компонента. Электронный компонент называется контроллером устройства или… Операционная система обычно имеет дело не с устройством, а с контроллером.… ОС выполняет ввод-вывод, записывая команды в регистры контроллера. Например, контроллер гибкого диска IBM PC принимает…

Организация программного обеспечения ввода-вывода

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

Классификация устройств ввода-вывода. Задачи ОС по управлению файлами и устройствами.

Устройства ввода — приборы для занесения (ввода) данных в компьютер во время его работы.

Устройства ввода графической информации

§ Сканер

§ Видео- и Веб-камера

§ Цифровой фотоаппарат

§ Плата видеозахвата

§ Микрофон

§ Цифровой диктофон

Устройства ввода текстовой информации

§ Клавиатура

Указательные (координатные) устройства

С относительным указанием позиции (перемещения)

§ Мышь

§ Трекбол

§ Трекпоинт

§ Тачпад

§ Джойстик

§ Roller Mouse

С возможностью указания абсолютной позиции

§ Графический планшет

§ Световое перо

§ Аналоговый джойстик

§ Клавиатура

§ Тачскрин

Игровые устройства ввода

§ Джойстик

§ Педаль

§ Геймпад

§ Руль

§ Рычаг для симуляторов полёта (штурвал, Ручка управления самолётом)

§ Танцевальная платформа

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

 

Устройства для вывода визуальной информации

§ Монитор (дисплей)

§ Проектор

§ Принтер

§ Графопостроитель

§ Оптический привод с функцией маркировки дисков

§ Светодиоды (на системном блоке или ноутбуке, например информирующие о чтении/записи диска)

Устройства для вывода звуковой информации

§ Встроенный динамик

§ Колонки

§ Наушники

Устройства для вывода прочей информации

Игровой джойстик (при столкновение с препятствием вибрирует)

Устройства ввода/вывода

§ Магнитный барабан

§ Стример

§ Дисковод

§ Жёсткий диск

§ Различные порты

§ Различные сетевые интерфейсы.

Задачи ОС по управлению файлами и устройствами

 

Наиболее важные задачи:

  • Организация параллельной работы устройств в/в и процессора
  • Согласование скоростей обмена и кэширование данных
  • Разделение устройств и данных между процессами
  • Обеспечение удобного логического интерфейса между устройствами и остальной частью системы
  • Поддержка разнообразных устройств с возможностью простого добавления
  • Динамическая загрузка и выгрузка драйверов
  • Поддержка нескольких файловых систем
  • Поддержка синхронных и асинхронных операций в/в

Назначение и структура менеджера ввода-вывода. Основные требования в системе ввода-вывода. Обеспечение удобного логического интерфейса между устройствами и процессами (драйверы устройств).

 

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

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

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

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

Основные характеристики (требования) УВВ (системы ввода/вывода)

1) скорость передачи данных;

2) сложность управления;

3) применение;

4) единица передачи данных;

5) представление данных.

Программа которая общается с контроллером и дает ему задачи называется драйвером устройства. Существует 3 способа установки драйвера в ядро.

1) Чтобы заново скомпоновать ядро вместе с драйвером вместе с новым драйвером и затем перезагрузить систему.

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

3) ОС может принимать новые драйверы не прерывая работы и оперативно устанавливать их не нуждаясь в этой перезагрузки.

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

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


Файловые системы. Логическая организация файловой системы. Цели и задачи файловой системы. Типы файлов. Иерархическая структура файловой системы. Логическая структура диска. Организация файлов. Выделение и освобождение места в памяти. Дескриптор. Управление доступом.

Файл –поименованная совокупность данных.

Физическая записьединица информация, которая считывается и записывается на него.

Логическая записьсовокупность данных, рассматриваемая, как единое целое, с точки зрения пользователя.

Файловая система (ФС) –часть общей системы управления памятью, ответственная за управление файлами во внешней памяти.

Задачи ФС

1) реализация дружественного интерфейса;

2) организация долговременного хранения информации;

3) отображение логической модели ФС на физической организации хранения данных;

4) совместимый доступ к данным.

Функции ФС

2) управление доступом к файлам; 3) создание, модифицирование и уничтожение файлов; 4) упрощение передачей информации между файлами;

Управление доступом

Различают 2 основных подхода к определению прав доступа: 1) избирательный доступ, когда для каждого объекта владелец определяет… 2) обязательный доступ, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому…

Примеры файловых систем. (, FAT, usf, NTFS, s5).

Файловая система FAT (File Allocation Table) получила свое наименование в соответствии с названием метода организации данных — таблицы распределения файлов. FAT первоначально была ориентирована на небольшие диски и простые структуры каталога. Через несколько лет после создания ее усовершенствовали для работы с большими дисками и мощными персональными компьютерами. На рисунке показана организация диска с использованием файловой системы FAT.

размер (сектор) Загрузочный сектор FAT FAT (копия) Корневой каталог Область файлов...
FAT12 4096-10 кластеров
FAT16 65536 кластеров

Резервная копия FAT всегда синхронизируется с основной копией.

Кластер - минимальная адресуемая единица дисковой памяти, выделяемая файлу.

Элемент каталога FAT

. Наиболее известны традиционная файловая системаUNIX System V (s5)и файловая система семейства UNIX BSD (ufs). Файловая система s5 состоит из… NTFS делит все полезное место на кластеры - блоки данных, используемые…  

Классификация угроз безопасности операционной системы

Классификация угроз по цели:

· несанкционированное чтение; изменение ,уничтожение информации;

· полное или частичное разрушение операционной системы

Классификация угроз по принципу воздействия на ОС:

· использование известных (легальных)и скрытых каналов получения информации;

· создание новых каналов получения информации с помощью программных закладок.

Классификация угроз по характеру воздействия на операционную систему:

· активное воздействие - несанкционированные действия злоумы­шленника в системе;

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

Классификация угроз по типу используемой злоумышленником сла­бости защиты:

· неадекватная политика безопасности, в том числе и ошибки админи­стратора системы;

· ошибки и недокументированные возможности программного обеспечения;

· ранее внедренная программная закладка.

Классификация угроз по способу воздействия на объект атаки:

· непосредственное воздействие;

· превышение пользователем своих полномочий;

· работа от имени другого пользователя;

· использование результатов работы другого

· Классификация угроз по способу действий злоумышленника (нару­шителя):

· в интерактивном режиме (вручную);

· в пакетном режиме

· Классификация угроз по объекту атаки:

· операционная система в целом;

· объекты операционной системы (файлы, устройства и т.д.);

· субъекты операционной системы (пользователи, системные процессы)

· каналы передачи данных.

Классификация угроз по используемым средствам атаки:

· штатные средства операционной системы без использования дополнительного программного обеспечения;

· программное обеспечение третьих фирм (к этому классу программного обеспечения относятся вирусы и вредон­осные программы);

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

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

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

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

Стандарты защищенности ОС

1."Оранжевая книга"(1983г) все защищенные компьютерные системы де­лятся на семь классов от D1 (минимальная защита) до А1 (максимальная… Класс D1. Никаких требований. К этому классу относятся все опе­рационные… Класс С1. В ОС поддерживается избирательное разграничение доступа

Типовая архитектура подсистемы защиты ОС. Основные функции подсистем защиты ОС. Разграничение доступа. Идентификация и аутентификация. Аудит.

Основные функции, подсистемы защиты операционной системы.

2. Идентификация и аутентификация. Ни один пользователь не может начать работу с операционной системой, не идентифицировав себя и не предоставив… Аутентификация субъекта доступа заключается в том, что субъект предоставляет… Авторизация субъекта доступа происходит после успешной иден­тификации и аутентификации. При авторизации субъекта…

Пользовательский интерфейс и утилиты. Принципы построения интерфейсов ОС. Интерфейс прикладного программирования (Windows API, POSIX). Командные языковые процессоры.

Пользовательский интерфейс– это набор команд и сервисных услуг, которые упрощают пользователю работу с ЭВМ.

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

Наиболее важными функциями утилит являются:

· обслуживание жёсткого диска: форматирование, восстановление удалённых файлов, дефрагментация, низкоуровневое редактирования дисков и др.;

· обслуживание файлов и каталогов: поиск, сортировка, копирование по определённому условию и т.д.;

· работа с архивами: создание архивов и их обновление, сжатие файлов;

· защита от компьютерных вирусов: обнаружение вирусов, лечение файлов;

· предоставление пользователю расширенной информации и ПЭВМ и ОС;

· шифрование информации.

 

Интерфейс операционных систем– специальные интерфейсы системного и прикладного программирования, для выполнения следующих задач:

- управление процессами:

· запуск, приостановка и снятие задачи с выполнения;

· задание или изменение приоритета задачи;

· взаимодействие задач между собой ;

· удаленный вызов подпрограмм;

- управление памятью:

· запрос на выделение блока памяти;

· освобождение памяти;

· изменение параметров блока памяти;

· отображение файлов на память;

- управление вводом/выводом:

· запрос на управление виртуальными устройствами;

· файловые операции.

 

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

Термин API (application program interface, интерфейс прикладного программирования):

- API как интерфейс высокого уровня, принадлежащий к библиотекам RTL (run time library, библиотека во время выполнения);

- API прикладных и системных программ, входящих в поставку операционной системы;

- прочие API.

 

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

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

 

Программный интерфейс API включает в себя не только сами функции, но и соглашения об их использовании, которые зависят от:

- операционной системы;

- архитектуры целевой вычислительной системы;

- системы программирования.

 

Варианты реализации API:

- на уровне ОС;

- на уровне системы программирования;

- на уровне внешней библиотеки процедур и функций.

 

POSIX® (англ. Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем Unix) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем.

POSIX для Windows

Cygwin — обеспечивает частичное соответствие POSIX для некоторых продуктов

UnxUtils — набор утилит из POSIX окружения.

Microsoft POSIX subsystem, необязательная подсистема Windows.

Microsoft Windows Services for UNIX — обеспечивает полное соответствие POSIX для некоторых продуктов Microsoft Windows. Services for Windows предоставляло UNIX-подобное окружение.

UWIN от AT&T Research обеспечивает POSIX поверх Win32 API.

 

Семейство командных процессоров

Командный процессор запускается либо при входе пользователя в систему, и в дальнейшем пользователь отдает команды в его командной строке, либо из… Все командные процессоры запоминают введенные пользователем команды (их список…  

Конфигурация системы и генерация. Загрузка и настройка ОС.

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

Классификация ОС

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

Ниже приведена классификация ОС по нескольким наиболее основным признакам.

Особенности алгоритмов управления ресурсами

Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса: · однозадачные (например, MS-DOS, MSX) и · многозадачные (OC EC, OS/2, UNIX, Windows 95).

Сетевые операционные системы

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

Сетевые файловые системы.

§ Amazon S3 § Andrew file system (AFS) — масштабируемая и независимая от расположения ФС,… § Arla — Свободно распространяемые сервер и клиент с поддержкой AFS

Концепции распределенной обработки в сетевых ОС


Модели сетевых служб и распределенных приложений
Способ разделения приложений на части
Двухзвенные схемы
Трехзвенные схемы
Механизм передачи сообщений в распределенных системах
Синхронизация
Буферизация в примитивах передачи сообщений
Способы адресации
Надежные и ненадежные примитивы
Механизм Sockets ОС UNIX
Вызов удаленных процедур
Концепция удаленного вызова процедур
Генерация стабов
Формат сообщений RPC
Связывание клиента с сервером
Особенности реализации RPC на примере систем Sun RPC и DCE RPC

– Конец работы –

Используемые теги: Классификация, ОС, Универсальные, операционные, системы, ОС, специального, назначения0.098

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

Лекция: Уровни абстракции ОС. ОС с архитектурой микроядра. Виртуальные машины. Цели проектирования и разработки ОС. Генерация ОС В лекции рассматриваются следующие вопросы: методы проектирования и реализации ОС: уровни абстракции ОС; ОС с архитектурой мик
В лекции рассматриваются следующие вопросы методы проектирования и реализации... Содержание Введение Уровни абстракции ОС Операционные системы с микроядром Виртуальные машины другой распространенный подход к...

Определение операционной системы ОС. Назначение и основные функции ОС.
Операционная система ОС комплекс программ обеспечивающих управление ресурсами вычислительной системы и процессами использующие эти ресурсы при... Ресурсы любой физический или логический компонент компьютера это процессор... Функции ОС...

Введение в операционные системы. Определение, назначение, состав и функции операционных систем
Государственное образовательное учреждение высшего профессионального образования... ТОЛЬЯТТИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СЕРВИСА...

Экзаменационные вопросы к экзамену по дисциплине Операционные системы, среды и оболочки 1. Общие сведения и об операционных системах. Назначение и функции
Общие сведения и об операционных системах Назначение и функции... Операционная система ОС это упорядоченная последоват системных управляющих программ совместно с необходимыми...

Экспертные системы. Классификация экспертных систем. Разработка простейшей экспертной системы
Глава 2. Структура систем, основанных на знаниях. 1. Категории пользователей экспертных систем. 2.2. Подсистема приобретения знаний. 3. База… ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.

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

ПБУ 6/01 Учет ОС. Порядок признания ОС в учете. Организация аналитического учета ОС. Первичная документация по учету и инвентаризации ОС
Определение и классификация нематериальных активов особенности их учета ПБУ Учет НМА Условия признания НМА в бухгалтерском учете... Порядок бухгалтерского учета нематериальных активов регулируется Положением по бухгалтерскому учету Учет...

ПБУ 6/01 Учет ОС. Порядок признания ОС в учете. Организация аналитического учета ОС. Первичная документация по учету и инвентаризации ОС
Определение и классификация нематериальных активов особенности их учета ПБУ Учет НМА Условия признания НМА в бухгалтерском учете... Порядок бухгалтерского учета нематериальных активов регулируется Положением по бухгалтерскому учету Учет...

0.036
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам