Вопрос 1. Определение ОС. Место ОС в иерархической архитектуре вычислительной системы. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вопрос 1. Определение ОС. Место ОС в иерархической архитектуре вычислительной системы.



Вопрос 1. Определение ОС. Место ОС в иерархической архитектуре вычислительной системы.

 

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

ОС должна обеспечивать определённый уровень производительности, безопасности и надёжности.

Место ОС в иерархической структуре ВС.

Интерфейс – набор правил для взаимодействия с данным уровнем системы. Каждый уровень обладает интерфейсом.

Интерфейс ОС:

 

ППО - прикладное ПО.

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

UI - (user interface)- интерфейс командной строки(система отвечает на команды юзера, работающего в консоли).

GUI - графический интерфейс (управление с помощью графических объектов).

 

Вопрос 3. Классификация процессов ОС.

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

Классификация процессов.


По времени существования процессов.

пакетные (нет ограничений на время сущ-я)

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

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

По отношению к ОС.

системные (самой ОС)

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

По генеалогическому признаку.

− порождающие

− порожденные

По связности.

изолированный (нет никаких связей с другими процессами)

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

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

Конкурирующие ( взаимодействующие процессы образуют конкурирующие процессы – за использование какого-либо ресурса).

По динамике развития.

последовательные (временные интервалы сущ-я не пересекаются)

параллельные (на рассматриваемом интервале существуют одновременно)

комбинированные


 

Вопрос 4. Ресурсы. Определение ресурса, Классификация ресурсов.

Для развития процесса нужны ресурсы.

Ресурс - средство ВС, которое может быть выделено процессу на определенный интервал времени.

Классификация ресурсов.


По реальности существования

- физический (реально сущ-ий. при распределении процессу используются его физические хар-ки (пример:ОП))

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

По возможности расширения свойств

- эластичный (позволяет виртуализацию)

- жесткий (на позволяет виртуализацию)

По степени активности

- активный (способен выполнять действия по отношению к другим ресурсам и приводить к изменению свойств ресурсов)

- пассивный (над которым нельзя выполнять такие действия)

По времени существования по отношению к процессу

- постоянные (существуют до рождения данного процесса и все время его сущ-я).

- временные (появляются во время сущ-я процесса и могут уничтожаться).

По степени важности

- главные (без которых развитие процесса принципиально невозможно)

- второстепенные (без которых допустимо некоторое альтернативное развитие процесса, но не вып-ся нек-е ф-ии, связанные с этим ресурсом)

по структуре

- простой (рассм-ся как единое целое, может иметь 2-а состояния: занят, свободен)

- составной (содержит в составе много однотипных элементов, при распределении процессу может быть выделена часть элементов.Имеет 3-и состояния: занят, свободен, частично занят)

По восстанавливаемости

- воспроизводимый (многократное использование цепочки «запрос-использование- освобождение», после этого восстан-ет свои свойства)

- потребляемый (допускает последовательность «освобождение-запрос-использование-снятие», после вып-я уничтожается(пр: сообщения))

По характеру использования

- параллельно используемый (может исп-ся || несколькими процессами)

- последовательно используемый (цепочка действий «запрос-исп-освоб», в данный момент времени доступен только одному процессу)

По форме реализации

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

- твердые (аппаратные, человеческие)


Создать новый процесс

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

Нормальная последовательность действий для введения нового процесса в систему состоит из операций создать-активизировать.

Полномочия процессов.

Это действия, которые процесс может, либо не может производить как над собой, так и над другими объектами системы.

Полномочия позволяют:

1) приостановить, активизировать, изменить приоритет и уничтожать только своих прямых и дальних потомков;

2) процесс может передавать потомкам только подмножество своих ресурсов;

3) процесс может разрушать только те ресурсы, которые создал либо он, либо его потомки.

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

 

 

Задача читатели – писатели.

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

Решение проблемы дедлока.

1. Стратегия предотвращения тупиков.

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

1) косвенный метод – предотвращение возникновения одного из первых 3-ёх условий возникновения дедлока;

2) прямой метод – предотвращение 4-го условия- циклического ожидания.

− Условия взаимного исключения можно подавить неограниченным выделением ресурсов – это слишком дорого.

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

− Отсутствие перераспределения подавляется отниманием операционной системой ресурсов.

