Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Классификация по способу построения ОС↑ Стр 1 из 4Следующая ⇒ Содержание книги Поиск на нашем сайте
Операционная система па основе монолитного ядра Процессы полностью управляются ядром и вмешательство в это управление с уровня пользователя просто невозможно. Все компоненты монолитного ядра работают в одном адресном пространстве, используют общие структуры данных и могут вызвать друг друга Монолитное ядро представляет собой набор процедур, каждая из которых может вызвать каждую. Системные задачи в такой архитектуре естественно должны иметь самый высокий приоритет, иначе безопасность системы может быть нарушена. Операционная система на основе модульного ядра - усовершенствованный вариант архитектуры с монолитным ядром. Все модули ядра работают в адресном пространстве ядра и могут пользоваться всеми функциями, предоставляемыми ядром. Поэтому модульные ядра продолжают оставаться монолитными. На модули ядра накладываются определенные ограничения в части используемых функций. Модули ядра обязаны экспортировать определенные функции, нужные ядру для правильного подключения и распознавания модуля Некоторые части ядра всегда обязаны присутствовать в оперативной памяти и должны быть жестко «вшиты» в ядро. Операционная система на основе мини-ядра (микроядра). Суть ее заключается в том, что монолитное ядро разбивается на ряд самостоятельных и исключительно гибко взаимодействующих между собой частей, что,- в частности, позволяет при выполнении программ отдать инициативу прикладным задачам. Как правило, выполнение прикладных задач поддерживается специальными процессами (сервисами), которые подключаются по мере необходимости. Микроядро работает в привилегированном режиме и обеспечивает: взаимодействие между программами, планирование процессов, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью. Остальные компоненты системы взаимодействуют друг с другом путем передачи сообщений через микроядро. Для управления портами связи существуют 4 операции: создать порт, уничтожить порт, читать из порта и записать в порт. Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает до бавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенным минусом является требование ресурсов на передачу данных между процессами. Представители этого класса: QNX; Minix; ChorusOS развиваются медленно, но они обладают огромным потенциалом. ОС на основе гибридного ядра используют модифицированные микроядра, позволяющие для ускорения работы запускать «несущественные» части в пространстве ядра. В большинстве случаев современные операционные системы используют различные комбинации этих подходов (в основном Unix-подобные системы, новые версии). Операционные системы на основе экзоядра имеют ядро, предоставляющее лишь функции для взаимодействия между процессами и безопасного выделения и освобождения ресурсов, остальные функции выносятся в библиотеку пользовательского уровня. Разделяя защиту и управление, экзоядро выполняет три важные задачи: отслеживает принадлежность ресурсов, гарантирует стабильность, защищая использование ресурсов, отменяет доступ к ресурсам. Архитектуры на основе экзоядер являются дальнейшим развитием и усовершенствованием микроядерных архитектур. Пока существуют толькоакадемические разработки, такие как The Pandora OS, XOK/ExOS, Nemesis, но данное направление стремительно развивается. Объектно-ориентированная операционная система — операционная система, имеющая объектно-ориентированную архитектуру. Основные функции объектно-ориентированной ОС реализует микроядро, над которым располагаются сервисные модули. С микроядром связаны объектно-ориентированные языки программирования. Ресурсы объектно-ориентированной ОС используют прикладные программы. В объектно-ориентированных системах чаще используются потоки, чем процессы. Почтовый ящик- это объект, включающий в себя: • в качестве данных - три очереди: очередь процессов, ожидающих • в качестве методов — функции работы с очередью и операции чтения и записи. Такая организация почтового ящика позволяет организовать обмен сообщениями между процессами без потери данных. Представители данного класса: OZONE, OS/400.
Загрузка - процесс подготовки программы к работе, заключающийся в пересылке программы из внешней памяти в оперативную память, ее настройке и дальнейшем запуске Загрузка операционной системы на IBM-совместимом компьютере начинается с того, что BIOS считывает программу начальной загрузки (MBR) с первого сектора накопителя (первые 512 байт накопителя, MBS) в оперативную память по адресу 0000:7с00 и передает ей управление. MBR начинает со сканирования таблицы разделов в поисках раздела, где находится начальный загрузчик ОС (он помечен особым флагом). Этот флаг показывает, что данный раздел является загрузочным. Как только MBR обнаружит хотя бы один такой флаг, она считывает в память загрузочный код из первого сектора раздела, помеченного флагом, и передает ему управление или же загружается ядро ОС. Загрузочный код содержит программу загрузчик ОС, который: •обеспечивает необходимые средства для диалога с пользователем •приводит аппаратуру компьютера в состояние, необходимое для •загружает ядро операционной системы в ОЗУ; •формирует параметры, передаваемые ядру операционной системы; • передает управление ядру операционной системы. Большинство современных ОС используют схему, при которой дополнительные модули подгружаются уже после старта самого ядра. Список модулей, которые необходимо загрузить, а также параметры настройки ядра, собраны в специальных файлах. У DOS этот файл называется CONFIG.SYS, у MS Windows - реестром.
Распространенные загрузчики: •NTLDR - ядра Windows NT; •Windows Boot Manager (bootmgr.exe, winload.exe) - ядра Windows Vista; ■LILO (Linux LOader) - ядра Linux; •GRUB (Grand Unified Bootloader) - ядра Linux и Hurd (StartUp Manager); •OS/2 BootManager - загрузчик ядра OS/2; •RedBoot — для встраиваемых систем; ■SILO (SPARC Improved bootLOader) — Linux и Solaris для машин с архитектурой SPARC. ■Loadlin - Linux из под DOS или Windows; ■Syslinux - Linux из под DOS или Windows; •BOOTP - для загрузки по сети; ■Yaboot - Linux на PowerPC; ■BootX - Mac OS X.
Исполняемый файл содержит двоичное представление машинных инструкций, предназначенных для исполнения на конкретной виртуальной или физической машине (чаще всего, конкретной ОС). ОС распознают такие файлы, либо благодаря расширению (*.ехе или др.), либо по специальному коду разрешения исполнения в структуре файла (как в UNIX). Современные фалы могут содержать дополнительную информацию (например, для отладки). Исполнимые файлы могут содержать вызовы библиотечных функций. Структура исполняемого файла. Практически все однопроцессорные компьютерные системы построены на основе архитектуры фон Неймана, которая обеспечивает в этом случае наилучшую производительность. Форзац во время выполнения программы обеспечивает ее взаимодействие с ОС. Его конкретным содержанием фактически определяется совместимость ОС с точки зрения переносимости исполняемых файлов. Кодовый сегмент содержит инструкции для процессора, которыми определяется ход выполнения программы. Сегмент данных содержит данные, которыми оперирует программа. В процессе выполнения программы их начальные значения преобразуются в конечный результат. Стековый сегмент служит для решения, как правило, системных задач, например, организует сохранение (с последующим восстановлением) значений регистров В области свободной памяти выделяется место под соответствующую динамическую переменную. При загрузке программы сначала осуществляется связывание информации, т. е. на основе виртуальных адресов переменных вычисляются их физические адреса, затем эти адреса заменяют в программных кодах соответствующие имена переменных (разумеется, все эти адреса принадлежат области сегмента данных). Далее из кодового сегмента по очереди считываются команды, которые с помощью форзац-сегмента «допускаются» до ОС и обрабатываются. Например, оператор varl = varl + var2 обрабатывается по следующей, несколько условной, схеме: • по соответствующим физическим адресам выбираются значения • значения переменных varl и var2 суммируются, и результат от В результате этого в сегменте данных значение var2 останется без изменения, а в varl будет находиться искомая сумма.
|
||||
Последнее изменение этой страницы: 2016-12-30; просмотров: 653; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.71.166 (0.008 с.) |