Обзор

Приветствуем вас в нашей библиотеке

Здесь вы найдете большое количество разнообразной информации о Unix подобных системах.

На текущий момент наша библиотека содержит следующие основные разделы:

Сетевая коммуникация

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

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

Межпроцессное взаимодействие в FreeBSD организовано в коммуникационные доме­ны. Важнейшие домены, поддерживаемые в настоящее время, включают локальный домен для взаимодействия процессов, выполняющихся на одной машине; домен IPv4 для взаимодействия процессов с использованием набора протоколов TCP/IP (четвертой версии) и домен IPv6, который является новейшей версией протоколов Интернета.

Терминалы

Исторически пользователи взаимодействовали с системой, используя подключенные к компьютеру через жестко запаянные линии связи терминалы. Хотя фиксированные терминалы в значительной степени остались в истории, обработка символов, осуществляе­мая для ввода/вывода с клавиатуры, по-прежнему важна. Наиболее обычный вид сеанса пользователя в FreeBSD использует псевдотерминал. Псевдотерминал состоит из пары устройств, называемых ведущим (master) и ведомым (slave) устройствами.

Сетевая файловая система - NFS

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

Файловое хранилище

Видимая пользователю часть файловой системы представляет собой ее иерархическое именование, блокировки, квоты, управление атрибутами и защиту. Но большая часть реализации файловой системы содержит организацию и управление данными на физическом носителе. За размещение содержимого файлов на физическом носителе отвечает файловое хранилище (filestore). FreeBSD использует традиционный формат быстрой файловой системы Беркли (Berkley fast filesystem). На диске организуются группы протяженных блоков, называемых группами цилиндров.

Файловые системы BSD - Системные вызовы chmod chown

Системный вызов chown устанавливает владельца и группу файла, a chmod изменя­ет атрибуты прав доступа. Stat с именем файла может использоваться для получения свойств файла. Системные вызовы fchown, fchmod и fstat применяются для тех же операций с дескриптором, а не с именем файла. Системный вызов rename можно использовать, чтобы дать файлу в файловой системе новое имя, заменив одно из старых имен файла. Как и операции добавления и удаления каталогов, системный вызов rename был добавлен к 4.2BSD для обеспечения атомарности изменения имени в локальной файловой системе.

Файловые системы BSD (Часть 2)

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

Файловые системы BSD (Часть 1)

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

Интерфейс устройств

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

RSS-материал