Главная » Просмотр файлов » Сетевое ПО Лекция 11

Сетевое ПО Лекция 11 (1061300), страница 2

Файл №1061300 Сетевое ПО Лекция 11 (Электронные лекции) 2 страницаСетевое ПО Лекция 11 (1061300) страница 22017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Однако, по своему внешнемуинтерфейсу потоковые драйверы не отличаются от символьных.1.4 Блочные драйверыБлочные драйверы предназначаютсядляобслуживаниявнешнихустройств с блочной структурой (магнитных дисков, лент и т.д.) и отличаются6Сетевое ПО. Лекция 11 (2014 г.)от прочих тем, что они разрабатываются и выполняются с использованиемсистемной буферизации. Другими словами, такие драйверы всегда работаютчерез системный буферный пул.Любое обращение к блочному драйверу для чтения или записи всегдапроходит через предварительную обработку, которая заключается в попыткенайти копию нужного блока в буферном пуле.В случае, если копия требуемого блока не находится в буферном пулеили если по какой-либо причине требуется заменить содержимое некоторогообновленного буфера, ядро ОС UNIX обращается к процедуре strategyсоответствующего блочного драйвера.Strategy обеспечивает стандартный интерфейс между ядром и драйвером.Сиспользованиембиблиотечныхподпрограмм,предназначенныхдлянаписания драйверов, процедура strategy может организовывать очередиобменов с устройством, например, с целью оптимизации движения магнитныхголовок на диске.

Все обмены, выполняемые блочным драйвером, выполняютсясбуфернойпамятью.Переписьнужнойинформациивпамятьсоответствующего пользовательского процесса производится программамиядра, заведующими управлением буферами.1.5 Символьные драйверыСимвольные драйверыглавнымобразомпредназначеныдляобслуживания устройств, обмены с которыми выполняются посимвольно, либостроками символов переменного размера. Типичным примером символьногоустройства является простой принтер, принимающий один символ за одинобмен.Символьные драйверы не используют системную буферизацию. Онинапрямую копируют данные из памяти пользовательского процесса привыполнении операций записи или в память пользовательского процесса привыполнении операций чтения, используя собственные буфера.Следует отметить, что имеется возможность обеспечить символьныйинтерфейс для блочного устройства.7Сетевое ПО.

Лекция 11 (2014 г.)Вэтомвозможностислучаеблочныйпроцедурыдрайверstrategy,используетпозволяющиедополнительныевыполнятьобмен безприменения системной буферизации.Для драйвера, обладающего одновременно блочным и символьныминтерфейсами, в файловой системе заводится два специальных файла, блочныйи символьный. При каждом обращении драйвер получает информацию о том, вкаком режиме он используется.1.6 Потоковые драйверыОсновным назначением механизма потоков (streams) является повышениеуровня модульности и гибкости драйверов со сложной внутренней логикой(более всего это относится к драйверам, реализующим развитые сетевыепротоколы).

Спецификой таких драйверов является то, что большая частьпрограммного кода не зависит от особенностей аппаратного устройства. Болеетого,частооказываетсявыгоднопо-разномукомбинироватьчастипрограммного кода.Все это привело к появлению потоковой архитектуры драйверов, которыепредставляют собой двунаправленный конвейер обрабатывающих модулей. Вначале конвейера (ближе всего к пользовательскому процессу) находитсязаголовок потока, к которому прежде всего поступают обращения поинициативе пользователя. В конце конвейера (ближе всего к устройству)находится обычный драйвер устройства.

В промежутке может располагатьсяпроизвольноечислообрабатывающихмодулей,каждыйизкоторыхоформляется в соответствии с обязательным потоковым интерфейсом.2 Поддержка сети в операционной системе UNIX2.1 Базовые механизмыДля взаимодействия распределенных приложений в среде ОС UNIXнаибольшее распространение получили следующие три средства(рис. 3):1.socket - интерфейс прикладной программы с модулем из составаОС, реализующим сетевое взаимодействие(рис. 4);8Сетевое ПО.

Лекция 11 (2014 г.)2.интерфейс транспортного уровня (TLI - Transport LevelInterface)(рис. 5 -8);3.средства удаленного вызова процедур (RPC - Remote ProcedureCall)(рис. 9).Примечание. Перечисленные средства программирования универсальны,и могут быть использованы для работы с различными протоколами сетевоговзаимодействия,однаковданномслучаеонирассматриваютсяприменительно только к протоколам TCP/IP.Рассматриваемыесредствапредназначеныдлясозданияраспределенных приложений, функционирующих, в первую очередь, согласномодели взаимодействия "клиент-сервер".

Одна программа-сервер можетобслуживать (последовательно) несколько клиентов, организуя очередьзапросов от них.Двумянаиболееобщимирежимамивзаимодействияприкладныхпрограмм в вычислительной сети являются:1. режим с установлением соединения;2. режим без установления соединения.Режим с установлением соединения подразумевает, что взаимодействиеосуществляется в три этапа:• установление логической связи между прикладными программами (поинициативе клиента);• двусторонний, последовательный (потоковый, без учета каких-либограниц записей), надежный (без потери и дублирования) обмен данными;• закрытие связи (экстренное или с доставкой буферизованных напередающей стороне данных).В режиме без установления соединения обмен информацией ведетсяотдельнымиблокамиданных,частоназываемыхдейтаграммамиисодержащими в себе помимо собственно данных еще и адрес их получателя(соответственно, клиента или сервера).

