Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
NuM_Lektsii_OSISP - лекции на Линуксу.doc
Скачиваний:
74
Добавлен:
18.02.2016
Размер:
287.74 Кб
Скачать

Тема 2: Структура ядра ос Linux.

Системный интерфейс

Компонент Ввода-вывода

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

Компонент управления процессами

Виртуальная файловая система

Виртуальная память

Обработка сигналов

Файловая система

Сокеты

Терминалы

Обобщенный уровень блочных устройств

Сетевые протоколы

Дисциплины линий связи

Механизм замещения страниц

Создание и завершение процессов и потоков

Диспетчер блочных устройств

Драйверы сетевых устройств

Драйверы символьных устройств

Кэш страниц

Планирование процессов

Диспетчер прерываний

Аппаратура


Нижний уровень ядра состоит из обработчиков прерываний, которые являются основным средством взаимодействия с устройствами и механизма диспетчеризации на низком уровне. Диспетчеризация производится при возникновении прерываний. При этом код низкого уровня останавливает выполнение работающего процесса, сохраняет его состояние в структуре процессов ядра и запускает соответствующий драйвер.

Ядро Linux можно разделить на 3 части:

  1. Компонент ввода-вывода.

  2. Компонент управления памятью

  3. Компонент управления процессами

Компонент ввода-вывода:

Данный компонент содержит все части ядра, которые отвечают за взаимодействие с устройствами ввода-вывода, выполнение сетевых операций. На самом высоком уровне все операции интегрированы в уровень виртуальной файловой системы.Т.е. выполнение операций чтения из файла, будь он в памяти или на диске это то же самое, что и выполнение операции чтения символа с терминального ввода. На самом низком уровне все операции ввода-вывода проходят через соответствующий драйвер. Все драйверы в Linux классифицируются либо как символьные, либо блочные. Выше уровня драйверов устройств код ядра для каждого типа устройств свой. В зависимости от вида символьного устройства, информация обрабатывается согласно определенной дисциплине линий связи.

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

Над дисковыми драйверами располагается планировщик ввода-вывода, который отвечает за упорядочивание и выдачу запросов над дисковой операцией. ОС Lixux имеет несколько одновременно существующих файловых систем. Обобщенный уровень блоков призван скрыть различия реализаций файловой системы в зависимости от аппаратных устройств.

Компонент управления памятью:

В задачи управления памятью входят:

- Обслуживание отображения виртуальной памяти на физическую

- Поддержка кэша страниц, к которым недавно выполнялось обращение

- Поставка в память новых страниц с кодом и данными

Компонент управления процессами:

Основная задача этого компонента – создание и завершение процесса

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

Все рассмотренные компоненты взаимосвязаны друг с другом. Файловые системы обращаются к файлам через блочные устройства, однако, если в данный момент в памяти отсутствует свободное место, то в данном случае необходимо задействовать компонент управления памятью для выгрузки и загрузки соответствующих страниц.

Интерфейс системных вызовов ядра – все системные вызовы поступают сюда и вызывают эмулированное прерывание, которое переключает исполнение из пользовательского режима в защищенный и передает управление одному из компонентов ядра.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]