ЗНАЕТЕ ЛИ ВЫ?

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



Определение ОС. Требования, предъявляемые к ОС. Классификация ОС.

ПО = ПрикладноеПО+СистемноеПО

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

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

Определение ОС

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

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

-ОС как интерфейс для пользователя и программ:

GUI — Grafic User Interface

CLI — Command Line Interface

API

POSIX

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

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

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

1)Однозадачная и многозадачная: различается тем, что в многозадачных системах псевдопараллельно выполняется несколько процессов, причем пространство памяти этих процессов защищены от влияния других процессов

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

3)По критериям эффективности:

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

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

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

 

Требования к ОС:

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

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

Совместимость двоичного кода – возможность запуска без перекомпиляции

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

3.Безопасность. Ос должна обеспечивать защиту ресурсов пользователей.

4.Надежность и отказоустойчивость. ОС должна обеспечивать работоспособность даже при наличии внутренних или внешних сбоев и атак.

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

 

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

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

3.По умолчанию. Все значения конфигурации ОС и ПО должны иметь значения по умолчанию.

4.Частотность. Для наиболее часто использ. ф-ий, ОС должна предоставлять условия быстрого выполнения.

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

6.Функциональная избыточность. Любые действия в системе могут быть сделаны несколькими способами.

7.Защищенность. ОС должна обеспечивать защиту ресурсов пользователей.

8.Перемещаемость. Работоспособность прог не должна зависеть от от их места в оперативной памяти.

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

 

Понятие процесса и ресурса. Классификация процессов

Процесс - абстракция, описывающая выполняющуюся программу

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

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

1) По генеалогическим признакам: родительские и дочерние

2) По временным характеристикам: трасса процесса—набор состояний, которые процесс последовательно проходит в течении своего жизненного цикла. Если трассы не пересекаются, то процессы последовательны, иначе параллельны

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

4) По внешним хар-кам: параллельные, последовательные.

5) По принадлежности к CPU: внешние и внутренние

6) По принадлежности к ОС: системные и пользовательские

7) По связности: процессы, обменивающиеся инфо, называются взаимодействующими;в противном случае – информационно независимыми.

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

По генеалогическим признакам: родительский и дочерний.

По результативности:

· Эквивалентные – получающие из одинаковых входных одинаковые вых. данные в общем случае по разным программам.

· Тождественные – эквивалентные, выполняющиеся по одинаковым программам.

· Равные – тождественные, трассы которых совпадают.

Все остальные различны.

По временным хар-кам: параллельные и последовательные.

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

· Процессы обменивающиеся инфо – взаимодействующие.

· Иначе – информационно независимые.

Понятие потока. Способы реализации потоков. Планирование потоков.

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

Многопоточность – это

1. Способность процесса выполняться в более чем одном потоке команд.

2. Квазимногозадачность в рамках одного процесса.

Достоинства использования потоков:

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

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

3. Скорость создания и удаления потоков тоже на порядок выше.

Недостатки: Усложнение планирования потоков и процессов.

Способы реализации потоков

Типы:

1) Потоки на уровне ядра

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

3) Смешанный поток (комбинированный)

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

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

Достоинства:

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

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

Недостатки:

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

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

Потоки на уровне ядра

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

Недостатки:

- нельзя реализовать в системе не поддерживающей многопоточность

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

Смешанная реализация

1) Потоки на уровне пользователя: при блокирующем вызове переводятся на уровень ядра

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

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

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

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

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

 

8. Планирование и диспетчеризация процессов. Стратегии планирования.

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

Планирование - это организация процессов в некоторую последовательность, согласно заданной стратегии.

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

3 уровня планирования:

1. Долгосрочное планирование - выбор процесса на запуск системы.

2. Краткосрочное планирование (диспетчеризация) - определяет поведение системы в ближайшее время вплоть до нескольких тиков таймера.

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

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

Невытесняющее планирование – из выполнения можно перейти только в ожидание.

Планирование производится в вынужденных и не вынужденных случаях:

1. Выполняющийся процесс завершил работу и покинул систему

2. Выполняющийся процесс перешел в состояние ожидания

3. Поступление нового процесса в очередь готовности

4. Окончание кванта времени выполняющегося процесса

Невытесняющее планирование - только в вынужденных случаях.

Диспетчеризация– поочередное выделение планировщиком операционной система процессам квантов процессорного времени.

 

Планирование в системах пакетной обработки данных. Дисциплины FCFS, SJN, SNR.

Используются следующие алгоритмы:

FCFS(первым пришел первым обслужился)

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

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

Достоинства: Простота реализации

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

SJN( Shortest Job Next)

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

Алгоритм близок к оптимальному

Недостатки:

Нереализуем, поскольку в момент выбора процесса из очереди неизвестно сколько времени этому процессу в будущем понадобиться для выполнения.

SRN( Shortest remain next)

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

Достоинства:

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

Недостатки:

Нереализуем, поскольку в момент выбора процесса из очереди неизвестно сколько времени этому процессу в будущем понадобиться для выполнения.

