Файл: Микроядерные операционные системы (Реферат по дисциплине “Операционные системы”).pdf
Добавлен: 06.07.2023
Просмотров: 331
Скачиваний: 13
Введение
И так что бы начать говорить о том, что же такое микроядерные ОС, нужно понять в начале, что такое микроядро и для чего оно нужно? Этапы развития этой области, возможности, особенности и характеристики и принципы.
Микроядерные Операционные Системы привлекают внимание разработчиков и исследователей последние 30 лет. Действительно, с одной стороны эти системы обеспечивают жесткое разделение исполнимых модулей, вынесение всех служб из ядра в пространство пользователя, способствует повышение отказоустойчивости и безопасности системы. С другой стороны издержки, возникающие из-за поддержки такой распределенной структуры требуют дополнительных вычислительных ресурсов. Это противоречие заставляет ученых и разработчиков искать новые архитектурные решения для минимизации негативных и усиления позитивных сторон микроядерных ОС.
За последнее десятилетие технологии вычислительных систем осуществили огромный скачок вперед и теперь даже в мобильных устройствах присутствуют процессоры с частотой большей 1GHz и модули оперативной памяти объемом 512-2048 MB. Кроме того, внутренняя архитектура программного обеспечения существенно увеличила свою сложность, и для многих областей и устройств микропроцессорная ОС является оптимальной. Поэтому данный тип имеет место на развитие и применение.
Основная часть
Микроядро.
Что же все-таки такое микроядро?
Микроядро (англ. microkernel) или μ-ядро (англ. μ kernel) — ядро операционной системы, реализующее минимальный набор функций.
Архитектура микроядра, основанная на программах-серверах, работающих в пользовательском режиме
Компьютеры с CISC архитектурой имеют комплексную систему команд, под управлением которой выполняются всевозможные операции типа «память-память», «память-регистр», «регистр-память», «регистр-регистр». Данная архитектура характеризуется:
* большим числом команд (более 200);
* переменной длиной команд (от 1 до 11 байт); * значительным числом способов адресации и форматов команд;
* сложностью команд и многотактностью их выполнения;
* наличием микропрограммного управления, что снижает быстродействие и усложняет процессор.
Обмен с памятью в процессе выполнения команды делает практически невозможной глубокую конвейеризацию арифметики, т.е. ограничивается тактовая частота процессора, а значит, и его производительность.
Большинство современных компьютеров типа IBM PC относятся к CISC архитектуре, например, компьютеры с микропроцессорами 8080, 80486, 80586.
Компьютеры с RISC архитектурой содержат набор простых, часто употребляемых в программах команд. Основными являются операции типа «регистр-регистр».
Данная архитектура характеризуется:
* сокращенным числом команд;
* тем, что большинство команд выполняется за один машинный такт;
* постоянной длиной команд;
* небольшим количеством способов адресации и форматов команд;
* тем, что для простых команд нет необходимости в использовании микропрограммного управления;
* большим числом регистров внутренней памяти процессора.
Компьютеры с RISC-архитектурой «обязаны» иметь преимущество в производительности по сравнению с CISC компьютерами, за которое приходится расплачиваться наличием в программах дополнительных команд обмена регистров процессора с оперативной памятью.
Устройство микроядра.
Работа с микроядром осуществляется так же, как и с монолитным ядром — через системные вызовы.
Микроядра предоставляют лишь небольшой набор низкоуровневых примитивов/механизмов/компонентов/сервисов/модулей, например:
1) Механизм для работы со страницами памяти;
2) Механизм для работы с потоками процессов;
3) Механизм для взаимодействия процессов.
Остальные примитивы/функции/компоненты/сервисы/модули, например:
1) Драйверы устройств;
2) Реализации файловых систем;
3) Стеки TCP/IP, USB и др.
Работают в пространстве пользователя в виде отдельных процессов, взаимодействуют с ядром с помощью системных вызовов, взаимодействуют друг с другом с помощью IPC. В операционной системе с монолитным ядром эти компоненты работают в пространстве ядра в виде потоков ядра.
Достоинства и недостатки.
Преимущества ОС, построенной на микроядре, по сравнению с ОС, построенной на монолитном ядре:
1) Простота реализации;
2) Простота отладки;
3) Гарантированная безопасность;
4) Надёжность;
5) Модульность.
Недостатки ОС, построенной на микроядре, по сравнению с ОС, построенной на монолитном ядре:
1) Более низкая производительность.
Для того чтобы микроядерная ОС по скорости не уступала ОС, построенной на базе монолитного ядра, требуется очень аккуратно проектировать разбиение системы на компоненты и стараться минимизировать взаимодействие между ними. Таким образом, основная сложность при создании микроядерных ОС — необходимость очень аккуратного проектирования.
Основные характеристики микропроцессоров.
Число ядер
Чем больше у процессора ядер, тем большее число операций он может выполнять одновременно без потери производительности. Одноядерные процессоры для персональных компьютеров сегодня уже не выпускаются - наступила эра многоядерности.
Именно за счет увеличения числа ядер ведущие производители планируют наращивать мощность процессоров в дальнейшем. Сегодня на персональные рабочие станции устанавливаются, как правило, 2-8 ядерные CPU, а для серверных систем уже существуют и 16-ядерные. В экспериментальных условиях проходят апробирование процессоры, оснащенные более чем 20 ядрами.
Увеличение производительности за счет количества ядер особенно ощутимо при исполнении многозадачных программ, в логику которых заложено одновременное выполнение нескольких действий. В то время, как одноядерный процессор выполнял бы задачи последовательно - одну за другой, многоядерный - делает это параллельно.
Тактовая частота
Эта характеристика указывает на то, сколько операций выполняет процессор в единицу времени. Многие привыкли считать, что тактовая частота - это показатель производительности, и чем она выше, тем "шустрее" процессор. Утверждение справедливо, если сравнивать между собой поколения CPU одной марки, однако сопоставлять по этому показателю процессоры разных производителей нельзя - при одинаковой тактовой частоте они работают с различной скоростью, поскольку на нее влияют в не меньшей степени и другие характеристики. Например, процессоры марки AMD работают на более низких тактовых частотах, чем Intel, но за один такт производят больше действий.
Объем кэш-памяти
Кэш-память процессора - это сверхпроизводительная память, откуда процессор получает доступ к обрабатываемым данным. Объем ее очень мал и не позволяет вместить в себя исполняемую программу целиком, поэтому в кэш обычно загружены только часто используемые данные. Разумеется, чем кэш больше, тем к большему объему информации процессор может получить быстрый доступ. Поэтому от величины кэш-памяти зависит скорость исполнения программы.
Кэш процессора поделен на 3 уровня. Кэш-память первого уровня - самая быстрая, но имеет и самый малый объем. Кэш второго уровня - средний по скорости и объем его больше первого. Кэш третьего уровня - самый медленный и самый большой по объему. Понятие "медленный" здесь условно, и дается только для сравнения этих уровней между собой, поскольку относительно скорости работы оперативной памяти, кэш-память процессора несравнимо выше.
Объем кэша процессора значительно влияет на его стоимость.
Технология производства или техпроцесс CPU
Эта характеристика показывает размер наименьшего отдельного элемента базы транзистора, умещаемого на кристалле. Понятно, что чем элемент мельче, тем больше их можно разместить на единице площади, тем самым увеличив производительность. Единицей измерения техпроцесса служит нанометр - настолько малы частицы. Выпущенные в 2011- 2012 годах процессоры имеют величину техпроцесса всего 22 нм, в то время как, например, в 2005 году выпускались процессоры по 50-нанометровому технологическому процессу. Поэтому можно проследить тенденцию развития этой технологии в сторону еще большего уменьшения элементов кристалла, и производителям это хорошо удается.
Частота системной шины.
Характеристика, показывающая скорость обмена данными между процессором и чипсетом материнской платы. Обозначается аббревиатурой FSB и измеряется количеством переданных данных за единицу времени. Чем выше FSB, тем выше производительность компьютера. Больше относится к характеристикам материнской платы.
Поддержка 64-битных вычислений
Появилась в 2004 году и с тех пор стала важна при выборе процессора. Практически все современные CPU для персональных компьютеров поддерживают 64-разрядность, что позволяет им использовать оперативную память в размере больше, чем 4 Гб.
Защищенный режим
Еще одна характеристика CPU, позволяющая предотвращать выполнение в операционной системе вредоносного кода. Поддерживается системами Windows, начиная со 2 сервиспака Windows XP.
Этапы развития микроядерных ОС.
Микроядра первого поколения
Микроядро Mach от университета Карнеги — Меллон.
В начале разработка Mach рассматривалась, в основном, как попытка создать концептуально «чистый», основанный на Unix, легко портируемый Accent. Были сформулированы следующие основные концепции:
«задача» — набор ресурсов которые позволяют «потокам» исполняться
«поток» — единица, исполняющаяся на процессоре
«порт» определяет защищённый конвейер для IPC между задачами
«сообщение» перемещается между программами через порт
Главным отличием от Unix было то, что утилиты должны были работать не с файлами, а с задачами. Больше кода было перемещено из ядра в непривилегированный режим. Ядро за счёт этого стало существенно меньше, отсюда термин микроядро для обозначения ядра Mach. В отличие от традиционных систем, под Mach процесс может состоять из набора потоков. Mach был первой ОС, которая определила понятие поток в этом смысле. Задачи ядра были сведены к работе с оборудованием и поддержке утилит.
Первым микропроцессором, объявленным как «компьютер-на-чипе», был 4-битный Intel 4004. Компания Intel хотела подчеркнуть, что в одном микропроцессоре реализуются все возможности компьютеров того времени. Это было не совсем верно, поскольку фактически он был реализован на четырех микросхемах. Процессор был изготовлен Intel по заказу японской компании Busicom и использовался для управления настольными калькуляторами этой фирмы. Он был однопрограммным и не универсальным, мог начать исполнение следующей программы только после завершения предыдущей, и был предназначен исключительно для вычислительных работ, то есть не мог применяться, например, для обработки текстов.
Развитием микропроцессоров стало появление универсальных многопрограммных 8-битных Intel 8080 и MOS Technology 6502. Они оба использовались в производстве настольных компьютеров и игровых консолей: первый — Altair 8800, второй — Nintendo NES, Atari 2600, Apple I, Apple II, Commodore 64, Агат и др. В отличие от 4004, эти микропроцессоры использовали раздельные шины адреса и данных, а инструкции и данные хранились в одних и тех же областях памяти. Таким образом, это были первые CPU, работающие на основе архитектуры фон Неймана и выполняющие функции арифметико-логического устройства и устройства управления.
Следующим этапом в эволюции центральных процессоров стал выпуск 16-битных Intel 8086/88, которые положили начало архитектуре x86 и массовому распространению персональных компьютеров. В 1980 был представлен первый процессор с RISC-архитектурой — IBM 801. По сравнению с CISC-процессорами того времени он имел меньшие размеры и число инструкций, был проще и дешевле в изготовлении. В 1984 начали изготовляться первые процессоры VLIW-архитектуры, однако они не получили большого распространения.
Дальнейшее развитие процессоров привело к переходу на 32-разрядные модели, позволявшие эффективнее работать с большими числами и адресовать ранее недоступные объемы памяти. В октябре 1985 вышел первый 32-битный x86-процессор, Intel 80386, а в 1986 появились три новые 32-битные RISC-архитектуры — MIPS, SPARC и PA-RISC, представленные компаниями MIPS Technologies, Sun и HP соответственно. Следующим шагом было появление 64-битных процессоров MIPS R4000 и DEC Alpha 21064. Alpha был также первым CPU, поддерживающим суперскалярность, то есть возможность исполнять более одной инструкции за такт. Первыми суперскалярными процессорами других архитектур стали Intel Pentium, MIPS R8000, PA-RISC 7100 и 64-битный UltraSPARC.
Следующей вехой в истории центральных процессоров стало динамическое исполнение команд. Заключалась оно в том, что процессор исполнял команды не в том порядке, в котором он их считывал из памяти, а в том, который был более эффективен по времени выполнения, и при этом, конечно же, не нарушал семантики программы. Эта технология была реализована во всех процессорах соответствующих архитектур, начиная с MIPS R10000, PA-RISC 8000, Intel Pentium Pro, Alpha 21264.
После этого появились первые популярные и коммерчески успешные процессоры с архитектурой VLIW — Intel Itanium и Transmeta Crusoe. Затем, с некоторым опозданием от других платформ вышли 64-битные расширения для x86, реализованные в процессорах AMD Opteron и Pentium 4.
В начале нового тысячелетия развитие центральных процессоров пошло в сторону увеличения количества ядер в одном процессорном корпусе. Практически одновременно вышли двухъядерные CPU всех популярных архитектур: PA-RISC 8800, UltraSPARC-IV, IBM PowerPC G4, MIPS BCM1255, AMD Athlon X2, Pentium D, Itanium 2, Intel Core 2 Duo. В ноябре 2005 вышел первый трехъядерный процессор Xenon/Waternoose для игровой консоли X-Box 360, а в ноябре 2006 ожидается появление семиядерного Cell в составе Sony PlayStation 3.
Основные принципы
Принцип модульности.
Операционная система строится из множества программных модулей. Под модулем в общем случае понимают функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами. По своему определению модуль предполагает легкий способ его замены другим при наличии заданных интерфейсов. Способы обособления составных частей операционной системы в отдельные модули могут быть существенно разными, но чаще всего разделение происходит именно по функциональному признаку. В значительной степени разделение системы на модули определяется используемым методом проектирования системы.
Принцип виртуализации.
В наше время уже не требуется пояснять значение слова ≪виртуальный≫, ибо о виртуальных мирах, о виртуальной реальности знают даже дети. Принцип виртуализации нынче используется практически в любой операционной системе. Виртуализация ресурсов позволяет не только организовать разделение тех ресурсов между вычислительными процессами, которые не должны разделяться. Виртуализация позволяет абстрагироваться от конкретных ресурсов, максимально обобщить их свойства и работать с некоторой абстракцией, вобравшей в себя наиболее значимые особенности. Этот принцип позволяет представить структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов и использовать единую централизованную схему распределения ресурсов.
Следует заметить, что сама операционная система существенно изменяет наши представления о компьютере. Она виртуализирует его, добавляя ему функциональности, удобства управления, предоставляя средства организации параллельных вычислений и т. д. Именно благодаря операционной системе мы воспринимаем компьютер совершенно иначе, чем без нее.
Микропроцессоры имею значительно худшие результаты по сравнению с обычными процессорами но скорость работы для строго ограниченной задачи может значительно возрастать так как не тратятся ресурсы на сложный интерфейс.