Приветствую Вас Гость | RSS

Уже всё СкаченО

Воскресенье, 02.02.2025, 01.32.22
Главная » Статьи » Основы UNIX » Основы операционной системы UNIX

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

Архитектура ОС UNIX - многоуровневая. На нижнем уровне, непосредственно над оборудованием, работает ядро операционной системы. Функции ядра доступны через интерфейс системных вызовов, образующих второй уровень. На следующем уровне работают командные интерпретаторы, команды и утилиты системного администрирования, коммуникационные драйверы и протоколы, - все то, что обычно относят к системному программному обеспечению. Наконец, внешний уровень образуют прикладные программы пользователя, сетевые и другие коммуникационные службы, СУБД и утилиты.

Основные характеристики

ОС UNIX имеет следующие основные характеристики:
переносимость;
вытесняющая многозадачность на основе процессов, работающих в изолированных адресных пространствах в виртуальной памяти;
поддержка одновременной работы многих пользователей;
поддержка асинхронных процессов;
иерархическая файловая система;
поддержка независимых от устройств операций ввода-вывода (через специальные файлы устройств);

стандартный интерфейс для программ (программные каналы, IPC) и пользователей (командный интерпретатор, не входящий в ядро ОС);

встроенные средства учета использования системы.

Системные вызовы

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

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

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

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

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

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

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

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

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

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

Для решения этих задач системное ПО (работающее в пользовательском режиме) часто использует системные вызовы.

Категория: Основы операционной системы UNIX | Добавил: Fishing (12.10.2009)
Просмотров: 477 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]