ИНФОРМАЦИОННЫЙ ПРОЦЕСС ОБМЕНА ДАННЫМИ. СЕТЕВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

Общие понятия о компьютерных сетях

Основным инструментом, использующимся как база для построения современных ИТ, используемых в менеджменте, являются компьютерные сети. Компьютерные сети являются результатом компьютерных и телекоммуникационных технологий. С одной стороны, сети передачи данных представляют собой частный случай распределенных вычислительных систем, в которых группа компьютеров согласованно выполняет набор взаимосвязанных задач, обмениваясь данными в автоматическом режиме; с другой — компьютерные сети могут рассматриваться как средство передачи информации на большие расстояния, для чего в них применяются методы кодирования и мультиплексирования данных, получившие развитие в различных телекоммуникационных системах и технологиях передачи данных. Поэтому следует четко понимать:

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

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

  • ? компьютер представлял собой скорее предмет исследования, а не инструмент для решения каких-либо практических задач из других областей;
  • ? программирование прикладных задач осуществлялось исключительно на машинном языке — кодах центрального процессора;
  • ? не было никакого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм;
  • ? операционных систем не было в помине, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления.

С середины 50-х гг. XX в. начался следующий период в развитии вычислительной техники, связанный с появлением новой технической базы — полупроводниковых элементов. В то время развитие ЭВМ определялось направлениями:

  • ? в связи с внедрением новой элементной базы увеличилось быстродействие процессоров и, как следствие, выросла производительная мощность вычислительных машин, увеличились объемы оперативной и внешней памяти;
  • ? появились первые алгоритмические языки, и, таким образом, выросла сложность программ, и соответственно это позволило решать более сложные задачи, а сами программы стали выглядеть как наборы кодов, написанных в виде текстовых конструкций и хранящихся в виде текстового файла;
  • ? к библиотекам математических и служебных подпрограмм добавился новый тип системного программного обеспечения — трансляторы, перевод исходного кода программ в коды центрального процессора;
  • ? разработаны первые системные управляющие программы — мониторы, которые автоматизировали всю последовательность действий оператора по организации вычислительного процесса.

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

Оператор составлял пакет заданий, которые в дальнейшем без его участия последовательно запускались на выполнение монитором. Кроме того монитор был способен самостоятельно обрабатывать наиболее распространенные аварийные ситуации, возникающие при работе пользовательских программ, такие как отсутствие исходных данных, переполнение регистров, деление на ноль, обращение к несуществующей области памяти и т.д.

Следующий важный период развития операционных систем относится к 1965—1975 гг. XX в. В это время в технической базе вычислительных машин произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам, что открыло путь к появлению следующего поколения компьютеров, представителем которого является, например, IBM/3601.

В этот период были реализованы практически все основные механизмы, присущие современным операционным системам[1] [2] (ОС):

  • ? мультипрограммирование (способ организации выполнения нескольких программ на одном компьютере, обычно разделяют мультипрограммирование в пакетных системах, системах реального времени и мультипрограммирование в системах разделения времени);
  • ? мультипроцессирование (синонимами еще являются многопроцессорность, мультипроцессорность, многопроцессорная обработка, образовано от английского Multiprocessing — использование пары или большего количества физических процессоров в одной компьютерной системе. Термин также относится к способности системы поддержать больше чем один процессор и (или) способность распределить задачи между ними. Существует много вариантов данного понятия, и определение многопроцессорности может меняться в зависимости от контекста, главным образом в зависимости от того, как определены процессоры (много ядер в одном кристалле, множество чипов в одном корпусе, множество корпусов в одном системном модуле и т.д.). Многопроцессорностью иногда называют выполнение множественных параллельных программных процессов в системе в противоположность выполнению одного процесса в любой момент времени. Однако термины «многозадачность» или «мультипрограммирование» являются более подходящими для описания этого понятия, которое осуществлено главным образом в программном обеспечении, тогда как многопроцессорная обработка является более соответствующей, чтобы описать использование множественных аппаратных процессоров. Система не может быть и многопроцессорной и мультипрограммированной, только одной из двух, или ни ТОЙ И НИ другой);
  • ? поддержка многотерминального и (или) многопользовательского режима (т.е. возможность работать одновременно за числом терминалов ЭВМ большим двум пользователям с различными правами доступа, учетными записями и т.д.);
  • ? виртуальная память (виртуальная память происходит от английского Virtual memory — технология управления памятью ЭВМ, разработанная для многозадачных операционных систем. При использовании данной технологии для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. Технология позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств, и обеспечить защиту памяти между различными приложениями. Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище);
  • ? файловые системы (файловая система от английского file system — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т.п. Файловая система определяет формат содержимого и способ физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имени файла (папки), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.);
  • ? разграничение доступа (совокупность правил, регламентирующих порядок и условия доступа субъекта к объектам информационной системы (информации, ее носителям, процессам и другим ресурсам), установленным правовыми документами или собственником, владельцем информации. Права доступа определяют набор действий (например, чтение, запись, выполнение), разрешенных для выполнения субъектам (например, пользователям системы) над объектами данных. Для этого требуется некая система Рис. 3.1. для предоставления субъектам различных прав доступа к объектам. Это система разграничения доступа субъектов к объектам, которая рассматривается в качестве главного средства защиты от несанкционированного доступа к информации).

