- •/Классификация операционных систем
- •Сравнительные характеристики ос.
- •/Процессы и примитивы.
- •Примитивы.
- •Процессы.
- •/Предполагаемая среда выполнения процессов.
- •/ Диаграмма переходов.
- •/Создание процессов.
- •/Уровневое представление ос unix
- •/Функции ядра операционной системы.
- •/Понятие прерываний в ос
- •/Структура ос
- •/Обзор подсистем ядра Unix
- •Описание подсистем ядра unix
- •Планирование но наивысшему приоритету (hpf)
- •Метод круговорота (карусель)
- •Очереди с обратной связно (fв)
- •Планирование в unix.
- •Типы многозадачности.
- •Состав планировщика
- •Зависимости подсистем ядра
- •Контроллер памяти (Метоrу Manager)
- •Механизм свопинга (Swapping)
- •Механизм пейджинга (Paging)
- •Внешний интерфейс
- •Verify_area()– проверка прав на доступ к выделенному региону памяти; get_free_page() / free_page() – выделение и освобождение физической памяти.
- •Реализация программ выделения памяти
- •Сборка мусора
- •Типы сборщиков памяти
- •Взаимодействие внутренних модулей мм
- •Архитектура vfs
- •Интерфейсы файловой системы
- •Ioctlo: установить атрибуты файла;
- •Защита файлов
- •Списки прав доступа
- •Механизмы обмена данными в vfs
- •Буферный кэш.
- •Механизмы обмена данными.
- •Логическая файловая система
- •Физическая организация файловой системы
- •Структура файла обычного типа
- •Примечания к физической организации vfs
- •Сетевая подсистема (Net)
- •Состав сетевой подсистемы
- •Представление и структуры данных
- •Внутренняя структура подсистемы
- •Зависимости сетевой подсистемы
- •Подсистема межпроцессного взаимодействия
Состав сетевой подсистемы
В состав сетевой подсистемы входят модули, показанные на рис. 3.15. Сетевые драйверы (Network device drivers) обеспечивают установление связи при помощи аппаратных средств. Для каждого сетевого устройства существует свой драйвер.

Модуль аппаратно-независимого интерфейса (device independent inter face) обеспечивает пользовательскому процессу единый интерфейс ко всег физическим сетевым устройствам.
Модуль сетевых протоколов (network protocol) предназначен для реализации всех возможных транспортных протоколов в сети.
Модуль протокол независимых интерфейсов (protocol independent inter face) обеспечивает интерфейсы, которые не зависят от протоколов и физи ческих устройств. Этот интерфейсный модуль использует ядро для доступ к сети без привязки к протоколами физическим устройствам.
Системный интерфейс (System Саll Interface) для взаимодействия ядр или пользователя с сетевой подсистемой.
Пользователь имеет право использовать тобой тип интерфейса, но, пе реходя с более высокого на более низкий сетевой уровень, обязан брать н. себя управление устройствами на соответствующем уровне.
Представление и структуры данных
Каждый объект в сети с точки зрения Unix –это сокет. Сокеты , как было показано выше, связаны с процессами тем же самым механизмом, который использует г-узлы. Каждый сокет, так же как и файл, может быть совместно использован одновременно несколькими процессами и имеет такую же внутреннюю структуру данных.
Реализация сетевой поддержки ВSП основана на структуре сокетов (struct socket). Эта структура содержит: поле идентификатора типа сокета (потоковый или дейтаграммный); состояние сокета (в состоянии соединения или нет); поле с флагами, которые модифицируют работу сокета; указатель на структуру, содержащую список операций, которые могут быть выполнены сокетом, а также другие данные. Указатель связывает INET с реализацией сокета через ссылку на i-узел. Каждый создаваемый сокет обязательно связан с i-узлом.
Структура типа sk_buff используется для управления индивидуальной передачей пакетов. Структура содержит: указатель на буфер, в котором
находится время, затраченное на передачу; поле указателей на пакеты, передаваемые/принимаемые сокетом; адреса приемника и передатчика;
управляющую информацию; указатели на пакеты данных, которые находятся в буфере. В этой структуре объединены все пакеты, используемые сетевой подсистемой (то есть пакеты типа tcp, udp, ip, и т.п.). Эта структура имеет ссылки на специфическую информацию INET. Члены Этой структуры включают: счетчики запросов сокета на чтение и запись в памяти; последовательности, требуемые протоколом ТСР; флаги, которые могут определять поведение сокета, поля управления в буфере (например для сохранения списка всех принятых пакетов для данного сокета); очередь ожидания для блокирования операций чтения и записи.
Внутренняя структура подсистемы

На общесетевом уровне (General Network) сетевая подсистема предос тавляет интерфейс пользовательским процессам. Этот уровень по существу обеспечивает интерфейс BSD сокетов. В этот уровень входят поддержка различных семейств МАС протоколов, таких как 802.х, ip, ipx, and AppleTalk (смотри рис. 3.16).
Сетевые службы (Соме network services) ядра образованы различны мi модулями. Здесь находятся INET сокеты, сетевые драйверы, брандмауэры и модули поддержки протоколов типа UDP и ТСР. Сетевой интерфейс (system саll interface) обеспечивает пользовательским процессам доступ к сети через интерфейсы BSD сокетов. интерфейс BSD сокетов обеспечивает общую абстракцию связи через сокеты (аппаратно‑ и протокол-независимую реализацию). Эта абстракция реализуется через INET сокеты. Реализация INET сокетов образует зависимость между модулями Общесетевого уровня (General Network) и модулем Сетевых служб ядра (Core Net services).
Модуль протоколов (Protocol module) содержит коды, которые форматируют данные пользователя в соответствии с используемыми протоколами. Уровень протоколов пересылает сформатированные данные ниже к Соответствующему физическому устройству для передачи их в сеть. Следовательно, образуется зависимость между модулем протоколов и модулем сетевых устройств (Network Devices).
Модуль сетевых устройств (Network devices) содержит набор высокоуровневых функций, которые преобразуют высокоуровневый интерфейс пользователя в низкоуровневые команды, адресуемые к реальным устройствам. драйверы устройств и сетевые настройки находятся в каталоге по
адресу drivers/net.
