Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Основные компоненты ядра ОС. Многозадачность. Понятие монолитного ядра и микроядра.



Многозадачность – это процесс разделения процессора между несколькими задачами. Многозадачная система похожа на систему, основанную на концепции «основного цикла», но с несколькими фонами. Многозадачность увеличивает эффективность использования процессора, а также обеспечивает возможность модульной конструкции приложения.

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

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

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

 

Состав монолитного ядра ОС.

Монолитное ядро предоставляет богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве. Это такая схема операционной системы, при которой все компоненты её ядра являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путём непосредственного вызова процедур. Монолитное ядро — старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство UNIX-систем.

Достоинства: Скорость работы, упрощённая разработка модулей[1].

Недостатки: Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы.

 

User space: ПП<->Сист.библ<->Kernel space:ЯДРО<-> User space: Сервисы

Все части работают в одном адресном простр-ве

1) Планировщик 2) Системные таблицы(табл.потоков процессов, табл.семафоров) 3) Диспетчер вв-выв(обдажает табл.драйверов и устр-в, перехватывает прерыв-я от устр-в) 4)Драйвера 5)Менеджер памяти

6)TCP/IP стек протоколов – один на всю сист-у, если 2 сетевые карты-стек на каком-то ур-не им.2 копии(прикладной HTTP, представит, сеансовый-сокеты, транспортный UDP, TCP, сетевой IP v4/v6, ICMP, ARP:в ядре)

7) Система безопасности – доступ, колнтроль 8) Файловая система

9) Модуль графического интерфейса – FIREWALL, X-Windows Примеры: Linux, MS-Dos

 

Состав микроядра ОС.

Микроядро предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Бо́льшая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. Решающим критерием «микроядерности» является размещение всех или почти всех драйверов и модулей в сервисных процессах, иногда с явной невозможностью загрузки любых модулей расширения в собственно микроядро, а также разработки таких расширений.

Достоинства: Устойчивость к сбоям оборудования, ошибкам в компонентах системы. Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.

Недостатки: Передача данных между процессами требует накладных расходов.

Состав ядра ОСЖРВ:

1) Планировщик 2) Системные таблицы(табл.потоков процессов, табл.семафоров) 3) Диспетчер вв-выв(обдажает табл.драйверов и устр-в, перехватывает прерыв-я от устр-в) 4)Драйвера

 

Примеры: Symbian OS; Windows CE; OpenVMS; Mach, используемый в GNU/Hurd и Mac OS X; QNX; AIX; Minix; ChorusOS; AmigaOS; MorphOS.

 

10. планировщик: задача, основные составляющие блока контроля задачи(TCB). Алгоритм планирования Round Robin.

Как правило, вся важная, с точки зрения операционной системы, информация о задаче хранится в унифицированной структуре данных управляющем блоке (Task Control Block, TCB). В блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус задачи, приоритет и т. п.

Round-robin (от англ. round-robin — циклический) — алгоритм распределения нагрузки распределённой вычислительной системы методом перебора и упорядочения её элементов по круговому циклу.

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

- время непрерывного использования процессора необходимое процессу <= продолжительности кванта времени. Тогда процесс по своей воле освобождает процессор, на исполнение поступает новый процесс из начала очереди, таймер начинает отчет времени заново;

- продолжительность остатка текущего времени процесса > кванта времени. Тогда по истечении этого кванта процесс прерывается таймером и помещается в конец очереди готовых к исполнению, а процессор выделяется для использования процессу, находящемуся в начале очереди.

 

11. планировщик: задача, основные составляющие блока контроля задачи(TCB). Алгоритм планирования вытесняющей многозадачности.

 

Как правило, вся важная, с точки зрения операционной системы, информация о задаче хранится в унифицированной структуре данных управляющем блоке (Task Control Block, TCB). В блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус задачи, приоритет и т. п.

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

Preemptive multitasking - вытесняющая многозадачность - это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.

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

 

12.планировщик: задача, основные составляющие блока контроля задачи(TCB). Алгоритм планирования FIFO

 

Как правило, вся важная, с точки зрения операционной системы, информация о задаче хранится в унифицированной структуре данных управляющем блоке (Task Control Block, TCB). В блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус задачи, приоритет и т. п.

Процессы в очереди. На исполнение – процесс из головы очереди. При поступлении нового процесса он идет в хвост очереди готовых. Среднее время ожидания и среднее полное время выполнения для этого алг существенно зависит от порядка расположения процессов в очереди. Если есть процессы с длительным временем выполнения, то короткие процессы перешедшие в состояние «готовность» после длительного процесса будут долго ждать начала выполнения, поэтому данный алг практически неприемлем для систем разделения времени, тк слишком большим получается среднее время отклика

 


Поделиться:



Последнее изменение этой страницы: 2019-04-21; Просмотров: 253; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.016 с.)
Главная | Случайная страница | Обратная связь