Мережеві засоби ОС

 
  • Версія друку Весь реферат без реклами та завантаження шаблону:)
  •  
    РЕФЕРАТ
    на тему:
    “Мережеві засоби ОС”


    При створенні обчислювальних мереж їх розробникам довелося вирішити багато проблем. У цьому розділі ми розглянемо тільки найбільш важливі з них, причому в тій послідовності, в якій вони природно виникали в процесі розвитку і вдосконалення мережевих технологій.
    Механізми взаємодії комп'ютерів в мережі багато що запозичили у схеми взаємодії комп'ютера з периферійними пристроями, тому почнемо розгляд принципів роботи мережі з цього “домережевого” випадку.
    1. Зв'язок комп'ютера з периферійними пристроями
    Для обміну даними між комп'ютером і периферійним пристроєм (ПП) в комп'ютері передбачений зовнішній інтерфейс (мал. 1.6), тобто набір проводів, що з'єднують комп'ютер і периферійний пристрій, а також набір правив обміну інформацією по цих проводах (іноді замість терміну інтерфейс вживається термін протокол детальніше про ці важливі терміни ми ще поговоримо). Прикладами інтерфейсів, що використовуються в комп'ютерах, є паралельний інтерфейс Centronics,  призначений, як правило, для підключення принтерів, і послідовний інтерфейс RS-232C, через який підключаються миша, модем і багато інших пристроїв. Інтерфейс реалізовується з боку комп'ютера сукупністю апаратних і програмних засобів: контролером ПП і спеціальною програмою, керуючою цим контролером, яку часто називають драйвером  відповідного периферійного пристрою.
    Зі сторони ПП інтерфейс частіше за все реалізовується апаратним пристроєм управління, хоч зустрічаються і програмно-керовані периферійні пристрої.
    Програма, що виконується процесором, може обмінюватися даними за допомогою команд введення/виведення з будь-якими модулями, підключеними до внутрішньої шини комп'ютера, в тому числі і з контролерами ПП.
    Периферійні пристрої можуть приймати від комп'ютера як дані, наприклад байти інформації, яку треба роздрукувати на папері, так і команди управління, у відповідь на які ПП може виконати спеціальні дії, наприклад перевести головку диска на необхідну доріжку або ж виштовхнути лист паперу з принтера. Периферійний пристрій використовує зовнішній інтерфейс комп'ютера не тільки для прийому інформації, але і для передачі інформації в комп'ютер, тобто обмін даними по зовнішньому інтерфейсу, як правило, є двонаправленим. Так, наприклад, навіть принтер, який за своїй природою є пристроєм виведення, повертає в комп'ютер дані про свій стан.
    Контроллери ПП приймають команди і дані від процесора в свій внутрішній буфер, який часто називається регістром або портом, потім виконують необхідні перетворення цих даних і команд відповідно до форматів, зрозумілих ПП, і видають їх на зовнішній інтерфейс.
    Розподіл обов'язків між контролером і драйвером ПП може бути різним, але звичайно контролер виконує набір простих команд по управлінню ПП, а драйвер використовує ці команди, щоб примусити пристрій здійснювати більш складні дії по деякому алгоритму. Наприклад, контролер принтера може підтримувати такі елементарні команди, як “Друк символу”, “перехід рядка”, “Повернення каретки” і т. п. Драйвер же принтера за допомогою цих команд організує друк рядків символів, розділення документа на сторінки і інші більш високорівневі операції. Для одного і того ж контролера можна розробити різні драйвери, які будуть управляти даним ПП по-різному одні краще, а інші гірше   в залежності від досвіду і здібностей програмістів, їх що розробили.
    МАЛ. 1. Зв'язок комп'ютера з периферійним пристроєм
    Розглянемо схему передачі одного байта інформації від прикладної програми на периферійний пристрій. Програма, яка  повинна виконати обмін даними з ПП, звертається до драйвера цього пристрою, повідомляючи йому як параметр адресу байта пам'яті, яку треба передати. Драйвер завантажує значення цього байта в буфер контролера ПП, який починає послідовно передавати біти в лінію зв'язку, представляючи кожний біт відповідним електричним сигналом. Щоб пристрою управління ПП стало зрозуміло, що починається передача байта, перед передачею першого біта інформації контролер ПП формує стартовий сигнал специфічної форми, а після передачі останнього інформаційного біта стоповий сигнал. Ці сигнали синхронізують передачу байта.
    Крім інформаційних бітів, контролер може передавати біт контролю парності для підвищення достовірності обміну. Пристрій управління, виявивши на відповідній лінії стартовий біт, виконує підготовчі дії і починає приймати інформаційні біти, формуючи з них байт в своєму приймальному буфері. Якщо передача супроводиться бітом парності, то виконується перевірка правильності передачі: при правильно виконаній передачі у відповідному регістрі пристрою управління встановлюється ознака завершення прийому інформації.
    Звичайно на драйвер покладаються найбільш складні функції протоколу (наприклад, підрахунок контрольної суми послідовності байтів, що передаються, аналіз стану периферійного пристрою, перевірка правильності виконання команди). Але навіть самий примітивний драйвер контролера повинен підтримувати як мінімум дві операції: “Взяти дані з контролера в оперативну пам'ять” і “Передати дані з оперативної пам'яті в контролер”.
    Існують як вельми спеціалізовані інтерфейси, придатні для підключення вузького класу пристроїв (наприклад, графічних моніторів високої розподільної здатності), так і інтерфейси загального призначення, що є стандартними і що дозволяють підключати різні периферійні пристрої. Прикладом такого інтерфейсу є інтерфейс RS-232C, який підтримується багатьма терміналами, принтерами, маніпуляторами типу “миша” і багатьма іншими пристроями.
    2. Найпростіший випадок взаємодії двох комп'ютерів
    У самому простому випадку взаємодія комп'ютерів може бути реалізована за допомогою тих же самих засобів, які використовуються для взаємодії комп'ютера з периферією, наприклад, через послідовний інтерфейс RS-232C. На відміну від взаємодії комп'ютера з периферійним пристроєм, коли програма працює, як правило, тільки з одного боку з боку комп'ютера, в цьому випадку відбувається взаємодія двох програм, працюючих на кожному з комп'ютерів.
    Програма, працююча на одному комп'ютері, не може отримати безпосередній доступ до ресурсів іншого комп'ютера його дискам, файлам, принтеру. Вона може тільки “попросити” про це програму, працюючу на тому комп'ютері, якому належать ці ресурси. Ці “прохання” виражаються у вигляді повідомлень, що передаються по каналах зв'язку між комп'ютерами. Повідомлення можуть містити не тільки команди на виконання деяких дій, але і власне інформаційні дані (наприклад, вміст деякого файла).
    Розглянемо випадок, коли користувачеві, який працює з текстовим редактором на персональному комп'ютері А, треба прочитати частину деякого файла, розташованого на диску персонального комп'ютера В (мал. 2). Передбачимо, що ми зв'язали ці комп'ютери по кабелю зв'язку через СОМ-порти, які, як відомо, реалізовують інтерфейс RS-232C (таке з'єднання часто називають нуль-модемним). Нехай для визначеності комп'ютери працюють під управлінням MS-DOS, хоч принципового значення в цьому випадку це не має.
    Драйвер СОМ-порту разом з контролером СОМ-порту працюють приблизно так само, як і у описаному вище разі взаємодії ПП з комп'ютером. Однак при цьому роль пристрою управління ПП виконує контролер і драйвер СОМ-порту іншого комп'ютера. Разом вони забезпечують передачу по кабелю між комп'ютерами одного байта інформації. (У “справжніх” локальних мережах подібні функції передачі даних в лінію зв'язку виконуються мережевими адаптерами і їх драйверами.)
    Драйвер комп'ютера В періодично опитує ознаку завершення прийому, що встановлюється контролером при правильно виконаній передачі даних, і при його появі прочитує прийнятий байт з буфера контролера в оперативну пам'ять, роблячи його тим самим доступним для програм комп'ютера В. В деяких випадках драйвер викликається асинхронно, по перериваннях від контролера.
    МАЛ. 2. Взаємодія двох комп'ютерів
    Таким чином, в розпорядженні програм комп'ютерів А і В є засіб для передачі одного байта інформації. Але задача, що розглядається в нашому прикладі значно складніше, оскільки треба передати не один байт, а певну частину заданого файла. Всі пов'язані з цим додаткові проблеми повинні вирішити програми більш високого рівня, ніж драйвери СОМ-порту. Для визначеності назвемо такі програми комп'ютерів А і В додатком А і додатком В відповідно. Отже, додаток А повинен сформувати повідомлення-запит для додатку В. В запиті необхідно указати ім'я файла, тип операції (в цьому випадку читання), зміщення і розмір області файла, що містить потрібні дані.
    Щоб передати це повідомлення комп'ютеру В, додаток А звертається до драйвера СОМ-порту, повідомляючи йому адресу в оперативній пам'яті, по якій драйвер знаходить повідомлення і потім передає його байт за байтом додатку В. Додаток В, прийнявши запит, виконує його, тобто прочитує необхідну область файла з диска за допомогою засобів локальної ОС в буферну область своєї оперативної пам'яті, а далі за допомогою драйвера СОМ-порту передає прочитані дані по каналу зв'язку в комп'ютер А, де вони і попадають до додатку А.
    Описані функції додатку А могла б виконати сама програма текстового редактора, але включати ці функції до складу кожного додатку текстових редакторів, графічних редакторів, систем управління базами даних і інших додатків, яким потрібен доступ до файлів, не дуже раціонально (хоч існує велика кількість програм, які дійсно самостійно вирішують всі задачі по міжмашинному обміну даними, наприклад Kermit програма обміну файлами через СОМ-порти, реалізована для різних ОС, Norton Commander 3.0 з його функцією Link). Набагато вигідніше створити спеціальний програмний модуль, який буде виконувати функції формування повідомлень-запитів і прийому результатів для всіх додатків комп'ютера. Як вже було раніше сказано, такий службовий модуль називається клієнтом. На стороні ж комп'ютера В повинен працювати інший модуль сервер, що постійно чекає приходу запитів на виділений доступ до файлів, розташованих на диску цього комп'ютера. Сервер, прийнявши запит з мережі, звертається до локального файла і виконує з ним задані дії, можливо, з участю локальної ОС.
    Програмні клієнт і сервер виконують системні функції по обслуговуванню запитів додатків комп'ютера А на виділений доступ до файлів комп'ютера В. Щоб додаток комп'ютера В міг користуватися файлами комп'ютера А, описану схему треба симетрично доповнити клієнтом для комп'ютера В і сервером для комп'ютера А.
    Дуже зручною і корисною функцією клієнтської програми є здатність відрізнити запит до виділеного файла від запиту до локального файла. Якщо клієнтська програма уміє це робити, то додатки не повинні піклуватися про те, з яким файлом вони працюють (локальним або виділеним), клієнтська програма сама розпізнає і перенаправляє (redirect) запит до виділеної машини. Звідси і назва, що часто використовується для клієнтської частини мережевої ОС, редиректор. Іноді функції розпізнавання виділяються в окремий програмний модуль, в цьому випадку редиректором називають не всю клієнтську частину, а тільки цей модуль.
    3. Фізична структуризація мережі
    Найпростіший з комунікаційних пристроїв - повторювач (repeator) використовується для фізичного з'єднання різних сегментів кабелю локальної мережі з метою збільшення загальної довжини мережі. Повторювач передає сигнали, що приходять з одного сегмента мережі, в інші її сегменти (мал. 3). Повторювач дозволяє подолати обмеження на довжину ліній зв'язку за рахунок поліпшення якості сигналу відновлення його потужності, що передається і амплітуди, поліпшення фронтів і т.п.
    МАЛ. 3. Повторювач дозволяє збільшити довжину мережі Ethernet
    Повторювач, який має декілька портів і з'єднує декілька фізичних сегментів, часто називають концентратором (concentrator) або хабом (hub). Ці назви (hub основа, центр діяльності) відображають той факт, що в даному пристрої зосереджуються всі зв'язки між сегментами мережі.
    Концентраторы характерні практично для всіх базових технологій локальних мереж Ethernet, ArcNet, Token Ring, FDDI, Fast Ethernet, Gigabit Ethernet, l00VG-AnyLAN.
    Треба підкреслити, що в роботі концентраторів будь-яких технологій багато загального вони повторюють сигнали, що прийшли з одного з своїх портів, на інших своїх портах. Різниця полягає в тому, на яких саме портах повторюються вхідні сигнали. Так, концентратор Ethernet повторює вхідні сигнали на всіх своїх портах, крім того, з якого сигнали поступають (мал. 4, а). А концентратор Token Ring (мал. 4, б) повторює вхідні сигнали, що поступають з деякого порту, тільки на одному порту на тому, до якого підключений наступний в кільці комп'ютер.
    Мал. 4. Концентратори різних технологій
    4. Логічна структуризація мережі
    Фізична структуризація мережі корисна в багатьох відносинах, однак в ряді випадків, що звичайно відносяться до мереж великого і середнього розміру, неможливо обійтися без логічної структуризації мережі. Найбільш важливою проблемою, що не вирішується шляхом фізичної структуризації, залишається проблема перерозподілу трафіка, що передається між різними фізичними сегментами мережі.
    У великій мережі природним образом виникає неоднорідність інформаційних потоків: мережа складається з безлічі підмереж робочих груп, відділів, філіалів підприємства і інших адміністративних підрозділів. Дуже часто найбільш інтенсивний обмін даними спостерігається між комп'ютерами, що належать до однієї підмережі, і тільки невелика частина звертань відбувається до ресурсів комп'ютерів, що знаходяться поза локальними робочими групами. (Донедавна таке співвідношення трафіків не бралося під сумніву, і був навіть сформульований емпіричний закон “80/20”, відповідно до якого в кожній підмережі 80 % трафіка є внутрішнім і тільки 20 % зовнішнім.) Зараз характер навантаження мереж багато в чому змінився, широко впроваджується технологія intranet, на багатьох підприємствах є централізовані сховища корпоративних даних, активно підприємства, що використовуються всіма співробітниками. Все це не могло не вплинути на розподіл інформаційних потоків. І тепер не рідкі ситуації, коли інтенсивність зовнішніх звертань вище за інтенсивність обміну між “сусідніми” машинами. Але незалежно від того, в якій пропорції розподіляються зовнішній і внутрішній трафік, для підвищення ефективності роботи мережі неоднорідність інформаційних потоків необхідно враховувати.
    Мережа з типовою топологією (шина, кільце, зірка), в якій всі фізичні сегменти розглядаються як одне середовище, що розділяється, виявляється неадекватній структурі інформаційних потоків у великій мережі. Наприклад, в мережі із загальною шиною взаємодія будь-якої пари комп'ютерів займає її на весь час обміну, тому при збільшенні числа комп'ютерів в мережі шина стає вузьким місцем. Комп'ютери одного відділу вимушені чекати, коли закінчить обмін пари комп'ютерів іншого відділу, і це при тому, що необхідність в зв'язку між комп'ютерами двох різних відділів виникає набагато рідше і вимагає зовсім невеликої пропускної спроможності.
    Цей випадок ілюструє мал. 5, а. Тут показана мережа, побудована з використанням концентраторів. Нехай комп'ютер А, що знаходиться в одній підмережі з комп'ютером В, посилає йому дані. Незважаючи на розгалужену фізичну структуру мережі, концентратори розповсюджують будь-який кадр по всіх її сегментах. Тому кадр, що посилається комп'ютером А комп'ютеру В, хоч і не потрібен комп'ютерам відділів 2 і 3, відповідно до логіки роботи концентраторів поступає на ці сегменти також. І доти, поки комп'ютер В не отримає адресований йому кадр, жоден з комп'ютерів цієї мережі не зможе передавати дані.
    Така ситуація виникає через те, що логічна структура даної мережі залишилася однорідною вона ніяк не враховує збільшення інтенсивності трафіка всередині відділу і надає всім парам комп'ютерів рівні можливості по обміну інформацією (мал. 5, б).
    Розв'язання проблеми складається у відмові від ідеї єдиного однорідного середовища, що розділяється. Наприклад, в розглянутому вище прикладі бажано було б зробити так, щоб кадри, які передають комп'ютери відділу 1, виходили б за межі цієї частини мережі в тому і тільки в тому випадку, якщо ці кадри направлені якому-небудь комп'ютеру з інших відділів. З іншого боку, в мережу кожного з відділів повинні попасти ті і тільки ті кадри, які адресовані вузлам цієї мережі. При такій організації роботи мережі її продуктивність істотно підвищиться, оскільки комп'ютери одного відділу не будуть простоювати в той час, коли обмінюються даними комп'ютери інших відділів.
    Неважко помітити, що в запропонованому рішенні ми відмовилися від ідеї загального середовища, що розділяється в межах всієї мережі, хоч і залишили її в межах кожного відділу. Пропускна спроможність ліній зв'язку між відділами не повинна співпадати з пропускною спроможністю середи всередині відділів. Якщо трафік між відділами становить тільки 20 % трафіки всередині відділу (як вже відмічалося, ця величина може бути іншою), то і пропускна спроможність ліній зв'язку і комунікаційного обладнання, що з'єднує відділи, може бути значно нижче внутрішнього трафіка мережі відділу.
    МАЛ. 5. Суперечність між логічною структурою мережі і структурою інформаційних потоків
    Для логічної структуризації мережі використовуються такі комунікаційні пристрої, як мости, комутатори, маршрутизатори і шлюзи.
    Міст (bridge) ділить середу передачі мережі, що розділяється на частині (часто звані логічними сегментами), передаючи інформацію з одного сегмента в інший тільки в тому випадку, якщо така передача дійсно необхідна, тобто якщо адреса комп'ютера призначення належить інший підмережі. Тим самим міст ізолює трафік однієї підмережі від трафіка іншої, підвищуючи загальну продуктивність передачі даних в мережі. Локалізація трафіка не тільки економить пропускну спроможність, але і зменшує можливість несанкціонованого доступу до даних, оскільки кадри не вийдуть за межі свого сегмента і їх складніше перехопити зловмиснику.
    Комутатор (switch, switching hub) за принципом обробки кадрів нічим не відрізняється від моста. Основна його відмінність від моста полягає в тому, що він є свого роду комунікаційним мультипроцесором, оскільки кожний його порт оснащений спеціалізованим процесором, який обробляє кадри по алгоритму моста незалежно від процесорів інших портів. За рахунок цього загальна продуктивність комутатора звичайно набагато вище за продуктивність традиційного моста, що має один процесорний блок. Можна сказати, що комутатори це мости нового покоління, які обробляють кадри в паралельному режимі.
    Обмеження, пов'язані із застосуванням мостів і комутаторів по топології зв'язків, а також ряд інших, привели до того, що серед комунікаційних пристроїв з'явився ще один тип обладнання маршрутизатор (router). Маршрутизатори більш надійно і більш ефективно, ніж мости, ізолюють трафік окремих частин мережі один від одного. Маршрутизатори утворять логічні сегменти за допомогою явної адресації, оскільки використовують не плоскі апаратні, а складові числові адреси. У цих адресах є поле номера мережі, так що всі комп'ютери, у яких значення цього поля однакове, належать до одного сегмента, званого в цьому випадку підмережею (subnet).
    5. Мережеві служби
    Для кінцевого користувача мережа це не комп'ютери, кабелі і концентратори і навіть не інформаційні потоки, для нього мережа це, передусім, той набір мережевих служб, за допомогою яких він отримує можливість переглянути список комп'ютерів, що є в мережі, прочитати виділений файл, роздрукувати документ на “чужому” принтері або послати поштове повідомлення. Саме сукупність можливостей, що надаються наскільки широкий їх вибір, наскільки вони зручні, надійні і безпечні визначає для користувача вигляд тієї або іншої мережі.
    Крім власне обміну даними, мережеві служби повинні вирішувати і інші, більш специфічні задачі, наприклад, задачі, що породжуються розподіленою обробкою даних. До таких задач відноситься забезпечення несуперечності декількох списів даних, розміщених на різних машинах (служба реплікації), або організація виконання однієї задачі паралельно на декількох машинах мережі (служба виклику видалених процедур). Серед мережевих служб можна виділити адміністративні, тобто такі, які в основному орієнтовані не на простого користувача, а на адміністратора і служать для організації правильної роботи мережі загалом. Служба адміністрування облікових записів про користувачів, яка дозволяє адміністратору вести загальну базу даних про користувачів мережі, система моніторинга мережі, що дозволяє охоплювати і аналізувати мережевий трафік, служба безпеки, в функції якій може входити серед іншого виконання процедури логічного входу з подальшою перевіркою пароля, все це приклади адміністративних служб.
    Реалізація мережевих служб здійснюється програмними засобами. Основні служби файлова служба і служба друку звичайно надаються мережевою операційною системою, а допоміжні, наприклад служба баз даних, факсу або передачі голосу, системними мережевими додатками або утилітами, працюючими в тісному контакті з мережевою ОС. Взагалі кажучи, розподіл служб між ОС і утилітами досить умовно і змінюється в конкретних реалізаціях ОС.
    При розробці мережевих служб доводиться вирішувати проблеми, які властиві будь-яким розподіленим додаткам: визначення протоколу взаємодії між клієнтською і серверний частинами, розподіл функцій між ними, вибір схеми адресації додатків і інш.
    Одним з головних показників якості мережевої служби є її зручність. Для одного і того ж ресурсу може бути розроблено декілька служб, по-різному що вирішують загалом-то одну і ту ж задачу. Відмінності можуть полягати в продуктивності або в рівні зручності послуг, що надаються. Наприклад, файлова служба може бути заснована на використанні команди передачі файла з одного комп'ютера в інший на ім'я файла, а це вимагає від користувача знання імені потрібного файла. Та ж файлова служба може бути реалізований і так, що користувач монтує видалену файлову систему до локального каталога, а далі звертається до виділених файлів як до своїм власним, що набагато більш зручно.
    Якість мережевої служби залежить і від якості призначеного для користувача інтерфейсу інтуїтивної зрозумілості, наочності, раціональності.
    При визначенні міри зручності ресурсу, що розділяється часто вживають термін “прозорість”. Прозорий доступ це такий доступ, при якому користувач не помічає, де розташований потрібний йому ресурс на його комп'ютері або на віддаленому. Після того як він змонтував виділену файлову систему в своє дерево каталогів, доступ до виділених файлів стає для нього абсолютно прозорим. Сама операція монтування також може мати різну міру прозорості в мережах з меншою прозорістю користувач повинен знати і задавати в команді ім'я комп'ютера, на якому зберігається виділена файлова система, в мережах з більшою мірою прозорості відповідний програмний компонент мережі проводить пошук томів файлів, що розділяються безвідносно місць їх зберігання, а потім надає їх користувачеві в зручному для нього вигляді, наприклад у вигляді списку або набору піктограм.
    Для забезпечення прозорості важливий спосіб адресації (іменування) мережевих ресурсів, що розділяються. Імена мережевих ресурсів, що розділяються не повинні залежати від їх фізичного розташування на тому або іншому комп'ютері. У ідеалі користувач не повинен нічого міняти в своїй роботі, якщо адміністратор мережі перемістив том або каталог з одного комп'ютера на інший. Сам адміністратор і мережева операційна система мають інформацію про розташування файлових систем, але від користувача вона прихована. Така міра прозорості поки рідко зустрічається в мережах, звичайно для отримання доступу до ресурсів певного комп'ютера спочатку доводиться встановлювати з ним логічне з'єднання. Такий підхід застосовується, наприклад, в мережах Windows NT.
    Використана література
    Комп’ютер у школі і сім’ї. - №3. - 1998.
    Руденко В.Д., Макарчук О.М., Паланжоглу М.О. Практичний курс інформатики. - К., 1997.
    Фігурнов В.Е. Комп’ютерні мережі. – М., 1998.Vchys: ГДЗ, Решебники , Ответы, Реферати, Твори, ПрезентаціїГДЗ, Решебники и Ответы