8.Планирование процессов. Приоритеты.
|
Процесс обособленная (не пересекается с др.) часть программы (возможно использование нескольких процессов), реализующая некоторую последовательность действий, используя ресурсы ЦП.
У любого процесса есть 3 состояния:
1.Выполнение в данном состоянии процесс непосредственно обрабатывается ЦП, т.е процесс в данный момент времени его обрабатывает(возможно не только его но и др процессы)
2. Ожидание в этом сост процесс выгружается из ЦП, в силу независящих от него причин.(процесс был выполнен др. процессом, имеющий большую срочность выполнения.) наз. приоритетом. У процесса законченное время отведенное на его выполнение - наз. квантом(квант задается ОС) Процесс не может выполн. т.к. ожидает данных от какого либо др. проц. или устр. Процесс не может выполняться, т.к. ожидающее ответа от него проц. или устр. не готово.))
3.Готовность процесс готовый выполняться, у него достаточно данных для продолжения выполняемого процесса, но либо процессор в данный момент занят др. процессом либо в очереди готовых процессов имеются процессы с большим приоритетом. Все выше сказанное относиться только к многозадачным ОС, тк. В однозадачных какие либо механизмы планирования процессов отсутствуют.
1.Алгоритмы основаны на приоритетах мах, те. Такие, в которых каждому процессу присваивается свой «вес» в соотвствии с этим параметром процесс и располагается в очереди на выполение, те. В начале оказывается процесы с наивысшим приоритетом. Процесс с меньшим приоритетом никогда не может находиться раньше в очереди с процессом большего приоритета.
достоинством дано метода явл достаточно гибкий не прямой порядок выполнения.
Недостатком возм проц никогда не попасть на выполнение.
|
|
6.Способы построения ядра.
|
Ядро ОС выполняет роль интерфейса для компьютерного оборудования, общается в внешними устройствами и управляет встроенными компонентами, такими как оперционная память ОП., ЦП, жесткий диск. Чтобы обеспечить безопастность системы ядро следит за всеми текущими процессами. Определяет какие программы и как долго могут пользоваться аппаратными ресурсами. Обзор типов ядер:
1.Монолитная идея монолитного ядра заключается в точ чтобы для всех задач ОС использовалость одно целое (монолитное) ядро.
Достоинством монолитной архитектуры явл высокая производительность и достаточно высокий уровень безоп. ОС.
Недостатком явл то что при сбое хотя бы в одной службе или драйвере на уровне ядра может привести к краху всех системы.
2.Микроядра в такой архитектуре ядро ОС разбивается на некоторые количества динамически подгружаемых модулей объединяющих в себе некоторые классы задач.
3.Гибридные сочетающие в себе одно достаточно крупное ядро объединяющее в себе широкий круг основных задач ОС и одно или несколь микроядер. (виндовс как бы монопольная но больше склонная к гибридной….линукс-гибридная).
Виндовс построена на монолитном ядре, тем не менее небольшие динамически подгружаемые модули все же существуют, поэтому считать ее монолитной на 100% нельзя!!!
Линукс ядро состоит из нескольких достаточно крупных модулей , тоже динамических, поэтому правильно считать ее ядро гибридным, но некот источники считают ее тож монолитной.
В МАК ОСХ использ классический пример микроядра MACH без кот ОС может функционировать, при этом сущ источники причисляющие эту ОС к классу монолитных.
Мы будем считать все ОС гибридными!!!!
|
|
4.Классификация ОС. Моноядерные и микроядерные ОС.
|
1.Монолитная идея монолитного ядра заключается в точ чтобы для всех задач ОС использовалость одно целое (монолитное) ядро.
Достоинством монолитной архитектуры явл высокая производительность и достаточно высокий уровень безоп. ОС.
Недостатком явл то что при сбое хотя бы в одной службе или драйвере на уровне ядра может привести к краху всех системы.
2.Микроядра в такой архитектуре ядро ОС разбивается на некоторые количества динамически подгружаемых модулей объединяющих в себе некоторые классы задач.
3.Гибридные сочетающие в себе одно достаточно крупное ядро объединяющее в себе широкий круг основных задач ОС и одно или несколь микроядер. (виндовс как бы монопольная но больше склонная к гибридной….линукс-гибридная).
Виндовс построена на монолитном ядре, тем не менее небольшие динамически подгружаемые модули все же существуют, поэтому считать ее монолитной на 100% нельзя!!!
Линукс ядро состоит из нескольких достаточно крупных модулей , тоже динамических, поэтому правильно считать ее ядро гибридным, но некот источники считают ее тож монолитной.
В МАК ОСХ использ классический пример микроядра MACH без кот ОС может функционировать, при этом сущ источники причисляющие эту ОС к классу монолитных.
Мы будем считать все ОС гибридными!!!!
|
|
2.Классификация ОС.
ОС с открытым и закрытым исходным кодом.
|
1. С открытым исходным кодом: Открытость исходного кода ОС как правило делает систему некоммерческой, т.е. свободно распространяет. В таких системах любой пользователь по своему усмотрению внести изменения в подсистеме или эти изменения пройдет тестирование, они будут включены в следующие официальные редакции. Такой подход позволяет развивать ОС без коммерческих вложений.(пример: Linux, Free BSD).
2. С закрытым исходным кодом: Любой разработчик вправе защитить свою разработку путем сокрытия исходного кода, т.е. ОС поставляется в виде готовых двоичных файлов, внести изменения в которую почти невозможно. Такие ОС коммерческие чаще всего (Пример: Windows, Mac OSX) На данный момент фактически не осталось полностью открытых или закрытых ОС.
Исходный код - написанный человеком текст компьютерной программы на каком либо языке программирования.
|
|
16.Понятие файловой системы. FAT 32.
|
Под файловой системой обычно подразумевают способ и структуру организации двоичных данных на накопителях.
MBR
|
FAT 1
|
Корневой
каталог
|
данные
|
FAT 2
|
данные
|
FAT представ. собой прост. Файл. систему разраб. в Майкрософт для небольш. дисков и прост. структур каталогов. Ее назв. происх. от назв. метода применяемого для организации файлов.
FAT табл. размещ. файлов - эта табл. размещ. в начале тома, а в целях защ. тома на нем хран. 2 копии FAT, в случ. повреж. первой копии, дисковые утилиты могут воспольз. 2 копией для восстан. тома.
Структура размещ. файлов в FAT древовидная. Корнем этого дерева явл. так назыв. корневой каталог обл. диска, в которой содерж. ссылки на файлы и папки располож. на 1 уровне структуры (не более 512)
В каталоге 1 уровня содержат файлы и ссылки на каталоги 2 уровня и т.д.
Обе копии табл. размещ. файлов хран. по фикс. адресам, в против. случ. ОС не может к ним обращ.. Том отформатир. в FAT на логич. уровне разбивается на блоки фикс. размера, назыв. кластерами. Процесс разбиения на кластеры и разм. пустой FAT назыв.форматирование, при этом на физич. уровне с ЗУ ничего не происходит. В нач. каж. класт. став. 2-х байтовая (FAT16) или 4-х байтовая (FAT32) метка для нач. кластера. Основ. недостатком FAT явл. не возможн. записи неск. файлов в 1 кластер, если хотя бы 1 б. в класт. занят файлами, класт. счит. полн. занят. Поэтому при росте размера тома использ. диск. простран. стан. крайне неэффективным. Любой кат. FAT содерж. 32-х байтные записи для каждого содерж. в нем файла или каталога. Эти записи содержат след. информацию:
1)Имя в формате 8,3. 2)Байт атрибутов (время создания, дата создания, дата последнего доступа, время последней модификации и дата, номер начального кластера файла в таблице размещения 16 бит для ФАТ 16 (32-32), размер файла 16 или 32)
|
|
14.Защитные механизмы ОС.
|
Средства защиты:
1) механизм Dep позволяет использовать встроенные в современные ЦП механизм запрещения выполнения программного кода в защищенной области памяти, где находится критически важные системные процессы. Ни в одну из современных ОС ( кроме windows), поддержка алгоритма Dep не включена.
2) ASLR-рандомизация адресного пространства. Входными воротами в систему являются системные библиотеки, которые до Vista всегда располагались фиксированным адресам (иначе к ним невозможно было обращаться). В настоящее время при загрузке библиотек используются случайные адреса. Частично было реализовано в XP SP 2, полностью начиная с Vista. В Linux подобный механизм не реализован, в Mac OS x реализован не полностью.
3) проверка подлинности драйверов. В ос семейства Win9x основной причиной не стабильности системы являлись некорректно написанные драйвера. В ос начиная с ХР Майкрософт встроила в механизм проверки подлинности, что моментально положительно сказалось на стабильности и быстродействии системы, т.к. драйвера «лежат» глубоко на уровне ядра, и сбой хотя бы в 1 драйвере способен полностью вывести ос из строя.
|
|
12.Ядро Mac OS X.
|
Ядро osx сокращенно обозначается двумя способами:
а)XNU- is not a Unix. б)Darvin
Аббревиатура XNU соответствует действительности так как ядро osx состоит из двух компонентов :
ядра bsd ( проекта отделившихся от ЮНИКС)
микроядра Mach ( отвеч.за обмен данными ОС через уровни)
При этом Mach используется только для передачи сообщений ( обмена данными) внутри ядра и позволяет компонентам ОС обмениваться информацией минуя системные уровни.
BSD
Файловая система M
Сетевые A
Сеть расширения C
ядра H
POSIX
Система ввода/вывода
Сеть содержит элементы необходимые для обеспечения базовой поддержки сетевого взаимодействия.
Сетевые расширения ядра Содержит компоненты для обеспечения повышенной сетевой функциональности .Пример : объединение двух физических сетевых устройств в одно логическое .
Posix система команд о.с. семейства unix транслирующих команды пользователя в команды подсистемы в/в.
В отличии от windows содержащей слой аппаратных абстракций и способной работать практически с любым оборудованием, OSX способна работать только с современным конструктивными устройствами.
|
|
10.Контекст и дескриптор.
|
На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.
Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса.
Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса.
Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое.
Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс. Создать процесс - это значит:
1)создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст;
2)включить дескриптор нового процесса в очередь готовых процессов;
3)загрузить кодовый сегмент процесса в оперативную память или в область свопинга.
|
|
24.Управление вводом/выводом.
Программируемый ввод/вывод.
|
Под вводом подразумевается обработка данных из внешних источников в формат пригодный для обработки ЦП.
Вывод обратный процесс.
Программируемый в/в (использование контролера в/в) в этом случае когда ЦП встреч. команда в/в , он посылает соответ выводы контролеру в/в. Устр. выполн действие требующее от него, но не отсылает процессору никаких команд о завершение операции. Процессору приходится самому опрашивать систему в/в для проверки завершения операции. Не использует прерывание. Достоинством данного метода явл. Высокая скорость. поскольку сам процесс организ в/в. Недостаток сложность планирования процессов и большие потери процессорного времени, связанные с опросом состояния.
|
|
22.Управление вводом/выводом. Типы ввода/вывода.
|
Под вводом подразумевается обработка данных из внешних источников в формат пригодный для обработки ЦП.
Вывод обратный процесс.
Устройства выполняющие операции ввода-вывода можно разделить на 3 группы:
1.Устройства работающие с пользователем (HID, клава, мышь монитор)
2.Устройства работающие с компом (дисковые накопители, контролерры, датчики, преобразоват.)
3.Коммуникационные устройства- для связи с удаленными устройствами (модемы, сетевые платы)
По другому принципу устр-ва ввода-вывода можно разделить на блочные и символьные
Блочными явл. устр-ва, хранящие информацию в вид блоков фиксированного размера. Причем каждый из блоков независим от остальных (HDD)
Символьные устр-ва так же независимые устройствами потокового ввода-вывода, передают поток символов без какой либо структуры (мышь, принтер, сканер, сетевая плата)
Однако некоторые устр-ва не попадают ни в одну из этих категорий (монитор)
Существуют существенные различия между устр-ами в/в принадоежащим к разным классам и в рамках каждого класса
Разнообразие устройств в/в приводит к невозможности разработки единого подхода к проблеме в/в. Как с точки зрения оборудования, так и с точки зрения ОС
|
|
20.Защитные механизмы ОС.
|
Средства защиты:
1) механизм Dep позволяет использовать встроенные в современные ЦП механизм запрещения выполнения программного кода в защищенной области памяти, где находится критически важные системные процессы. Ни в одну из современных ОС ( кроме windows), поддержка алгоритма Dep не включена.
2) ASLR-рандомизация адресного пространства. Входными воротами в систему являются системные библиотеки, которые до Vista всегда располагались фиксированным адресам (иначе к ним невозможно было обращаться). В настоящее время при загрузке библиотек используются случайные адреса. Частично было реализовано в XP SP 2, полностью начиная с Vista. В Linux подобный механизм не реализован, в Mac OS x реализован не полностью.
3) проверка подлинности драйверов. В ос семейства Win9x основной причиной не стабильности системы являлись некорректно написанные драйвера. В ос начиная с ХР Майкрософт встроила в механизм проверки подлинности, что моментально положительно сказалось на стабильности и быстродействии системы, т.к. драйвера «лежат» глубоко на уровне ядра, и сбой хотя бы в 1 драйвере способен полностью вывести ос из строя.
|
|
18.Понятие файловой системы. EXT2, EXT3.
|
Для того чтобы обеспечить совместимость Linux с различным оборудованием используется не слой аппаратных абстракций, как в Windows, а виртуальная файловая система VFS, которая существует только в ОП ПК и переносится на диск только во время корректного завершения работы ОС. Обращение к любому, подключенному к ПК, устройству сводится к обращению к папке или файлу VFS, т. е. для подключения любого устройства необходимо создать виртуальную структуру файлов с индивидуальным набором параметров для каждого устройства. Создание такой структуры называется монтированием. Соответственно для корректного завершения устройства его необходимо размонтировать, т. е. перенести все данные из виртуальной структуры на устройство или на жесткий диск, если это устройство будет использоваться в дальнейшем, а затем уничтожить виртуальную структуру.
В Linux основным недостатком является невозможность гарантированной синхронизации между реальной и виртуальной файловой системой, т. к. при незапланированном отключении питания информация из ОП теряется, т. е. нарушается связь между ОС и реальной ФС.
Структура файловой системы Ext2 не похожа ни на Fat ни на NTFS. В ней нет таблицы размещения файлов, есть только корневой каталог, в котором содержатся ссылки на файлы и папки находящиеся в нем и т. д. папки высшего уровня содержат ссылки на файлы и папки следующего уровня, поэтому Ext2 изначально менее надежна.
Файловая система Ext2 полностью нежурналируемая ФС. Данные в ней никак не защищены от потери. При использовании реальной ФС вести классический журнал операций не имеет никакого смысла, т. к. данные могут быть записаны на диск, а запись в журнал добавить можно не успеть.
В следующей версии ФС Linux Ext3 введена технология упреждающего журналирования, т. е. в журнал заносятся записи не о совершенных операциях, а о запланированных. Таким образом несколько повышается надежность ФС.
По своей структуре Ext3 полностью аналогична Ext2, но в ней присутствует файл журнала, размещенный в корневом каталоге.
Для того чтобы перевести раздел Ext2 в формат Ext3 форматирование не требуется, достаточно создать файл журнала.
В следующей версии ФС Ext4 используется и утверждающая и пост журналирования. При не совпад запис в журн произв попытка восстановления.
|
|
|
30.Драйверы устройств.
|
Драйвер программное обеспечение управляющее каким-любо устройством, служащее транслятором между Bios, устройства и ОС
Любые драйверы интегрируются (вставляются) в Ос на уровне ядра, поэтому несмотря на то, что драйвер как правило устанавливается отдельно от ОС правильно считать его составляющей частью ОС
В общем случае любой драйвер имеет 2 уровня устройств:
•Нижний взаимодействует с Bios устройства
•Верхний с Ос, через стандартную библиотеку системных функций
Несмотря на то что современ. ОС уже содержат библиотеки драйверов, поддерживающие большинство известных устройств, драйверпоизводителя как правило реализует возможности устр-ва более полно и корректно
С Windows ХР Microsoft ввела политики сертификации драйверов, прежде чем получить одобрение Microsoft драйверы тестировались в лаборатории Microsoft и только в случае 100% корректности получают цифровую подпись
Сбой в драйвере ведет с нестабильности ОС, т.к. драйвер на уровне ядра.
|
|
28.Выделение физической памяти непрерывными областями.
Фрагментация.
|
В этом случае ячейки памяти последовательно пронумерованы. Операция (чтение/запись/(R/W) состоит из 2 этапов:
1) перемещение указателя на нужную ячейку и непосредственно R/W. Достоинство данного метода является высокое быстродействие простота организации. Недостатком является фрагментация способная привести к полной остановке системы в случае если фрагменты настолько малы что не позволяют разместить программы без разрыва. Поэтому данный подход требует разработки механизма дефрагментации. Сам процесс дефрагментации достаточно ресурсоемок. К тому же во время дефрагментации должны быть установлены все задачи использующие фрагментированную область. После дефрагментации необходимо пересоздание таблиц соответствия реальных виртуальных адресов.
Естественно, что это негативно сказывается на быстродействие и стабильность системы.
Фрагментация фрагментация файлов процесс, при котором файл дробиться на несколько частей, на физическом уровне расположенных в разных областях ЗУ.
|
|
26.Управление вводом/выводом.
Ввод/вывод управляемый прерываниями.
|
Под вводом подразумевается обработка данных из внешних источников в формат пригодный для обработки ЦП
Вывод обратный процесс
В/в управляемый прерываниями такой в/в эффективнее чем программируемый, т.к. исключ. Ненужное ожидание з-за опроса контролера
|
|