
- •Операційні системи
- •Функціонування комп'ютерної системи
- •Обработка переривань
- •Структура пам'яті
- •Лекція 5: Архітектура ос. Управління процессами: Основні поняття. Семафори і монітори План
- •2. Керування процесами
- •Віртуальні машини - інший розповсюджений підхід до розробки операційних систем й їхніх користувальницьких інтерфейсів
- •Механізми й політики
- •Реалізація операційних систем
- •Генерація операційної системи
- •Перемикання з одного процесу на інший
- •Планувальники, що виконують диспетчеризацію процесів
- •Лекція 10. Методи синхронізації процесів План
- •Алгоритм рішення проблеми критичної секції
- •Алгоритм «в пиріжковій» (bakery algorithm)
- •Синхронізація на основі загальних семафорів
- •Реалізація семафорів
- •Рішення за допомогою семафорів завдання
- •Рішення за допомогою семафорів завдання "читачі - письменники"
- •Рішення за допомогою семафорів завдання " філософи, що обідають,"
- •Монітори
- •Лекція № 11. Управління памяттю План
- •Динамічне завантаження й динамічна лінковка
- •Оверлейна структура програми
- •Відкачка й підкачування
- •Лекція 13. Сегментна організація пам’яті. Віртуальна пам’ять
- •Оптимальний алгоритм заміщення сторінок
- •Сторінкова організація на вимогу в Windows nt
- •Лекція № 14. Системи файлів План
- •Типова організація файлової системи зображена на мал. 19.3.
- •Логічна організація директорій
- •Монтування файлових систем
- •Структура файлової системи
- •Лекція № 15. Віртуальні файлові системи План
- •Лекція 17. Системи вводу-виводу План
- •Опитування пристроїв
- •Переривання
- •Ввід-вивід із прямим доступом до пам'яті (dma)
- •Блокові й символьні пристрої
- •Мережні пристрої істотних відрізняються від блоків і символьних; мають свій власний інтерфейс і систему команд
- •Годинники й таймери
- •Блокуємий (синхронний) і не блокуємий (асинхронний) ввід-вивід
- •Структури даних для вводу-виводу в ядрі ос
- •Життєвий цикл запиту на ввід-вивід
- •Продуктивність вводу-виводу
- •Лекція 18. Мережі й мережеві структури. Класичні и сучасні мережеві комунікаційні протоколи План
- •Мережі Ethernet
- •Протокол tcp/ip
- •Функционирование Ethernet-мереж
- •Лекція 19: Безпека операційних систем і мереж. План
- •Лекція 20. Огляд архітектури й можливостей системи Linux: архітектура, ядро, поширення й ліцензування, принципи проектування, керування процесами План
- •Історія Linux
- •Ядро Linux
- •Сучасний стан Linux, дистрибутиви й ліцензування
- •Принципи проектування й компоненти системи Linux
- •Модулі ядра, що завантажують, Linux
- •Керування процесами в Linux
- •Планування завдань ядра й синхронізація в ядрі
- •Лекція 21. Огляд архітектури й можливостей системи Linux: керування пам'яттю, ресурсами, файлові системи, драйвери пристроїв, мережі, безпека План
- •Керування фізичною пам'яттю в Linux
- •Віртуальна пам'ять в Linux
- •Виконання й завантаження користувальницьких програм в Linux
- •Системи файлів Linux
- •Ввод й вивід в Linux
- •Взаємодія процесів в Linux
- •Структура мережі в Linux
- •Безпека в Linux
- •Розвиток і використання Linux
- •Лекція 22. Огляд архітектури й можливостей систем Windows 2000/xp/2003/Vista/2008/7 План
- •Система Windows 2000
- •Історія Windows
- •Принципи проектування Windows 2000 - розширюваність, переносимость, надійність, безпека, сумісність, продуктивність, підтримка інтернаціоналізації й локалізації.
- •Архітектура Windows 2000
- •Ядро Windows 2000
- •Обработка переривань у ядрі
- •Виконавча підсистема (executive) ос Windows 2000
- •Підсистеми оточення в Windows 2000
- •Лекція 23. Системні механізми Windows План
- •Система файлів Windows
- •Рограммный інтерфейс Windows
- •Програмний інтерфейс Windows: Керування процесами
- •Керування віртуальною й фізичною пам'яттю й робочими наборами в Windows
- •Лекція 24. Ос для мобільних пристроїв. Windows Mobile План
- •Особливості ос для мобільних пристроїв
- •Ринок ос для мобільних пристроїв
- •Перспективи ос для мобільних пристроїв
- •Лекція 25. Перспективи операційних систем і мереж План
- •Операційні системи інших великих фірм
- •Solaris - операційна система розробки фірми Oracle / Sun
- •Сучасні тенденції в розвитку ос
- •Нові ос сімейства Windows
- •Нові тенденції в розвитку ос
- •Графічні оболонки ос
- •Підтримка паралельних обчислень
- •Розвиток бездротових мереж
- •Перспективи розвитку ос
Структури даних для вводу-виводу в ядрі ос
У ядрі ОС зберігається інформація про стан для компонентів вводу-виводу, включаючи таблиці відкритих файлів, мережних з'єднань, стан символьних пристроїв. Вона являє собою велику кількість складних структур даних (черг вводу-виводу й таблиць пристроїв) для контролю буферів, розподілу пам'яті й ін. Реалізація багатьох із цих системних структур використає об'єктно-орієнтовані методи й передачу повідомлень.
Структура модулів вводу-виводу в системі UNIX зображена на рис. 21.5.
ечивает
найбільшу ефективність.
Рис. 21.5. Структура модулів вводу-виводу в ядрі UNIX.
Життєвий цикл запиту на ввід-вивід
Розглянемо більш докладно процес читання з дискового файлу. Він складається з наступних етапів:
Визначається пристрій, на якому зберігається файл;
Виконується трансляція імені в подання пристрою;
Фізично лічені дані з диска розміщаються в буфері;
Дані стають доступними для їхнього процесу, що запросив;
Керування повертається процесу.
Продуктивність вводу-виводу
Ввід-вивід - важливий фактор у продуктивності системи. Є декілька факторів, що визначають, наскільки ввід-вивід критичні по ефективності в системі:
Ввід-вивід жадає від процесора виконання драйвера пристрою - коду рівня ядра ОС;
Необхідно виконувати контекстні перемикання, пов'язані з перериваннями;
Необхідно виконувати копіювання даних.
Особливо напруженим у будь-якій комп'ютерній системі є мережний трафик, тому що його швидкість фактично визначає швидкість і продуктивність роботи всієї розподіленої системи (наприклад, роботи з вилученими файловими системами), а також швидкість одержання інформації з Інтернету або корпоративної мережі.
Лекція 18. Мережі й мережеві структури. Класичні и сучасні мережеві комунікаційні протоколи План
Мотивація використання мереж
Топології мереж
Типи організації мереж
Комунікація в мережах.
Протоколи коммуникації
Мережі Ethernet
Протокол TCP/IP
Стійкість мереж до помилок – виявлення помилок и реконфігурація мереж
Функционирование Ethernet-сетей
Некоторые современные сетевые протоколы
Семейство протоколов Wi-Fi (IEEE 802.11x)
Обмен мгновенными сообщениями (Instant Messaging and Presence)
Розподілені системи
Мотивація мереж. Використання комп'ютерів у сучасних умовах здійснюється не ізольовано, а в розподілених системах і мережах – домашньої або офісної локальної мережі, мережі Інтернет, корпоративних мереж й ін. На рис. 22.1 показано структуру типової розподіленої системи.
Рис. 22.1. Розподілена система.
Користувач із сайту B працює із сервером, розташованим на сайті B. На сайті C користувачам надані корисні ресурси.
Таким чином, використання мереж і мережних структур має наступну мотивацію:
Спільне використання ресурсів. Ресурси, надавані різними вузлами (сайтами) мережі, можуть спільно використатися всіма її сайтами.
Спільне використання й публікація файлів на вилучених сайтах. Мережі дозволяють користувачам публікувати інформацію на вилучених сайтах для її використання іншими користувачами мережі.
Обробка інформації в розподіленій базі даних. За допомогою мереж користувачам надаються вилучені й розподілені бази даних з різноманітною інформацією з області бізнесу, економіки, утворення, туризму й ін.
Використання вилучених спеціалізованих пристроїв. Через мережу користувачі можуть звертатися до спеціалізованих пристроїв, відсутнім на їхніх локальних комп'ютерах - наприклад, принтерам.
Прискорення обчислень – розподіл завантаження. З використанням мережі можуть бути організовані розподілені обчислення, у яких кожен вузол мережі вирішує свою частину завдання, завдяки чому обчислення можуть бути значно прискорені.
Надійність – виявлення відмови машини, реінтеграція машини, що відмовила. Мережні архітектури дозволяють у випадку збоїв або відмов одного з вузлів мережі (наприклад, сервера) перерозподілити його робоче навантаження на інший аналогічний вузол мережі й вивести дефектний вузол з конфігурації мережі, з метою його наступного ремонту або заміни.
Комунікація – за допомогою передачі повідомлень. Мережа - зручний спосіб комунікації, ділового й особистого спілкування.
Мережні й розподілені операційні системи
Стосовно мереж, операційні системи можна розділити на мережні ОС і розподілені ОС.
У мережних ОС користувачі інформовані щодо множинності машин. Доступ до ресурсів на різних машинах виконується явно за допомогою:
Вилученого входу на відповідну машину.
Передачі даних з вилученої машини на локальну машину за допомогою механізму FTP (File Transfer Protocol).
У розподілених ОС користувачі не інформовані щодо множинності машин. Доступ до вилучених ресурсів здійснюється аналогічно доступу до локальних ресурсів (приклад - уже розглянута мережна файлова система NFS). Методи використання розподіленої ОС наступні:
Міграція даних – передача даних по мережі шляхом передачі цілого файлу, або передачі тільки тихнув частин даного файлу, які необхідні для виконання безпосередньо найбільш термінового завдання.
Міграція обчислень – передача по мережі обчислень, а не даних, всій іншій системі.
Міграція процесів – виконання процесу або його частин на вилучених машинах.
Переважеля міграції процесів:
Балансування завантаження – розподілене виконання процесів у мережі.
Прискорення обчислень – процеси можуть виконуватися паралельно на різних машинах.
Потреба в устаткуванні – для виконання процесу може знадобитися який-небудь конкретний процесор.
Потреба в програмному забезпеченні – необхідне програмне забезпечення може бути доступно тільки на якій-небудь конкретній машині.
Доступ до даних – процес виконується віддалено, замість того, щоб пересилати всі дані на локальну машину.
Мережні топології
Машини в системі можуть бути фізично з'єднані різноманітними способами - наприклад, провідним зв'язком (кабелями "кручена парі" або коаксіальними, волоконно-оптичними кабелями, телефонними кабелями), бездротовою зв'язком - Wi-Fi / Wi-MAX, Bluetooth, інфрачервоною зв'язком й ін. Способи об'єднання машин у мережу можуть аналізуватися й рівнятися з урахуванням наступних критеріїв:
Вартість комунікації. Скільки години потрібно для посилки повідомлення від машини A машині B?
Надійність. Якщо з'єднання або машина відмовляють, те чи можуть, проте, інші машини нормально здійснювати комунікацію?
Різні топології представляються у вигляді графів, вершини яких відповідають машинам. Дуга з вершини A у вершину B відповідає безпосередньому з'єднанню двох машин.
Схеми на рис. 22.2 пояснюють основні мережні топології.
Рис. 22.2. Мережні топології.
Основні топології мереж, зображені на схемах, - повністю з'єднана мережа (будь-яка машина з'єднана з будь-якою іншою), частково з'єднана мережа, мережа деревоподібної структури, мережа типу зірка, мережа типу кільце.
На практиці, практично будь-яка провідна локальна мережа організована логічно за принципом повністю з'єднаної мережі, далі фізично мережа реалізована в такий спосіб: кожна машина приєднана до концентратора (hub) – пристрій для установки комунікацій між машинами в мережі, а безпосередні з'єднання кожної машини з будь-якою іншою відсутні. У бездротових мережах, аналогічно, використаються особливі мережні концентратори для комунікації машин один з одним, так що можна також уважати, що бездротова локальна мережа - це повністю з'єднана мережа.
У клієнт-серверних регіональних і глобальних мережах, зрозуміло, схема інша - комп'ютери-клієнти з'єднуються тільки зі своїм сервером.
Більше старий спосіб безпосереднього з'єднання в мережу двох комп'ютерів – це їхнє з'єднання по нуль-модемному кабелю. Також для безпосереднього бездротового з'єднання двох портативних комп'ютерів можна використати інфрачервоні порти, якщо вони є, або Bluetooth.
Типи мереж
Локальні мережі. По числу машин, розміру й довжині мережі підрозділяються на локальні й глобальні.
Локальна мережа - Local-Area Network (LAN) – це мережа, розташована на невеликій площі, наприклад, у межах будинку або декількох сусідніх будинків – офісів, або навіть в одній кімнаті (наприклад, домашня локальна мережа)..
Локальна мережа організується на основі багатокористувацької шини, топології кільця або зірки.
Швидкість роботи в локальній мережі – порядку 10 мегабіт у секунду при використанні кабелю типу кручена парі (twisted pair) і мережних концентраторів (hubs). Ця швидкість невелика, особливо якщо машини розташовані на відстані кілька сотень метрів друг від друга; при роботі відчувається уповільнення. Якщо використаються волоконно-оптичні кабелі (fiber optic cables) і оптичні перемикачі (optical switches), то швидкість роботи мережі зростає до 100 мегабіт у секунду, такий спосіб з'єднання в мережу набагато дорожчий. Сучасні мережні адаптери персональних комп'ютерів дозволяють здійснювати з'єднання в мережу на швидкості до 1 гігабіта в секунду.
Вузлами локальної мережі є, як правило, робочі станції й (або) персональні комп'ютери. У локальній мережі можуть бути також декілька (звичайно одна або дві) mainframe-машини або навіть супер комп'ютери або комп'ютерні кластери (останнє характерно для університетів і великих дослідницьких центрів)
На рис. 22.3 зображено схему типової організації локальної мережі. У схемі, крім комп'ютерів і мережних ресурсів, є присутнім шлюз (gateway) – вхід у локальну мережу: звичайно це одна виділена машина, що відіграє роль вхідної в даній локальній мережі. Вона займається фільтрацією мережних пакетів, їхньою передачею іншим комп'ютерам, захистом від зовнішніх мережних атак.
Рис. 22.3.
Глобальні й регіональні мережі
Глобальні мережі - Wide-Area Network (WAN) – зв'язують географічно віддалені машини. Використаються з'єднання типу "точка - точка " (point-to-point) по лініях великої довжини (часто орендованим у телефонних компаній) – виділеним лініям (dedicated lines). Більше сучасні способи організації глобальних мереж - волоконно-оптичні кабелі й бездротовий зв'язок типу Wi-FI.
Взаємодія в глобальній мережі звичайно вимагає декількох повідомлень.
Вузлами глобальної мережі можуть бути як персональні комп'ютери, так й mainframe-комп'ютери, супер комп'ютери, кластери комп'ютерів.
Одним із сучасних видів глобальних і регіональних мереж є WWAN (Wireless Wide Area Network) - бездротова регіональна мережа. Подібні мережі реалізуються фірмою Cingular (США). Поширені в США й Канаді. Засновані на протоколах мобільного зв'язку GSM й CDMA. Швидкість такої мережі - порядку 100 Мбіт / с. Сучасні лаптопи (наприклад, Sony VAIO) обладнуються WWAN - адаптерами й антенами. У Росії аналогом є бездротові мережі Wi-MAX, які знаходять всеі більше широке поширення.
Як
показаний на рис.
22.4, у глобальних мережах для комунікації
використаються спеціальні комунікаційні
процесори.
Рис. 22.4. Комунікаційні процесори в глобальній мережі
Проблема організації комунікацій по мережі.
При проектуванні комунікаційної мережі повинні бути вирішені наступні основні проблеми:
Іменування й дозвіл імен. Як два процеси знайдуть один одного для комунікації?
Стратегії маршрутизації (routing). Яким образом повідомлення посилають по мережі?
Стратегії з'єднання (connection). Яким образом два процеси обмінюються повідомленнями?
Дозвіл конфліктів. Мережа - поділюваний ресурс; яким образом дозволяються конфліктуючі запити на її використання?
Іменування й дозвіл імен у мережі. Системи (машини) у мережі мають імена. Повідомлення ідентифікуються номерами процесів (process ids). Процес на вилученій системі ідентифікується парою <host-name, process-identifier>.
Для глобального дозволу мережних імен використається Domain Name Service (DNS), що забезпечує структуру іменування машин, а також перетворення імені в IP-адресі (у мережі Інтернет). Приклад доменного імені (domain name) машини в мережі Інтернет: spbu.ru – доменне ім'я Санкт-Петербурзького університету. За допомогою протоколу й сервісів DNS доменні імена перетворяться в числові IP-адреси конкретних машин у мережі, наприклад, 100.200. 150.2.
Стратегії маршрутизації
Маршрутизація (routing) – пошук маршруту для шкірного ятірного пакета й напрямок його по знайденому маршруті. Для маршрутизації в мережах використається спеціальне мережне устаткування – маршрутизатори (routers), які обов'язково повинні використатися в більших локальних мережах. Найбільш відомі компанії, що випускають маршрутизатори, - Cisco й 3COM. Розглянемо можливі стратегії маршрутизації.
Фіксована маршрутизація. Шлях від A до B завдань заздалегідь; він змінюється, тільки якщо їм неможливо скористатися через відмови пристроїв. При цьому:
Оскільки вибирається найкоротший шлях, витрати на комунікацію мінімізовані.
Фіксована маршрутизація не може бути адаптована до зміни завантаження.
Забезпечується одержання повідомлень у тім же порядку, у якому смороду були послані.
Віртуальний ланцюжок. Шлях від A до B фіксується на годину одному сеансу. Різні сеанси, що включають повідомлення від A в B, можуть мати різну маршрутизацію. Особливості даного способу маршрутизації:
Це частковий засіб адаптації до змін завантаження.
Забезпечується одержання повідомлень у тім же порядку, у якому смороду були послані.
Динамічна маршрутизація. Шлях для відправлення повідомлення від A до B визначається тільки в момент відправлення даного повідомлення.
Звичайно система посилає повідомлення іншій системі через з'єднання, найменш використовуване в цей момент години.
Метод адаптований до змін завантаження, тому що уникає відправлення повідомлень через інтенсивно використовувані з'єднання.
Повідомлення при даному методі можуть приходити в іншому порядку. Ця проблема може бути вирішена шляхом присвоювання номера послідовності шкірному повідомленню (що й реалізовано в мережах TCP/IP).
Стратегії з'єднання й дозвіл колізій
Мережі з кільцевою топологією. Для здійснення мережної комунікації необхідно встановити мережне з'єднання (connection). Розрізняються наступні види мережних з'єднань.
Перемикання схем. Установлюється постійне фізичне з'єднання на завісь годину комунікації (наприклад, по телефонній лінії або по кабелі "кручена парі").
Перемикання повідомлень. Установлюється тимчасове з'єднання на період передачі повідомлення (наприклад, пересилання електронної пошти).
Перемикання пакетів. Повідомлення змінної довжини діляться на пакети фіксованої довжини, які й посилають адресатові. Пакети можуть передаватися по мережі різними шляхами. Пакети повинні бути знову зібрані в повідомлення по їхньому прибутті. Приклад - основний протокол Інтернету TCP/IP.
Колізії в мережі виникають, якщо кілька систем одночасно звертаються до тієї самої ділянки мережі для передачі інформації.
Для дозволу колізій у мережах використається метод CSMA/CD (Carrier sense with multiple access; collision detection: носій, чутливий до одночасного доступу; виявлення колізій). Суть методу в наступному. Система визначає, чи не передається одночасно по даній ділянці мережі повідомлення іншою системою. Якщо дві або більше системи починають передачу повідомлень у точності в ті самий час, то фіксується колізія, і передача припиняється.
Недолік методу: якщо система сильно завантажена, те може виникнути безліч колізій, що приведе до падіння продуктивності.
Метод CSMA/CD успішно використається в мережах типу Ethernet - найпоширенішому типі мереж.
Методи мережного з'єднання в мережах з кільцевою топологією. У Росії поки не настільки популярні мережі з кільцевою топологією, однак їхнє вивчення й освоєння становить безсумнівний інтерес. Відомі наступні методи організації ятірного з'єднання й комунікації в мережах з кільцевими топологіями.
Передача маркера (token). Спеціальні повідомлення, називані маркерами, постійно циркулюють у системі (звичайно – при кільцевій топології мережі). Машина, який потрібно передати інформацію, винна дочекатися одержання повідомлення-маркера. Коли машина завершує свій раунд передачі повідомлення, вона передає по мережі маркерне повідомлення. Схема передачі маркерних повідомлень використається в системах IBM й Apollo. Така архітектура мережі називається маркерним кільцем (token ring).
Слоти для повідомлень. Трохи слотов для повідомлень фіксованого розміру постійно циркулюють у системі (звичайно – кільцевої структури). Оскільки слот може вміщати тільки повідомлення фіксованого розміру, єдине з логічної крапки зору повідомлення може бути розбите на кілька пакетів меншої довжини, кожний з яких пересилається в окремому слоті. Така схема була випробувана в експериментальній архітектурі мережі Cambridge Digital Communication Ring (Кембриджське кільце).
Модель ISO. Мережний протокол – це набір команд (операцій) для взаємодії вузлів у мережі. Через складність організації мереж, використовувана модель мережних протоколів містить велику кількість рівнів абстракції.
Відповідно до стандарту комунікаційної моделі ISO, комунікаційна мережа підрозділяється на наступні основні рівні (layers):
Фізичний рівень (physical layer) – механічні й електричні пристрої для передачі сигналів. Самий нижній рівень мережної комунікації. Включає мережне встаткування - мережні кабелі, рознімання, концентратори й т.д.
Рівень (зв'язування) даних (Data link layer) – обробляє фрейми ( frames),або частини пакетів фіксованої довжини, включаючи виявлення помилок і відновлення після помилок на фізичному рівні.
Мережний рівень (network layer) – забезпечує з'єднання й маршрутизацію пакетів у комунікаційній мережі, включаючи обробку адрес вихідних пакетів, декодування адрес вхідних пакетів і підтримку інформації для маршрутизації для відповідної відповіді для зміни рівнів завантаження.
Транспортний рівень (transport layer) – відповідає за мережний доступ нижнього рівня й за передачу повідомлень між клієнтами, включаючи поділ повідомлень на пакети, супровід порядку пакетів, потік керування й генерацію фізичних адрес.
Рівень сеансу (session layer) – реалізує сеанси (sessions), або протоколи комунікації між процесами.
Рівень презентацій (presentation layer) –інкапсулюють розходження у форматах між різними системами в мережі, включаючи перетворення символів і напівдуплексну (дуплексну) зв'язок (вивід^-вивід-висновок-вивід-луна-вивід).
Рівень додатків (application layer) – найвищий рівень моделі мережних протоколів. Взаємодіє безпосередньо із запитами на передачу файлів користувальницького рівня, протоколами вилучених входів і передачі електронної пошти, а також зі схемами розподілених баз даних.
Схема рівнів мережної комунікації представлена на рис. 23.1.
Рис. 23.1. Багаторівнева модель комунікації ISO.
На рис. 23.2 представлено зміст рівнів мережної комунікації.
Рис. 23.2. Рівні мережних протоколів (ISO).