Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС (1114685), страница 22
Текст из файла (страница 22)
Для решения этой задачи используются шлюзы, которые одновременнопринадлежат разным сетям, а также маршрутизаторы, которые решают задачу, через какой шлюзнеобходимо отправить пакет. Отметим, что стек протоколов TCP/IP позволяет совмещатькомпьютерам несколько функций: одна и та же машина может быть одновременно и шлюзом, имаршрутизатором, и хостом, причем работающий за ним пользователь может не догадываться оборганизации локальной сети, в которой он работает.Рассмотрим пример (1.2.11).
Пускай необходимо послать сообщение от машины A1машине A2. Машина A1 находится в сети A, а машина A2 — в сети C, причем сеть A соединеналишь с сетью B посредством шлюза G1, а сеть C соединена также лишь с сетью B, но посредствомшлюза G2. Соответственно, маршрутизатор должен учитывать эти особенности при решениизадачи маршрутизации.
Обратим ваше внимание, что на компьютерных шлюзах реализованотолько два уровня протоколов, поскольку для решения задачи транспортировки пакетов из однойсети в другую достаточны лишь наличие этих двух уровней.76Хост А1Хост А2УровеньприкладныхпрограммУровеньприкладныхпрограммТранспортныйуровеньШлюз G1ТранспортныйуровеньШлюз G2МежсетевойуровеньМежсетевойуровеньМежсетевойуровеньМежсетевойуровеньУровеньдоступак сетиУровеньдоступак сетиУровеньдоступак сетиУровеньдоступак сетиСеть AСеть BСеть CРис. 63.Маршрутизация дейтаграмм.Транспортный уровень.
Одним из важнейших протоколов данного уровня являетсяпротокол TCP (Transmission Control Protocol — протокол управления передачей данных),который, равно как и протокол IP, дал свое название всему семейству протоколов. Этот протоколпослужил некоторым «прародителем» этого семейства протоколов, поскольку МинистерствоОбороны США, когда начинало исследование ARPA-NET, ставило перед собой задачу разработкусети, устойчивой к недетерминированной физической среде передачи данных.
И одним из условийбыло, чтобы полученная сеть работала корректно как на линиях с устойчивой передачей данных (вкоторых количество ошибок мало), так и на линиях, в которых возникает большое число ошибок.Это требование и его реализация обусловило распространение семейства протоколов TCP/IP и, вобщем-то, развитие современных сетей, поскольку проблема дисбаланс различных сетей с точкизрения надежности каналов актуальна и по сей день, а разработанные протоколы решали этупроблему.Среди протоколов транспортного уровня необходимо отметить протоколы TCP и UDP.Протокол TCP — это протокол, обеспечивающий установление виртуального канала, а этоозначает, что он обеспечивает последовательную передачу пакетов, контролирует доставкупакетов и отрабатывает сбои (пакет либо не доставляется, либо доставляется в целостномсостоянии). Для обеспечения заявленных качеств данный протокол подразумевает отправку посети подтверждающей информации, из-за чего содержательная пропускная способность можетсильно падать, особенно в линиях связи с плохими техническими характеристиками.
Итак, этотпротокол подразумевает, что для каждого полученного пакета адресат обязан отправитьподтверждение о доставке. К этому необходимо доставить, что в данном протоколе действуетподдержка времени: если через некоторое время после отправки пакета подтверждение так и непришло, то считается, что отправленный пакет пропал, и начинается повторная посылкапропавшего пакета.Некоторой альтернативой служит протокол UDP (User Datagram Protocol — протоколпользовательских дейтаграмм). Данный протокол подразумевает отправку пакетов по сети безгарантии их доставки (он выбрасывает пакет и сразу же «забывает» о нем).Уровень прикладных программ. На этом уровне находятся протоколы, часть которыхопираются на протокол TCP, а часть — на UDP.Протоколы, которые основываются на принципах работы протокола TCP, обеспечиваютдоступ и работу с заведомо корректной информацией, причем именно в среде межсетевоговзаимодействия (internet), и эти протоколы требуют корректной доставки.
В частности, этопротокол TELNET (Network Terminal Protocol) — прикладной протокол, эмулирующий77терминальное устройство; протокол перемещения файлов FTP (File Transfer Protocol); протоколпередачи почтовых сообщений SMTP (Simple Mail Transfer Protocol).Есть ряд прикладных протоколов, основанных на использовании протокола UDP. Этипротоколы оказываются относительно быстрыми, поскольку максимально снижены накладныерасходы на передачу, но они допускают наличие ошибок.Часть подобных протоколов действуют в рамках локальной сети. В частности, вбольшинстве случаев протокол NFS (Network File System) сетевой файловой системыфункционирует именно в рамках локальной сети, и очень редко его запускают в межсетевомрежиме.Другая часть протоколов должны контролироваться, с одной стороны, на прикладномуровне, а с другой стороны, они предполагают обмен очень небольшими порциями данных. Ктаким протоколам относится DNS (Domain Name Service), который позволяет мнемоническимспособом именовать сетевые устройства.
В частности, этот протокол осуществляетпреобразования IP-адресов в доменные имена и обратно.1.3Основы архитектуры операционных системЭтот раздел мы начнем с определения базовых понятий, среди которых очень важным длянас станет понятие операционной системы. Этот термин имеет различные толкования в разныхизданиях, мы остановимся на следующем.Операционная система — это комплекс программ, в функции которого входитобеспечение контроля за существованием, использованием и распределением ресурсоввычислительной системы. Напомним, что вычислительная система может включать в свой составкак физические, так и виртуальные ресурсы.
Чтобы дать более ясную картину того, что же мыбудем считать операционной системой, разберем ее определение детально.Начнем с того, что операционная система обеспечивает контроль за существованиемресурсов. Для любого ресурса степень его доступности зависит от операционной системы.Существуют ресурсы, которые полностью зависят от того, имеется ли их реализация воперационной системе или нет, если есть, то какая именно это реализация. Примером подобногоресурса служит файловая система: этого ресурса может и не быть в операционной системе, можетсуществовать одна модель, или другая модель, или сразу несколько моделей.Следующий пункт — использование ресурсов.
Здесь имеется в виду, что операционнаясистема предоставляет все средства, обеспечивающие доступность ресурсов ВС пользователю(точнее программам).И, наконец, распределение: под этим будем понимать обеспечение всевозможных моделейрегламентации доступа.Любая операционная система опирается на набор базовых сущностей, на основехарактеристик которых выстраиваются почти все эксплуатационные свойства конкретнойоперационной системы. При этом, для различных операционных систем наборы базовыхсущностей зачастую различаются: одни основаны на понятии устройства, другие — на понятиифайла, третьи — на понятии набора данных.
Но в большинстве случаев в состав базовыхвключается сущность, обозначающая исполняемую программу, задачу, задание или процесс. Этасущность определяет некоторый процесс исполнения последовательности команд, причем здесьможет участвовать единственная ветвь вычислений, а может сразу и несколько параллельныхветвей. Из множества трактовок этой сущности мы выберем понимание ее именно как процесса.Процесс — это совокупность машинных команд и данных, обрабатывающаяся в рамкахвычислительной системы и обладающая правами на владение некоторым набором ресурсов.Разберемся в этом определении.
Понятие совокупности машинных команд и данныхобозначает то, что принято называть исполняемой программой, т.е. это код и операнды,используемые в этом коде. Далее, под термином обработки в рамках ВС будем понимать, что этапрограмма сформирована и находится в системе в режиме обработки (это может быть и ожидание,и исполнение на процессоре, и т.п.). И, третье, понятие обладания правами на владение78некоторым набором ресурсов обозначает, по сути, возможность доступа.