- •Розділ 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 Віддалений моніторинг
- •Додатки а. Перлік практичних занять
- •Б. Перлік лабораторних робіт
- •В. Завдання для самостійного вивчення (самостійна робота)
- •Г. Модульні контрольні роботи
Концепція процесу
Процес - мінімальний програмний об'єкт, який володіє власними системними ресурсами (запущена програма).
Класифікація процесів. По тимчасових характеристиках процеси є: інтерактивними, пакетними і реального часу. Час існування інтерактивного процесу визначається реакцією комп'ютера на запит обслуговування і складає секунди. Процеси реального часу мають гарантований час закінчення роботи і час реакції мсек. Пакетні процеси запускаються один вслід за іншим і час реакції години і більше.
По генеалогічній ознаці розрізняють процеси, що породжують і породжені.
По результативності розрізняють еквівалентні, тотожні і рівні процеси. Всі вони мають однаковий кінцевий результат, але еквівалентні процеси можуть реалізовуватися як на одному; так і на багатьох процесорах поодинці або різних алгоритмах, тобто і вони мають різні траси, які визначають порядок і час перебування процесу в різних станах. Тотожні процеси реалізуються за однією і тією ж програмою, але мають різні траси. Однакові процеси реалізуються за однією програмою і мають однакові траси.
За часом розвитку процеси діляться на послідовні, паралельні і комбіновані (для останніх є місця, в яких існують обидва процеси, і місця, в яких існує тільки один процес).
По місцю розвитку процеси діляться на внутрішні (реалізуються на центральному процесорі (ЦП)) і зовнішні (реалізуються на зовнішніх МП). По приналежності до ОС процеси бувають системні (виконують програму з складу ОС) і призначені для користувача.
По зв'язності розрізняють процеси: взаємозв'язані, які мають якийсь зв'язок (просторово-часову, управляючу, інформаційну); ізольовані - слабо зв'язані; незалежні, які використовують сумісні ресурси, але мають власні інформаційні бази; взаємодіючі - мають інформаційні зв'язки і розділяють загальні структури даних; взаємозв'язані по ресурсах; конкуруючі.
Порядок взаємозв'язку процесів визначається правилами синхронізації. Процеси можуть знаходитися у відношенні: передування (один завжди знаходиться в активному стані раніше, ніж інший); пріоритетності (коли процес може бути переведений в активний стан тільки в тому випадку, якщо в стані готовності немає процесів з вищим пріоритетом, або МП вільний, або на ньому реалізується процес з меншим пріоритетом); взаємного виключення (в процесі використовується загальний критичний ресурс, і процеси не можуть розвиватися одночасно: якщо один з них використовує критичний ресурс, то інший знаходиться в стані очікування).
Нитки
Багатозадачність є найважливішою властивістю ОС. Для підтримки цієї властивості ОС визначає та оформлює для себе ті внутрішні одиниці роботи, між якими і буде розділятися процесор і інші ресурси комп'ютера. Такі внутрішні одиниці роботи в різних ОС носять різні назви – задача, завдання, процес, нитка. У деяких випадках сутності цих понять, принципово відрізняються один від одного.
Говорячи про процеси, було відзначено, що ОС підтримує їхню відособленість: у кожного процесу мається свій ВАП, кожному процесу призначаються свої ресурси - файли, вікна, семафори і т.п. Така відособленість потрібна для того, щоб захистити один процес від іншого, оскільки вони, спільно використовуючи всі ресурси комп'ютера, конкурують один з одним. У загальному випадку процеси належать різним користувачам, які розділяють один комп'ютер, і ОС бере на себе роль арбітра в суперечках процесів за ресурси.
При мультипрограмуванні підвищується пропускна здатність системи, але окремий процес ніколи не може бути виконаний швидше, ніж якби він виконувався в однопрограмному режимі (усякий поділ ресурсів сповільнює роботу одного з учасників за рахунок додаткових витрат часу на ОЧІКУВАННЯ звільнення ресурсу). Однак задача, розв'язувана в рамках одного процесу, може мати внутрішній паралелізм, що у принципі дозволяє прискорити її рішення. Наприклад, у ході виконання задачі відбувається звертання до зовнішньому пристрою, і на час цієї операції можна не блокувати цілком виконання процесу, а продовжити обчислення по іншій "галузі" процесу.
Для цих цілей в сучасних ОС використовується механізм багатониткової обробки (multithreading). При цьому введено поняття "нитка" (thread), а поняттю "процес" у значній мірі змінено зміст.
Мультипрограмування тепер реалізується на рівні ниток, і задача, оформлена у виді декількох ниток у рамках одного процесу, може бути виконана швидше за рахунок псевдопаралельного (чи рівнозначного в мультипроцесорній системі) виконання її окремих частин. Наприклад, якщо електронна таблиця була розроблена з урахуванням можливостей багатониткової обробки, то користувач може запросити перерахування свого робочого листа й одночасно продовжувати заповнювати таблицю. Особливо ефективно можна використовувати багатонитковість для виконання розподілених додатків, наприклад, багатонитковий сервер може паралельно виконувати запити відразу декількох клієнтів.
Нитки, що відносяться до одного процесу, не настільки ізольовані одна від одної, як процеси в традиційній багатозадачній системі, між ними легко організувати тісну взаємодію. Дійсно, на відміну від процесів, які належать різним конкуруючим додаткам, усі нитки одного процесу завжди належать одному додатку, тому програміст, що пише цей додаток, може заздалегідь продумати роботу множину ниток процесу таким чином, щоб вони могли взаємодіяти, а не боротися за ресурси.
У традиційних ОС поняття "нитка" тотожно поняттю "процес". У дійсності часто буває бажано мати кілька ниток, які розділяють єдиний адресний простір, але виконуються квазипаралельно, завдяки чому нитки стають подібними до процесів (за винятком поділюваного адресного простору).
Нитки іноді називають полегшеними процесами або міні-процесами. Дійсно, нитки в багатьох відносинах подібні процесам. Кожна нитка виконується строго послідовно і має свій власний програмний лічильник і стек. Нитки, як і процеси, можуть, наприклад, породжувати нитки-нащадки, можуть переходити зі стану в стан. Подібно традиційним процесам, нитки можуть знаходиться в одному з наступних станів: ВИКОНАННЯ, ОЧІКУВАННЯ і ГОТОВНІСТЬ. Поки одна нитка заблокована, інша нитка того ж процесу може виконуватися. Нитки розділяють процесор так, як це роблять процеси, відповідно до різних варіантів планування.
Однак різні нитки в рамках одного процесу не настільки незалежні, як окремі процеси. Усі такі нитки мають той самий адресний простір. Це означає, що вони розділяють ті самі глобальні змінні. Оскільки кожна нитка може мати доступ до кожної ВА, одна нитка може використовувати стек іншої нитки. Між нитками немає повного захисту, тому що це неможливо і не потрібно. Усі нитки одного процесу завжди вирішують загальну задачу одного користувача, і апарат ниток використовується тут для більш швидкого рішення задачі шляхом її разпаралелювання. При цьому програмісту дуже важливо одержати у своє розпорядження зручні засоби організації взаємодії частин однієї задачі. Крім поділу адресного простору, усі нитки розділяють також набір відкритих файлів, таймерів, сигналів та ін. Отже, нитки мають власні: програмний лічильник, стек, регістри, нитки-нащадки, стан. Нитки розділяють: адресний простір, глобальні змінні, відкриті файли, таймери, семафори, статистичну інформацію.
Багатониткова обробка підвищує ефективність роботи системи в порівнянні з багатозадачною обробкою. Наприклад, у багатозадачному середовищі Windows можна одночасно працювати з електронною таблицею і текстовим редактором. Однак, якщо користувач запитує перерахування свого робочого листа, електронна таблиця блокується доти, поки ця операція не завершиться, що може зажадати значного часу. У багатонитковому середовищу у випадку, якщо електронна таблиця була розроблена з урахуванням можливостей багатониткової обробки, наданих програмісту, цієї проблеми не виникає, і користувач завжди має доступ до електронної таблиці.
4.1.6 ОС Unix
