
- •Принципи роботи апаратури введення-виведення. Пристрый введення-виведення.
- •Переривання персональної кс.
- •Задачі програмного забезпечення введення-виведення.
- •Способи здійснення операції введення- виведення.-------------
- •Обробники переривань.
- •Драйвери пристроїв.
- •Способи здійснення введення-виведення.
- •Еволюція функцій введення-виведення.
- •Прямий доступ до памяті.
- •Аспекти проектування пристроїв введення-виведення.
- •Логічна структура пристроїв введення-виведення.
- •Буферизація операцій введення-виведення.
- •Багаторівневі таблиці сторінок.--------------
- •Буфери швидкого перетворення адреси.
- •Інвертовані таблиці сторінок.
- •Поняття про алгоритм заміщення сторінок.
- •Оптимальне заміщення сторінок.
- •Алгоритм nru.
- •Алгоритм fifo.
- •Алгоритм «Друга спроба»
- •Алгоритм годинник
- •Алгоритм lru
- •Поняття файлової системи
- •Іменування файлів
- •Структура файлу
- •Типи файлів.
- •Доступ до файлів. Атрибути файлів
- •Файли відображувані на адресний простір памяті
- •Каталоги
- •Структура файлової системи
- •Реалізація файлів. Неперервні файли
- •Звязні списки
- •Звязний список за допомогою таблиці розміщеної в оп.
- •Реалізація файлів: і-вузли. Реалізація каталогів.
- •Поняття планування в системах з одним процесором
- •Типи планування процесора
- •Критерії короткотривалого планування
- •Використання пріоритетів
- •Альтернативні стратегії планування
- •Стратегія планування перший пішов-перший обслужив ся
- •Стратегія кругового планування
- •Віртуальне кругове планування
- •Стратегія вибору найкоротшого процесу
- •Стратегія найменшого часу, що залишився
- •Стратегія найвищого відношення відгуку
- •Зниження пріоритету
- •Порівняння продуктивності стратегій
- •Справедливе планування
- •Класифікація багатопроцесорних систем
- •Основні поняття про зернистості синхронізацій
- •Задачі планування в багатопроцесорній системі
- •Планування процесів
- •Планування потоків
- •Основні підходи до планування потоків
- •Розділення навантаження
- •Бригадне планування
- •Призначення процесорів
- •Динамічне планування
- •Поняття про обчислення реального часу
- •Характеристики ос реального часу
- •Планування реального часу
- •Планування граничними термінами
- •Частотно-монотонне планування
- •Постановка задачі проектування ос
- •Причини ускладнення проектування ос
- •Розробка інтерфейсу ос
- •Особливості проектування ос. Парадигми
- •Реалізація ос
- •Тенденції у проектуванні ос
- •Історичні відомості про ос типу unix
- •Загальна архітектура системи unix
- •Сучасні системи unix
- •Історія виникнення ос linux
- •Модульна структура ос linux
- •Традиційне планування unix
- •Історія виникнення windows
- •Архітектура ос windows 2000
- •Архітектура ос windows xp
Тенденції у проектуванні ос
Історичні відомості про ос типу unix
Перша операційна система типу UNIX була розроблена компанією BellLabs на системі PDP-7 в 1970 р. В наш час майже всі реалізації операційної системи UNIX написані на С. Версія 6 вийшла в 1976 році і стала широко використовуватись. Сьома версія, випущена в 1978 р., стала прототипом більшості сучасних систем UNIX.
Загальна архітектура системи unix
На рис.18.2 представлено узагальнену архітектуру системи UNIX. Апаратне забезпечення, що знаходиться в основі, оточено програмним забезпеченням операційної системи. Операційну систему часто називають системним ядром, щоб підкреслити її ізольованість від користувача і додатків. UNIX доповнюється різними користувацькими сервісами і інтерфейсами, які розглядаються як частина цієї системи. Їх можна згрупувати в оболонку інтерфейс та компоненти компілятора С (компілятор, асемблер, завантажувальник). Зовнішній по відношенню до цієї частини системи рівень складається з додатків користувача та інтерфейсу компілятора С. Програми користувача можуть викликати сервіси операційної системи безпосередньо або за допомогою бібліотечних програм. Інтерфейс системних викликів дозволяє програмам вищих рівнів отримати доступ до певних функцій ядра. Нижчі рівні операційної системи містять прості програми, які безпосередньо взаємодіють з апаратним забезпеченням. Між цими рівнями знаходяться компоненти системи; їх можна розділити на дві основні частини, одна з яких відноситься до керування процесами, а друга – до введення-виведення. Підсистема керування процесами відповідає за керування пам’яттю, розподіл ресурсів між процесами, диспетчеризацію, синхронізацію і за взаємодію різних процесів. Файлова система здійснює обмін даними між пам’яттю і зовнішніми пристроями або у вигляді потоків символів, або у вигляді блоків з використанням різних драйверів пристроїв. Поблочна передача даних здійснюється за участю дискового кешу – системного буферу основної пам’яті, що є проміжною ланкою між адресним простором корисувача і зовнішнім пристроєм.
Це питання стосується традиційних систем UNIX. Вони призначені для роботи на однопроцесорних системах і не мають достатньої можливості до захисту своїх структур даних від одночасного доступу при роботі на декількох процесорах.
Сучасні системи unix
В процесі розвитку операційної системи UNIX з’явилось багато її реалізацій, кожна з яких має свої можливості. В подальшому виникла необхідність створити реалізацію, в якій були б уніфіковані важливі нововведення, додані можливості інших сучасних операційних систем і яка б володіла модульною архітектурою. Архітектура типового сучасного ядра системи UNIX зображена на рис.18.4. В цій архітектурі є невелике ядро, яке може працювати з різними модулями, що надають різним процесам операційної системи необхідні функції і сервіси. Кожен зовнішній круг рисунку відповідає різним функціям та інтерфейсу, які можна реалізувати самими різними способами.
Історія виникнення ос linux
Система Linux виникла як варіант операційної системи UNIX, призначений для персональних комп’ютерів з ІВМ-сумісною архітектурою. Початкова версія була написана Лінусом Торвальдсом, фінським студентом, який вивчав теорію обчислювальних машин. В 1991 році Лінус представив в Internet першу версію системи Linux. З тих пір багато людей, співпрацюючи через Internet, розвивають Linux під керівництвом її розробника. Завдяки тому, що система Linux є безкоштовною і можна безперешкодно отримати її початковий код, то вона стала першою альтернативою робочим станціям UNIX, які пропонували фірми Sun i Silicon. На сьогодні Linux є повнофункціональною системою сімейства UNIX, здатною працювати на всіх цих і інших платформах.