Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unix лекции / lection2.ppt
Скачиваний:
13
Добавлен:
20.04.2015
Размер:
274.43 Кб
Скачать

Архитектура ОС UNIX

Введение в архитектуру ядра

1

Модульная блок-схема ядра системы

Трехуровневая система: пользователя, ядра, аппаратуры.

Обращения к операционной системе и библиотеки составляют границу между

пользовательскими программами и ядром.

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

Совокупность обращений к ОС разделена на те

обращения, которые взаимодействуют с

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

Модульная блок-схема ядра системы

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

управляет файлами,размещает записи файлов,

управляет свободным пространством, доступом к файлам и поиском данных для пользователей.

Подсистема управления файлами обращается к

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

данных между ядром и устройствами внешней памяти.

Буферный механизм, взаимодействуя с драйверами устройств ввода-вывода блоками,

инициирует передачу данных к ядру и обратно.

Драйверы устройств являются такими модулями в составе ядра, которые управляют работой периферийных устройств.

fork, exec, exit, wait, brk, signal

Open, close, read, write, stat, chown

Модульная блок-схема ядра системы

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

синхронизация процессов,взаимодействие процессов,распределение памяти,планирование выполнения процессов.

Подсистема управления файлами и подсистема управления процессами взаимодействуют

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

Модули – распределение памяти, планировщик и взаимодействия процессов.

Аппаратный контроль отвечает за обработку прерываний и за связь с машиной. Такие устройства, как диски и терминалы, могут прерывать работу центрального процессора во время выполнения процесса. При этом ядро системы после обработки прерывания может возобновить выполнение прерванного процесса.

«индекс» файла (inode)

Внутреннее представление файла описывается в индексе, который содержит:

описание размещения информации файла на диске;

владелец файла;

права доступа к файлу;

время доступа…

При обращении процесса к системе open("/fs2/mjb/rje/sourcefile", 1) ядро проверяет права процесса на просмотр каталогов и возвращает индекс файла либо возвращает новый индекс, если файл не существует.

5

«индекс» файла (inode)

Индексы хранятся в файловой системе, однако при обработке файлов ядро заносит их в таблицу индексов в оперативной памяти.

Таблица файлов выступает глобальной структурой ядра, а пользовательская таблица дескрипторов

файла выделяется под процесс.

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

6

Таблицы файлов, дескрипторов файла и индексов

При выполнении операций read (читать) и write (писать) ядро использует дескриптор файла для входа в таблицу дескрипторов и, следуя указателям на таблицу файлов и на таблицу индексов, находит информацию в файле.

7

Формат файловой системы

В системе может быть несколько физических дисков, на каждом из которых может размещаться одна и более файловых систем.

На логическом уровне ядро имеет дело с файловыми системами, а не с дисками, при этом каждая система трактуется как логическое устройство, идентифицируемое номером.

Преобразование адресов логического устройства (файловой системы) в адреса физического устройства (диска) и обратно выполняется

дисковым драйвером.

Файловая система состоит из последовательности логических блоков, длина которых кратна 512 байтам.

8

Формат файловой системы

1. Блок загрузки располагается в начале пространства, отведенного под файловую систему, обычно в первом секторе, и содержит программу начальной загрузки, которая считывается в машину при загрузке или

инициализации операционной системы.

2. Суперблок описывает состояние файловой системы - какого она размера, сколько файлов может в ней храниться, где располагается свободное

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

3. Список индексов в файловой системе располагается вслед за суперблоком. Ядро операционной системы обращается к индексам, используя указатели в списке индексов. Один из индексов является корневым индексом

файловой системы.

4. Информационные блоки располагаются сразу после списка индексов и содержат данные файлов и управляющие данные.

9

Процесс

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

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

Одни процессы взаимодействуют с другими процессами и с остальным миром посредством обращений к ОС.

10

Соседние файлы в папке Unix лекции