- •Розділ 1. Загальні питання вивчення дисципліни
- •1.1. Вступ. Місце та значення вивчення обчислювальних мереж
- •Розділ 2. Комп’ютерні системи та обчислювальні мережі.
- •2.1. Комутаційне забезпечення персональних комп’ютерів.
- •2.1.1. Принципи побудови сучасних комп’ютерних мереж
- •2.1.2 Системи керування потоком
- •2.1.3 Системи керування інтерфейсом користувача
- •2.2. Глобальні комп'ютерні мережі і пакетні мережі.
- •2.2.1 Модель взаємодії відкритих систем
- •2.2.2 Багаторівневе представлення протоколів
- •2.2.3 Можливості X.25
- •2.2.4 Процедура laвv та процедури пакетного рівня.[1]
- •2.2.5 Стандарти 802.Х
- •2.2.6 Мережі Frame Relay
- •2.3. Локальні обчислювальні мережі.
- •2.3.1. Основні поняття та характеристики комп’ютерних систем та обчислювальних мереж
- •2.3.2 Апаратні і програмні засоби обчислювальних мереж
- •2.3.3. Сучасні засоби інтеграції комп’ютерних систем
- •2.3.4 Структура локальних та глобальних комп'ютерних мереж
- •2.3.5 Основні особливості локальних обчислювальних мереж
- •2.3.6. Топологія обчислювальних мереж
- •2.4 Інтернет та інтранет
- •2.4.1 Поняття Internet
- •2.4.2 Інформаційні та комунікаційні послуги Internet
- •2.4.3 Основні етапи розвитку Internet
- •2.5. Прикладні служби Internet
- •2.5.1 Служба ftp. Протокол ftp
- •2.5.2 Служба Telnet і протокол telnet
- •2.5.3 Служба www та протокол http
- •2.5.4 Способи підключення до Internet
- •2.5.6 Протокол icmp
- •2.5.8 Віртуальна частина мережі (vpn) і використання X.25 і Frame Relay. [11]
- •3. Локальні обчислювальні мережі
- •3.1. Асинхронні модеми і інтерфейси та їх програмування.
- •3 .1.1 Неможливість безпосередньої передачі даних
- •3.1.2 Рішення проблеми передачі за допомогою модему
- •3.1.3 Інтерфейси модему
- •Аналогова модуляція
- •Методи частотної модуляції в низько швидкісних модемах
- •3.1.4 Стандарт V.21
- •Модеми типу Bell System 212а і модеми V.22
- •Характеристики і можливості модемів
- •Стиснення даних і стандарт V.42bis
- •Алгоритм lzw
- •Параметри стиснення
- •Виявлення і виправлення помилок
- •3.1.6 Протокол mnp
- •3.1.7 Стандарти комунікаційних інтерфейсів
- •3.1.8 Інтерфейси rs-232 і v24
- •Конструкція інтерфейсу
- •Приклади використання інтерфейсу rs-232
- •3.1.9 Керування асинхронним модемом
- •3.1.10 Керування потоком
- •3.1.11 Інші інтерфейси
- •3.1.12 Команди модему
- •Факс-модеми
- •Тема 3.2. Передача даних в локальних мережах.
- •3.2.1 Способи і методи передачі даних. [14]
- •3.2.2 Ущільнення. [14]
- •3.2.3 Передача немодульованих та модульованих сигналів. [14]
- •3.2.4 Характеристика мережевого програмного забезпечення NetWare [15]
- •3.2.5 Керування км (Network Managment) [16]
- •3.2.6 Технологія відкритих протоколів (Open protocol technology) [16]
- •3.2.7 Стійкість до системних помилок (System fault tolerance) [17]
- •3.2.8 Технологія файл-серверу (Fileserver technology) [18]
- •3.3. Локальні комп'ютерні мережі Ethernet, Token-Ring та fddi.
- •3.3.1. Стандарти локальних комп'ютерних мереж [2]
- •3.3.2. Модель osi [2]
- •3.3.3. Fast Ethernet: разподіл фізичного рівня, повторювачі [2]
- •3.3.5. Локальні обчислювальні мережі з передачею маркера [2]
- •3.3.6. Мережі fddi [2]
- •Розділ 4. Програмування в локальних комп'ютерних мережах.
- •4.1. Мережеві операційні системи та програмне забезпечення підтримки комп'ютерних мереж.
- •4.1.1 Еволюція ос
- •4.1.2 Структура програмних засобів комп'ютерних систем
- •4.1.3 Класифікація операційних систем
- •4.1.4 Керування комп’ютерної системи
- •Керування інтерфейсом
- •Керування потоком
- •Керування ресурсами
- •Керування процесами
- •Стани процесів
- •4.1.5 Розподілення ресурсів між процесами Виклик віддалених процедур
- •Динамічне зв'язування
- •Семантика rpc при відмовах
- •Примітиви керування процесами
- •Концепція процесу
- •Загальна характеристика
- •Керування процесами.
- •Зародження процесів
- •Керування пам'яттю.
- •4.1.7. Мережеві продукти фірми Novell.
- •Версії ос NetWare.
- •Структура NetWare і її особливості
- •Способи забезпечення відкритості і розширюваності
- •Способи забезпечення надійності
- •Засоби захисту інформації
- •4.1.8 Операційні системи Windows'х
- •Основні відмінності w' 98
- •Операційні системи w' nt
- •4.2. Програмування обміну інформацією по протоколу ipx.
- •4.2.1 Основи програмування в комп'ютерних мережах. Визначення в комп’ютерній системі присутності мережевих пристроїв та присутності драйверів.[19]
- •4.2.2 Визначення в комп’ютерній мережі присутності мережевих пристроїв та присутності драйверів. [19]
- •4.2.3 Прийом і передача пакетів даних [19]
- •4.2.4 Мережеві функції ipx.
- •Тема 4.3. Програмування обміну інформацією по протоколу spx
- •4.3.1. Пакети даних в протоколі spx [20]
- •4.3.2. Робота з файлами. Програма роботи з файлами [20]
- •4.4. Програмування роботи з об’єктами, діагностика обчислювальних мереж.
- •4.4.1 Робота з об’єктами. [20]
- •4.4.2. Семафори
- •4.4.3 Обслуговування Транзакцій
- •4.4.4. Робоча станція Novell NetWare [20]
- •Розділ 5. Цифрові обчислювальні мережі.
- •5.1. Мережа isdn. [23]
- •5.1.1 Загальні відомості про isdn
- •5.1.2 Області застосування, основні та додаткові послуги [24]
- •5.1.3 Переваги isdn
- •5.1.4 Концепція isdn
- •5.1.5. З’єднання з мережею Internet через isdn
- •5.2.1 Основи доступу до морежі Internet через isdn
- •5.1.6 Пристрої isdn
- •5.1.7 Телефонні послуги isdn і мережа Інтернет
- •5.1.8 Апаратні і програмні засоби для отримання доступу до мережі Інтернет через isdn
- •5.2. Мережа atm
- •5.2.1 Концепція технології atm [26]
- •5.2.2 Архітектура та маршрутизація в atm. Служб (QoS).[25],[26]
- •5.2.3 Емуляція локальної мережі: клієнт lane, сервер lane, bus [25]
- •5.2.4 Превага технології atm відносно Ethernet, Token-Ring, fddi [25]
- •5.2.5 Підключення до мережі
- •5.3 Бездротові мережі
- •5.3.1 Мобільний зв'язок [27]
- •5.3.2 Взаємодія компонентів мобільного зв’язку [2]
- •5.3.3 Доступ в Інтернет, протокол wap [2]
- •5.3.4 Методи передачі сигналу [2]
- •5.3.5 Стандарт локальних мереж ieee 802.11 [2]
- •5.3.6 Служби та застосування бездротових обчислювальних мереж [2]
- •Розділ 6 Проектування і адміністрування комп’ютерних мережах.
- •Тема 6.1 Вимоги до комп’ютерних мереж та методи проектування.
- •6.1.1 Вимоги до комп’ютерних мереж: [2]
- •6.1.2 Мережеві пристрої
- •6.1.3 Питання адміністрування комп’ютерної мережі
- •6.1.4 Програмні аналізатори комп’ютерної мережі
- •6.2 Стандарти адміністрування обчислювальних мереж
- •6.2.1 Віддалений моніторинг
- •Додатки а. Перлік практичних занять
- •Б. Перлік лабораторних робіт
- •В. Завдання для самостійного вивчення (самостійна робота)
- •Г. Модульні контрольні роботи
Семантика rpc при відмовах
В ідеалі RPC повинен функціонувати правильно і у випадку відмов. Розглянемо наступні класи відмов: 1. Клієнт не може визначити місцезнаходження сервера, наприклад, у разі відмови потрібного сервера, або через те, що програма клієнта була скомпільована давно і використовувала стару версію інтерфейсу сервера. У цьому випадку у відповідь на запит клієнта надходить повідомлення, з кодом помилки. 2. Втрачено запит від клієнта до сервера. Найпростіше рішення - через певний час повторити запит. 3. Втрачено повідомлення-відповідь від сервера до клієнта. Цей варіант складніший від попереднього, так як деякі процедури не є ідемпотентними. Ідемпотентною називається процедура, запит на виконання якої можна повторити кілька разів, і результат при цьому не зміниться. Прикладом такої процедури може бути читання файлу. Але ось процедура зняття деякої суми з банківського рахунку не є ідемпотентною, і в разі втрати відповіді повторний запит може істотно змінити стан рахунку клієнта. Одним з можливих рішень є приведення всіх процедур до ідемпотентного виду. Однак на практиці це не завжди вдається, тому може бути використаний інший метод - послідовна нумерація всіх запитів клієнтським ядром. Ядро сервера запам'ятовує номер самого останнього запиту від кожного з клієнтів, і при отриманні кожного запиту виконує аналіз: є цей запит первинним чи повторним. 4. Сервер зазнав аварію після отримання запиту. Тут також важливо властивість Ідемпотентний, але не може бути застосований підхід з нумерацією запитів. У даному випадку має значення, коли відбулася відмова - до чи після виконання операції. Але клієнтське ядро не може розпізнати ці ситуації, для нього відомо тільки те, що час відповіді вичерпано.
Існує три підходи до вирішення цієї проблеми: 1) Чекати до тих пір, поки сервер не перезавантажиться і намагатися виконати операцію знову. Цей підхід гарантує, що RPC був виконаний до кінця принаймні один раз, а можливо і більше. 2) Відразу повідомити додатка про помилку, що гарантує, що RPC був виконаний не більше одного разу. 3) Третій підхід не гарантує нічого. Коли сервер відмовляє, клієнтові не надається ніякої підтримки. RPC може бути або не виконано взагалі, чи виконано багато разів.
Примітиви керування процесами
В деяких ОС передбачається невелика кількість примітивів керування процесами. Більшість з них виконується шляхом посилки повідомлення ядру через порт процесу. (див. табл. 4.1).
Таблия 4.1 Виклики примітивів керування процесами
Виклик |
Опис |
Create |
Створює новий процес, що успадковує деякої властивості |
Termіnate |
Завершує визначений процес |
Suspend |
Нарощує лічильник припинень |
Resume |
Зменшує лічильник припинень; якщо він = 0, то розблокує процес |
Prіorіty |
Встановлює пріоритет для існуючих / майбутніх ниток |
Assіgn |
Говорить, на якому МП повинні виконуватися нові нитки |
Іnfo |
Повертає інформацію про час виконання, використовуваної пам'яті і т.д. |
Threads |
Повертає список ниток процесу |
Процеси можуть бути припинені і відновлені за допомогою програмного керування. Кожен процес має лічильник, нарощуваний викликом Suspend і зменшуваний викликом Resume, що можуть блокувати і розблокувати його. Коли лічильник дорівнює 0, то процес може виконуватися. Наявність лічильника дозволяє уникнути проблем.
Виклики Prіorіty і Assіgn дозволяють програмісту керувати тим, як і де нитки виконуються в багатопроцесорній системі. Планування CPU виконується на основі пріоритетів, так що програміст може визначати, які нитки більш важливі, а які - менш важливі.
