69299

Особливості архітектури: UNIX і Linux

Лекция

Информатика, кибернетика и программирование

UNIX є прикладом досить простої архітектури ОС. Більша частина функціональності цієї системи міститься в ядрі, ядро спілкується із прикладними програмами за допомогою системних викликів. Базова структура класичного ядра UNIX зображена на...

Украинкский

2014-10-02

70 KB

22 чел.

Лекція № 3

Тема: Особливості архітектури: UNIX і Linux 

План

1. Базова архітектура UNIX

2. Архітектура Linux

Базова архітектура UNIX

UNIX є прикладом досить простої архітектури ОС. Більша частина функціональності цієї системи міститься в ядрі, ядро спілкується із прикладними програмами за допомогою системних викликів. Базова структура класичного ядра UNIX зображена на рис. 2.3.

Система складається із трьох основних компонентів: підсистеми керування процесами, файлової підсистеми та підсистеми введення-виведення.

Підсистема керування процесами контролює створення та вилучення процесів, розподілення системних ресурсів між ними, міжпроцесову взаємодію, керування пам'яттю.

Файлова підсистема забезпечує єдиний інтерфейс доступу до даних, розташованих на дискових накопичувачах, і до периферійних пристроїв. Такий інтерфейс є однією з найважливіших особливостей UNIX. Одні й ті самі системні виклики використовують як для обміну даними із диском, так і для виведення на термінал або принтер (програма працює із принтером так само, як із файлом). При цьому файлова система переадресовує запити відповідним модулям підсистеми введення-виведення, а ті — безпосередньо периферійним пристроям. Крім того, файлова підсистема контролює права доступу до файлів, які значною мірою визначають привілеї користувача в системі.

Підсистема введення-виведення виконує запити файлової підсистеми, взаємодіючи з драйверами пристроїв. В UNIX розрізняють два типи пристроїв: символьні (наприклад, принтер) і блокові (наприклад, жорсткий диск). Основна відмінність між ними полягає в тому, що блоковий пристрій допускає прямий

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

Сучасні UNIX-системи дещо відрізняються за своєю архітектурою.

У них виділено окремий менеджер пам'яті, відповідальний за підтримку віртуальної пам'яті.

Стандартом для реалізації інтерфейсу файлової системи є віртуальна файлова система, що абстрагує цей інтерфейс і дає змогу організувати підтримку різних типів файлових систем.

У цих системах підтримується багатопроцесорна обробка, а також багатопотоковість.

Базові архітектурні рішення, такі як доступ до всіх пристроїв введення-виведення через інтерфейс файлової системи або організація системних викликів, залишаються незмінними в усіх реалізаціях UNIX.

Архітектура Linux

В ОС Linux можна виділити три основні частини:

