Реферат Курсовая Конспект
Классификация ОС универсальные операционные системы и ОС специального назначения - раздел Философия, Классификация Ос (Универсал...
|
Классификация ОС (универсальные операционные системы и ОС специального назначения).
По алгоритмам управления ресурсами:
1) однозадачные ОС (MS DOS) – предоставляет пользователю виртуальную машину, реализую процесс взаимодействия пользователя с компьютером.
2) многозадачные (Windows 95, Unix) – поддерживают параллельное исполнение некоторых задач.
Эти системы обеспечивают управление разделяемыми устройствами.
Важным разделительным ресурсом является процессорное время.
Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
1) невытесняющая многозадачность;
2) вытесняющая многозадачность.
В случае вытесняющей многозадачности механизм планирования процессом сосредоточен в ОС, т.е. ОС каждой выполняющейся задаче выделяет квант времени. По истечении этого времени ОС переключается на выполнение другого процесса.
В случае невытесняющей многозадачности каждый активный процесс выполняется пока сам не передаст управление ОС.
По числу одновременно работающих пользователей:
1) однопользовательские;
2) многопользовательские.
В многопользовательских системах обеспечивается защита пользователей друг от друга.
Другим важным свойством ОС является наличие мультипроцессирования– многопроцессорная обработка.
Мультипроцессорные ОС классифицируются по способу организации вычислительного процесса:
Ассиметричная ОС целиком выполняется на одном процессоре системы, распределяя другие прикладные задачи по остальным процессором.
Сетевые ОС
К сетевым функциям относят:
1) распознавание и перенаправление запросов к удаленным ресурсам;
2) передача сообщений по сети и выполнение удаления запросов.
По аппаратной платформе:
1) ОС персональных компьютеров;
2) ОС миникомпьютеров;
3) ОС кластеров;
4) ОС суперкомпьютеров;
5) ОС сетей ЭВМ;
6) мобильные ОС.
Кластер – совокупность слабосвязанных вычислительных систем, решающих общую задачу.
Функции ОС
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) постоянные.
Тупики. Примеры, условия возникновения тупика, предотвращение тупиков, восстановление после тупика, обнаружение тупиков.
Приведенный выше пример поможет нам проиллюстрировать еще одну проблему синхронизации - взаимные блокировки, называемые также дедлоками (deadlocks), клинчами (clinch) или тупиками. Если переставить местами операции P(e) и P(b) в программе "писателе", то при некотором стечении обстоятельств эти два процесса могут взаимно заблокировать друг друга. Действительно, пусть "писатель" первым войдет в критическую секцию и обнаружит отсутствие свободных буферов; он начнет ждать, когда "читатель" возьмет очередную запись из буфера, но "читатель" не сможет этого сделать, так как для этого необходимо войти в критическую секцию, вход в которую заблокирован процессом "писателем".
Рассмотрим еще один пример тупика. Пусть двум процессам, выполняющимся в режиме мультипрограммирования, для выполнения их работы нужно два ресурса, например, принтер и диск. На рисунке 2.6,а показаны фрагменты соответствующих программ. И пусть после того, как процесс А занял принтер (установил блокирующую переменную), он был прерван. Управление получил процесс В, который сначала занял диск, но при выполнении следующей команды был заблокирован, так как принтер оказался уже занятым процессом А. Управление снова получил процесс А, который в соответствии со своей программой сделал попытку занять диск и был заблокирован: диск уже распределен процессу В. В таком положении процессы А и В могут находиться сколь угодно долго.
В зависимости от соотношения скоростей процессов, они могут либо совершенно независимо использовать разделяемые ресурсы (г), либо образовывать очереди к разделяемым ресурсам (в), либо взаимно блокировать друг друга (б). Тупиковые ситуации надо отличать от простых очередей, хотя и те и другие возникают при совместном использовании ресурсов и внешне выглядят похоже: процесс приостанавливается и ждет освобождения ресурса. Однако очередь - это нормальное явление, неотъемлемый признак высокого коэффициента использования ресурсов при случайном поступлении запросов. Она возникает тогда, когда ресурс недоступен в данный момент, но через некоторое время он освобождается, и процесс продолжает свое выполнение. Тупик же, что видно из его названия, является в некотором роде неразрешимой ситуацией.
В рассмотренных примерах тупик был образован двумя процессами, но взаимно блокировать друг друга могут и большее число процессов.
Проблема тупиков включает в себя следующие задачи:
- предотвращение тупиков,
- распознавание тупиков,
- восстановление системы после тупиков.
Рис. 2.6. (a) фрагменты программ А и В, разделяющих принтер и диск; (б) взаимная блокировка (клинч);(в) очередь к разделяемому диску; (г) независимое использование ресурсов
Тупики могут быть предотвращены на стадии написания программ, то есть программы должны быть написаны таким образом, чтобы тупик не мог возникнуть ни при каком соотношении взаимных скоростей процессов. Так, если бы в предыдущем примере процесс А и процесс В запрашивали ресурсы в одинаковой последовательности, то тупик был бы в принципе невозможен. Второй подход к предотвращению тупиков называется динамическим и заключается в использовании определенных правил при назначении ресурсов процессам, например, ресурсы могут выделяться в определенной последовательности, общей для всех процессов.
В некоторых случаях, когда тупиковая ситуация образована многими процессами, использующими много ресурсов, распознавание тупика является нетривиальной задачей. Существуют формальные, программно-реализованные методы распознавания тупиков, основанные на ведении таблиц распределения ресурсов и таблиц запросов к занятым ресурсам. Анализ этих таблиц позволяет обнаружить взаимные блокировки.
Если же тупиковая ситуация возникла, то не обязательно снимать с выполнения все заблокированные процессы. Можно снять только часть из них, при этом освобождаются ресурсы, ожидаемые остальными процессами, можно вернуть некоторые процессы в область свопинга, можно совершить "откат" некоторых процессов до так называемой контрольной точки, в которой запоминается вся информация, необходимая для восстановления выполнения программы с данного места. Контрольные точки расставляются в программе в местах, после которых возможно возникновение тупика.
Из всего вышесказанного ясно, что использовать семафоры нужно очень осторожно, так как одна незначительная ошибка может привести к останову системы. Для того, чтобы облегчить написание корректных программ, было предложено высокоуровневое средство синхронизации, называемое монитором. Монитор - это набор процедур, переменных и структур данных. Процессы могут вызывать процедуры монитора, но не имеют доступа к внутренним данным монитора. Мониторы имеют важное свойство, которое делает их полезными для достижения взаимного исключения: только один процесс может быть активным по отношению к монитору. Компилятор обрабатывает вызовы процедур монитора особым образом. Обычно, когда процесс вызывает процедуру монитора, то первые несколько инструкций этой процедуры проверяют, не активен ли какой-либо другой процесс по отношению к этому монитору. Если да, то вызывающий процесс приостанавливается, пока другой процесс не освободит монитор. Таким образом, исключение входа нескольких процессов в монитор реализуется не программистом, а компилятором, что делает ошибки менее вероятными.
В распределенных системах, состоящих из нескольких процессоров, каждый из которых имеет собственную оперативную память, семафоры и мониторы оказываются непригодными. В таких системах синхронизация может быть реализована только с помощью обмена сообщениями. Подробнее об этом смотрите в разделе "Синхронизация в распределенных системах".
10. Концепция прерываний. Понятие прерывания, назначение и типы прерываний. Механизм прерываний. Классы прерываний. Обработка прерываний. Классификация особых случаев. ???Обслуживание несуществующих устройств???.
Прерывание (англ. interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.
В зависимости от источника возникновения сигнала прерывания делятся на:
§ асинхронные или внешние (аппаратные) — события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание (англ. Interrupt request, IRQ);
§ синхронные или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;
§ программные (частный случай внутреннего прерывания) — инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения (firmware), драйверов и операционной системы.
Термин «ловушка» (англ. trap) иногда используется как синоним термина «прерывание» или «внутреннее прерывание». Как правило, словоупотребление устанавливается в документации производителя конкретной архитектуры процессора.
Маскирование
В зависимости от возможности запрета внешние прерывания делятся на:
§ маскируемые — прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний (в x86-процессорах — сбросом флага IF в регистре флагов);
§ немаскируемые (англ. Non maskable interrupt, NMI) — обрабатываются всегда, независимо от запретов на другие прерывания. К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти.
Обработчики прерываний обычно пишутся таким образом, чтобы время их обработки было как можно меньшим, поскольку во время их работы могут не обрабатываться другие прерывания, а если их будет много (особенно от одного источника), то они могут теряться.
Таблица прерываний
Вектор прерывания — закреплённый за устройством номер, который идентифицирует соответствующий обработчик прерываний. Векторы прерываний объединяются в таблицу векторов прерываний, содержащую адреса обработчиков прерываний. Местоположение таблицы зависит от типа и режима работы процессора.
Распределение памяти фиксированными разделами
Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь (рисунок 2.9,а), либо в очередь к некоторому разделу (рисунок 2.9,б).
Рис. 2.9. Распределение памяти фиксированными разделами:
а - с общей очередью; б - с отдельными очередями
Подсистема управления памятью в этом случае выполняет следующие задачи:
· сравнивая размер программы, поступившей на выполнение, и свободных разделов, выбирает подходящий раздел,
· осуществляет загрузку программы и настройку адресов.
При очевидном преимуществе - простоте реализации - данный метод имеет существенный недостаток - жесткость. Так как в каждом разделе может выполняться только одна программа, то уровень мультипрограммирования заранее ограничен числом разделов не зависимо от того, какой размер имеют программы. Даже если программа имеет небольшой объем, она будет занимать весь раздел, что приводит к неэффективному использованию памяти. С другой стороны, даже если объем оперативной памяти машины позволяет выполнить некоторую программу, разбиение памяти на разделы не позволяет сделать этого.
Распределение памяти разделами переменной величины
В этом случае память машины не делится заранее на разделы. Сначала вся память свободна. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача. Таким образом, в произвольный момент времени оперативная память представляет собой случайную последовательность занятых и свободных участков (разделов) произвольного размера. На рисунке 2.10 показано состояние памяти в различные моменты времени при использовании динамического распределения. Так в момент t0 в памяти находится только ОС, а к моменту t1 память разделена между 5 задачами, причем задача П4, завершаясь, покидает память. На освободившееся после задачи П4 место загружается задача П6, поступившая в момент t3.
Рис. 2.10. Распределение памяти динамическими разделами
Задачами операционной системы при реализации данного метода управления памятью является:
· ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти,
· при поступлении новой задачи - анализ запроса, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи,
· загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей,
· после завершения задачи корректировка таблиц свободных и занятых областей.
Программный код не перемещается во время выполнения, то есть может быть проведена единовременная настройка адресов посредством использования перемещающего загрузчика.
Выбор раздела для вновь поступившей задачи может осуществляться по разным правилам, таким, например, как "первый попавшийся раздел достаточного размера", или "раздел, имеющий наименьший достаточный размер", или "раздел, имеющий наибольший достаточный размер". Все эти правила имеют свои преимущества и недостатки.
По сравнению с методом распределения памяти фиксированными разделами данный метод обладает гораздо большей гибкостью, но ему присущ очень серьезный недостаток - фрагментация памяти. Фрагментация - это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов). Настолько маленького, что ни одна из вновь поступающих программ не может поместиться ни в одном из участков, хотя суммарный объем фрагментов может составить значительную величину, намного превышающую требуемый объем памяти.
Перемещаемые разделы
Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших либо в сторону младших адресов, так, чтобы вся свободная память образовывала единую свободную область (рисунок 2.11). В дополнение к функциям, которые выполняет ОС при распределении памяти переменными разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется "сжатием". Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера. В первом случае требуется меньше вычислительной работы при корректировке таблиц, а во втором - реже выполняется процедура сжатия. Так как программы перемещаются по оперативной памяти в ходе своего выполнения, то преобразование адресов из виртуальной формы в физическую должно выполняться динамическим способом.
Рис. 2.11. Распределение памяти перемещаемыми разделами
Хотя процедура сжатия и приводит к более эффективному использованию памяти, она может потребовать значительного времени, что часто перевешивает преимущества данного метода.
13. Управление виртуальной памятью. Организация виртуальной памяти: страничная, сегментная, сегментно-страничная организация. Защита памяти. Механизм реализации виртуальной памяти. Управление виртуальной памятью: стратегии выталкивания страниц; подкачка страниц по запросу и с упреждением; освобождение страниц; размер страниц.
Виртуа́льная па́мять (англ. Virtual memory) — технология управления памятью ЭВМ, разработанная для многозадачных операционных систем. При использовании данной технологии для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. Позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств (англ.), и обеспечить защиту памяти между различными приложениями. Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище (см. Подкачка страниц).
При использовании виртуальной памяти упрощается программирование, так как программисту больше не нужно учитывать ограниченность памяти, или согласовывать использование памяти с другими приложениями. Для программы выглядит доступным и непрерывным все допустимое адресное пространство, вне зависимости от наличия в ЭВМ соответствующего объема ОЗУ.
Применение механизма виртуальной памяти позволяет:
§ упростить адресацию памяти клиентским программным обеспечением;
§ рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);
§ изолировать процессы друг от друга (процесс полагает, что монопольно владеет всей памятью).
В настоящее время эта технология имеет аппаратную поддержку на всех современных бытовых процессорах. В то же время во встраиваемых системах и в системах специального назначения, где требуется либо очень быстрая работа, либо есть ограничения на длительность отклика (системы реального времени) виртуальная память используется относительно редко. Также в таких системах реже встречается многозадачность и сложные иерархии памяти.
FIFO алгоритм. Выталкивание первой пришедшей страницы.
Простейший алгоритм. Каждой странице присваивается временная метка. Реализуется это просто созданием очереди страниц, в конец которой страницы попадают, когда загружаются в физическую память, а из начала берутся, когда требуется освободить память. Для замещения выбирается старейшая страница. К сожалению, эта стратегия с достаточной вероятностью будет приводить к замещению активно используемых страниц, например, страниц текстового процессора. Заметим, что при замещении активных страниц все работает корректно, но fault происходит немедленно.
Управление вводом-выводом
Одной из главных функций ОС является управление всеми устройствами ввода-вывода компьютера. ОС должна передавать устройствам команды, перехватывать прерывания и обрабатывать ошибки; она также должна обеспечивать интерфейс между устройствами и остальной частью системы. В целях развития интерфейс должен быть одинаковым для всех типов устройств (независимость от устройств).
Классификация устройств ввода-вывода. Задачи ОС по управлению файлами и устройствами.
Устройства ввода — приборы для занесения (ввода) данных в компьютер во время его работы.
Устройства ввода графической информации
§ Сканер
§ Видео- и Веб-камера
§ Цифровой фотоаппарат
§ Плата видеозахвата
§ Микрофон
§ Цифровой диктофон
Устройства ввода текстовой информации
§ Клавиатура
Указательные (координатные) устройства
С относительным указанием позиции (перемещения)
§ Мышь
§ Трекбол
§ Трекпоинт
§ Тачпад
§ Джойстик
§ Roller Mouse
С возможностью указания абсолютной позиции
§ Графический планшет
§ Световое перо
§ Аналоговый джойстик
§ Клавиатура
§ Тачскрин
Игровые устройства ввода
§ Джойстик
§ Педаль
§ Геймпад
§ Руль
§ Рычаг для симуляторов полёта (штурвал, Ручка управления самолётом)
§ Танцевальная платформа
Устройства вывода — периферийные устройства, преобразующие результаты обработки цифровых машинных кодов в форму, удобную для восприятия человеком или пригодную для воздействия на исполнительные органы объекта управления.
Устройства для вывода визуальной информации
§ Монитор (дисплей)
§ Проектор
§ Принтер
§ Графопостроитель
§ Оптический привод с функцией маркировки дисков
§ Светодиоды (на системном блоке или ноутбуке, например информирующие о чтении/записи диска)
Устройства для вывода звуковой информации
§ Встроенный динамик
§ Колонки
§ Наушники
Устройства для вывода прочей информации
Игровой джойстик (при столкновение с препятствием вибрирует)
Устройства ввода/вывода
§ Магнитный барабан
§ Стример
§ Дисковод
§ Жёсткий диск
§ Различные порты
§ Различные сетевые интерфейсы.
Задачи ОС по управлению файлами и устройствами
Наиболее важные задачи:
Назначение и структура менеджера ввода-вывода. Основные требования в системе ввода-вывода. Обеспечение удобного логического интерфейса между устройствами и процессами (драйверы устройств).
Верхний слой менеджера составляют системные вызовы ввода-вывода, которые принимают от пользовательских процессов запросы на ввод-вывод и переадресуют их отвечающим за определенный класс устройств модулям и драйверам, а также возвращают процессам результаты операций ввода-вывода.
Нижний слой менеджерареализует непосредственное взаимодействие с контроллерами внешних устройств, экранируя драйверы от особенностей аппаратной платформы компьютера — шины ввода-вывода, системы прерываний и т. п. Этот слой принимает от драйверов запросы на обмен данными с регистрами контроллеров в некоторой обобщенной форме с использованием независимых от шины ввода-вывода адресации и формата, а затем преобразует эти запросы в зависящий от аппаратной платформы формат.
Важная функция менеджера ввода-вывода – создание некоторой среды для остальных компонентов подсистемы, которая бы облегчала их взаимодействие друг с другом. Эта задача может быть решена за счет создания некоторого стандартного внутреннего интерфейса взаимодействия модулей ввода-вывода между собой, который бы дополнял внешние интерфейсы подсистемы с прикладными процессами, другими модулями ядра и аппаратурой. Наличие такого интерфейса существенно облегчает включение новых драйверов и файловых систем в состав ОС. Кроме того, разработчики драйверов и других программных компонентов освобождаются от написания общих процедур, таких как буферизация данных и синхронизация нескольких модулей между собой при обмене данными. Все эти функции берет на себя менеджер ввода-вывода.
Еще одной функцией менеджера ввода-вывода является организация взаимодействия модулей ввода-вывода с модулями других подсистем ОС, таких как подсистема управления процессами, виртуальной памятью и другими.
Основные характеристики (требования) УВВ (системы ввода/вывода)
1) скорость передачи данных;
2) сложность управления;
3) применение;
4) единица передачи данных;
5) представление данных.
Программа которая общается с контроллером и дает ему задачи называется драйвером устройства. Существует 3 способа установки драйвера в ядро.
1) Чтобы заново скомпоновать ядро вместе с драйвером вместе с новым драйвером и затем перезагрузить систему.
2) Создать запись в ОС память о требуемом драйвере и затем перезагрузить систему. Во время начала загрузки ОС сама находит драйверы и загружает их.
3) ОС может принимать новые драйверы не прерывая работы и оперативно устанавливать их не нуждаясь в этой перезагрузки.
Чтобы активизировать контроллер, драйвер получает команду от ОС, затем транслирует величину, подходящую для записи регистра устройства.
Ввод и вывод данных можно осуществлять несколькими способами. Пользовательская программа выдает системный запрос, который ядро транслирует вызов процедуры соответствующего драйвера. Затем драйвер начинает процесс ввода вывода. В завершении операции ввода-вывода драйвер помещает данные куда требуется и возвращает исходная состояние. При втором способе драйвер запускает устройство и просит выдать прерывание по окончанию ввода-вывода. Когда контроллер обнаружит окончание передачи данных, то генерируется прерывание о завершении операций. Третий способ – использование специального контроллера прямого доступа к памяти который управляет потоком битов между оперативной памятью и некоторыми контроллерами.
Файловые системы. Логическая организация файловой системы. Цели и задачи файловой системы. Типы файлов. Иерархическая структура файловой системы. Логическая структура диска. Организация файлов. Выделение и освобождение места в памяти. Дескриптор. Управление доступом.
Файл –поименованная совокупность данных.
Физическая запись – единица информация, которая считывается и записывается на него.
Логическая запись – совокупность данных, рассматриваемая, как единое целое, с точки зрения пользователя.
Файловая система (ФС) –часть общей системы управления памятью, ответственная за управление файлами во внешней памяти.
Задачи ФС
1) реализация дружественного интерфейса;
2) организация долговременного хранения информации;
3) отображение логической модели ФС на физической организации хранения данных;
4) совместимый доступ к данным.
Примеры файловых систем. (, FAT, usf, NTFS, s5).
Файловая система FAT (File Allocation Table) получила свое наименование в соответствии с названием метода организации данных — таблицы распределения файлов. FAT первоначально была ориентирована на небольшие диски и простые структуры каталога. Через несколько лет после создания ее усовершенствовали для работы с большими дисками и мощными персональными компьютерами. На рисунке показана организация диска с использованием файловой системы FAT.
размер (сектор) | Загрузочный сектор | FAT | FAT (копия) | Корневой каталог | Область файлов... |
FAT12 | 4096-10 кластеров | ||||
FAT16 | 65536 кластеров |
Резервная копия FAT всегда синхронизируется с основной копией.
Кластер - минимальная адресуемая единица дисковой памяти, выделяемая файлу.
Классификация угроз безопасности операционной системы
Классификация угроз по цели:
· несанкционированное чтение; изменение ,уничтожение информации;
· полное или частичное разрушение операционной системы
Классификация угроз по принципу воздействия на ОС:
· использование известных (легальных)и скрытых каналов получения информации;
· создание новых каналов получения информации с помощью программных закладок.
Классификация угроз по характеру воздействия на операционную систему:
· активное воздействие - несанкционированные действия злоумышленника в системе;
· пассивное воздействие - несанкционированное наблюдение злоумышленника за процессами, происходящими в системе.
Классификация угроз по типу используемой злоумышленником слабости защиты:
· неадекватная политика безопасности, в том числе и ошибки администратора системы;
· ошибки и недокументированные возможности программного обеспечения;
· ранее внедренная программная закладка.
Классификация угроз по способу воздействия на объект атаки:
· непосредственное воздействие;
· превышение пользователем своих полномочий;
· работа от имени другого пользователя;
· использование результатов работы другого
· Классификация угроз по способу действий злоумышленника (нарушителя):
· в интерактивном режиме (вручную);
· в пакетном режиме
· Классификация угроз по объекту атаки:
· операционная система в целом;
· объекты операционной системы (файлы, устройства и т.д.);
· субъекты операционной системы (пользователи, системные процессы)
· каналы передачи данных.
Классификация угроз по используемым средствам атаки:
· штатные средства операционной системы без использования дополнительного программного обеспечения;
· программное обеспечение третьих фирм (к этому классу программного обеспечения относятся вирусы и вредоносные программы);
ОС считается защищенной, если она предусматривает средства защиты от основных классов угроз. Защищенная операционная система обязательно должна содержать средства разграничения доступа пользователей к своим ресурсам, а также средства проверки подлинности пользователя, начинающего работу с операционной системой. Кроме того, защищенная операционная система должна содержать средства противодействия случайному или преднамеренному выводу операционной системы из строя.
два основных подхода к созданию защищенных операционных систем - фрагментарный и комплексный. При фрагментарном подходе вначале организуется защита от одной угрозы, затем от другой и т.д. Примером фрагментарного подхода может служить ситуация, когда за основу берется незащищенная операционная система (например, Windows 95), на нее устанавливаются антивирусный пакет, система шифрования, система регистрации действий пользователей и т.д.
Основной недостаток фрагментарного подхода очевиден - при применении этого подхода подсистема защиты операционной системы представляет собой набор разрозненных программных продуктов, как правило, произведенных разными производителями. Эти программные средства работают независимо друг от друга, организовать их тесное взаимодействие практически невозможно. Кроме того, отдельные элементы такой подсистемы защиты могут некорректно работать в присутствии друг друга, что приводит к резкому снижению надежности системы.
При комплексном подходе к организации защиты системы защитные функции вносятся в операционную систему на этапе проектирования архитектуры операционной системы и являются ее неотъемлемой частью. Отдельные элементы подсистемы защиты, созданной на основе комплексного подхода, тесно взаимодействуют друг с другом при решении различных задач, связанных с организацией защиты информации. Поскольку подсистема защиты разрабатывается и тестируется в совокупности, конфликты между ее отдельными компонентами практически невозможны.
Типовая архитектура подсистемы защиты ОС. Основные функции подсистем защиты ОС. Разграничение доступа. Идентификация и аутентификация. Аудит.
Пользовательский интерфейс и утилиты. Принципы построения интерфейсов ОС. Интерфейс прикладного программирования (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.
Классификация ОС
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Ниже приведена классификация ОС по нескольким наиболее основным признакам.
Концепции распределенной обработки в сетевых ОС
Модели сетевых служб и распределенных приложений
Способ разделения приложений на части
Двухзвенные схемы
Трехзвенные схемы
Механизм передачи сообщений в распределенных системах
Синхронизация
Буферизация в примитивах передачи сообщений
Способы адресации
Надежные и ненадежные примитивы
Механизм Sockets ОС UNIX
Вызов удаленных процедур
Концепция удаленного вызова процедур
Генерация стабов
Формат сообщений RPC
Связывание клиента с сервером
Особенности реализации RPC на примере систем Sun RPC и DCE RPC
– Конец работы –
Используемые теги: Классификация, ОС, Универсальные, операционные, системы, ОС, специального, назначения0.098
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Классификация ОС универсальные операционные системы и ОС специального назначения
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов