Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Миргородская 7сессия / Операционные системы / %D0%9E%D0%A1_%D0%A1%D0%93%D0%A2%D0%A3%20v5

.pdf
Скачиваний:
96
Добавлен:
12.02.2015
Размер:
4.09 Mб
Скачать

регулярно использующих Интернет, составило около 1,5 млрд человек (около четверти населения Земли). Всемирная компьютерная сеть Интернет вместе с персональными компьютерами образует технологическую основу для разви-

тия международной концепции «Всемирного информационного общества». В

России почти все средние школы с 2008 года оснащены компьютерами с дос-

тупом к сети Интернет и базовыми пакетами программ для обучения инфор-

матике, работе с персональными компьютерами и сетью Интернет.

Интернет состоит из многих тысяч корпоративных, научных, прави-

тельственных и домашних компьютерных сетей. Объединение сетей разной архитектуры и топологии стало возможно благодаря протоколу IP (англ. Internet Protocol) и принципу маршрутизации пакетов данных.

Протокол IP был специально создан агностическим в отношении физи-

ческих каналов связи. То есть любая система (сеть) передачи цифровых дан-

ных, проводная или беспроводная, для которой существует стандарт инкап-

суляции в неё IP-пакетов, может передавать и трафик Интернета. Агности-

цизм протокола IP, в частности, означает, что компьютер или маршрутизатор должен знать тип сетей, к которым он непосредственно присоединён, и уметь работать с этими сетями; но не обязан (и в большинстве случаев не может)

знать, какие сети находятся за маршрутизаторами.

На стыках сетей специальные маршрутизаторы (программные или ап-

паратные) занимаются автоматической сортировкой и перенаправлением па-

кетов данных, исходя из IP-адресов получателей этих пакетов. Протокол IP

образует единое адресное пространство в масштабах всего мира, но в каждой отдельной сети может существовать и собственное адресное подпространст-

во, которое выбирается исходя из класса сети. Такая организация IP-адресов позволяет маршрутизаторам однозначно определять дальнейшее направление для каждого пакета данных. В результате между отдельными сетями Интер-

нета не возникает конфликтов, и данные беспрепятственно и точно переда-

ются из сети в сеть по всей планете и ближнему космосу.

221

Сам протокол IP был рождён в дискуссиях внутри организации IETF (англ. Internet Engineering Task Force; Task force — группа специалистов для решения конкретной задачи), чьё название можно вольно перевести как

«Группа по решению задач проектирования Интернета». IETF и её рабочие группы по сей день занимаются развитием протоколов Всемирной сети. IETF

открыта для публичного участия и обсуждения. Комитеты организации пуб-

ликуют так называемые документы RFC. В этих документах даются техниче-

ские спецификации и точные объяснения по многим вопросам. Некоторые до-

кументы RFC возводятся организацией IAB (англ. Internet Architecture Board — Совет по архитектуре Интернета) в статус стандартов Интернета

(англ. Internet Standard). С 1992 года IETF, IAB и ряд других интернет-

организаций входят в Общество Интернета (англ. Internet Society, ISOC). Об-

щество Интернета предоставляет организационную основу для разных иссле-

довательских и консультативных групп, занимающихся развитием Интернета.

Подобно тому, как коммерческие интернет-провайдеры соединяются посредством точек обмена трафиком, исследовательские сети объединяются

всвои подсети, такие как:

National LambdaRail

Abilene Network

GEANT

GLORIAD

ВРоссии наиболее известен проект «А́билин» (англ. Abilene Network) — высокоскоростная экспериментальная сеть, созданная и поддер-

живаемая американским консорциумом «Интернет2» (англ. Internet2). Сам консорциум является некоммерческой организацией и занимается разработ-

кой передовых приложений и сетевых технологий. Его сеть Абилин уже объ-

единяет более 230 американских университетов, научных центров и других учреждений. Особенностью сети Абилин является высокая скорость переда-

чи данных, теоретически она может достигать 10 Гбит/с (OC-192c), реально скорость составляет порядка 6—8 Гбит/с.

222

Internet не принадлежит никому конкретно. Некоторые секторы Интер-

нет финансируются либо государством, либо коммерческими группами. Вне-

дрением стандартов Интернет занимаются комитеты Сообщества Интернет

(Internet Society), такие как World Wide Web Consortium, Internet Engineering Task Force и тд.

Связь между компьютерами в сети Интернет происходит с помощью протокола TCP/IP. TCP/IP(Transmission Control Protocol / Internet Protocol) -

стандарт, используемый для обмена данными между удаленными компьте-

рами. Протокол IP обеспечивает маршрутизацию (доставку по адресу сете-

вых пакетов). Протокол TCP разбивает информацию на пронумерованные пакеты. Далее с помощью протокола IP все пакеты передаются получателю,

где они располагаются в нужном порядке и собираются в единое целое. То есть TCP/IP фактически разбивает данные на маленькие пакеты одинакового размера и автоматически определяет маршрут, по которому данные будут добираться до адресата.

Модель«Клиент-сервер». Процесс обмена данными в Интернет постро-

ен на основе модели «Клиент-сервер». Принцип работы этой модели заклю-

чается в следующем:

Клиент (обычный компьютер) инициирует соединение с сервером и запрашивает у него какие-либо данные (файлы и т.д.)

Сервер обрабатывает полученный запрос, высылает запрашиваемый документ и закрывает соединение в ожидании следующих запросов.

Существует несколько видов соединения с сетью Интернет, которые зависят от провайдера, от мощности компьютерного оборудования и от необ-

ходимой скорости связи.

Коммутируемая линия (Dial up) - аналоговая телефонная линия + мо-

дем. Самый простой и низкоскоростной вид связи.

ISDN (Integrated Services Digital Network) - цифровая сеть, очень сходна с традиционной телефонной системой, но при этом по телефонным линиям

223

передается не аналоговый сигнал, а цифровой, в том числе, и оцифрованный голос.

Спутниковое соединение - самый высокоскоростной вид соединения,

используемый в основном провайдерами, крупными компаниями и предпри-

ятиями, а также военными и правительственными организациями.

Радио соединение - применяется в местах, где недостаточно развита те-

лекоммуникация с использованием радио модемов или в основном использу-

ется для подключения к сети переносных компьютеров (Notebooks)..

Выделенная линия (Leased Line) - высокоскоростной вид соединения.

При таком соединении пользователь имеет постоянную связь с сетью Интер-

нет.

Передача документа в интернете иногда происходит очень медленно,

что вызвано значительной удаленностью интересующего вас сервера, его пе-

регрузкой или перегрузкой каналов Сети. Для увеличения скорости доступа к интересующим вас файлам у провайдеров существует программка Proxy Server, которая работает на машине провайдера .

E-MAIL - электронная почта - всеми признанный быстрый, удобный и дешевый инструмент связи, без которого уже очень многие себя не мыслят.

Каждый компьютер в сети Интернет имеет уникальный цифровой ад-

рес. Эти адреса называются IP-адресами и выдаются провайдерами. IP-адрес представляет собой набор 4-х целых чисел, разделенных точ-

ками, каждое из которых не превышает 255, например: 215. 48. 110. 2

Из-за сложности запоминания IP-адресов была введена система пере-

вода цифровых адресов в доменные имена (DNS - Domain Name Server).

Доменное имя - это уникальное имя, которое каждая организация изби-

рает для идентификации своего сервера в Интернет.

Например, IP-адрес Web-сервера компании Microsoft - 207. 46.130.45. А

соответствующее доменное имя - www.microsoft.com

URL (Uniform Resource Locator) используется для задания местополо-

жения файлов, размещаемых на серверах Сети. URL включает в себя сле-

224

дующую информацию: - метод доступа к ресурсу, то есть протокол доступа, -

адрес ресурса в Сети (имя домена и хост-машины), - полный путь к файлу на сервере.

Услуги, которые могут быть предоставлены пользователям в Интернет:

электронная почта E-mail;

компьютерная телефония;

передача файлов FTP;

терминальный доступ для интерактивной работы на удаленном ком-

пьютере TELNET;

глобальная система телеконференций USENET;

справочные службы;

доступ к информационным ресурсам и средства поиска информации

вИнтернете.

Кроме того, Интернет - это мощное средство ведения электронного бизнеса и дистанционного (интерактивного или он-лайн) обучения.

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

225

7.МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ

7.1.Архитектуры многопроцессорных операционных систем

Традиционно компьютер рассматривается как машина, предназначен-

ная для выполнения последовательных действий. В большинстве языков про-

граммирования алгоритм задается в виде последовательных инструкций; при работе программы процессор выполняет машинные команды последователь-

но, одну за другой. Каждая команда представляется в виде последовательно-

сти операций (выборка команды, выборка операндов, выполнение операции,

сохранение результатов).

Такая точка зрения на компьютер никогда не соответствовала действи-

тельности полностью. На уровне микроопераций одновременно генерируют-

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

разцами параллельного выполнения функций.

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

ния производительности, а в некоторых случаях — для повышения надежно-

сти. В данной книге исследуются два наиболее популярных подхода обеспе-

чения одновременной работы процессоров в многопроцессорных системах:

симметричная многопроцессорность (symmetric multiprocessor — SMP) и

кластеры. [3]

Архитектура SMP

Рассмотрим, каким образом архитектура SMP соотносится с общей ка-

тегорией параллельных процессоров. Общепринятым методом классифика-

ции таких систем по-прежнему является систематика, в которой выделяются системы с параллельными процессорами, впервые введенная Флинном

226

(Flynn) [FLYN72]. Флинн предложил ввести следующие классы компьютер-

ных систем.

Архитектура с одним потоком команд и одним потоком данных

