Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Олифер. Сетевые операционные системы.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
16.5 Mб
Скачать

Защита данных

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

Виртуальные распределенные вычислительные системы суперкомпьютеров

Для ОС суперкомпьютеров и серверов одной из перспективных задач является поддержка работы компьютера в составе виртуальной распределенной вычислительной системы, узлы которой общаются через сеть, желательно — через Интернет. В сущности, это возврат к первоначальному назначению Интернета, который создавался для связи нескольких суперкомпьютеров и организации доступа к их вычислительным ресурсам многочисленных сотрудников исследовательских центров. Впоследствии Интернет стал основой для других сетевых сервисов: сначала сервисов файловых архивов и электронной почты, а потом и такого массового сервиса, как Web, дающего возможность использовать интернет-серверы как универсальные справочные системы, хранящие информацию практически любого вида в свободном формате, удобном для просмотра пользователями с помощью единственной программы — интернет-браузера. Эти сервисы используют в основном способности компьютеров по хранению данных в виде обычного набора файлов, их передаче по сети и представлению в удобном формате. При этом вычислительная мощность удаленных серверов (которые могут представлять собой и суперкомпьютеры) остается недоступной для пользователей Интернета — вы не можете запустить свою программу на удаленном сервере, так как этот сервер обычно не поддерживает такую услугу.

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

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

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

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

Сегодня Grid — это концепция, подкрепленная набором стандартов. Существует форум Open Grid, который помогает разработке таких стандартов и реализации на их базе программных средств и соответствующих сервисов. Первые практические Grid-сервисы были созданы в CERN, том же самом европейском центре ядерных исследований, в котором появился на свет сервис WWW. Разработка Grid-сервисов широко поддерживается Европейским Союзом, в результате чего было создано несколько паневропейских Grid-сервисов, например, в рамках проекта Enabling Grids for E-sciencE (EGEE). На момент написания этой книги (начало 2007 года) Grid-сервис EGEE состоял из более 20 000 процессоров и обладал суммарной емкостью дисковой памяти в 5 000 000 гигабайтов. Еще одной практической реализацией идеи Grid является сервис PlanetLab, который также предоставляет виртуальную вычислительную мощность ученым-исследовате­лям.

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

Для организации Grid-вычислений нужна их программная поддержка. До недавнего времени эта поддержка реализовывалась в дополнительном относительно ОС слое программного обеспечения, но очевидно, что было бы хорошо внедрить в ОС некоторые дополнительные функции, позволяющие разделять процессор через Интернет. В середине 2006 года стартовал проект XtreemOS, спонсируемый Европейским Союзом, который ставит своей задачей создание специализированной Grid-OC на основе кода Linux. Компания Microsoft в кон­це 2006 года при презентации Windows Vista также объявила о серьезности своих намерений в области создания операционных систем для вычислительных кластеров.

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

Таблица 1.1. Эволюция ОС. Хронология событий

2006

ОС Windows Vista , старт второй очереди проекта виртуальной распределенной вычислительной системы (Grid)

2000

Windows 2000

1995

ОС для мэйнфреймов OS/390

1993

Windows NT 3.1; NetWare 4.0

1991

Первая ОС семейства LINUX '

1987

OS/2 — первая мультипрограммная ОС для персонального компьютера

1985

Первая ОС семейства Windows

1984

Первая ОС семейства Мае

1983

Первая ОС семейства NetWare

1981

Операционная система MS-DOS для персонального компьютера

1980

Принят стандарт технологии Ethernet локальных сетей ,

1979

Рабочий вариант стека TCP/IP

1976

Первое сетевое приложение UUCP для Unix

1974

Сетевые технологии SNA и Х.25

1973

Операционные системы RSX-11 и RT-11 для миникомпыотеров

1970

Глобальная вычислительная сеть ARPANET

1969

Первая ОС семейства Unix

1968

Многомашинная система разделения времени АИСТ

1965

Первые мультипрограммные ОС: MULTICS, OS/360

1964

Первое семейство программно совместимых компьютеров IBM System/360

1962

Программный монитор для БЭСМ-6

1961

Первая реализация виртуальной памяти компанией Burroughs для ее компьютера В5000

1960

Первые программные мониторы — прообразы операционных систем

1951

Первая советская электронная вычислительная машина М-1

1945 - 1950

Первые ламповые компьютеры в Западной Европе и США

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

Выводы

История ОС насчитывает примерно полвека. Она во многом определяется развитием элементной базы и вычислительной аппаратуры.

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

Прообразом современных операционных систем явились мониторные системы середины 50-х, которые автоматизировали действия оператора по выполнению пакета заданий.

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

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

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

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

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

В конце 70-х годов был создан рабочий вариант стека протоколов TCP/IP. В 1983 году стек протоколов TCP/IP был стандартизован. Независимость от производителей, гибкость и эффективность, доказанные успешной работой в Интернете, сделали протоколы TCP/IP не только главным транспортным механизмом Интернета, но и основным стеком большинства сетевых ОС.

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

В 80-е годы были приняты основные стандарты на коммуникационные технологии для локальных сетей: в 1980 году — Ethernet, в 1985 — Token Ring, в конце 80-х — FDDI. Это позволило обеспечить совместимость' сетевых ОС на нижних уровнях, а также стандартизовать интерфейс ОС с драйверами сетевых адаптеров.

К началу 90-х практически все ОС стали сетевыми, способными поддерживать работу с разнородными клиентами и серверами. Появились специализированные сетевые ОС, предназначенные исключительно для решения коммуникационных задач, например, система IOS компании Cisco Systems, работающая на маршрутизаторах.

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

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

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