В эти годы начинается расцвет системного программирования[3]. Из направления прикладной математики, представляющего интерес для узкого круга специалистов, системное программирование превращается в отрасль индустрии, оказывающую непосредственное влияние на практическую деятельность миллионов людей.

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

Модель пакетной обработки заданий ЭВМ

Рис. 3.1. Модель пакетной обработки заданий ЭВМ

чались разработки в области мультипрограммирования. Как уже было ранее отмечено, мультипрограммирование — способ организации вычислительного процесса, при котором в памяти компьютера находится одновременно несколько программ, попеременно выполняющихся на одном процессоре. Мультипрограммирование обычно реализовывалось в двух вариантах:

  • ? пакетная обработка;
  • ? разделение времени.

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

Для достижения этой цели в системах пакетной обработки используется следующая схема функционирования (рис. 3.2): в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммный набор, т.е. множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие к ресурсам различные требования, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины. Например, в мультипрограммном наборе желательно присутствие и вычислительных задач, и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, т.е. выбирается «выгодное» задание. Следовательно, в вычислительных системах, работающих под управлением пакетных ОС, невозможно гарантировать выполнение того или иного задания в течение определенного периода времени.

Механизм пакетной обработки заданий ЭВМ

Рис. 3.2. Механизм пакетной обработки заданий ЭВМ

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

В системах разделения времени пользователям (или одному пользователю) предоставляется возможность интерактивной работы сразу с несколькими приложениями. Для этого каждое приложение должно регулярно взаимодействовать с пользователем. Понятно, что в пакетных системах возможности диалога пользователя с приложением ограничены.

В системах разделения времени эта проблема решается за счет того, что ОС принудительно периодически приостанавливает приложения, не дожидаясь, когда они сами освободят процессор. Всем приложениям попеременно выделяется квант процессорного времени р. Таким образом, пользователи, запустившие программы на выполнение, получают возможность поддерживать с ними диалог.

Системы разделения времени Рис. 3.3. призваны исправить основной недостаток систем пакетной обработки — изоляцию пользователя- программиста от процесса выполнения задач. Каждому пользователю в этом случае предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант небольшой, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них использует машину единолично.

Принцип работы системы с разделением времени

Рис. 3.3. Принцип работы системы с разделением времени

Все эти системы не зависимо от выбранного способа выполнения заданий взаимодействовали с пользователем либо через пульт ввода- вывода информации, либо через специализированное устройство ввода-вывода информации, называемой терминал[4]. Используемый в системах разделения времени (возможен еще английский термин time sharing), благодаря которым несколько пользователей могли одновременно работать с одной системой, каждый со своего терминала, подобное устройство стало основным средством взаимодействия с ОС и ЭВМ. Изначально в качестве терминалов применялись электромеханические телетайпы, уже использовавшиеся в телеграфии. Позже были разработаны специальные печатающие терминалы, такие как, например, DECwriter. Но скорость взаимодействия с машиной была ограничена невысокой скоростью печати, и печатная копия для процесса непосредственного общения не была необходимой. Позже для отображения информации также использовались дисплеи на основе знакопечатающих трубок. В таких трубках отображение символа на экране осуществлялась путем пропускания электронного луча через трафарет. Основным интерфейсом взаимодействия с пользователем использовался режим командной строки, где для управления всеми процессами использовались команды в виде текстовых сообщений вводимых пользователем с клавиатуры или выводимые на дисплей от системы. Поэтому такие терминалы называли текстовыми. Текстовый терминал (или чаще просто терминал, иногда также текстовая консоль) — это интерфейс компьютера для последовательной передачи данных — ввода и изображения текста. Информация представляется в виде массива предопределенных знаков. Первоначально текстовые терминалы были электронными устройствами, подключаемыми к последовательному порту, но позже в компьютеры стали встраивать текстовую консоль. В графическом интерфейсе пользователя используются программы — эмуляторы терминала.

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

Многотерминальный режим использовался не только в системах разделения времени, но и в системах пакетной обработки. При этом не только оператор, но и все пользователи получали возможность формировать свои задания и управлять их выполнением со своего терминала. Такие операционные системы получили название систем удаленного ввода заданий.

Терминальные комплексы могли располагаться на большом расстоянии от процессорных стоек, соединяясь с ними с помощью различных глобальных связей — модемных соединений телефонных сетей или выделенных каналов. Для поддержки удаленной работы терминалов в операционных системах появились специальные программные модули, реализующие различные (в то время, как правило, не стандартные) протоколы связи. Такие вычислительные системы с удаленными терминалами, сохраняя централизованный характер обработки данных, в какой-то степени являлись прообразом современных компьютерных сетей (рис. 3.4), а соответствующее системное программное обеспечение — прообразом сетевых операционных систем. Многотерминальные централизованные системы уже имели все внешние признаки локальных вычислительных сетей, однако по существу ими не являлись, так как сохраняли сущность централизованной обработки данных автономно работающего компьютера.

Действительно, рядовой пользователь работу за терминалом мейнфрейма1 воспринимал примерно так же, как сейчас воспринимает работу за подключенным к сети персональным компьютером. Пользователь мог получить доступ к общим файлам и периферийным устройствам, при этом у него создавалась полная иллюзия единоличного владения компьютером, так как он мог запустить нужную ему программу в любой момент и почти сразу же получить результат (некоторые далекие от вычислительной техники пользователи даже были уверены, что все вычисления выполняются внутри их дисплея). [5] [6] [7] [8]

Схема построения многотерминального вычислительного центра

Рис. 3.4. Схема построения многотерминального вычислительного центра

Подобные идеи, такие как «... много терминалов разом» или «... А почему так долго считаем? Если объединить несколько ЭВМ в одну, будет же быстрее...» возникали одновременно с появлением новых и, главное, более производительных машин. До реализации связей «компьютер — компьютер» была решена более простая задача — организация связи «удаленный терминал — компьютер». Терминалы, находящиеся от компьютера на расстоянии многих сотен, а то и тысяч километров, соединялись с компьютерами через телефонные сети с помощью модемов. Такие сети позволяли многочисленным пользователям получать удаленный доступ к разделяемым ресурсам нескольких мощных компьютеров класса суперЭВМ. И только потом были разработаны средства обмена данными между компьютерами в автоматическом режиме. На основе этого механизма в первых сетях были реализованы службы обмена файлами, синхронизации баз данных, электронной почты и другие, ставшие теперь традиционными, сетевые службы.

В 1969 году Министерство обороны США инициировало работы по объединению в общую сеть суперкомпьютеров оборонных и научно-исследовательских центров. Эта сеть, получившая название АРРАпе!, по1

служила отправной точкой для создания первой и самой известной ныне глобальной сети — Internet (Интернет). Сеть ARPAnet объединяла компьютеры разных типов, работавшие под управлением различных ОС с дополнительными модулями, реализующими коммуникационные протоколы, общие для всех компьютеров сети. Такие ОС можно считать первыми сетевыми операционными системами.

Сетевые ОС в отличие от многотерминальных позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между несколькими компьютерами, связанными электрическими связями. Любая сетевая операционная система, с одной стороны, выполняет все функции локальной операционной системы, а с другой — обладает некоторыми дополнительными средствами, позволяющими ей взаимодействовать по сети с операционными системами других компьютеров. Программные модули, реализующие сетевые функции, появлялись в операционных системах постепенно, по мере развития сетевых технологий, аппаратной базы компьютеров и возникновения новых задач, требующих сетевой обработки. В 1974 году компания IBM объявила о создании собственной сетевой архитектуры для своих мейнфреймов, получившей название SNA (System Network Architecture, системная сетевая архитектура). В это же время в Европе активно велись работы по созданию и стандартизации сетей Х.25[9].