4- ядро, яке реалізує основні функції ОС (керування процесами, пам'яттю, введенням-виведенням тощо);

системні бібліотеки, що визначають стандартний набір функцій для використання у застосуваннях (виконання таких функцій не потребує переходу в привілейований режим);

системні утиліти (прикладні програми, які виконують спеціалізовані задачі).

Призначення ядра Linux і його особливості

Linux реалізує технологію монолітного ядра. Весь код і структури даних ядра перебувають в одному адресному просторі. У ядрі можна виділити кілька функціональних компонентів [63].

Планувальник процесів — відповідає за реалізацію багатозадачності в системі (обробка переривань, робота з таймером, створення і завершення процесів, перемикання контексту).

Менеджер пам'яті — виділяє окремий адресний простір для кожного процесу і реалізує підтримку віртуальної пам'яті.

Віртуальна файлова система — надає універсальний інтерфейс взаємодії з різними файловими системами та пристроями введення-виведення.

Драйвери пристроїв — забезпечують безпосередню роботу з периферійними пристроями. Доступ до них здійснюється через інтерфейс віртуальної файлової системи.

Мережний інтерфейс — забезпечує доступ до реалізації мережних протоколів і драйверів мережних пристроїв.

♦  Підсистема міжпроцесової взаємодії — пропонує механізми, які дають змогу різним процесам у системі обмінюватися даними між собою. Деякі із цих підсистем є логічними компонентами системи, вони завантажуються у пам'ять разом із ядром і залишаються там постійно. Компоненти інших підсистем (наприклад, драйвери пристроїв) вигідно реалізовувати так, щоб їхній код міг завантажуватися у пам'ять на вимогу. Для розв'язання цього завдання Linux підтримує концепцію модулів ядра.

Модулі ядра

Ядро Linux дає можливість на вимогу завантажувати у пам'ять і вивантажувати з неї окремі секції коду. Такі секції називають модулями ядра (kernel modules) [ЗО] і виконують у привілейованому режимі. Модулі ядра надають низку переваг.

Код модулів може завантажуватися в пам'ять у процесі роботи системи, що спрощує налагодження компонентів ядра, насамперед драйверів.

З'являється можливість змінювати набір компонентів ядра під час виконання: ті з них, які в цей момент не використовуються, можна не завантажувати у пам'ять.

Модулі є винятком із правила, за яким код, що розширює функції ядра, відповідно до ліцензії Linux має бути відкритим. Це дає змогу виробникам апаратного забезпечення розробляти драйвери під Linux, навіть якщо не заплановано надавати доступ до їхнього вихідного коду.

Підтримка модулів у Linux складається із трьох компонентів.

Засоби керування модулями дають можливість завантажувати модулі у пам'ять і здійснювати обмін даними між модулями та іншою частиною ядра.

Засоби реєстрації драйверів дозволяють модулям повідомляти іншу частину ядра про те, що новий драйвер став доступним.

Засоби розв'язання конфліктів дають змогу драйверам пристроїв резервувати апаратні ресурси і захищати їх від випадкового використання іншими драйверами.

Один модуль може зареєструвати кілька драйверів, якщо це потрібно (наприклад, для двох різних механізмів доступу до пристрою).

Модулі можуть бути завантажені заздалегідь — під час старту системи (завантажувальні модулі) або у процесі виконання програми, яка викликає їхні функції. Після завантаження код модуля перебуває в тому ж самому адресному просторі, що й інший код ядра. Помилка в модулі є критичною для системи.

Особливості системних бібліотек

Системні бібліотеки Linux є динамічними бібліотеками, котрі завантажуються у пам'ять тільки тоді, коли у них виникає потреба. Вони виконують ряд функцій:

реалізацію пакувальників системних викликів;

розширення функціональності системних викликів (до таких бібліотек належить бібліотека введення-виведення мови С, яка реалізує на основі системних викликів такі функції, як printfO);

+ реалізацію службових функцій режиму користувача (сортування, функції обробки рядків тощо).

Застосування користувача

Застосування користувача в Linux використовують функції із системних бібліотек і через них взаємодіють із ядром за допомогою системних викликів.

Питання для самоконтролю:

  1.  Базова архітектура UNIX.
  2.  Підсистема керування процесами. Файлова підсистема. Підсистема введення-виведення.
  3.  Складові частини архітектури Linux.
  4.  Призначення ядра Linux.
  5.  Переваги модулів ядра.
  6.  Підтримка модулів у Linux.
  7.  Особливості системних бібліотек.


 

А также другие работы, которые могут Вас заинтересовать

44545. Средства обработки бумажных документов 31.5 KB
  Поэтому говоря о концепции построения КИС нельзя не упомянуть такую актуальную на сегодняшний день проблему как совмещение в документообороте предприятия электронных и бумажных документов. Практически все современные СУД хранящие документы предоставляют те или иные функции по обработке бумажных документов. Обычно они реализуются с помощью специального модуля который позволяет автоматизировать сканирование и сохранение образов многостраничных документов а также их распознавание и аннотирование.
44546. Системы поддержки принятия решений 32 KB
  В этом случае на помощь старым методам приходит оперативная обработка данных OnLine nliticl Processing OLP. Сила OLP заключается в том что в отличие от классических методов поиска запросы здесь формируются не на основе жестко заданных или требующих для модификации вмешательства программиста и следовательно времени т. OLP обеспечивает выявление ассоциаций закономерностей трендов проведение классификации обобщения или детализации составление прогнозов т. Не останавливаясь на тонкостях организации различных моделей OLP например...
44547. Системы, основанные на применении Internet-технологий 31 KB
  Рассматривая вопрос применения Internetтехнологий нельзя не затронуть такую важную проблему как обеспечение информационной безопасности. В дополнение к ним на стыке сегментов локальных сетей и Internet желательна установка брандмауэров средств контроля за внешними входящими и исходящими соединениями. Они позволяют отслеживать передачу информации практически всех известных на сегодняшний день протоколов Internet.
44548. Средства стратегического планирования 31.5 KB
  Как известно для решения подобных задач применяются системы управления проектами например Microsoft Project Symntec Time Line. Практически все системы управления проектами СУП берут за основу некий план проекта составляемый на предварительном этапе. Чисто технически интеграция современных САДП и СУП не вызывает вопросов поскольку обе системы как правило соответствуют стандартам межпрограммного взаимодействия и могут разделять данные.5 позволяет получать доступ к данным о проекте используя внешние приложения в том числе и...
44549. Понятие КИС. Основные этапы и принципы построения 30 KB
  Основные этапы и принципы построения Комплексная информационная система это совокупность технических и программных средств предприятия реализующих идеи и методы автоматизации. И использование специальных программных средств обеспечивающих информационную поддержку бизнеспроцессов в качестве основы КИС представляется наиболее оправданным и эффективным. Среди преимуществ такого подхода следует отметить возможность внесения изменений в отдельные программные компоненты расположенные в одном слое без необходимости коренных переделок на...
44550. Использование языка функиональных блоков ТехноIL, FBD при программирование алгоритмов в КИС 41 KB
  Программа созданная на этом языке называется FBDпрограммой. Для разработки FBDпрограмм в редакторе базы каналов предусмотрены два окна FBD программы и LD программы. Для входа в первое из них нужно выполнить команду FBD программы меню Окна или нажать сочетание клавиш LT3 или нажать ЛК на иконке панели инструментов.
44551. Понятие КИС и её основные части 32 KB
  Современные системы управления деловыми процессами позволяют интегрировать вокруг себя различное программное обеспечение формируя единую информационную систему. Основными функциями управления являются как известно планирование организация активизация координация контроль и анализ которые осуществляются в многомерном пространстве различных областей деятельности предприятия. Очевидно что в состав КИС должны войти средства для документационного обеспечения управления информационной поддержки предметных областей коммуникационное...
44552. Проблемы защиты информации в современных КИС 30.5 KB
  Достаточно сложно решить и проблему надежной аутентификации пользователей. При аутентификации пользователей локальной сети успешно решить эту задачу помогают организационные меры отсечение посторонних пользователей от клиентских компьютеров и терминалов контроль за подключениями к кабельной системе здания и т. Новые проблемы создает проблема аутентификации пользователей при ведении бизнеса через Internet. Число пользователей вырастает настолько что количество переходит в качество и старые методы аутентификации на основе индивидуальных...
44553. Обеспечение иерархии скоростей и качества обслуживания 31.5 KB
  Возможность поэтапного внедрения новой технологии в существующие сети не требующего чрезмерных разовых вложений. Все работы по созданию технологий удовлетворяющих этим требованиям можно разделить на три большие группы: Создание масштабируемой по скорости технологии на основе технологии Ethernet: линия Ethernet FstEthernet GigbitEthernet. Создание технологии с масштабируемой скоростью частично совместимой с Ethernet и имеющей встроенные возможности для обеспечения начального уровня качества обслуживания для трафика реального...