
- •Розділ 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 Віддалений моніторинг
- •Додатки а. Перлік практичних занять
- •Б. Перлік лабораторних робіт
- •В. Завдання для самостійного вивчення (самостійна робота)
- •Г. Модульні контрольні роботи
4.4.2. Семафори
Останній засіб синхронізації процесів – використання семафорів. Семафори Novell NetWare - це ресурси, розташовані фізично на файл-сервері.
Програма може відкрити / створити семафор за допомогою функції OpenSemaphore (), вказавши його ім'я. Функція, що відкриває семафор, повертає індекс семафора, який використовується для виконання всіх операцій над семафора.
З семафором крім імені зв'язується деяке число (значенням семафора) в діапазоні від -127 до127.
Крім того, для кожного семафора є лічильник процесів, які відкрили семафор. Цей лічильник збільшує своє значення на 1, коли чергова ПП відкриває семафор функцією OpenSemaphore (), і зменшує на одиницю, коли одна з ПП закриває семафор функцією CloseSemaphore (). Коли лічильник приймає нульове значення, семафор знищується.
Перед використанням критичного ресурсу, з яким пов'язаний семафор, ПП повинна зменшити значення семафора, викликавши функцію WaitOnSemaphore (). Якщо значення семафора дорівнює нулю або більше нуля, ПП може використовувати ресурс. Якщо ж семафор має негативне значення, функція WaitOnSemaphore () очікує семафор протягом зазначеного їй часу.
Після завершення роботи з критичним ресурсом ПП повинна збільшити значення семафора, викликавши функцію SignalSemaphore ().
Початкове значення семафора задається при його створенні і звичайно дорівнює одиниці.
Наприклад, прототип функції OpenSemaphore (), яка відкриває семафор:
int OpenSemaphore (char * SemaphoreName,
int InitialValue,
long * SemaphoreHandle, WORD * OpenCount);
Параметр SemaphoreName визначає ім'я семафор, який відкривається. Ім'я повинно мати довжину ≤ 127 символів, включаючи закриваючий рядок двійковий нуль.
Параметр InitialValue задає значення семафора, але тільки при першому відкритті, тобто при створенні семафора. Якщо семафор вже створений іншим процесом, цей параметр ігнорується. В якості початкового значення можна використовувати одиницю.
Параметр SemaphoreHandle - покажчик на змінну, в яку буде записаний індекс відкритого семафора. Цей індекс необхідний для виконання всіх операцій з семафора.
Параметр OpenCount - лічильник використання семафора. Коли черговий процес відкриває даний семафор, лічильник збільшує своє значення на одиницю.
Функція повертає 0 при успішному завершенні або такі коди помилки: 0xFE - неправильна довжина імені семафора; 0xFF - неправильне початкове значення семафора.
Для того щоб закрити семафор, необхідно використовувати функцію CloseSemaphore ():
int CloseSemaphore (long SemaphoreHandle);
Як параметр цієї функції вказується індекс закриваючого семафора.
Функція повертає 0 при успішному завершенні або такий код помилки: 0xFF - неправильне значення індексу семафора.
За допомогою функції ExamineSemaphore ()можна дізнатися поточний стан семафора:
int ExamineSemaphore (long SemaphoreHandle,
int * SemaphoreValue, WORD * OpenCount);
Для заданого першим параметром семафора функція повертає значення семафора (SemaphoreValue) і лічильник використання (OpenCount). Функція повертає 0 при успішному завершенні або такий код помилки: 0xFF - неправильне значення індексу семафора.
Перед використанням критичного ресурсу ПП повинна викликати функцію WaitOnSemaphore (), яка зменшує значення семафора: int WaitOnSemaphore (long SemaphoreHandle, WORD Timeout);
Параметр SemaphoreHandle визначає використовуваний семафор. За допомогою параметра Timeout визначається час, протягом якого функція очікує доступність ресурсу (в тіках). Функція повертає 0 при успішному завершенні або такий код помилки: 0xFE - закінчився час очікування, заданий параметром Timeout; 0xFF - неправильне значення індексу семафора.
Функція SignalSemaphore (), яка збільшує значення семафора, має наступний прототип: int SignalSemaphore (long SemaphoreHandle);
Індекс семафора задається параметром функції. Функція повертає 0 при успішному завершенні або такий код помилки: 0x01 - переповнення семафора, значення семафора стало більше 127; 0xFF- неправильне значення індексу семафора.
Для роботи з семафорами можна використовувати функцію C5h переривання INT 21h. У залежності від зачення регістра AL ця функція виконує ту чи іншу операцію з семафора.
Відкриття семафора: На вході: AH = C5h; AL = 00h; DS: DX = Адреса імені семафора; CL = Початкове значення семафора. На виході: AL = Код помилки або 0, якщо операція завершилася без помилок.
Визначення стану семафора: На вході: AH = C5h; AL = 01h; CX, DX = Індекс семафора; На виході: AL = Код помилки або 0, якщо операція завершилася без помилок; CX = Значення семафора; DL = Лічильник використань семафора.
Зменшення значення семафора: На вході: AH = C5h; AL = 02h; CX, DX = Індекс семафора; BP = Час очікування. На виході: AL = Код помилки або 0, якщо операція завершилася без помилок.
Збільшення значення семафора: На вході: AH = C5h; AL = 03h; CX, DX = Індекс семафора. На виході: AL = Код помилки або 0, якщо операція завершилася без помилок.
Закриття семафора: На вході: AH = C5h; AL = 04h; CX, DX = Індекс семафора. На виході: AL = Код помилки або 0, якщо операція завершилася без помилок.