69299

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

Лекция

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

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

Украинкский

2014-10-02

70 KB

25 чел.

Лекція № 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.  Особливості системних бібліотек.


 

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

84029. Вклад А.А. Богданова в развитие советской школы управления 22.91 KB
  Богданова в развитие советской школы управления Сформулированная и разработанная А. Богдановым Тектология явилась одной из первых концепций общего учения об организации. Богданов отмечал взаимосвязь организации с внешней средой. Богданов высказал идею о необходимости системного подхода к изучению организационной науки дал характеристику системы и ее элементов показав что организационное целое оказывается больше простой суммы его частей.
84030. Отечественная школа управления и теоретические воззрения О. А. Ерманского 20.09 KB
  Дав определение рациональной организации как теории наилучшего оптимального использования всех видов энергии и всех факторов производства он высказал убеждение что предметом этой теории являются три основных принципа закона: 1 принцип положительного подбора; 2 закон организационной суммы; 3 принцип оптимума. Помимо этих основополагающих по мнению Ерманского принципов теория должна формулировать частные принципы практической рационализации производства и управления. Главным принципом является принцип оптимума который он назвал...
84031. Характерные черты и недостатки советской системы управления 23.39 KB
  Хаотический характер капиталовложений в свою очередь приводит к нерациональной структуре основных фондов. Низкаярентабельость капиталовложений постепенно приводит к разорению экономики страны Принципиальная неопределенность будущего делает невозможным планирование инноваций. Техника и технология часто развиваются на основе копирования идей из стран с рыночной экономикой что в свою очередь приводит к перманентному технологическому отставанию Централизация стратегических решений приводит к централизации рисков. В случае ошибочного выбора...
84032. Характеристика российской теории и практики управления 23 KB
  После революции 1917г. в стране стала формироваться плановая экономика. Позже были созданы институты по формиров. системы организации труда на предприятии. Появились институты по разработке НОТ (науч. орг. труда). Система управления была реформирована в 1965г. в результате первое время показатели деятельности предприятий значительно улучшились. В нач. 1970х произошло ухудшение всех показателей, снижение реальных доходов населения по причинам...
84033. Менеджмент и управление. Основные категории и понятия 17.72 KB
  Элементами управления как всеобщего вида человеческой деятельности являются цель управления и способ достижения цели объект и субъект управления взаимодействующие в определенной окружающей среде. Предметом рассмотрения теории управления являются управленческие отношения реализующиеся как информационные связи при организации производства и управлении им. Процесс управления включает сбор переработку и передачу информации используемой для выработки решений.
84034. Классификация подходов к определению понятия менеджмент 22.31 KB
  Менеджмент - это самостоятельный вид профессионально осуществляемой деятельности, направленной на достижение в рыночных условиях намеченных целей путем рационального использования материальных и трудовых ресурсов с применением принципов, функций и методов экономического механизма менеджмента.
84036. Важнейшие элементы управленческого процесса 20.52 KB
  Основной целью науки управления является изучение и совершенствование принципов структур методов и техники управления. Поиск оптимальных методов управления ведется постоянно и в большом диапазоне от технологических до экономических административных и социально психологических. Метод управления можно определить как способ воздействия на управляемую систему для реализации поставленной задачи. Важнейшими элементами управленческого процесса является объект и субъект управления которые путем воздействия друг на друга достигают определенных...
84037. Основные цели и задачи менеджмента 23.72 KB
  Деятельность процесс достижения результата или цели. Не сами цели как таковые приводят к результату а процесс достижения их с помощью материальных средств или действий. Цели являются существенным элементом управления выполняя след.