Модульная структура - раздел Образование, Обзор операционных систем
Ядра Большинства Версий Операционной Системы Unix Являются Мо...
Ядра большинства версий операционной системы UNIX являются монолитными. Напомним, что монолитное ядро — это ядро, которое виртуально включает в себя все возможности операционной системы в виде одного большого блока кода, который запускается как единый процесс в едином адресном пространстве. Все функциональные компоненты такого ядра имеют доступ ко всем его внутренним структурам данных и ко всем программам. При внесении изменений в любую из частей типичной монолитной операционной системы все ее модули и подпрограммы необходимо повторно компоновать и переустанавливать, а перед тем как изменения вступят в силу, систему нужно будет перезагрузить. В результате все модификации, такие, как добавление драйвера нового устройства или новых функций файловой системы, усложняются. Особенно остро эта проблема стоит в системе Linux, глобальную разработку которой выполняют объединенные на добровольных началах группы независимых программистов.
Для решения этой проблемы система Linux организована в виде набора относительно независимых блоков, которые называются загружаемыми модулями (loadable modules) [GOYE99]. Загружаемые модули Linux имеют две отличительные особенности.
• Динамическое связывание. Любой модуль ядра может быть загружен в память и подсоединен к ядру в то время, когда само ядро уже находится в памяти и выполняется. Любой модуль может быть также отсоединен от ядра и удален из памяти в любой момент времени.
• Стековая организация. Модули организованы в виде определенной иерархической структуры. Отдельные модули могут выполнять роль библиотек при обращении к ним модулей более высоких уровней в рамках этой структуры; они сами также могут обращаться к модулям на более низких уровнях.
Динамическое связывание [FRAN97] облегчает настройку системы и экономит память, которую занимает ядро. В системе Linux программа пользователя или сам пользователь может загружать или выгружать модули с помощью команд insmod и rmmod. Само ядро управляет работой отдельных функций и по мере надобности загружает нужные модули или выгружает те, нужда в которых уже отпала. Кроме того, стековая организация позволяет задавать зависимости модулей, что дает два основных преимущества.
1. Код, являющийся общим для набора однотипных модулей (например, драй веры похожих устройств), можно поместить в один модуль, что позволяет сократить количество повторений.
2. Ядро может проверить наличие в памяти нужных модулей, воздерживаясь от выгрузки модуля, который нужен для работы других, зависимых от него, и загружая вместе с новым требуемым модулем все необходимые дополнительные модули.
На примере, приведенном на рис. 2.18, показаны структуры, которые используются операционной системой Linux для управления модулями. На рисунке приведен список модулей ядра после загрузки модулей FAT и VFAT. Каждый модуль задается двумя таблицами: таблицей модулей и таблицей символов. В таблицу модулей входят перечисленные ниже элементы.
• next. Указатель на следующий модуль. Все модули организованы в виде связанного «писка. Этот список начинается псевдомодулем (на рис. 2.18 он не показан).
• ref. Список модулей, которые используются данным модулем.
• symtab. Указатель на таблицу символов данного модуля.
• name. Имя модуля.
• size. Размер модуля в страницах памяти.
• addr. Начальный адрес модуля.
• state. Текущее состояние модуля.
• *cleanup(). Указатель на программу, которая запускается при выгрузке данного модуля.
Рис. 2.18. Пример списка модулей ядра операционной системы Linux
Таблица символов определяет символы, контролируемые данным модулем и используемые где-либо еще. В таблицу входят такие элементы.
• size. Полный размер таблицы.
• n_symbols. Количество символов.
• n_refs. Количество ссылок,
• symbols. Таблица символов.
• references. Список модулей, зависящих от данного.
На рис. 2.18 модуль VFAT загружается после модуля FAT и зависит от него.
ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ... Пытаясь понять основные требования предъявляемые к операционным систе мам а также значение основных возможностей...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Модульная структура
Что будем делать с полученным материалом:
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Обзор операционных систем
2.1. Предназначение и функции операционных систем
2.2. Эволюция операционных систем
2.3. Основные достижения
2.4. Характеристики современных операционных систем
Операционная система как диспетчер ресурсов
Компьютер представляет собой набор ресурсов, поддерживающих выполнение задач накопления, перемещения, хранения и обработки данных, а также контролирующих работу этих и других функц
Возможность развития операционной системы
Большинство операционных систем постоянно развиваются. Происходит это в силу следующих причин.
• Обновление и возникновение новых видов аппаратного обеспечения. На при
Последовательная обработка данных
В самых первых компьютерах, в период от конца 40-х до средины 50-х годов, программы непосредственно взаимодействовали с аппаратным обеспечением машины; операционных систем в то вре
Простые пакетные системы
Первые машины были очень дорогими, поэтому было важно использовать их как можно эффективнее. Простои, происходившие из-за несогласованности расписания, а также время, затраченное на подготовку зад
Многозадачные пакетные системы
Процессору часто приходилось простаивать даже при автоматическом выполнении заданий под управлением простой пакетной операционной системы. Проблема заключается в том, что устройств
ОСНОВНЫЕ ДОСТИЖЕНИЯ
Операционные системы относят к числу самых сложных программ. В этом проявляется стремление их разработчиков сделать системы такими, чтобы они удовлетворяли требованиям удобства и эф
Процессы
Одной из основополагающих концепций, помогающих понять структуру операционных систем, является концепция процессов. Этот термин впервые был применен в 60-х годах разработчиками опе
Управление памятью
Лучше всего потребности пользователя удовлетворяются вычислительной средой, поддерживающей модульное программирование и гибкое использование данных. Нужно обеспечить эффективный и с
Защита информации и безопасность
С ростом популярности систем разделения времени — а впоследствии с возникновением компьютерных сетей — возникла проблема защиты информации. В зависимости от обстоятельств природа у
Совместное использование ресурсов и управление ими
Одной из важных задач операционной системы является управление имеющимися в ее распоряжении ресурсами (основной памятью, устройствами ввода-вывода, процессором), а также их распределение между раз
Структура системы
С добавлением в операционные системы все новых функций, а также с ростом возможностей управляемого операционными системами аппаратного обеспечения и его разнообразия возрастает степень их сложнос
ХАРАКТЕРИСТИКИ СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМ
Год за годом происходит эволюция структуры и возможностей операционных систем. В последнее время в состав новых операционных систем и новых версий уже существующих операционных сис
История возникновения
Операционная система W2K появилась в результате развития операционной системы под названием MS-DOS (или PC-DOS), разработанной фирмой Microsoft для первого персонального ком
Однопользовательская многозадачность
Операционная система W2K является типичным представителем операционных систем для микрокомпьютеров (в качестве других примеров можно привести OS/2 и MacOS). Она была вызвана к жиз
Архитектура
На рис. 2.13, взятом из [SOLO98b], представлена общая структура операционной системы W2K. Модульная структура этой системы делает ее довольно гибкой. Она в состоянии работать на са
Организация операционной системы
В операционной системе W2K трудно однозначно выделить микроядро. Вместо этого W2K имеет структуру, которую фирма Microsoft называет модифицированной архитектурой микроядра. Как и об
Пользовательские процессы
Операционная система W2K поддерживает четыре основных типа пользовательских процессов.
• Специальные процессы системной поддержки. К таким процессам относ
Модель клиент/сервер
Структура исполнительной системы, защищенных подсистем и приложений выполнена в соответствии с вычислительной моделью клиент/сервер — общепринятой моделью распределенных вычислени
Потоки и симметричная многопроцессорность
Возможности поддержки потоков и поддержки симметричной многопроцессорности, о которых мы говорили в разделе 2.4, — две важные характеристики операционной системы W2K. Ниже перечисл
Объекты Windows 2000
Устройство операционной системы W2K в значительной мере основано на объектно-ориентированных концепциях. Этот подход способствует совместному использованию ресурсов и данных различн
Историческая справка
Историю возникновения операционной системы UNIX часто можно встретить во многих книгах, поэтому здесь она приводится лишь схематично — основные этапы развития изображены на рис. 2.14, взятом из [
Описание
Рис. 2.15 дает общее представление об архитектуре системы UNIX. Лежащее в основе аппаратное обеспечение окружено программным обеспечением операционной системы. Операционную систему
СОВРЕМЕННЫЕ СИСТЕМЫ UNIX
В процессе развития операционной системы UNIX появилось много ее реализаций, каждая из них обладала своими полезными возможностями. Впоследствии возникла необходимость создать реа
Solaris 2.x
Система Solaris — это версия операционной системы UNIX, разработанная фирмой Sun на основе SVR4. На время написания книги последней вышедшей версией Solaris была версия 2.8. Реализации системы Sol
История возникновения
Система Linux возникла как вариант операционной системы UNIX, предназначенный для персональных компьютеров с IBM-совместимой архитектурой. Первоначальная версия была написана Линусом Торвальдсом (L
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов