Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
4 - Архитектура, составные части и характеристики ОС
(Архитектура Windows, UNIX, QNX)
С монолитным Винда)
Ядро обеспечивает базовую функциональность операционной системы: создает процессы и управляет ими, распределяет память и обеспечивает доступ к файлам и периферийным устройствам.
Взаимодействие прикладных задач с ядром происходит посредством стандартного интерфейса системных вызовов. Интерфейс системных вызовов представляет собой набор услуг ядра и определяет формат запросов на услуги. Процесс запрашивает услугу посредством системного вызова определенной процедуры ядра, внешне похожего на обычный вызов библиотечной функции. Ядро от имени процесса выполняет запрос и возвращает процессу необходимые данные.

Ядро состоит из трех основных подсистем:
1. Файловая подсистема
2. Подсистема управления процессами и памятью
3. Подсистема ввода/вывода
Файловая подсистема
Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, и к периферийным устройствам.
Файловая подсистема контролирует права доступа к файлу, выполняет операции размещения и удаления файла, а также выполняет запись/чтение данных файла. Поскольку большинство прикладных функций выполняется через интерфейс файловой системы (в том числе и доступ к периферийным устройствам), права доступа к файлам определяют привилегии пользователя в системе.
Файловая подсистема обеспечивает перенаправление запросов, адресованных периферийным устройствам, соответствующим модулям подсистемы ввода/вывода.
Подсистема управления процессами
Запущенная на выполнение программа порождает в системе один или более процессов (или задач). Подсистема управления процессами контролирует:
· Создание и удаление процессов
· Распределение системных ресурсов (памяти, выч. ресурсов) между процессами
· Синхронизацию процессов
· Межпроцессное взаимодействие
Планировщик процессов (scheduler) - разрешает конфликты между процессами в конкуренции за системные ресурсы (процессор, память, устройства ввода/вывода). Планировщик запускает процесс на выполнение, следя за тем, чтобы процесс монопольно не захватил разделяемые системные ресурсы. Процесс освобождает процессор, ожидая длительной операции ввода/вывода, или по прошествии кванта времени. В этом случае планировщик выбирает следующий процесс с наивысшим приоритетом и запускает его на выполнение.
Модуль управления памятью обеспечивает размещение оперативной памяти для прикладных задач. В случае, если для всех процессов недостаточно памяти, ядро перемещает части процесса или нескольких процессов во вторичную память (как правило, в специальную область жесткого диска), освобождая ресурсы для выполняющегося процесса. Все современные системы реализуют так называемую виртуальную память: процесс выполняется в собственном логическом адресном пространстве, которое может значительно превышать доступную физическую память. Управление виртуальной памятью процесса также входит в задачи модуля управления памятью.
Модуль межпроцессного взаимодействия отвечает за уведомление процессов о событиях с помощью сигналов и обеспечивает возможность передачи данных между различными процессами.
Подсистема ввода/вывода
Подсистема ввода/вывода выполняет запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам (дискам, магнитным лентам, терминалам и т. д.). Она обеспечивает необходимую буферизацию данных и взаимодействует с драйверами устройств - специальными модулями ядра, непосредственно обслуживающими внешние устройства.
ОС с микроядром (ex: QNX)
В состав ядра входят наиболее необходимые низкоуровневые функции ОС. Все остальные сервисы вынесены в адресное пространство пользователя и работают в качестве серверов.
1 – Match
2 – L4 и mCOS
Преимущества (QNX)
· Единообразный интерфейс
· Расширяемость
· Гибкость
· Переносимость
· Надежность
· Поддержка распределенных систем (масштабируемость)
· Хорошая поддержка объектно-ориентированных систем
ОС с гибридным ядром (ex: Win 2000)

Hardware Abstraction Level (HAL) – уровень аппаратных абстракций.
На этом уровне формируется отображения между общими командами и ответными сигналами аппаратного обеспечения, и таковыми для конкретной платформы. Этот уровень отделяет операционную систему от особенностей используемой аппаратной платформы, благодаря чему системная шина, контроллер прямого доступа к памяти, контроллер прерываний, системные таймеры и Память выглядят с точки зрения ядра одинаково. Кроме того, на этом уровне поддерживается симметричная многопроцессорность.
Функции ядра :
§ Планирование выполнения процессов
§ Микроядро передает управление процессом обработчику прерываний и исключений, когда они происходят.
§ Выполнение низкоуровневой многопроцессорной синхронизации
§ Обеспечение восстановления системы после сбоя питания
Модули, которые находятся в адресном пространстве ядра :
1. Диспетчер ввода/вывода – поддержка независимых от устройств функций ввода/вывода, управление файлами и сетевыми буферами.
2. Диспетчер виртуальной памяти – обеспечивает защиту адресного пространства каждого процесса и страничную организацию
3. Диспетчер локального вызова процедур (LPC) – поддержка взаимодействия между клиентами и сервером, расположенными на одном компьютере.
4. Диспетчер процессов – отвечает за управление процессами и потоками; при создании процесса – в его состояние включается один поток, в последующем потоки могут быть добавлены (в Unix ……)
5. Монитор безопасности обращений – обеспечивает защиту объектов во время работы системы, участвует в операциях с объектами и может обеспечить аудит использования.
6. Менеджер объектов – создает и удаляет объекты исполнительной подсистемы. Дескрипторы объектов – расширение идеологии дескрипторов файлов в UNIX. С помощью них можно адресовать процессы, потоки и кон. точки монтирования.