(Single Instruction Single Data — SISD). На одном процессоре выполняется один поток команд; операции выполняются над данными, которые хранятся в единой области памяти.

Архитектура с одним потоком команд и многими потоками данных

(Single Instruction Multiple Data — SIMD). С каждым из обрабатываемых эле-

ментов связаны хранящиеся в памяти данные, и каждая команда выполняет действия с различными наборами данных, относящимися к разным процес-

сам. Под эту категорию подпадают векторный и матричный процессоры.

Архитектура со многими потоками команд и одним потоком

данных

(Multiple Instruction Single Data — MISD). Последовательность дан-

ных передается набору процессоров, каждый из которых выполняет свою по-

следовательность команд. Такая структура еще не была реализована.

Архитектура со многими потоками команд и многими потоками дан-

ных.

(Multiple Instruction Multiple Data — MIMD). Несколько процессоров одновременно выполняют различные последовательности команд с различ-

ными наборами данных.

В схеме MIMD процессоры являются универсальными, потому что они должны иметь возможность обрабатывать все команды, необходимые для со-

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

му процессору выделяется отдельная область памяти, то каждый обрабаты-

вающий элемент является самостоятельным компьютером. Они обменивают-

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

227

ры (clusters) или мультикомпьютеры. Если процессоры совместно использу-

ют общую память, то каждый из них имеет доступ к программам и данным,

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

тем с общей мятью (shared-memory multiprocessor).

Параллельный процессор

Архитектура с одним потоком

Архитектура с многими потоками

команд и многими потоками данных

команд и многими потоками данных

Совместно используемая память (сильносвязанные системы)

Распределенная память (свободно связанные системы)

 

 

 

 

 

Выделение основных

 

Симметричная

Кластеры

и подчиненных процессоров

 

мультипроцессорность

 

 

 

 

 

 

 

Рис. 69. Архитектуры систем с параллельными процессорами

Одна из общих классификаций многопроцессорных систем основана на том, как процессы распределяются между процессорами. Два главных подхо-

да — выделение основных и подчиненных процессоров и симметричная мно-

гопроцессорная обработка. В архитектуре с ведущим и ведомыми процессо-

рами (muster/slave architecture) ядро операционной системы всегда выполня-

ется на специально выделенном процессоре. На других процессорах могут выполняться только пользовательские программы и, возможно, утилиты опе-

рационной системы. Ведущий процессор отвечает за планирование процес-

сов или потоков. Если выполняющемуся на ведомом процессоре процессу

228

или потоку понадобится какой-нибудь системный сервис (например, вызов процедуры ввода-вывода), он должен будет послать запрос основному про-

цессору, а затем ждать, пока сервисная программа не закончит свою работу.

Такой подход довольно прост, и для его реализации достаточно немного усо-

вершенствовать операционную систему, предназначенную для однопроцес-

сорных многозадачных систем. Разрешение конфликтов упрощается, бла-

годаря тому что всей памятью и всеми ресурсами ввода-вывода управляет один процессор. Этот подход имеет ряд недостатков.

Сбойв работе основногопроцессора влечет за собойотказ всейсистемы.

Основной процессор может тормозить работу всей системы, так как только на нем должны производиться все действия по планированию и управлению процессами.

Всимметричной многопроцессорной системе (symmetric multiprocessor) ядро может выполняться на любом процессоре; как правило,

каждый процессор сам планирует свою работу, извлекая имеющийся в нали-

чии процесс или поток из накопителя. Ядро может быть выполнено в виде многих процессов или многих потоков; при этом разные его части способны работать параллельно. Симметричный подход несколько усложняет архитек-

туру операционной системы. Нужно принять меры предосторожности, чтобы два процессора не выбрали один и тот же процесс или чтобы процесс каким-

нибудь образом не выпал из очереди. Необходимо применять специальные методы для разрешения запросов одного и того же ресурса различными про-

цессами и синхронизации запросов.

Симметричные мультипроцессоры и кластеры имеют сложную архи-

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

цессорами, архитектурой операционной системы и обеспечением приклад-

ными программами.

229

7.2. Принципы функционирования SMP

Организация симметричной многопроцессорной системы. На рис. 70

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

жит свой собственный управляющий модуль, арифметико-логическое уст-

ройство и свои регистры. Каждый из процессоров имеет доступ к общей ос-

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

Процессоры могут обмениваться между собой информацией посредст-

вом общей памяти (т.е. с помощью сообщений и информации о состоянии,

хранящихся в общем адресном пространстве) [3]. Кроме того, процессоры могут иметь возможность непосредственного обмена сигналами. Память за-

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

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

пекты в рассмотрение архитектуры операционных систем. Поскольку в каж-

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

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

Операционная система, предназначенная для симметричной многопро-

цессорной системы, управляет процессорами и другими ресурсами компью-

тера таким образом, чтобы с точки зрения пользователя многопроцессорная система выглядела так же, как и многозадачная однопроцессорная.

230