Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Общая организация традиционного ядра ОС UNIX

Читайте также:
  1. a. Общая итоговая оценка воздействия
  2. I. Доказывание, понятие и общая характеристика
  3. I. Общая информация
  4. I. Общая информация
  5. I. ОБЩАЯ ФИЗИОЛОГИЯ. ВВЕДЕНИЕ.
  6. I. Организация класса
  7. I. Организация класса.
  8. I. Организация начала урока
  9. II. ОБЩАЯ ХАРАКТЕРИСТИКА ЖИЗНИ
  10. II. Организация деятельности Школы Права

Следует заметить, что удобство и эффективность современных вариантов ОС UNIX не означает, что вся система, включая ядро, спроектирована и структурирована наилучшим образом. ОС UNIX развивалась на протяжении многих лет. Естественно, наращивались возможности системы, и, как это часто бывает в больших системах, качественные улучшения структуры ОС UNIX не поспевали за ростом ее возможностей. В результате, ядро большинства современных коммерческих вариантов ОС UNIX представляет собой не очень четко структурированный монолит большого размера. По этой причине программирование на уровне ядра ОС UNIX продолжает оставаться искусством (если не считать отработанной и понятной технологии разработки драйверов внешних устройств).

 

Одно из основных достижений ОС UNIX состоит в том, что система обладает свой­ством высокой мобильности. Смысл этого качества состоит в том, что вся операционная система, включая ядро, сравнительно просто переносится на различные аппаратные плат­формы. Все части системы, не считая ядра, являются полностью машинно-независимыми. Эти компоненты аккуратно написаны на языке Си, и для их переноса на новую платформу (по крайней мере, в классе 32-разрядных компьютеров) требуется только перекомпиляция исходных текстов в коды целевого компьютера. В самом ядре можно выделить машинно-зависимые и машинно-независимые компоненты. Основная часть ядра не зависит от архи­тектурных особенностей целевой платформы, написана полностью на языке Си и для пе­реноса на новую платформу нуждается только в перекомпиляции.

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

· раскрутка и инициализация системы на низком уровне (пока это зависит от особенно­стей аппаратуры);

· первичная обработка внутренних и внешних прерываний;

· управление памятью (в той части, которая относится к особенностям аппаратной под­держки виртуальной памяти);

· переключение контекста процессов между режимами пользователя и ядра;

· связанные с особенностями целевой платформы части драйверов устройств.




Дата добавления: 2014-12-19; просмотров: 25 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав