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

Unix-системы.

Общий взгляд на архитектуру UNIX.

Схематичным можно представить Unix некой двух уровневой модели, в центре находится ядро системы, ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от особенности архитектуры, ядро имеет набор услуг предоставляемых прикладным программам. К услугам ядра относятся операции ввода-вывода создание и управление процессами и в синхронизации и меж процессного взаимодействия, все приложения запрашивают услуги ядра средством системных вызовов.

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

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

Определим внутреннюю структуру ядра Unix

Ядро состоит из трех основных подсистем

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

  2. Подсистема управление процессами и памятью

  3. Подсистема ввода вывода

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

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

Запущенная на выполнение программа порождает в системе один или более процесс. Подсистема управления процессами контролирует: 1. Создание и удаление процесса; 2. Распределение системных ресурсов; 3. Синхронизация процессов. 4. Меж процессное взаимодействие.

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

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

Драйверы устройств – специальные модули ядра, непосредственно обслуживающие внешние устройства.

Работа в ОС Unix.

В ОС Unix в общем случае существует только 2 объекта файлы и процессы. Все данные хранятся в виде файлов. Доступ к периферийным устройствам осуществляется посредством чтения\записи в специальные файлы. При загрузке программы ядро загружает соответствующий исполняемый файл, создает образ процесса и передает ему управление. Во время выполнения процесс может считывать или записывать данные в файл.

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

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

Файлы в ОС Unix играют ключевую роль. Файлы организованы в виде древовидной структуры, называемой файловой системой.

Структура файловой системы Unix.

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

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

\Bin – В каталоге bin находятся наиболее часто употребляемые команды и утилиты системы как правила общего пользования.

Каталог dev содержит специальные файлы устройств, являющийся интерфейсом для доступа к периферийным устройствам.

\etc в – в этом каталоге находятся конфигурационные файлы. В некоторых системах в нем находятся утилиты администрирования. Среди наиболее важных файлов в нем находятся скрипты инициализации. Эти скрипты хранятся в каталогах etc\rc0d, etc\rc1d и т.д.

Во многих версиях bsd Unix указанные каталоги отсутствуют, и загрузка системы управляется скриптами etc\rc.boot, etc\rc и т.д. В Unix ветви System V(five) находится каталог default, в котором хранятся параметры по умолчанию, например etc\default\su. В Unix System V большинство параметров, исполняемых файлов перемещены в каталог s\bin или usr\s\bin.

\lib (lib64) – в этом каталоге находятся библиотечные файлы языка C и других языков программирования. Стандартные названия библиотечных файлов имеют вид libx.a или libx.so, где х – это один или более символов, определяющих содержимое библиотеки. Часть библиотечных файлов располагается в каталоге usr\lib.

Каталог lost+found – каталог потерянных файлов, ошибки целостности файловой системы, возникающие при неправильной остановке Unix или аппаратных сбоев могут привести к появлению безымянных файлов т.е. структура и содержимое файла являются правильными, однако для него нет имени в каком либо каталоге. Программы проверки и восстановления файловой системы помещают такие файлы в каталог Lost+found, под системными именами.

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