Таким образом, хронологически первыми появились глобальные сети (Wide Area Networks, WAN), то есть сети, объединяющие территориально рассредоточенные компьютеры, возможно, находящиеся в различных городах и странах. Именно при построении глобальных сетей были впервые предложены и отработаны многие основные идеи и концепции современных вычислительных сетей, такие, например, как многоуровневое построение коммуникационных протоколов, технология коммутации пакетов и маршрутизация пакетов в составных сетях.

Глобальные компьютерные сети очень многое унаследовали от других, гораздо более старых и глобальных сетей — телефонных.

  • [1] IBM System/360 (S/360) — семейство компьютеров класса мейнфреймов, которое было анонсировано 7 апреля 1964 г. Это был первый ряд компьютеров, в котором проводилось четкое различие междуархитектурой и реализацией. В отличие от предыдущих серий IBM создала линейку компьютеров отмалых к большим, от низкой к высокой производительности, все модели которой использовали одини тот же набор команд (с двумя исключениями из правила — для специфичных рынков). Эта особенность позволяла заказчику использовать недорогую модель, после чего обновиться до более крупнойсистемы с ростом компании — без необходимости переписывать программное обеспечение. Для обеспечения совместимости IBM впервые применила технологию микрокода, который применялся вовсех моделях серии, кроме самых старших.
  • [2] Операционная система (ОС) (от англ, operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны, предназначены для управленияустройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надежных вычислений. Это определение применимо к большинству современных операционных систем общего назначения. В логической структуре типичной вычислительной системы операционная система занимает положение междуустройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными)микропрограммами с одной стороны и прикладными программами с другой.
  • [3] Системное программирование (или программирование систем) — подраздел программирования,заключающийся в работе над системным программным обеспечением. Определение «системное» подчеркивает тот факт, что результаты этого вида программирования существенно меняют свойства ивозможности вычислительной системы. В определенной степени этот результат имеет место при применении любых программ, выполняемых в вычислительной системе.
  • [4] Терминал (от англ, terminal — конечный) — конечная часть некой системы, которая обеспечиваетсвязь системы с внешней средой. Компьютерный терминал — электронное или электромеханическое устройство, используемое для взаимодействия пользователя с компьютером или компьютернойсистемой. С появлением видео-дисплеев терминалы вытеснили другие способы ввода-вывода. Поэтому терминал — это устройство ввода-вывода, его основные функции заключаются в отображении ивводе данных. Устройство со значительным объемом обработки данных называют smart terminal, или«толстый клиент» (от англ, fat client). Терминал, сильно зависящий от своей хост-машины, на которойвыполняются основные вычисления, называют тонким клиентом (от англ, thin client).
  • [5] 1 Мейнфрейм (также мэйнфрейм, оба произношения и варианта написания от англ, mainframe) —данный термин имеет три основных значения.
  • [6] Большая универсальная ЭВМ — высокопроизводительный компьютер со значительным объемомоперативной и внешней памяти, предназначенный для организации централизованных хранилищданных большой емкости и выполнения интенсивных вычислительных работ.
  • [7] Компьютер с архитектурой IBM System/360, 370, 390, zSeries.
  • [8] Наиболее мощный компьютер (например, удовлетворяющий признакам значения 1), используемыйв качестве главного или центрального компьютера (например, в качестве главного сервера).
  • [9] Х.25 — семейство протоколов канального уровня сетевой модели 0SI. Предназначалось для организации WAN на основе телефонных сетей с линиями с достаточно высокой частотой ошибок, поэтомусодержит развитые механизмы коррекции ошибок. Ориентирован на работу с установлением соединений. Исторически является предшественником протокола Frame Relay. Х.25 обеспечивает множествонезависимых виртуальных каналов (Permanent Virtual Circuits, PVC и Switched Virtual Circuits, SVC) в одной линии связи, идентифицируемых в Х.25-сети по идентификаторам подключения к соединениюидентификаторы логического канала (Logical Channel Identifyer, LCI) или номера логического канала(Logical Channel Number, LCN). Благодаря надежности протокола и его работе поверх телефонных сетей общего пользования Х.25 широко использовался как в корпоративных сетях, так и во всемирныхспециализированных сетях предоставления услуг, таких как SWIFT (банковская платежная система)и SITA (от фр. Societe Internationale de Telecommunications Aeronautiques — система информационногообслуживания воздушного транспорта), однако в настоящее время Х.25 вытесняется другими технологиями канального уровня (Frame Relay, ISDN, ATM) и протоколом IP, оставаясь, однако, достаточнораспространенным в странах и территориях с неразвитой телекоммуникационной инфраструктурой.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >