Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СППО.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
551.94 Кб
Скачать

3. Многослойность ос, ядро и вспомогательные функции.

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

Функции ядра — резидентные — находятся в оперативной памяти постоянно.

Модули ядра выполняют основные базовые функции:

  • управление памятью

  • управление процессами

  • управление устройствами ввода-вывода

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

Вторая группа функций доступна для приложений через интерфейс API:

  • запуск потоков и процессов:

  • межпроцессное взаимодействие

Главное отличие ядра и пользовательский приложений:

  • ядро наиболее приближено к аппаратуре

  • ядро работает в привилегированном режиме работы процессора, остальные — в пользовательском режиме. В привилегированном режиме:

    • разрешено гораздо больше

    • ядро может вмешиваться в работу всех остальных приложений

    • ядро имеет доступ к их адресным пространством

  • все процессы работают в своих собственных изолированных адресных пространствах

  • адресное пространство — это диапазон доступных адресов. Размер 2^n, где n — разрядность центрального процессора.

Приложения могут получить доступ к некоторым функциям ядра (запуск дочернего процесса).

Для запуска дочерних процессов существуют функции API, а внутри них происходит системный вызов (переключение в привилегированный режим, выполнение нужной функции, переключение обратно)

Ядро состоит из следующих слоев:

  • средства аппаратной поддержки ОС (это то, что выполняется ЦП: прерывание, адресация, переключение страниц)

  • машинно зависимые компоненты (BIOS, HAL)

  • базовые механизмы ядра (выполняют наиболее примитивные операции, переключения контекстов, потоков и процессов)

  • менеджеры ресурсов (диспетчер процессов, диспетчер ОП, менеджер ФС, менеджер безопасности, сетевая подсистема)

  • интерфейс системных вызовов (часто обычные функции API, в некоторой части происходит переключение в привилегированный режим)

Общее правило - нельзя перескакивать через слои.

Существует несколько архитектур ядра:

  • классическая

  • микроядро

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

Микроядро — в этом случае в привилегированном режиме работают очень ограниченное количество приложений (3,4 слой). (функции управления процессами, ОП, функции прямого управления устройствами)

Гибридное ядро - большая часть файлов реализовано в составе ядра

Микроядра больше на мобильных устройствах, в Linux – классические ядра, в Windows – гибридные.

Привилегированный режим — Kernel Mode

Пользовательский режим — User Mode.

4. Управление оперативной памятью: основные подходы.

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

Типы адресов:

  • символьные (имена переменных и процедур)

  • виртуальные (логические)

Выражаются компилятором и компоновщиком ссылок (имена процедур и функций); объединить все модули в один исполняемый файл; если процедура небольшая, то подставляется на место вызова, если большая и часто вызывается, то происходит передача управления на нее.

Совокупность виртуальных адресов — виртуально адресное пространство (ВАП).

  • Физические адреса. Они соответствуют номерам байт памяти (физической), где будут находится программа или данные

ВАП и ФАП – не совпадают. Поэтому ОС должна правильно отображать 2 вида АП.

ВАП бывает плоской или сегментированной, сейчас — плоская. Сегментированный адрес состоит из пары — начало сегмента, смещение сегмента (пример MS DOS).