Файл: Сетевые операционные системы. (ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ИЗУЧЕНИЯ СЕТЕВЫХ ОПЕРАЦИОННЫХ СИСТЕМ).pdf
Добавлен: 29.03.2023
Просмотров: 346
Скачиваний: 2
Windows NT Server может выступать как
- файл-сервер
- сервер печати
- сервер приложений
- контроллер домена
- сервер удаленного доступа
- сервер Internet
- сервер обеспечения безопасности данных
- сервер резервирования данных
- сервер связи сетей
-
сервер вспомогательных служб.
Рис. 8 Структура ОС на базе микроядра
Windows NT с точки зрения реализации сетевых средств имеет следующие особенности [34]:
- встроенность на уровне драйверов, обеспечивает быстродействие;
- открытость, предполагает легкость динамической загрузки/выгрузки и мультиплексируемость протоколов.
- наличие сервиса вызова удаленных процедур (RPC – Remote Procedure Call), именованных конвейеров и почтовых ящиков для поддержки распределенных приложений.
- наличие дополнительных сетевых средств, позволяющих строить сети в масштабах корпорации: дополнительные средства безопасности, централизованное администрирование, отказоустойчивость (источник бесперебойного питания, зеркальные диски).
Windows NT представляет из себя модульную операционную систему. Основными модулями являются [33]:
- Уровень аппаратных абстракций (Hardware Abstraction Layer – HAL)
- Ядро (Kernel)
- Исполняющая система (Windows NT executive);
- Защитные подсистемы (Protected subsystems);
- Подсистемы среды (Environment subsystems).
Рис. 9 Структура Windows NT
Свойства Windows NT:
- улучшенное распознавание аппаратур;
- встроенная совместимость с NetWare;
- встроенная поддержка TCP/IP;
- значительные улучшения средств удаленного доступа RAS, включающие поддержку IPX/SPX и TCP/IP, использование стандартов Point to Point Protocol (PPP) и Serial Line IP (SLIP). Сервер RAS может теперь поддерживать до 256 соединений (вместо 64 в версии 3.1);
- надежность;
- поддержка различных операционных систем;
- посредством поддержки общих стандартов сетевых протоколов, стандартных способов распределенной обработки, стандартных файловых систем и совместного использования данных, а также благодаря простоте переноса приложений обеспечивается взаимодействие с UNIX.
Сетевая операционная система Windows NT Workstation может применяться как клиент в сетях Windows NT Server, а также в сетях NetWare, UNIX. Она может быть рабочей станцией и в одноранговых сетях, выполняя одновременно функции и клиента, и сервера.
А также Windows NT Workstation может применяться в качестве ОС автономного компьютера при необходимости обеспечения повышенной производительности, секретности, а также при реализации сложных графических приложений, например в системах автоматизированного проектирования.
Сетевая операционная система Windows NT Server может быть использована, прежде всего, как сервер в корпоративной сети [33]. Здесь весьма полезной оказывается его возможность выполнять функции контроллера доменов, это позволяет структурировать сеть и предоставляет возможность упрощать задачи администрирования и управления. Он используется также в качестве файл-сервера, принт–сервера, сервера приложений, сервера удаленного доступа и сервера связи (шлюза). Кроме того, Windows NT Server может быть использован как платформа для сложных сетевых приложений, особенно тех, которые построены с использованием технологии клиент–сервер.
2.3 Семейство ОС UNIX
По сути операционная система UNIX считалась сетевой с момента своего возникновения. Компания AT&T с появлением многоуровневых сетевых протоколов TCP/IP реализовала механизм потоков (Streams), которые включали подпрограммы и системные вызовы, а также ресурсы ядра.
Большая часть коммуникационных средств ОС UNIX основывается на использовании протоколов стека TCP/IP. В UNIX System V Release 4 протокол TCP/IP реализован как набор потоковых модулей плюс дополнительный компонент TLI (Transport Level Interface - Интерфейс транспортного уровня) [35]. TLI является интерфейсом между прикладной программой и транспортным механизмом. Приложение, пользующееся интерфейсом TLI, получает возможность использовать TCP/IP.
С самого начала ОС UNIX замышлялась как интерактивная система. Другими словами, операционная система UNIX предназначена для терминальной работы. Чтобы начать работать, человек должен "войти" в систему, введя со свободного терминала свое учетное имя (account name) и, возможно, пароль (password). Регистрацию новых пользователей обычно выполняет администратор системы. Пользователь не может изменить свое учетное имя, но может установить и/или изменить свой пароль.
ОС UNIX одновременно является операционной средой использования существующих прикладных программ и средой разработки новых приложений. Новые программы могут писаться на разных языках (Фортран, Паскаль, Модула, Ада и др.). Однако стандартным языком программирования в среде ОС UNIX является язык Си (который в последнее время все больше заменяется на Си++). Это объясняется тем, что, во-первых, сама система UNIX написана на языке Си, а, во-вторых, язык Си является одним из наиболее качественно стандартизованных языков.
Как и в любой другой многопользовательской операционной системе, обеспечивающей защиту пользователей друг от друга и защиту системных данных от любого непривилегированного пользователя, в ОС UNIX имеется защищенное ядро, которое управляет ресурсами компьютера и предоставляет пользователям базовый набор услуг.
К основным функциям ядра ОС UNIX принято относить следующие [21, c. 233]:
Инициализация системы – функция запуска и раскрутки.
Управление процессами и нитями – функция создания, завершения и отслеживания существующих процессов и нитей (процессов, выполняемых на общей виртуальной памяти).
Управление памятью – функция отображения практически неограниченной виртуальной памяти процессов в физическую оперативную память компьютера, которая имеет ограниченные размеры.
Управление файлами – функция, реализующая абстракцию файловой системы, иерархии каталогов и файлов. Файловые системы ОС UNIX поддерживают несколько типов файлов. Некоторые файлы могут содержать данные в формате ASCII, другие будут соответствовать внешним устройствам.
Коммуникационные средства - функция, обеспечивающая возможности обмена данными между процессами, выполняющимися внутри одного компьютера (IPC - Inter-Process Communications), между процессами, выполняющимися в разных узлах локальной или глобальной сети передачи данных, а также между процессами и драйверами внешних устройств.
Программный интерфейс – функция, обеспечивающая доступ к возможностям ядра со стороны пользовательских процессов на основе механизма системных вызовов, оформленных в виде библиотеки функций.
Понятие файла является одним из наиболее важных для ОС UNIX. Все файлы, с которыми могут манипулировать пользователи, располагаются в файловой системе, представляющей собой дерево, промежуточные вершины которого соответствуют каталогам, а листья – файлам и пустым каталогам. Реально на каждом логическом диске (разделе физического дискового пакета) располагается отдельная иерархия каталогов и файлов.
Поскольку ОС UNIX с самого своего зарождения задумывалась как многопользовательская операционная система, в ней всегда была актуальна проблема авторизации доступа различных пользователей к файлам файловой системы. Под авторизацией доступа мы понимаем действия системы, которые допускают или не допускают доступ данного пользователя к данному файлу в зависимости от прав доступа пользователя и ограничений доступа, установленных для файла.
Схема авторизации доступа, примененная в ОС UNIX, настолько проста и удобна и одновременно настолько мощна, что стала фактическим стандартом современных операционных систем (не претендующих на качества систем с многоуровневой защитой) [17].
При входе пользователя в систему программа login проверяет, что пользователь зарегистрирован в системе и знает правильный пароль (если он установлен), образует новый процесс и запускает в нем требуемый для данного пользователя shell. Но перед этим login устанавливает для вновь созданного процесса идентификаторы пользователя и группы, используя для этого информацию, хранящуюся в файлах /etc/passwd и /etc/group. После того, как с процессом связаны идентификаторы пользователя и группы, для этого процесса начинают действовать ограничения для доступа к файлам.
Процесс может получить доступ к файлу или выполнить его (если файл содержит выполняемую программу) только в том случае, если хранящиеся при файле ограничения доступа позволяют это сделать. Связанные с процессом идентификаторы передаются создаваемым им процессам, распространяя на них те же ограничения. Однако в некоторых случаях процесс может изменить свои права с помощью системных вызовов setuid и setgid, а иногда система может изменить права доступа процесса автоматически.
Как и принято, в многопользовательской операционной системе, в UNIX поддерживается единообразный механизм контроля доступа к файлам и справочникам файловой системы. Любой процесс может получить доступ к некоторому файлу в том и только в том случае, если права доступа, описанные при файле, соответствуют возможностям данного процесса.
Защита файлов от несанкционированного доступа в ОС UNIX основывается на трех фактах. Во-первых, с любым процессом, создающим файл (или справочник), ассоциирован некоторый уникальный в системе идентификатор пользователя (UID -UserIdentifier), который в дальнейшем можно трактовать как идентификатор владельца вновь созданного файла. Во-вторых, с каждый процессом, пытающимся получить некоторый доступ к файлу, связана пара идентификаторов - текущие идентификаторы пользователя и его группы [10, c. 456]. В-третьих, каждому файлу однозначно соответствует его описатель – i-узел.