В этом режиме, как правило, негарантируется надежность доставки данных (они могут быть потеряны или9Сетевое ПО. Лекция 11 (2014 г.)продублированы), может быть нарушена правильная последовательностьдейтаграмм на принимающей стороне, но, очевидно, явно присутствуютграницы в передаваемых данных.Программистимеетвозможностьвыбратьрежимвзаимодействия, отвечающий специфике создаваемого приложения.В сетях ТСР/IP для организации режимавзаимодействияслогическим соединением используется протокол транспортного уровняTCP, а режима без установления соединения -протокол UDP.2.1.1 Socket-интерфейсДанноесредствобылопервоначальноразработанодляобеспечения прикладным программистам в среде ОС UNIX доступа ктранспортному уровню стека протоколов ТСР/IP.

Позже оно былоадаптировано для использования иных протоколовSocket (гнездо, разъем) - абстрактное программное понятие, используемоедля обозначения в прикладной программе конечной точки канала связи скоммуникационнойсредой,образованнойвычислительнойсетью.Прииспользовании протоколов TCP/IP можно говорить, что socket являетсясредством подключения прикладной программы к порту локального узла сети.Socket-интерфейс представляет собой просто набор системных вызовов и/илибиблиотечных функций языка программирования СИ, разделенных на четырегруппы:1.

локального управления;2. установления связи;3. обмена данными (ввода/вывода);4. закрытия связи.Нижерассматриваетсяподмножествофункцийsocket-интерфейса,достаточное для написания сетевых приложений, реализующих модель"клиент-сервер" в режиме с установлением соединения.10Сетевое ПО. Лекция 11 (2014 г.)2.1.2 Интерфейс транспортного уровняИнтерфейс транспортного уровня (TLI) был разработан как альтернативаболее раннему socket-интерфейсу.

Он базируется на средстве ввода-выводаSTREAMS, первоначально реализованном в версиях System V операционнойсистемы UNIX.ОсновноедостоинствоSTREAMSзаключаетсявгибкой,управляемой пользователем многослойности модулей, по конвейерномупринципу обрабатывающих информацию, передаваемую от прикладнойпрограммы к физической среде хранения/пересылки и обратно. Это делаетSTREAMS удобным инструментом для реализации стеков протоколовсетевого взаимодействия различной архитектуры.Хотя все современные реализации версии ОС UNIX поддерживают socketинтерфейс по крайней мере для TCP/IP, для вновь разрабатываемых сетевыхприложений настоятельно рекомендуется использовать TLI что обеспечит ихнезависимость от используемых сетевых протоколов.С точки зрения прикладного программиста логика TLI очень похожа налогику socket интерфейса .

TLI реализован в виде библиотеки функций языкапрограммирования СИ, разделенных (как и в случае с socket-интерфейсом) начетыре группы:1. локального управления;2. установления связи;3. обмена данными (ввода/вывода);4. закрытия связи.Основу концепции TLI составляют три базовых понятия:о поставщик транспортных услуго пользователь транспортао транспортная точка.Поставщиком транспортных услуг (transport provider) называется набормодулей, реализующих какой-либо конкретный стек протоколов сетевоговзаимодействия (в данном случае - TCP/IP) и обеспечивающий сервис11Сетевое ПО.

Лекция 11 (2014 г.)транспортного уровня модели OSI.Пользователем транспорта (transport user) является любая прикладнаяпрограмма, использующая сервис, предоставляемый ПТС на локальном узлесети.Транспортнаяточка(transportendpoint)-абстрактноепонятие(аналогичное socket'y), используемое для обозначения канала связи междупользователем транспорта и поставщиком транспортных услуг на локальномузле сети. Транспортная точка имеет уникальный для всей сети транспортныйадрес (для сетей TCP/IP этот адрес образуется триадой: адрес узла сети, номерпорта, используемый протокол транспортного уровня).Для ссылки на транспортные точки в функциях TLI используются ихдескрипторы, подобные дескрипторам обычных файлов и socket'oB ОС UNIX.2.1.3 Вызов удаленных процедурСредство RPC реализует модель "клиент-сервер", где роль клиентаиграет прикладная программа, обращающаяся к набору процедур (функций),исполняемых на удаленном узле в качестве сервера.

RPC предоставляетприкладным программистам сервис более высокого уровня, чем ранеерассмотренных два, т.к. обращение за услугой к удаленным процедурамвыполняется в привычной для программиста манере вызова "локальной"функции языка программирования СИ.RPC реализовано, как правило, на базе socket интерфейса и/или TLI..Средство RPC предоставляет программистам сервис трех уровней:1.

препроцессор rpcgen, преобразующий исходные тексты "монолитных"программ на языке программирования СИ в исходные тексты программыклиента и программы сервера по спецификации программиста;2. библиотекафункцийвызоваудаленныхпроцедурпоихидентификаторам;3. библиотека низкоуровневых функций доступа к внутренниммеханизмам RPC и нижележащим протоколам транспортного уровня..

Характеристики

Тип файла
PDF-файл
Размер
282,98 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6547
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее