Общие принципы построения ОС.
Осн пр-пы:1. Принцип модульности. Модуль – это функц-я ед-ца (от проц-р до процессов), к-я может разрабатываться незав от др таких же ф-ных модулей. Для кажд модуля реализуется стандартный интерфейс для орг-ции взаимод-я с др модулями при обращении к его ф-ям. Дает возм-ть гибкого конфиг-я ОС, обесп-ет легкость ее настройки, модернизации. 2. Пр-п ф-ной избир-ти. Выделяются базовые модули, выполняющие осн ф-ии ОС. Их работа орг-ся так, чтобы они всегда были под рукой у сист. Кр того они явл самыми защищенными в сист. 3. Пр-п частотной избир-ти. Выдел-ся модули, к к-рым обращаются чаще всего. 2,3 – ядро сист. Ядро – это комп-ты ОС, реализ-щие наиб важные, часто исп-мые ф-ии ОС. Ядро резид-но распол-ся в памяти. 4. Пр-п настраиваемости. Настройка осущ-ся на конкр конф-цию обор-я, на потребности конкр польз-ля. Настройка осущ-ся при инсталляции сист и при загрузке. 5. Исп-ние умолчаний. Если польз-ль не задал какие-то пар-ры при загрузке или установке, сист сама должна их опр-ть. 6. Пр-п функц избыточности. Имеется возм-ть выполн-я одних и тех же ф-ий разл способами. Доп пр-пы для совр ОС: 1)Открытость. Раньше – ОС должна быть открыта для анализа ошибок. Сегодня под открытостью ОС понимается возм-ть расширения функциональности, наращивание ОС. 2)Масштабируемость – сист должна настраиваться на разл конфиг-ции, разл вычисл мощности (9х не дает поставить неск процессоров, NT позволяет, рассчитана на арх-ру SMP). 3)Возм-ть интеграции с чужими приложениями, реализ-я множественных прикл сред. Сущ 2 осн подхода: а)эмуляция, т е моделирование для ПП ее родной прикл среды. Проблемы: трудоемко, ресурсоемко (громоздкая сист получ-ся). б)Мех-м трансляции. Все ОС обеспечивают примерно одинак возм-ти для выполнения ПП и опираются при этом на одинак аппаратную часть=> Можно сист вызовы родных ОС при обращении к ним приложений перехватывать базовой ОС, установл на компе, и транслировать в сист вызовы этой ОС. При этом некот пар-ры могут потеряться. Т о создается не модель ОС, а некот транслятор вызовов (небольшая прослойка). Наиб эфф-но можно орг-ть на микрояд ОС. 4)Многоплатформенность (переносимость). ОС должна вып-ся на неск аппаратных платформах и возм-ть перехода с одной платформы на др. NT поддерж 4 аппар платформы, в т ч intel, alpha... Основные понятия ОС: процесс и ресурс. Ресурс – это объект в составе ВС, исп-мый прогр-ми во вр выполнения. Св-ва: 1)Полезность для прцессов, а не обслуж персонала; 2)Исчерпаемость. Процессы, исп-я ресурсы, не могут рассчитывать на то, что их кол-во неогр. Ресурсы – это объекты, обладающие потенциальной возм-тью вып-я процессами операций над ними или с их пом над др объектами. Классиф-я ресурсов. 1. По структуре ресурса (простые и составные). Простой ресурс распределяется системой как единое целое. Для отслеживания состояния ресурса сист должна знать свободен он в данный мом вр или занят каким-то процессом. Управлять проще. Сост ресурс хар-ся объемом, сост из мн-ва идент по своим св-вам ед-ц. Эти ед-цы могут распределяться незав др от др. Необх отслеживать опись ед-ц ресурса; 2.По реальности сущ-я ресурсов (реальные и вирт). Реальные рес – физ сущ-щие. Вирт рес – это модель рес,к-я создается на базе реальных рес-ов с пом ПО. При создании модели расширяются или улучшаются св-ва физ рес. 1-й рес – вирт память. Сегодня кажд пр-мма выполн-ся на собств вирт маш. 3. По возм-ти виртуализации. Если в сист для данного рес можно создать вирт рес, расширяющий его св-ва, то такой рес наз эластичным. Если нельзя – жестким (зав от конкр сист). В win9x можно отказ-ся от вирт пам. 4. По возм-ти повторного исп-ния (ПИР и ПР). ПИР – если после его выделения какому-л процессу и исп-ния этим прцессом он возвр-ся в сист и может исп-ся др процессами. При раборе с рес-ми с т зр сист вып-ся 3 операции: запрос (вып-ся процессом), выделение (вып-ет сист в ответ на запрос), освобождение (после исп-ния процессом). Для ПИР эти оп-ции вып-ся именно в таком пор. Кол-во ПИР в сист всегда постоянно (напр вр процессора, опер пам). ПР после исп-ния процессами в сист не возвр-ся, как бы перестают сущ-ть – физ-ки или меняют свои св-ва так, что так же их исп-ть уже нельзя. Операции: производство (освобождение), запрос, выделение (в ответ на запрос). Нужны процессы-производители и процессы-потребители. В кажд мом вр кол-во ед-ц такого рес конечно, но оно ничем не огр-но. 5. По режиму исп-ния (параллельно и последовательно). Парал исп-мые рес в кажд мом вр могут исп-ся неск процессами (память – посл, данные – парал). Посл-но исп-мые рес при работе с ними процесса требуют вз искл-я, или монополизации прцессами на вр исп-ния. 6. По степени важности рес (осн и вспом). Без осн рес процесс не может вып-ся. Отсутствие вспом – ограничивает функц-ть процесса. Процесс -это программа во вр выполнения, это вся п-ть действий проц-ра при выолнении запущенной проги. Ф-я ОС по управлению процессами сводится к 2-м осн задачам: обеспечить выполнение отд процесса (обесп всеми необх рес); обесп вып-е всей сов-ти процессов, запущенных в ВС, т е орг-ть их безконфликтную работу, защиту др от др и взаимод-е. В ходе вып-я процесса он проходит неск стадий: 1 – порождение. ОС опр-ет, все ли необх для запуска рес сущ в сист. Если рес дост-но, то для запуска пр-ммы созд-ся вирт маш: выдел-ся рес, затребованные процессом, строится структура данных, опис-щая процесс, позволяющая ОС отслеживать состояние, управлять вып-ем процесса, его взаимод-ем с др процессами. 5 – завершение. Если рес не хванило, вып-ся: уничтож-е вирт проц-ра, освоб-е всех выдел-ых рес-ов, вычищение всех следов сущ-я процесса в сист. 2 – готовность. У процесса есть все необх рес кр реального проц-ра (ожидание выдел-я вр проц-ра). 3 – активность. Выделено вр реального проц-ра и он вып-ет посл-ть команд данного процесса. Обратный переход возм в сист с квантованием вр-ни проц-ра – время выдел-ся по длине, а не до конца вып-я пр-ммы. 4 – ожидание. В этом состоянии процессы заблокированы в ожидании запрошенного ими рес или услуги ОС. Когда процесс получает, что просил, снова попадает в очередь. В мультизадачных сист, где работает большое кол-во польз-лей требуется балансировать нагрузку на процессор. 2’, 4’ - задержанные в состоянии готовности программы выведены из конкуренции за вр процессора (или др рес). Ф-я ОС сводится к поддержанию процессов во всех состояниях и реализацию допустимых переходов из одного состояния в др. Классиф-я процессов. 1)По наличию и типам связей м/у ними (изолированные и по типам: а)м/у процессами сущ-ет свять по данным, напр пр-ммы работают с общими данными или обмениваются сообщ-ми. Сообщ-я передаются с пом спец коммуникац-ных мех-мов. б)связи по управлению – один процесс передает управление др процессу, м/у процессами отношения предок -> дочерний проц. в)Функциональная связь. Если один из проц-сов может вып-ть свои ф-ии только после того, как свои ф-ии выполнил др процесс, м/у процессами должны поддерживаться отношения предшествования – задача ОС. г)Пространственно-временные связи – вып-ся одновр в одной сист – это порождает конк-цию за рес.). 2)По соотн-ю вр интервалов сущ-ния процессов. Если инт-лы перес-ся – процессы наз параллельными, иначе – посл-но вып-ся. Трасса процесса – это все состояния, к-е проходит процесс от порождения до завершения с четом времени пребывания в кажд состоянии. Сущ 2 вида параллелизма: истинный(процессы вып-ся на неск проц-рах) и концептуальный (поддерживается на уровне ОС для многопроцессных ВС, при этом все пр-ммы вып-ся на одном прц-ре и в кажд мом вр активным может быть только один процесс). 3)По принадлежности к ОС (сист и польз-ские). Обычно сист процессы вы-ся в привелиг режиме, могут вып-ть команды, к-е не могут вып-ть ПП. 4)По принадлежности данному вычислит узлу (внутр и внеш, для сетей). Планирование и диспетчеризация процессов. Сист планирования опр-ет пор выдел-я рес-в процессам. Любая сист план-я строится на основе очередей. Очеред опр-ет пор, в к-ром прцессы будут претендовать на рес-сы. В разл сист пор выдел-я рес-в может быть разл, поэтому реализ-ся разные сист план-я. В состоянии готовности ведется очередь процессов, ожидающих выдел-я вр проц-ра. В сост ожидания также ведутся очереди. В этом сост-ии процессы заблок-ны в ожидании выдел-я рес-са или вып-я услуги ОС. Во всех совр ОС реализ-ны многоуровневые сист план-я. В них мин 2 уровня – долгосрочного и краткосрочного план-я. Долгосрочное план-е вып-ся редко, обычно 1 раз при иниц-ции процесса. Уровень краткосрочного план-я соотв часто вып-ся оп-ции план-я (в частн план-е выдел-я вр проц-ра – задача диспетчеризации). Сущ промежут уровни план-я. Они позв балансировать загрузку сист, повысить эф-ть исп-я ее рес-в. Независимо от того, на каком уровне вып-ся план-е, исп-ся общие алг-мы реализ-ции план-я. Подходы: 1.FIFO (для однопрогр сист). Модиф: При реализации этой дисц не учитывается важность процессов для сист, режимы вып-я (напр real-time). Вводится понятие приоритета и реализ-ся приоритетные очереди. Приоритет – числ хар-ка, к-я показ степень важности процесса для сист (и для польз-ля). Приоритеты бывают статич и динамич. Статич приор-т не меняется в течение всего вр вып-я процесса. Динамич может меняться, пересчитываться по опред правилам или в соотв с директивами прогр-та. Приор-ты могут назначаться извне (прогр-т) или высчитываться системой автом-ки в зав-ти от хар-к процесса (режим вып-я, величина запрсов на рес-сы, время ожидания в очереди,...). При авто вычислении приоритета сист учитывает и внешний пр-тет, назначенный польз-лем, оператором или прогр-том. Пр-ты могут быть абсолютными. Процесс, облад абсол пр-том, может отобрать вр проц-ра у активного в этот мом процесса. Обычно абсол пр-ты поддерж-ся аппаратно ч/з мех-м прерываний. При исп-нии пр-тов процессы в очереди упорядочиваются по приоритетам. В рамках одного приор класса реал-ся дисц FIFO. 2. LIFO. Это вспом дисц, исп-ся мех-мом обработки прерываний. Для обычных процессов, к-е исп-ся польз-лем, не исп-ся. Рассм-ные дисц FIFO – это дисц без перераспределения вр проц-ра. Осн преимущество – простота реализации – не треб-ся больших накл расходов на реал-цию слож алг-ма опр-ния очередности обслуживания. Такой режим (без перераспр-я вр проц-ра) ек удобен для сист-м, в к-рых вместе с расчетными задачами, треб-щих больших численных вычислений, вып-ся пр-ммы в интеракт режиме. Вычислительные пр-ммы, занимающие вр проц-ра, замедляют реакцию интеракт пр-мм. Этот режим эф-вен для сетевых ОС, к-е играют роль файловых серверов (или серверов печати). Для сист,в к-рых вып-ся разные типы задач (счетные и интеракт), более удобным для польз-ля явл режим квантования вр проц-ра. Квант – это интервал вр, к-ый отдается процессу для вып-я его на проц-ре. Если процесс не успел вып-ся в теч отведенного ему кванта вр, сист перераспределяет проц-р в пользу др процесса, к-ый нах-ся в состоянии готовности. Очередность обычно также опр-ся приоритетами. Round Robin (RR) дисц-на с квантованием вр проц-ра (из-за цикла). Модиф: чтобы более тонко настраивать сист, запущенные в ней процессы разбиваются на неск классов. Для кажд класса орг-ся своя очередь. При запуске процесса опр-ся приор класс, к к-му он принадл-т. По умолч это, напр, А. Приор класс опр-ся хар-ми процесса, его запросами на рес. В первую очередь вып-ся пр-ммы класса А. Пр-ммы класса В запускаются только тогда, когда очередь кл А пуста. В таких сист по истечении опр-го вр ожидания в очереди повышается пр-тет процессов.Пр-ммы, к-е предъявляют повышенные требования к рес (зд вр проц-ра), понижаются в приоритете.; Все пр-ммы запускаюся в одном приор классе (польз-ль не указывает класс), сист ставит их в одну очередь. Исп-ние кажд кванта вр понижает приор-т.
|