Научная статья на тему 'УЧЕБНАЯ ОПЕРАЦИОННАЯ СИСТЕМА. ОБЗОР ТИПОВ ЯДЕР ОПЕРАЦИОННЫХ СИСТЕМ'

УЧЕБНАЯ ОПЕРАЦИОННАЯ СИСТЕМА. ОБЗОР ТИПОВ ЯДЕР ОПЕРАЦИОННЫХ СИСТЕМ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
53
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОПЕРАЦИОННАЯ СИСТЕМА / РЕЖИМ РАБОТЫ / АРХИТЕКТУРА / ЯДРО / ПРОЦЕССОР / ACADEMIC PURPOSES OPERATING SYSTEM / PROCESSOR OPERATING MODES / LONG MODE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Белоус В.С., Белоус Н.Н.

В статье обосновывается необходимость разработки учебной ОС, особое внимание уделяется рассмотрению различных типов ядер и их краткому описанию.This article is devoted to development of the new academic purposes operating system. This article describes some essentials of the operating system development: kernel design and processor operating modes (including long mode).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «УЧЕБНАЯ ОПЕРАЦИОННАЯ СИСТЕМА. ОБЗОР ТИПОВ ЯДЕР ОПЕРАЦИОННЫХ СИСТЕМ»

Белоус В.С. студент 6 курса ФГБОУВО МГТУ им.Н.Э. Баумана

Россия, г. Москва Белоус Н.Н. доцент

кафедра «Математики, физики и информатики» ФГБОУ ВО БГУ им. И.Г. Петровского Россия, г. Новозыбков УЧЕБНАЯ ОПЕРАЦИОННАЯ СИТЕМА. ОБЗОР ТИПОВ ЯДЕР

ОПЕРАЦИОННЫХ СИТСЕМ

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

Ключевые слова: операционная система, режим работы, архитектура, ядро, процессор.

ACADEMIC PURPOSES OPERATING SYSTEM. KERNEL DESIGN

This article is devoted to development of the new academic purposes operating system. This article describes some essentials of the operating system development: kernel design and processor operating modes (including long mode).

Key words: academic purposes operating system, processor operating modes, long mode.

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

В настоящее время существует множество операционных систем с открытым исходным кодом: GNU Linux, FreeBSD, ReactOS и др. Однако, ядра этих операционных систем плохо подходят для учебного процесса, т.к. они имеют большой объем исходного кода и обладают высокой сложностью.

По этой причине были разработаны несколько учебных операционных систем: JOS, xv6 и PhantomEx. Ядра этих ОС имеют небольшой объем исходного кода и небольшую сложность, по сравнению с эксплуатируемыми ОС, что делает их пригодными для обучения.

Однако, данные ОС имеют один существенный недостаток: они разработаны под устаревшую архитектуру x86.

Таким образом, разработка учебной операционной системы для более современной архитектуры AMD64 является актуальной задачей. Решение данной проблемы было осуществлено в ходе выполнения ВКР по теме «Разработка учебной ОС».

Для того чтобы получить доступ ко всем возможностям архитектуры AMD64 была использована 64-битная ОС, для работы которой необходимо

перейти в 64-битный подрежим длинного режима.

Так как одним из основных требований к разрабатываемой операционной системе является простота, было решено использовать монолитное ядро, т.к. в этом случае ядро будет представлять собой одну программу (все сервисы находятся в одном адресном пространстве). Для упрощения кода ядра, было решено не добавлять поддержку нескольких процессоров.

Рассмотрим типы ядер ОС.

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

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

процедур.

Ядро ОС ■J ъ Аппаратное обеспечение

Ч. г

t 1.

> f

Прикладное ПО

Рисунок 1 — ОС с монолитным ядром

Так как все компоненты ядра выполняются в одном адресном пространстве, отсутствуют накладные расходы при взаимодействии компонентов между собой (т.к. отсутствуют лишние переключения контекста).

С другой стороны, ошибка в одном из компонентов может привести к неработоспособности всего ядра. Ещё одним недостатком является то, что при изменении одного из компонентов ядра, необходимо пересобирать все ядро. Примеры ОС с монолитным ядром: UNIX, Linux, KolibriOS.

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

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

Рисунок 2

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

Основным недостатком данной архитектуры является снижение производительности (по сравнению с монолитной архитектурой), связанное с передачей сообщений и увеличением числа переключений контекста (для взаимодействия между сервисами). Примеры ОС с микроядром: Symbian OS, Mach, Minix.

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

Ядро ÜС

Ж

Прикладное ПО Библиотека ( V i Аппаратное обеспечение

Рисунок 3 — ОС с экзоядром

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

Использованные источники:

1. Advanced Micro Devices. — AMD64 Architecture Programmer's Manual. Volume 2: System Programming, 2015.

2. Intel Corporation. — 82093AA I/O Advanced Programmable Interrupt Controller (IOAPIC), 1996.

3. Крищенко В.А.. Основы реализации операционных систем / уч.пособие для ВПО. Изд-во: МГТУ им. Н.Э. Баумана, 2010.

i Надоели баннеры? Вы всегда можете отключить рекламу.