− Условие кругового ожидания можно подавить, предотвращая образование цепи: метод иерархического выделения ресурсов. Все ресурсы образуют иерархию; процесс, запросив ресурс на определенном уровне иерархии, после этого может запросить ресурс только с более высокого уровня. Процесс может освободить ресурс на данном уровне только после освобождения всех ресурсов на более высоких уровнях. Кругового ожидания не будет.

Стратегия обхода дедлоков.

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

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

Механизмы синхронизации.

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

V(S)

if S=0, то семафор S предоставляется следующему процессу из очереди ожидания.

else S:=S+1

Достоинства семафоров.

1.Простота. 2. независимость от числа синхр-ных процессов. 3. отсутствие активного ожидания.

Недостатки семафоров.

1. не наглядны(не указ-ет непосредственно на то правило, кот-е реализует) 2. При сложном проц достаточно сложны, не указ-ют на синхр процесс.

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

Пример исп-я семафора- mutex.

1) mutex – семафоры взаимного исключения, простейший двоичный семафор, который находится в двух состояниях: отмеченное и неотмеченное.

Если процесс становится владельцем объекта mutex, то он переводится в неотмеченное состояние, а когда процесс его возвращает – в отмеченное состояние.

Каждый mutex имеет собственное имя.

Для работы с mutex-ами исп-ся след функции:

− создание mutex (при этом создаётся его имя. Mutex может наследоваться, т.е. передаваться потомкам, для этого и сущ-ет его имя)

− открытие mutex

− ожидание события mutex

− освобождение mutex

2) Монитор. (мониторы синх-ии процессов (мониторы Хоара))

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

Рандеву.

Рассматривается задача межпроцессионной связи и синхронизации, т.е. сущ-ют 2-а процесса Pa и Pb.

Pa должен передать данные Pb. Для осущ-я передачи оба процесса должны выразить готовность для передачи сообщения. Эти сигналы могут не совпадать по времени. Тогда ждут ответного сигнала о принятии сообщения. После передачи сообщения процессы продолжают своё выполнение.

Решение проблемы дедлока.

2. Стратегия предотвращения тупиков.

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

3) косвенный метод – предотвращение возникновения одного из первых 3-ёх условий возникновения дедлока;

4) прямой метод – предотвращение 4-го условия- циклического ожидания.

− Условия взаимного исключения можно подавить неограниченным выделением ресурсов – это слишком дорого.

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

− Отсутствие перераспределения подавляется отниманием операционной системой ресурсов.

− Условие кругового ожидания можно подавить, предотвращая образование цепи: метод иерархического выделения ресурсов. Все ресурсы образуют иерархию; процесс, запросив ресурс на определенном уровне иерархии, после этого может запросить ресурс только с более высокого уровня. Процесс может освободить ресурс на данном уровне только после освобождения всех ресурсов на более высоких уровнях. Кругового ожидания не будет.

Стратегия обхода дедлоков.

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

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

Управление ресурсами в ОС.

Ресурсы делятся на:

1. воспроизводимый (повторно используемый, системный)

2. потребляемый (после потребления изымается из сферы обращения)

Для описания ресурсов в системе используются соответ-е дескрипторы ресурсов.

Каждый воспроизводимый ресурс требует для описания 3-и компоненты:

1. Опись(включает число и идентификацию доступных ресурсов)

2. Список ожидания (либо ссылка на него)(список процессов, ждущих определённое сообщение; с неудов-ми запросами на данный ресурс)

3. Указатель на распределитель ресурсов

Для потребляемых ресурсов дескриптор должен содержать:

1. Опись(содержит список сообщений, которые были выданы, но не были получены)

2. Список ожидания (либо ссылка на него)(в нём- блокированные процессы с неудов-ми запросами на данный ресурс)

3. Указатель на распределитель ресурсов

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

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

Основные элементы дескриптора(ещё раз на всякий случай)

1. Информация об идентификаторе.

2. Тип (воспроизводимый или потребляемый).

3. Имя процесса, создавшего ресурс.

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

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

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

Распределение ресурсов ОС

2-е основные схемы:

1. Централизованное распределение ресурсов.

2. Децентрализованная схема распределения ресурсов (на основе соглашений между процессами, без монитора)

Вопрос 13. Мультипрограммирование. Планирование и диспетчеризация процессов при МП.


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

