Классификация компьютерных сетей
Лекционный комплекс
(Краткий конспект лекционных материалов)
Раздел 1.
Компьютерные сети
Компьютерная сеть — это набор компьютеров, связанных коммуникационной системой и снабженных соответствующим программным обеспечением, позволяющим пользователям сети получать доступ к ресурсам этого набора компьютеров. Сеть могут образовывать компьютеры разных типов, в частности небольшие микропроцессоры, рабочие станции, миникомпьютеры, персональные компьютеры или суперкомпьютеры. Компьютерная сеть — соединение компьютеров при помощи каналов связи для обмена информацией и совместного использования ресурсов.
Локальная сеть (ЛВС — Локальная Вычислительная Сеть, LAN — Local Area Network) — компьютерная сеть внутри здания или в пределах небольшой территории.
Глобальная сеть (ГВС — Глобальная Вычислительная Сеть, WAN — Wide Area Network) — компьютерная сеть, охватывающая большие географические пространства.
Топология сети — способ физического соединения компьютеров в сеть каналами связи.
Интернет — всемирная глобальная компьютерная сеть. Интернет появился в США в 1969 году (ARPANET). Сначала сеть содержала несколько компьютеров, затем к ней стали подсоединяться новые пользователи по всему миру.
Сервер — компьютер, подключённый к сети (или выполняющаяся на нём программа), обслуживающий запросы клиентов на информационное обслуживание.
Клиент — компьютер (или программа), имеющий доступ к услугам сервера.
Сервер Интернета — сервер, связанный с другими серверами Интернета. Сервер Интернета обслуживает своих клиентов (отдельные компьютеры или локальные сети) и выполняет транзитную передачу сообщений от других серверов к адресатам.
Провайдер сетевых услуг — организация, предоставляющая услуги сети через свой сервер.
Сервер локальной сети — сервер, обслуживающий клиентов в локальной сети.
Рабочая станция — рядовой компьютер локальной сети.
Сетевой протокол — правила, по которым компьютеры в сети обмениваются информацией.
Надёжность Интернета обеспечивается равноправием всех его узлов (отсутствие единого центра управления) и разветвлёнными связями.
Сетевой адаптер — электронное устройство (как правило, компьютерная плата) — преобразователь информации, поступающей от компьютера, в форму, пригодную для передачи по каналу связи и обратно.
Модем — сетевой адаптер для работы по телефонному каналу связи.
Классификация компьютерных сетей
- Территориальная распространённость (локальные, глобальные сети).
- Принадлежность (семейные сети, домовые сети, сети организаций, предприятий, ведомств, региональные сети, государственные сети, международные сети).
- Скорость передачи информации (низкоскоростные — до 10 Мбит/с, среднескоростные — до 100 Мбит/с, высокоскоростные — свыше 100 Мбит/с).
- Канал передачи информации (проводные: коаксиальный кабель, витая пара, оптоволокно, телефонная линия, бытовая электросеть; беспроводные: передача в диапазоне радиоволн или инфракрасном диапазоне).
- Топология (общая шина, звезда, дерево, кольцо, ячеистая сеть).
Локальные компьютерные сети
Локальная сеть — соединение компьютеров внутри здания или в пределах небольшой территории в одну группу для совместного использования информации, устройств и услуг.
Небольшая территория позволяет прокладывать дорогие кабельные каналы связи, обладающие высокой скоростью передачи информации: кабели “витая пара” (скорости передачи по разным стандартам: Ethernet — 10 Мбит/с, Fast Ethernet — 100 Мбит/с, Gigabit Ethernet —1000 Мбит/с), оптоволоконные кабели (скорость передачи в стандарте 10G Ethernet достигает значения в 10 Гбит/с).
Сообщение для передачи в сеть делят на небольшие порции (пакеты) во избежании монополизации канала связи одним узлом.
Хаб, коммутатор, маршрутизатор — устройства для соединения каналов связи в сети.
Хаб — устройство без программного обеспечения; передаёт пакет, полученный с одного порта на все остальные.
Коммутатор — устройство c программным обеспечением; передаёт пакет только в порт, на котором находится получатель.
Маршрутизатор — устройство c программным обеспечением; определяет оптимальный маршрут и передаёт пакет в соседний узел по этому маршруту.
Хабы и коммутаторы могут работать только в сетях без циклов (в сетях с топологиями: общая шина, звезда, дерево).
Маршрутизатор может работать в сетях с циклами (в сетях с ячеистой топологией, в частности, в сети, построенной как кольцо).
Ethernet-cеть с разделяемой средой — сеть, в которой пакет, переданный одной станцией, передаётся всем остальным станциям, но только станция назначения принимает его полностью (определяя “свой” пакет по адресу получателя, записанному в служебной части пакета).
Ethernet-сети с разделяемой средой строятся по топологиям общая шина, звезда или дерево.
Иерархическая Ethernet-сеть является сетью с разделяемой средой, если для соединения каналов использованы только хабы.
Коммутатор своими портами делит Ethernet-сеть на несколько подсетей с разделяемыми средами (при условии, что в этих подсетях используются только хабы).
Сеть с коммутацией пакетов — сеть, в которой пакеты следуют от станции отправления к станции назначения по оптимальному маршруту. Этот маршрут заново вычисляется в каждой узловой точке сети маршрутизаторами.
Коммутация пакетов характерна для сетей с ячеистой топологией.
В кольцевых сетях Token Ring и FDDI тоже используется разделяемая среда, но алгоритм работы её отличается от алгоритма работы разделяемой среды в Ethernеt-сети.
В сетях Token Ring по кольцу передаётся специальное сообщение-маркер (другое название: токен) — признак свободной среды. Узел может начать передачу лишь тогда, когда получает маркер. Теперь вместо маркера по кольцу следует пакет с данными. Получатель пакета выполняет обратную операцию: заменяет пакет маркером — сеть снова свободна.
Интернет
В Интернете нет единого центра управления.
Сеть имеет ячеистую топологию (узлы связывают более одного маршрута).
Сообщения в Интернете передаются маленькими порциями (пакетами). За передачу пакета отвечает маршрутизатор (отдельное устройство или программное устройство в составе универсального компьютера). Маршрутизатор определяет оптимальный маршрут и передаёт пакет соседнему узлу по пути следования.
Сетевым протоколом называется согласованный и утверждённый стандарт, содержащий описание форматов данных и правил приёма и передачи.
Как работает Интернет
Два основных принципа передачи информации в сети Интернет:
- Пакетная передача. На исходном сервере сообщение разделяется на части-пакеты. Каждый пакет снабжается служебным заголовком (содержит адрес отправителя, адрес получателя, номер пакета, контрольную сумму и другую служебную информацию). На конечном сервере из полученных пакетов сообщение восстанавливается.
1. Коммутация пакетов. Пакеты передаются в сеть ближайшему серверу по пути следования. Информация, содержащаяся в заголовке пакета, сама управляет прохождением пакета к пункту назначения.
Два варианта адресации в Интернете:
- IP-адресация. IP-адрес — это номер компьютера в сети Интернет. Для записи IP-адреса используется 32 бита. Для более комфортной работы с IP-адресами принято записывать их четырьмя десятичными числами: каждое число равно значению одного байта, и отделяется от других точкой.
- Доменная адресация. Доменная адресация реализует иерархический способ упорядочивания адресов в сети. На каждом уровне иерархии есть центр, который следит за уникальностью доменных адресов, но только на своём уровне, предоставляя следующему уровню полную свободу.
Доменные адреса записывают в символьном виде, справа налево, домены отделяются друг от друга точками.
Пример построения доменного адреса:
компьютер.подразделение.организация.cтрана |
Специальные серверы — они называются DNS-серверы (Domain Name System, доменная система имён) — хранят доменные имена и соответствующих им IP-адреса в виде таблицы:
Доменный адрес | IP-адрес |
... | ... |
pereslavl.ru | 193.232.174.1 |
... | ... |
Обычный сервер обращается к DNS-серверу, указывая ему доменное имя. В ответ DNS-сервер сообщает IP-адрес, и обычный сервер использует его при отправке в сеть информационного пакета.
Сетевым протоколом называется согласованный и утверждённый стандарт, содержащий описание форматов данных и правил приёма и передачи. Протоколы служат для синхронизации работы сети.
Два основных (базовых) протокола для передачи информации в сети Интернет:
- TCP. Протокол TCP в стартовой точке разбивает информацию на порции и нумерует их. В конечном пункте протокол TCP собирает из частей исходное сообщение.
- IP. Протокол IP получает от TCP порции информации, образует из них IP-пакеты, добавляет служебные заголовки, и отправляет пакеты в сеть. Протокол IP принимает пакеты из сети. На промежуточном сервере IP передаёт пакеты дальше по пути следования, а на конечном пункте пакеты передаются протоколу TCP для сборки исходной информации.
Прикладным протоколом называется протокол, надстроенный над базовым протоколом TCP/IP и реализующий ту или иную службу в сети (сервис Интернета).
Маршрутизация пакетов — обеспечение прохождения пакетов в сети от начального пункта к конечному.
Маршрутизация выполняется маршрутизаторами — специальными устройствами или программным обеспечением, расположенным на серверах Интернета.
Маршрутизаторы хранят таблицы соединений серверов, постоянно их обновляя. Маршрутизатор определяет соседний сетевой узел, в который надо передать пакет для следования в пункт назначения.
Популярные службы Интернета:
- E-mail — электронная почта
- WWW — всемирная паутина
- FTP — передача файлов
- Instant Messaging — мгновенная почта, ICQ
- IRC — телеконференции в реальном времени (чаты)
- News — телеконференции
- Telnet — удалённый терминал
- IP-Phone — Интернет-телефония
- Видеоконференции
Понятие протокол
Для того чтобы удаленные процессы могли обмениваться данными, необходимо, чтобы сетевые части операционных систем руководствовались определенными соглашениями, или, как принято говорить, поддерживали определенные протоколы. Необходимо отметить, что и локальные процессы при общении также должны руководствоваться определенными соглашениями или поддерживать определенные протоколы. Только в автономных операционных системах они несколько завуалированы. В роли таких протоколов выступают специальная последовательность системных вызовов при организации взаимодействия процессов и соглашения о параметрах системных вызовов. Наличие сетевых протоколов позволяет организовать взаимодействие удаленных процессов.
При рассмотрении перечисленных выше проблем необходимо учитывать, с какими сетями мы имеем дело.В литературе принято говорить о локальных вычислительных сетях (LAN – Local Area Network) и глобальных вычислительных сетях (WAN – Wide Area Network). Строгого определения этим понятиям обычно не дается, а принадлежность сети к тому или иному типу часто определяется взаимным расположением вычислительных комплексов, объединенных в сеть. Так, например, в большинстве работ к локальным сетям относят сети, состоящие из компьютеров одной организации, размещенные в пределах одного или нескольких зданий, а к глобальным сетям – сети, охватывающие все компьютеры в нескольких городах и более. Зачастую вводится дополнительный термин для описания сетей промежуточного масштаба – муниципальных или городских вычислительных сетей (MAN – Metropolitan Area Network) – сетей, объединяющих компьютеры различных организаций в пределах одного города или одного городского района. Таким образом, упрощенно можно рассматривать глобальные сети как сети, состоящие из локальных и муниципальных сетей. А муниципальные сети, в свою очередь, могут состоять из нескольких локальных сетей. На самом деле деление сетей на локальные, глобальные и муниципальные обычно связано не столько с местоположением и принадлежностью вычислительных систем, соединенных сетью, сколько с различными подходами, применяемыми для решения поставленных вопросов в рамках той или иной сети, – с различными используемыми протоколами.
Проблемы адресации в сети
Любой пакет информации, передаваемый по сети, должен быть снабжен адресом получателя. Если взаимодействие подразумевает двустороннее общение, то в пакет следует также включить и адрес отправителя. Для отправки подтверждений обратный адрес также следует включать в пересылаемый пакет. Таким образом, практически каждый сетевой пакет информации должен быть снабжен адресом получателя и адресом отправителя. Существует два подхода к наделению объектов такими сетевыми адресами: одноуровневый и двухуровневый.
Одноуровневые адреса
В небольших компьютерных сетях можно построить одноуровневую систему адресации. При таком подходе каждый процесс, желающий стать участником удаленного взаимодействия (при прямой адресации), и каждый объект, для такого взаимодействия предназначенный (при непрямой адресации), получают по мере необходимости собственные адреса (символьные или числовые), а сами вычислительные комплексы, объединенные в сеть, никаких самостоятельных адресов не имеют. Подобный метод требует довольно сложного протоколообеспечения уникальности адресов. Вычислительный комплекс, на котором запускается взаимодействующий процесс, должен запросить все компьютеры сети о возможности присвоения процессу некоторого адреса. Только после получения от них согласия процессу может быть назначен адрес. Поскольку процесс, посылающий данные другому процессу, не может знать, на каком компоненте сети находится процесс-адресат, передаваемая информация должна быть направлена всем компонентам сети (так называемое широковещательное сообщение – broadcast message), проанализирована ими и либо отброшена (если процесса-адресата на данном компьютере нет), либо доставлена по назначению. Так как все данные постоянно передаются от одного комплекса ко всем остальным, такую одноуровневую схему обычно применяют только в локальных сетях с прямой физической связью всех компьютеров между собой (например, в сети NetBIOS на базе Ethernet), но она является существенно менее эффективной, чем двухуровневая схема адресации.
Двухуровневые адреса
При двухуровневой адресации полный сетевой адрес процесса или промежуточного объекта для хранения данных складывается из двух частей – адреса вычислительного комплекса, на котором находится процесс или объект в сети (удаленного адреса), и адреса самого процесса или объекта на этом вычислительном комплексе (локального адреса). Уникальность полного адреса будет обеспечиваться уникальностью удаленного адреса для каждого компьютера в сети и уникальностью локальных адресов объектов на компьютере. Давайте подробнее рассмотрим проблемы, возникающие для каждого из компонентов полного адреса.
Заключение
Основными причинами объединения компьютеров в вычислительные сети являются потребности в разделении ресурсов, ускорении вычислений, повышении надежности и облегчении общения пользователей. Вычислительные комплексы в сети могут находиться под управлением сетевых или распределенных вычислительных систем. Основой для объединения компьютеров в сеть служит взаимодействие удаленных процессов. При рассмотрении вопросов организации взаимодействия удаленных процессов нужно принимать во внимание основные отличия их кооперации от кооперации локальных процессов. Базой для взаимодействия локальных процессов служит организация общей памяти, в то время как для удаленных процессов – это обмен физическими пакетами данных. Организация взаимодействия удаленных процессов требует от сетевых частей операционных систем поддержки определенных протоколов. Сетевые средства связи обычно строятся по "слоеному" принципу. Формальный перечень правил, определяющих последовательность и формат сообщений, которыми обмениваются сетевые компоненты различных вычислительных систем, лежащие на одном уровне, называется сетевым протоколом. Каждый уровень слоеной системы может взаимодействовать непосредственно только со своими вертикальными соседями, руководствуясь четко закрепленными соглашениями – вертикальными протоколами или интерфейсами. Вся совокупность интерфейсов и сетевых протоколов в сетевых системах, построенных по слоеному принципу, достаточная для организациивзаимодействия удаленных процессов, образует семейство протоколов или стек протоколов. Удаленные процессы, в отличие от локальных, при взаимодействии обычно требуют двухуровневой адресации при своем общении. Полный адрес процесса состоит из двух частей: удаленной и локальной. Для удаленной адресации используются символьные и числовые имена узлов сети. Перевод имен из одной формы в другую (разрешение имен) может осуществляться с помощью централизованно обновляемых таблиц соответствия полностью на каждом узле или с использованием выделения зон ответственности специальных серверов. Для локальной адресации процессов применяются порты. Для доставки сообщения от одного узла к другому могут использоваться различные протоколы маршрутизации.С точки зрения пользовательских процессов обмен информацией может осуществляться в виде потока данных.
Раздел 3.
ОС как виртуальная машина
Для того чтобы успешно решать свои задачи, современный пользователь или даже прикладной программист может обойтись без досконального знания аппаратного устройства компьютера. Ему не обязательно быть в курсе того, как функционируют различные электронные блоки и электромехани- ческие узлы компьютера. Рядовому пользователю достаточно уметь работать с графическим интерфейсом, находить на рабочем столе или в папках нужные файлы и запускать приложения на выполнение. Программист может писать программы, не зная систему команд процессора, так как операционная система предоставляет ему в распоряжение мощные высокоуровневые языковые средства. Операционная система скрывает от программиста большую часть особенностей аппаратуры и предоставляет возможность простой и удобной работы с требуемыми файлами.
Операционная система избавляет программистов не только от необходимости напрямую работать с аппаратурой дискового накопителя, предоставляя им простой файловый интерфейс, но и берет на себя все другие рутинные операции, связанные с управлением разнообразными аппаратными устройствами компьютера: физической памятью, таймерами, принтерами и т. д.
В результате работы операционной системы реальная машина, способная выполнять только небольшой набор элементарных действий, определяемых ее системой команд, превращается в виртуальную машину, выполняющую широкий набор значительно более мощных функций.
Таким образом, назначение ОС состоит в предоставлении пользователю/программисту некоторой усовершенствованной (часто говорят — расширенной) виртуальной машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальный компьютер или реальную сеть.
Управление процессами
Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами.
Для каждого вновь создаваемого процесса ОС генерирует системные информационные структуры, которые содержат данные о потребностях процесса в ресурсах вычислительной системы, а также о фактически выделенных ему ресурсах. Таким образом, процесс можно также определить как некоторую заявку на потребление системных ресурсов.
Чтобы процесс мог быть выполнен, операционная система должна назначить ему область оперативной памяти, в которой будут размещены коды и данные процесса, а также предоставить ему необходимое процессорное время. Кроме того, процессу может понадобиться доступ к таким ресурсам, как файлы и устройства ввода-вывода.
В мультипрограммной операционной системе одновременно может существовать несколько процессов. Часть процессов порождается по инициативе пользователей и их приложений, такие процессы обычно называют пользовательскими.Другие процессы, называемые системными, инициализируются самой операционной системой для выполнения своих функций.
Важной задачей операционной системы является защита ресурсов, выделенных данному процессу, от остальных процессов.
Одним из наиболее тщательно защищаемых ресурсов процесса являются области оперативной памяти, в которой хранятся коды и данные процесса. Совокупность всех областей оперативной памяти, выделенных операционной системой процессу, называется адресным пространством процесса.Каждый процесс работает в своем адресном пространстве, имея в виду защиту адресных пространств, реализуемую ОС. Защищаются и другие типы ресурсов, такие как файлы, внешние устройства и т. д. Операционная система может не только защищать ресурсы, выделенные одному процессу, но и организовывать их совместное использование, например разрешать доступ к некоторой области памяти нескольким процессам.
Операционная система берет на себя функции синхронизации процессов, позволяющие процессу приостанавливать свое выполнение до наступления какого-либо события в системе, например завершения операции ввода-вывода, осуществляемой по его запросу операционной системой.
Для реализации сложных программных комплексов организуется работа в виде нескольких параллельных процессов, которые периодически взаимодействуют друг с другом и обмениваются некоторыми данными. Так как операционная система защищает ресурсы процессов и не позволяет одному процессу писать в память или читать из памяти другого процесса, то для оперативного взаимодействия процессов ОС должна предоставлять особые средства, которые называют средствами межпроцессного взаимодействия.
Таким образом, подсистема управления процессами ОС выполняет следующие действия:
· распределяет процессорное время между несколькими одновременно выполняемыми в системе процессами;
· занимается созданием и уничтожением процессов;
· обеспечивает процессы необходимыми системными ресурсами;
· поддерживает синхронизацию процессов;
· реализует взаимодействие между процессами.
Управление памятью
Способность ОС к «экранированию» сложностей реальной аппаратуры очень ярко проявляется в одной из основных подсистем ОС — файловой системе. Операционная система виртуализирует отдельный набор данных, хранящихся на внешнем накопителе, в виде файла — простой неструктурированной последовательности байтов, имеющей символьное имя. Для удобства работы с данными файлы группируются в каталоги, которые, в свою очередь, образуют группы — каталоги более высокого уровня. Пользователь может с помощью ОС выполнять над файлами и каталогами такие действия, как поиск по имени, удаление, вывод содержимого на внешнее устройство (например, на дисплей), изменение и сохранение содержимого.
Чтобы представить большое количество наборов данных, разбросанных случайным образом по цилиндрам и поверхностям дисков различных типов, в виде хорошо всем знакомой и удобной иерархической структуры файлов и каталогов, операционная система должна решить множество задач. Файловая система ОС выполняет преобразование символьных имен файлов, с которыми работает пользователь или прикладной программист, в физические адреса данных на диске, организует совместный доступ к файлам, защищает их от несанкционированного доступа.
При выполнении своих функций файловая система тесно взаимодействует с подсистемой управления внешними устройствами, которая по запросам файловой системы осуществляет передачу данных между дисками и оперативной памятью.
Подсистема управления внешними устройствами, называемая также подсистемой ввода-вывода, исполняет роль интерфейса ко всем устройствам, подключенным к компьютеру. Спектр этих устройств очень обширен. Номенклатура выпускаемых накопителей на жестких, гибких и оптических дисках, принтеров, сканеров, мониторов, плоттеров, модемов, сетевых адаптеров и более специальных устройств ввода-вывода, таких как, например, аналого-цифровые преобразователи, может насчитывать сотни моделей. Эти модели могут существенно отличаться набором и последовательностью команд, с помощью которых осуществляется обмен информацией с процессором и памятью компьютера, скоростью работы, кодировкой передаваемых данных, возможностью совместного использования и множеством других деталей.
Программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности, обычно называется драйвером этого устройства (от английского drive — управлять, вести). Драйвер может управлять единственной моделью устройства, например принтером Deskjet 3420 компании Hewlett-Packard, или же группой устройств определенного типа, например любыми Hayes-совместимыми модемами. Для пользователя очень важно, чтобы операционная система включала как можно больше разнообразных драйверов, так как это гарантирует возможность подключения к компьютеру большого числа внешних устройств различных производителей. От наличия подходящих драйверов во многом зависит успех операционной системы на рынке (например, отсутствие многих необходимых драйверов внешних устройств было одной из причин сравнительно низкой популярности OS/2OS/2).
Созданием драйверов устройств занимаются как разработчики конкретной ОС, так и специалисты компаний, выпускающих внешние устройства. Операционная система должна поддерживать хорошо определенный интерфейс между драйверами и остальной частью ОС, чтобы разработчики из компаний-производителей устройств ввода-вывода могли поставлять вместе со своими устройствами драйверы для данной операционной системы.
Прикладные программисты могут пользоваться интерфейсом драйверов при разработке своих программ, но это не очень удобно — такой интерфейс обычно представляет собой низкоуровневые операции, обремененные большим количеством деталей. Поддержание высокоуровневого унифицированного интерфейса прикладного программирования к разнородным устройствам ввода-вывода является одной из наиболее важных задач ОС. Со времени появления ОС UnixUnix такой унифицированный интерфейс в большинстве операционных систем строится на основе концепции файлового доступа. Эта концепция заключается в том, что обмен с любым внешним устройством выглядит как обмен с файлом, имеющим имя и представляющим собой неструктурированную последовательность байтов. В качестве файла может выступать как реальный файл на диске, так и алфавитно-цифровой терминал, печатающее устройство или сетевой адаптер. Здесь мы опять имеем дело со свойством операционной системы подменять реальную аппаратуру удобными для пользователя и программиста абстракциями.
Пользовательский интерфейс
Операционная система должна предоставлять удобный интерфейс не только для прикладных программ, но и для человека, работающего за терминалом. Этот человек может быть конечным пользователем, администратором ОС или программистом.
В ранних операционных системах пакетного режима функции пользовательского интерфейса были сведены к минимуму и не требовали наличия терминала. Команды языка управления заданиями набивались на перфокарты, а результаты выводились на печатающее устройство.
Современные ОС поддерживают развитые функции пользовательского интерфейса для интерактивной работы за терминалами двух типов: алфавитно-цифровыми и графическими.
При работе за алфавитно-цифровым терминалом пользователь имеет в своем распоряжении систему команд, возможности которой отражают функциональные возможности данной ОС. Обычно командный язык ОС позволяет запускать и останавливать приложения, выполнять различные операции с файлами и каталогами, получать информацию о состоянии ОС (количество работающих процессов, объем свободного пространства на дисках и т. п.), администрировать систему. Команды могут вводиться не только в интерактивном режиме с терминала, но и считываться из так называемого командного файла, содержащего некоторую последовательность команд.
Программный модуль ОС, ответственный за чтение отдельных команд или же последовательностей команд из командного файла, иногда называют командным интерпретатором.
Ввод команды может быть упрощен, если операционная система поддерживает графический пользовательский интерфейс. В этом случае пользователь для выполнения нужного действия с помощью мыши выбирает на экране нужный пункт меню или графический символ.
Как показал опыт использования ОС, оба типа интерфейса нужны пользователям. Массовый непрофессиональный пользователь в основном применяет графический оконный интерфейс, в то время как профессионалы задействуют оба в зависимости от решаемых задач: более мощный по функциональным возможностям интерфейс командной строки, когда нужно достичь достаточно специфического и тонкого эффекта, и графический интерфейс для рутинных операций.
Коммуникационная система может включать кабели, повторители, коммутаторы, маршрутизаторы и другие устройства, обеспечивающие передачу сообщений между любой парой компьютеров сети. Сетевая операционная система позволяет пользователю работать со своим компьютером как с автономным и добавляет к этому возможность доступа к информационным и аппаратным ресурсам других компьютеров сети. При организации сетевой работы операционная система играет роль интерфейса, экранирующего от пользователя все детали низкоуровневых программно-аппаратных средств сети. Например, вместо числовых адресов компьютеров сети, таких как МАС-адрес и IP-адрес, операционная система компьютерной сети позволяет оперировать удобными для запоминания символьными именами. В результате в представлении пользователя сеть с ее множеством сложных и запутанных реальных деталей превращается в достаточно понятный набор разделяемых ресурсов.
Сетевая ОС предоставляет пользователю некую виртуальную вычислительную систему, работать с которой гораздо проще, чем с реальной сетевой аппаратурой. В то же время эта виртуальная система не полностью скрывает распределенную природу своего реального прототипа. При обращении к ресурсам компьютеров сети пользователи сетевой ОС всегда помнят, что они имеют дело с сетевыми ресурсами, и для доступа к ним нужно выполнить некоторые особые операции, например отобразить удаленный разделяемый каталог на вымышленную локальную букву дисковода или поставить перед именем каталога еще и имя компьютера, на котором тот расположен. Пользователи сетевой ОС обычно должны быть в курсе того, где хранятся их файлы, и использовать явные команды передачи файлов для перемещения фалов с одной машины на другую.
Работая в средесетевой ОС, пользователь, хотя и может запустить задание на любой машине компьютерной сети, всегда знает, на какой машине выполняется его задание. По умолчанию пользовательское задание выполняется на той машине, на которой пользователь сделал логический вход. Если же он хочет выполнить задание на другой машине, то ему нужно либо выполнить удаленный логический вход на эту машину, используя команду типа remote login, либо ввести специальную команду удаленного выполнения, в которой он должен указать информацию, идентифицирующую удаленный компьютер.
Магистральным направлением развития сетевых операционных систем является достижение как можно более высокой степени прозрачности сетевых ресурсов. В идеальном случае сетевая ОС должна представить пользователю сетевые ресурсы не в виде сети, а в виде ресурсов единой централизованной виртуальной машины. Для такой операционной системы используют специальное название — распределенная операционная система, распределенная ОС, или истинно распределенная ОС.
Распределенная ОС существует как единая операционная система в масштабах вычислительной системы. Каждый компьютер сети, работающей под управлением распределенной ОС, выполняет часть функций этой глобальной ОС. Распределенная ОС, динамически и автоматически распределяя работы по различным машинам системы для обработки, заставляет набор сетевых машин действовать как виртуальный унипроцессор. Пользователь распределенной ОС, вообще говоря, не имеет сведений о том, на какой машине выполняется его работа.
В настоящее время практически все операционные системы относятся к классу сетевых, однако они еще очень далеки от идеала истинной распределенности. Современная компьютерная сеть работает под управлением совокупности сетевых ОС, установленных на каждом из компьютеров. Эти ОС могут быть одинаковыми или разными. Операционные системы функционируют независимо друг от друга в том смысле, что каждая из них принимает независимые решения о создании и завершении собственных процессов и управлении локальными ресурсами. Но в любом случае операционные системы компьютеров, работающих в сети, должны включать взаимно согласованный набор коммуникационных протоколов для организации взаимодействия процессов, выполняющихся на разных компьютерах сети, и разделения ресурсов этих компьютеров между пользователями сети.
ОС в одноранговых сетях
В одноранговых сетях все компьютеры равны в возможностях доступа к ресурсам друг друга . Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его задействовать. В одноранговых сетях на всех компьютерах устанавливается такая операционная система, которая предоставляет всем компьютерам в сети потенциально равные возможности. Сетевые операционные системы такого типа называются одноранговыми.Очевидно, что одноранговые ОС должны включать как серверные, так и клиентские компоненты сетевых служб (на рисунке они обозначены буквами соответственно С и К). Примерами одноранговых ОС могут служить Windows 2000 ProfessionalWindows NT Workstation, Windows XP/VistaWindows 95/98.
Одноранговые сети проще в организации и эксплуатации, по этой схеме работают небольшие сети, в которых количество компьютеров не превышает 10-20. В этом случае нет необходимости в применении централизованных средств администрирования — нескольким пользователям нетрудно договориться между собой о перечне разделяемых ресурсов и паролях доступа к ним.
Однако в больших сетях средства централизованного администрирования, хранения и обработки данных, а особенно защиты данных становятся необходимыми, и такие средства легче реализовать в сетях с выделенными серверами.
Требования к современным операционным системам
Главным требованием, предъявляемым к операционной системе, является выполнение ею основных функций эффективного управления ресурсами и обеспечение удобного интерфейса для пользователя и прикладных программ. Современная ОС, как правило, должна поддерживать мультипрограммную обработку, виртуальную память, свопинг, мно