10. Планирование в интерактивных системах. Дисциплина RR (круговое планирование), дисциплины приоритетного планирования.

RR – Round Robin. Это вытесняющий алгоритм, при котором все процессы поочерёдно получают кванты процессорного времени и по окончании которых идут в конец очереди. Если квант времени большой, то RR вырождается в FCFS так как процесс успевает завершиться за свой квант времени. Чем меньше квант времени, тем ближе RR к оптимальному, но увеличивается время необходимое на переключение между процессами.

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

 

Планирование в системах реального времени.

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

Алгоритм 1: RMS – статический алгоритм планирования реального времени. Используется понятие дэдлайн – момент времени, к которому должно быть обработано событие. Если событие не обработано до наступления своего дэдлайна, то алгоритм терпит крах. Приоритеты процессов пропорциональны частоте поступления их событий.

Алгоритм 2: EDF – динамический алгоритм. На выполнение выбирается тот процесс, у которого выше дэдлайн. На сильно загруженных системах, статический алгоритм может не справляться с планированием, в то время как динамический может даже периодически дать системе простаивать.

 

Физические принципы I/O.

Линия – электрическое соединение.

Шина – набор линий объединенных общим смыслам.

Разрядность шины – количество входящих линий.

Выделяют шины:

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

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

3. Шина управления. Используется для указания режима работы (чтения или записи) и источника или получателя данных (память или порты ввода вывода.

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

Порт ввода вывода – это точка подключения центральной магистрали к устройству ввода вывода. Адресное пространство портов ввода вывода – это множество номеров подключенных к системе или центральной магистрали устройств ввода вывода.

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

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

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

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

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

Драйвер—программа, которая обеспечивает стандартизированный интерфейс подключения устройства к ОС на программном уровне.

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

BIOS—базовая подсистема в\в—программно-аппаратная часть, отвечающая за взаимодействие ОС с драйверами ус-в в\в. Биос обеспечивает такие ф-ции:

1) Буферизация и кэширование

2) Спулинг spooling—очередь в\в

3) Обработка ошибок и исключений

Классификация ус-в в\в

1) Монопольного владения и разделяемые ус-ва

2) Символьные и блочные—символьные передают за один цикл один байт, блочные—несколько

3) Ус-во ввода и ус-во вывода и ус-во в\в

4) Сетевые ус-ва

 


28. Структура системы ввода-вывода. Классификация устройств.

Линия – электрическое соединение.

Шина – набор линий объединенных общим смыслам.

Разрядность шины – количество входящих линий.

Выделяют шины:

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

5. Шина данных. Используется для передачи данных от процессора в ячейку памяти или порт ввода вывода или наоборот.

6. Шина управления. Используется для указания режима работы (чтения или записи) и источника или получателя данных (память или порты ввода вывода.

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

Порт ввода вывода – это точка подключения центральной магистрали к устройству ввода вывода. Адресное пространство портов ввода вывода – это множество номеров подключенных к системе или центральной магистрали устройств ввода вывода.

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

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

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

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

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

Драйвер—программа, которая обеспечивает стандартизированный интерфейс подключения устройства к ОС на программном уровне.

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

BIOS—базовая подсистема в\в—программно-аппаратная часть, отвечающая за взаимодействие ОС с драйверами ус-в в\в. Биос обеспечивает такие ф-ции:

4) Буферизация и кэширование

5) Спулинг spooling—очередь в\в

6) Обработка ошибок и исключений

Классификация ус-в в\в:

5) Монопольного владения и разделяемые ус-ва

6) Символьные и блочные—символьные передают за один цикл один байт, блочные—несколько

7) Ус-во ввода и ус-во вывода и ус-во в\в

8) Сетевые ус-ва

 

 

Определение ОС. Требования, предъявляемые к ОС. Классификация ОС.

ПО = ПрикладноеПО+СистемноеПО

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

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

Определение ОС

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

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

-ОС как интерфейс для пользователя и программ:

GUI — Grafic User Interface

CLI — Command Line Interface

API

POSIX

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

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

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

1)Однозадачная и многозадачная: различается тем, что в многозадачных системах псевдопараллельно выполняется несколько процессов, причем пространство памяти этих процессов защищены от влияния других процессов

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

3)По критериям эффективности:

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

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

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

 

Требования к ОС:

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

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

Совместимость двоичного кода – возможность запуска без перекомпиляции

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

3.Безопасность. Ос должна обеспечивать защиту ресурсов пользователей.

4.Надежность и отказоустойчивость. ОС должна обеспечивать работоспособность даже при наличии внутренних или внешних сбоев и атак.

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

 

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

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

3.По умолчанию. Все значения конфигурации ОС и ПО должны иметь значения по умолчанию.

4.Частотность. Для наиболее часто использ. ф-ий, ОС должна предоставлять условия быстрого выполнения.

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

6.Функциональная избыточность. Любые действия в системе могут быть сделаны несколькими способами.

7.Защищенность. ОС должна обеспечивать защиту ресурсов пользователей.

8.Перемещаемость. Работоспособность прог не должна зависеть от от их места в оперативной памяти.

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

 





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

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