Характеристические состояния процесса при мультипрограммировании:

1. состояние планирования ресурсов;

2. состояние владения ресурсами;

3. состояние выполнения.

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

Планирование – выделение ресурсов процессу, кроме выделения фактического процесса, т.е. процессу выделен виртуальный процессор (1 раз). А если выделен фактический процессор, то это диспетчеризация (многократно).

Варианты многопоточности процессов.

1. 1 процесс-1 поток (MS-DOS).

2. Несколько процессов, а в каждом процессе по одному потоку (UNIX)

3. 1 процесс и в нем несколько потоков управления (среда JAVA).

4. Несколько процессов и в каждом процессе несколько потоков (Windows 2000, Linux, Solaris).

Мультипрограммная система – система, которая выполняет несколько потоков одновременно.

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

Планирование процессов МП производит планировщик процессов. Он реализует дисциплины организации очередей ресурсов.

ОС включает 2-а планировщика:

1. планировщик верхнего уровня (планировщик) (долгосрочного планирования)

2. планировщик нижнего уровня (диспетчер) (краткосрочного планирования)

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

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

Планирование нижнего уровня- диспетчеризация.

Планирование выполняется один раз, диспетчеризация- многократно(особенно при режиме квантования).

Мультипрограммная система – система, которая выполняет несколько потоков одновременно.

Вопрос 14. Мультипрограммирование. Дисциплины диспетчеризации для невытесняющей и вытесняющей многозадачности.


Дисциплины диспетчеризации.

Различают дисциплины диспетчеризации:

1. без перераспределения процессов (невытесняющая многозадачность)

2. с перераспределением процессов (циклические).

3.Приоритетные дисциплины диспечеризации процессов

1. Без перераспределения (ОС не забирает процессор у процесса, процесс может освободить процессор только по собственной инициативе)

1.1. Дисциплина FСFS (первый пришел – первый обслужился) (каждому процессу одинаковая возможность в обслуживании, все имеют одинаковое среднее время ожидания, стоимость реализации невелика)

Недостатки:

1. короткий процесс вынужден ждать столько же, сколько и длинный (св-во конвоя)

2. среднее время ожидания может неограниченно расти по мере приближения системы к 100% загруженности.

3. с увеличением дисперсии времени выполнения увеличивается время ожидания.

2.2. Дисциплина: следующий с кратчайшим заданием SJN (short job next).

Приоритет- время выполнения.

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

2.Циклические дисциплины (или с перераспределением)

Дисциплины с фиксированным приоритетом.

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

Особенность: нет возможности настраивать характеристики в процессе выполнения.

Дисциплины с динамическим приоритетом.

Приоритет меняется в процессе выполнения. Для изменения приоритета используются временные характеристики времени выполнения и ожидания.

Дисциплина: следующий с минимально оставшимся временем SRT.

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

Исп-ся для диспетчеризации интерактивных процессов.

Дисциплина: следующий с наивысшим отношением отклика HRRN.

Для каждого процесса вычисляется отношение отклика: R=(W+S)/S, где

W- время отклика процесса. S- время обслуживания процесса.

R=1, если W=0.

Чтобы повысить качество обслуживания, нужно повысить приоритет.

Динамические дисциплины сложнее в реализации.

Дисциплины с несколькими очередями.

Процессы делятся на классы и каждый класс обслуживается по-разному.

Связь процессов с определенной очередью может быть статичной или динамической.

Статичная – после снятия процесса с процессора, он помещается в ту же очередь, в которой был.

Динамическая (в другую очередь) – дисциплина с обратной связью; может произойти увеличение или снижение приоритета.

Гарантии обслуживания

3 основных способа гарантии обслуживания:

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

2. Выделять минимальную долю процессорного времени процессу, готовому к выполнению.

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

Многократно используемые.

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

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

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

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

При динамическом методе структура модуля следующая:

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

· выполняется основное тело реентерабельного модуля, которое моет быть прервано;

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

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

Отображение программных модулей на ОП.

Каждая программа на исходном языке имеет неупорядоченное пространство имен: имена переменных, секций, входных точек. Имя пр-ву имен присваивает программист.

Оперативная память – это упорядоченное множество ячеек. Количество этих ячеек ограничено и фиксировано. Системное программное обеспечение должно связать каждое имя исходного пространства имён с ячейкой ОП.

