Добавлен: 25.04.2023
Просмотров: 246
Скачиваний: 2
Многотерминальность выявила еще одну важную функцию, которую необходимо было реализовать в ОС, — защиту данных.[15]2
Так как в таких системах с компьютером одновременно работают несколько пользователей, возникла необходимость контроля доступа к операционной системе предоставляющей ресурсы компьютера пользователю. Помимо организации доступа к компьютеру пользователь, успешно прошедший аутентификацию, должен быть ограничен в доступе только к ресурсам которые ему были выделены. Для реализации контролируемого доступа многотерминальные системы стали оснащать системами аутентификации и авторизации. В дальнейшем появление локальных и глобальных сетей только обострило задачу обеспечения безопасности компьютеров и хранимых данных.
В начале 70-х годов появились первые сетевые операционные системы, которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между несколькими связанными компьютерами.[16]1
Любая сетевая операционная система выполняет все функции локальной операционной системы, но также обладает некоторыми дополнительными средствами позволяющими ей взаимодействовать по сети с операционными системами других компьютеров. Программные модули реализующие сетевые функции появлялись в операционных системах постепенно по мере развития сетевых технологий.
Впервые значимые практические результаты по объединению компьютеров в сети были получены в конце 60-х годов, позволившие реализовать взаимодействие машин класса мэйнфреймов и суперкомпьютеров.[17]2 В 1969 году министерство обороны США инициировало работы по объединению суперкомпьютеров оборонных и научно-исследовательских центров в единую сеть. Эта сеть получившая название ARPANET послужила началу создания глобальной компьютерной сети — Интернет. Операционные системы компьютеров в сети ARPANET с дополнительными программными модулями написанными для обеспечения взаимодействие узлов сети стали первыми сетевыми ОС имеющими практическое значение.
В 1974 году компания IBM начала разработку собственной сетевой архитектуры для своих мэйнфреймов, получившей название System Network Architecture (SNA). Эта архитектура, во многом схожая с моделью OSI обеспечивала взаимодействие по глобальным связям типа «терминал-терминал», «терминал-компьютер», «компьютер-компьютер». Нижние уровни архитектуры были реализованы специализированными аппаратными средствами. Функции верхних уровней SNA выполнялись программными модулями.[18]1
Одновременно в Европе шли работы по созданию стандарта сетей Х.25. Эти сети с коммутацией пакетов не имели привязки к какой-либо конкретной операционной системе. В 1974 году протоколы Х.25 получили статус международного стандарта и стали поддерживаться многими операционными системами. С 1980 компания IBM включила поддержку протоколов Х.25 в архитектуру SNA.
К середине 70-х годов набрали популярность такие мини-компьютеры как PDP-11, Nova, HP. Архитектура мини-компьютеров была значительно упрощена по сравнению с мэйнфреймами, что сказалось и на их операционных системах. Многие функции многопользовательских ОС использовавшихся на мэйнфреймах были усечены. Операционные системы мини-компьютеров в большинстве были узкоспециализированными написанными на ассемблере под конкретный тип компьютера. Так же эти ОС часто были одно-пользовательскими.[19]2 Важным моментом в истории операционных систем явилось создание ОС Unix в лаборатории Bell Labs.[20]3 В версии 7 программный код для Unix был почти полностью написан на языке высокого уровня С.[21]4 Чуть позже в дополнении к этому был разработан переносимы компилятор языка С, что в сумме сделало Unix уникальной для того времени ОС позволявшей сравнительно легкого переносить ее на различные типы компьютеров: суперкомпьютеры, мэйнфреймы, мини-компьютеры, серверы и рабочие станции на базе RISC-процессоров, персональные компьютеры. Модель распространения принятая относительно ОС Unix корпорацией AT&T являвшейся учредителем Bell Labs включала в себя предоставление открытых исходных кодов что позволяло приобретавшим эту систему модернизировать ее для решения своих задач.
Одним из университетов приобретших Unix был институт Беркли. При поддержке Управления перспективного планирования научно-исследовательских работ (Advanced Research Projects Agency (ARPA)) при Министерстве обороны США университет разработал улучшенную версию UNIX названную 1BSD First Berkeley Software Distribution.[22]1 Четвертая версия этой операционной системы среди множества усовершенствований, включала такие важные для развития ОС новшества как виртуальная память, создание файла подкачки и поддержка сетевого протокола TCP/IP до него поддержка сети осуществлялась при помощи программы UUCP (Unix-to-Unix Copy Program) позволявшей копировать файлы с одного компьютера на другой через аппаратные интерфейсы и телефонные сети.[23]2 Все эти усовершенствования привели к тому, что многие производители компьютеров для основы своих версий системы UNIX взяли именно Berkeley UNIX. В результате Berkeley UNIX получила широкое распространение в академических и исследовательских кругах, а также в Министерстве обороны США.
Следующий важный этап состоялся в начале 80-х годов — выпуск компанией IBM нового типа компьютеров - персональных компьютеров. В качестве операционной системы для ПК в 1981 году была лицензирована ОС MS-DOS от компании Microsoft. За счет еще меньшей стоимости по сравнению с микрокомпьютерами их смогли позволить себе не только отделы предприятий или университетов но и отдельные люди. Благодаря этому компьютеры стали набирать популярность не только среди специалистов.[24]1
MS-DOS первых версий была однопрограммной однопользовательской системой для управления файлами в Unix-подобной файловой системе без защиты от пользовательских программ т.к. при разработке первых персональных компьютеров считали что при индивидуальном использовании компьютера и ограниченных возможностях аппаратуры нет смысла в поддержке мультипрограммирования, поэтому в процессоре Intel 8088, использовавшимся в первых ПК, не были предусмотрены ни работа в режиме ядра, ни другие механизмы поддержки мультипрограммных систем.
Однако распространение персональных компьютеров создало отличную материальную основу для развития корпоративных локальных сетей в виде десятков и сотен компьютеров. Это в свою очередь потребовало возвращения утраченного относительно микрокомпьютеров функционала и поддержки сетевых функций. Не поддерживающие эти функции первые ОС персональных компьютеров, такие например как MS-DOS и PC-DOS, дополнялись внешними программами, называемыми сетевыми оболочками.[25]2 Наибольшее распространение получили сетевые оболочки LAN Manager компании Microsoft и LAN Server компании IBM, разработанные этими компаниями на основе одного базового кода. К концу 80-х годов стало очевидно что рынок ПК и корпоративных компьютеров неизбежно соединятся и операционная система ПК на основе MS-DOS для этого не подходит в отличии от распространенных в корпоративной среде Unix и BSD.[26]1
Для решения этой проблемы в результате совместных усилий Microsoft и IBM появилась первая мультипрограммная операционная система для персональных компьютеров с процессором Intel 80286, с поддержкой работы в режиме ядра — OS/2.[27]2 Эта ОС оказалась хорошей платформой для построения локальных сетей персональных компьютеров, но Microsoft с инженерами Digital Equipment Corporation начала разработку своей ОС на основе ядра под названием NT. Так среди операционных систем Microsoft произошло разделение на два направления — для домашних компьютеров ОС Windows и для корпоративных получивших название от ядра ОС Windows NT.[28]3
В общей сложности в 80-е годы были приняты основные стандарты на коммуникационные технологии для локальных сетей: в 1980 году — Ethernet, в 1985 — Token Ring, в конце 80-х — FDDI. Это позволило обеспечить совместимость сетевых операционных систем на нижних уровнях, а также стандартизовать интерфейсы ОС с драйверами сетевых адаптеров. Появление процессоров Intel 80286 и особенно 80386 с поддержкой мультипрограммирования позволило перенести на платформу персональных компьютеров ОС Unix.
В 1983 году стек протоколов TCP/IP был принят министерством обороны США в качестве военного стандарта.[29]4 Внедрение протоколов TCP/IP в ARPANET придало этой сети все основные черты, которые отличают современный Интернет. В 1983 году сеть ARPANET была разделена На две части: MILNET поддерживающую военные ведомства США и новую ARPANET. Для обозначения составной сети ARPANET и MILNET стало использоваться название Internet.
Независимость от производителей, гибкость и эффективность, доказанные успешной работой в Интернете, также открытость и доступность стандартов сделали протоколы TCP/IP не только главным транспортным механизмом Интернета, но и основным стеком большинства сетевых операционных систем.[30]1
В 90-е годы практически все операционные системы, занимающие заметное место на рынке, стали сетевыми. До этого времени стек протоколов TCP/IP поддерживался в основном семейством Unix, то теперь этот стек стал проникать во все популярные ОС. Сетевые функции сегодня встраиваются в ядро ОС, они являются ее неотъемлемой частью. Операционные системы получили средства для работы со всеми основными технологиями локальных (Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, ATM) и глобальных (X.25, frame relay, ISDN, ATM) сетей. В операционных системах используются инструменты мультиплексирования нескольких стеков протоколов, за счет чего компьютеры могут поддерживать одновременную сетевую работу с разнородными клиентами и серверами. Помимо самого стека TCP/IP, в комплект поставки начали включать утилиты, реализующие такие сервисы Интернета, как telnet, FTP, e-mail. Влияние Интернета проявилось и в том, что компьютер превратился из чисто вычислительного устройства в средство коммуникаций с развитыми вычислительными возможностями.
В 1991 была выпущена первая версия ОС Linux новая ОС развившаяся из доработки учебной версии Unix – Minix.[31]2
Можно сделать вывод о том что основные идеи, технологии и стандарты были разработаны в конце 20-ого века. Не все из них было возможно реализовать в момент разработки по техническим причинам из-за недостаточной вычислительной мощности компьютерных систем или их дороговизны.
По мере развития аппаратной базы, создавались все более мощные и при этом более доступные компьютеры и это дало возможность реализации идей по созданию и развитию компьютерных сетей ставших неотъемлемой частью современного мира.
Глава 2. Сетевые ОС в настоящее время
В рамках сетевых операционных систем компьютерных сетей имеется разделение на серверные ОС, ОС для рабочих станций (клиентские) и ОС сетевых устройств. Ниша серверных ОС поделена между системами семейства Windows Server фирмы Microsoft и операционными системами семейства Unix-образных — Linux и FreeBSD при том последняя все больше вытесняется ОС Linux.
Большинство компьютерных сетей являются неоднородными, в них используются различные операционные системы, приложения, различное сетевое оборудование. Чаще всего это происходит из-за эволюционного характера развития компьютерной сети и разнообразия задач стоящих перед корпоративными сетями и средств решения этих задач. Из этого следует крайне важное требование к современным сетевым ОС — способность к интеграции с разнообразным сетевым оборудованием и другими операционными системами.[32]1
Задачи устранения неоднородности имеют определенную специфику в зависимости от уровня модели OSI к которому они относятся. Решением проблемы могло бы стать использование единого стека протоколов. Попыткой такого решения было создание стека протоколов OSI, но благодаря стремительному развитию Интернета таким. Де-факто, стандартом стал стек TCP/IP.[33]2 но сам стек на данный момент существует в двух версиях IPv4 и IPv6, поэтому средства межсетевого взаимодействия все еще актуальны.
В настоящее время в операционных системах обоих семейств работа с сетью реализованна при помощи компонентов сетевых транспортных средств реализующих многоуровневую модель OSI (таблица 1 в приложении), сетевого стека TCP/IP и механизма Сокетов Беркли.[34]1
Модель OSI была разработана для описания единого для всех систем стека сетевых протоколов.[35]2 Она определяет уровни взаимодействия систем в сетях с коммутацией пакетов и функции которые должен выполнять каждый уровень. В этой модели не содержится описания реализации конкретного набора протоколов, в ней описываются системные средства взаимодействия устройств и операционных систем.