Отображение осуществляется в 2 этапа:

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

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

Частные случаи отображения.

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

2. Виртуальное адресное пространство тождественно пространству исходных имен программы (схема интерпретации).

 

Алгоритм замещения страниц.

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

Алгоритмы.

1. Уменьшение на 1 количества мультипрограммной смеси.

2. Приостановка процесса, который требует страницы до тех пор, пока они не освободятся.

3. Замещение страниц

а) замещается та страница, которая дольше всего находится в ОП (наиболее «старая» страница);

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

в) Случайно удалённая страница ОП помещается в свопинг файл, а из swap может потом подгрузиться.

г) По вероятности использования.

д) Удаление по приоритетам (наиболее эффективно)

Вопрос 19. Задачи программного обеспечения ввода/вывода(в/в). В/в без использования и с использованием прерываний. Прямой доступ к памяти

 

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

Ввод/вывод – обмен данными между процессом и внешним устройством.

Задачи ПО ввода/вывода.

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

2) Единообразное именование. Имя устройства или файлов должно быть текстовой строкой или числом(не должно зависеть от внешнего устройства).

3) Обработка ошибок ввода/вывода должна быть реализована как можно ближе к аппаратному уровню (повторная запись или прочитывание).

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

5) Буферизация данных. Часто данные, поступающие в устройство вв/выв, не могут быть сразу отправлены адресату т.к. может происходить:.

- Предварительный анализ

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

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

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

Уровни ввода – вывода.

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

2. Нижний уровень. Обеспечивает интерфейс (управление) с аппаратным обеспечением.

1. Языковой интерфейс. Предоставляется на уровне языка (программа производителя).

Запрещается прямое программирование устройств ввода/вывода. Ввод/вывод осуществляется путем запроса сервисом ОС с помощью системных вызовов.

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

Независимый от языка интерфейс ввода/вывода.

3. Уровень ОС.

Управления ввода/вывода определяет тип устройства, конкретно определяет модуль управления устройством (драйвер).

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

Прямой доступ к памяти

Использует канал прямого доступа. После передачи данных канал (DMA) Вырабатывает прерывание. Т.образом ценральный процессор участвует в начале и в конце операции.

Рис. 11.3. Ввод-вывод с использованием прямого доступа

Уровни ввода – вывода.

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

2.Нижний уровень. Обеспечивает интерфейс (управление) с аппаратным обеспечением.

+ смотри предыдущий билет

Схема буферизации

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


Рис.1 Опережающее считывание.

Двойной буфер

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

 


Циклическая буферизация

Используется задача взаимного потребления (Задача производитель- потребитель (вопрос 7))

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

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

Вопрос 21. Принципы построения интерфейсов ОС. Интерфейс прикладного программирования(АРI). Варианты реализации АРI.


Принципы построения интерфейса ОС.

3 типа:

~ интерфейс пользователя (интерфейс командной строки)

~ графический пользовательский интерфейс

~ интерфейс прикладного программирования API (1)

Рис. 1. Интерфейс ОС.

Варианты реализации (1).

1. Реализация функции API на уровне ОС, ответственность за выполнение несет ОС (API на уровне системных вызовов). Достигается наибольшая эффективность исполнения, но объектные коды и исходные программы не переносятся на другую ОС. WinAPI – пример.

«-» отсутствие переносимости на ОСна Уровне объектного и исходного кода.

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

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

Модель клиент-сервер.

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

Микроядро содержит набор базовых примитивов:

а) передача сообщений и организация общения между процессами,

внешними по отношению к микроядру

б) поддержка управления прерываниями

в) некоторые другие функции.

Микроядро работает в наиболее приоритетном режиме.

Суть модели клиент-сервер:

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

2. Каждый такой сервер выполняется в режиме пользователя и циклически проверяет, есть ли запросы на выполнение конкретной службы.

3. Клиент, которым может быть либо другая часть ОС, либо приложение, выдает запрос на обслуживание путем посылки сообщения серверу. Ядро ОС (или микроядро) выполняется в режиме ядра и доставляет это сообщение серверу.

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



Поделиться:


Последнее изменение этой страницы: 2016-08-16; просмотров: 961; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.13.113 (0.172 с.)