Курс лекции по компьютерным сетям
заводами и индивидуальными пользователями. Операционная система Windows NT
Server сертифицирована на соответствие уровню безопасности C-2. А также
имеет встроенный криптографический интерфейс, позволяющий приложениям
стандартным образом обращаться к системам криптозащиты разных
производителей.
Структура Windows NT
Структурно Windows NT может быть представлена в виде двух частей:
часть операционной системы, работающая в режиме пользователя, и часть
операционной системы, работающая в режиме ядра (рис. 7.6).
Windows NT Server может выступать как:
- файл-сервер;
- сервер печати;
- сервер приложений;
- контроллер домена;
- сервер удаленного доступа;
- сервер Internet;
- сервер обеспечения безопасности данных;
- сервер резервирования данных;
- сервер связи сетей;
- сервер вспомогательных служб.
[pic]
Рис. 7.1 Структура ОС на базе микроядра
Сетевые средства
Средства сетевого взаимодействия Windows NT направлены на реализацию
взаимодействия с существующими типами сетей, обеспечение возможности
загрузки и выгрузки сетевого программного обеспечения, а также на поддержку
распределенных приложений.
Windows NT с точки зрения реализации сетевых средств имеет следующие
особенности:
- встроенность на уровне драйверов, обеспечивает быстродействие;
- открытость, предполагает легкость динамической загрузки/выгрузки и
мультиплексируемость протоколов.
- наличие сервиса вызова удаленных процедур (RPC – Remote Procedure Call),
именованных конвейеров и почтовых ящиков для поддержки распределенных
приложений.
- Наличие дополнительных сетевых средств, позволяющих строить сети в
масштабах корпорации: дополнительные средства безопасности,
централизованное администрирование, отказоустойчивость (источник
бесперебойного питания, зеркальные диски).
Состав Windows NT
Windows NT представляет из себя модульную операционную систему.
Основными модулями являются:
- Уровень аппаратных абстракций (Hardware Abstraction Layer – HAL);
- Ядро (Kernel);
- Исполняющая система (Windows NT executive);
- Защитные подсистемы (Protected subsystems);
- Подсистемы среды (Environment subsystems).
[pic]
Рис. 7.1 Структура Windows NT
Свойства Windows NT
Улучшенное авто распознавание аппаратуры, возможность ручного выбора и
конфигурирования сетевых адаптеров, если автоматическое распознавание не
дает положительного результата.
Встроенная совместимость с NetWare. Возможность выполнения роли шлюза
к сетям NetWare, так что Windows NT-компьютеры могут получать доступ к
файлам, принтерам и серверам приложений NetWare.
Встроенная поддержка TCP/IP. Новая высокопроизводительная реализация
протоколов TCP/IP, которая обеспечивает простое, мощное решение для
межсетевого взаимодействия. Помимо этого, имеются базовые утилиты, такие
как ftp, tftp, telnet, команды rarp , arp, route и finger.
Значительные улучшения средств удаленного доступа RAS, включающие
поддержку IPX/SPX и TCP/IP, использование стандартов Point to Point
Protocol (PPP) и Serial Line IP (SLIP). Сервер RAS может теперь
поддерживать до 256 соединений (вместо 64 в версии 3.1).
Полная поддержка хранения встроенных объектов OLE 2.x и поиска
составных документов. К этим возможностям относятся связывание,
встраивание, связывание со встроенными объектами, технологии "drag-and-
drop" и OLE-Automation.
Надежность. Приложения, разработанные для MS Windows 3.x и MS-DOS,
выполняются более надежно, так как каждое приложение теперь работает в
своем адресном пространстве.
Поддержка различных ОС. Клиентами в сети с Windows NT Server могут
являться компьютеры с различными операционными системами. Стандартно
поддерживаются: MS-DOS, OS/2, Windows for Workgroups, UNIX, Macintosh,
Windows NT Workstation. Программное обеспечение возможных клиентов
включается в стандартную поставку Windows NT Server.
Взаимодействие с UNIX в Windows NT обеспечивается посредством
поддержки общих стандартных сетевых протоколов (включая TCP/IP),
стандартных способов распределенной обработки, стандартных файловых систем
и совместного использования данных, а также благодаря простоте переноса
приложений. Несмотря на то, что система Windows NT была разработана для
поддержки работы по схеме клиент–сервер, для совместимости с UNIX-хостами
встроена эмуляция терминалов.
SNMP. В Windows NT имеется ряд средств для интеграции в системы,
использующие протокол SNMP (Simple Network Management Protocol), что
позволяет выполнять удаленное администрирование Windows NT с помощью,
например, SUN Net Manager и HP Open View. Обеспечивается поддержка
графических и текстовых терминалов.
Области использования Windows NT
Сетевая операционная система Windows NT Workstation может
использоваться как клиент в сетях Windows NT Server, а также в сетях
NetWare, UNIX. Она может быть рабочей станцией и в одноранговых сетях,
выполняя одновременно функции и клиента, и сервера. А также Windows NT
Workstation может применяться в качестве ОС автономного компьютера при
необходимости обеспечения повышенной производительности, секретности, а
также при реализации сложных графических приложений, например в системах
автоматизированного проектирования.
Сетевая операционная система Windows NT Server может быть
использована, прежде всего, как сервер в корпоративной сети. Здесь весьма
полезной оказывается его возможность выполнять функции контроллера доменов,
позволяя структурировать сеть и упрощать задачи администрирования и
управления. Он используется также в качестве файл-сервера, принт–сервера,
сервера приложений, сервера удаленного доступа и сервера связи (шлюза).
Кроме того, Windows NT Server может быть использован как платформа для
сложных сетевых приложений, особенно тех, которые построены с
использованием технологии клиент–сервер.
6 Семейство ОС UNIX
Операционная система UNIX с самого своего возникновения была по своей
сути сетевой операционной системой. С появлением многоуровневых сетевых
протоколов TCP/IP компания AT&T реализовала механизм потоков (Streams),
обеспечивающий гибкие и модульные возможности для реализации драйверов
устройств и коммуникационных протоколов. Streams представляют собой
связанный набор средств общего назначения, включающий системные вызовы и
подпрограммы, а также ресурсы ядра. В совокупности эти средства
обеспечивают стандартный интерфейс символьного ввода/вывода внутри ядра, а
также между ядром и соответствующими драйверами устройств, предоставляя
гибкие и развитые возможности разработки и реализации коммуникационных
сервисов.
Большая часть коммуникационных средств ОС UNIX основывается на
использовании протоколов стека TCP/IP. В UNIX System V Release 4 протокол
TCP/IP реализован как набор потоковых модулей плюс дополнительный компонент
TLI (Transport Level Interface - Интерфейс транспортного уровня). TLI
является интерфейсом между прикладной программой и транспортным механизмом.
Приложение, пользующееся интерфейсом TLI, получает возможность использовать
TCP/IP.
Простейшая форма организации потокового интерфейса показана на рисунке
[pic]
Рис. 7.1 Простая форма потокового интерфейса
Одним из достоинств ОС UNIX является то, что система базируется на
небольшом числе интуитивно ясных понятий.
С самого начала ОС UNIX замышлялась как интерактивная система. Другими
словами, операционная система UNIX предназначена для терминальной работы.
Чтобы начать работать, человек должен "войти" в систему, введя со
свободного терминала свое учетное имя (account name) и, возможно, пароль
(password). Человек, зарегистрированный в учетных файлах системы и,
следовательно, имеющий учетное имя, называется зарегистрированным
пользователем системы. Регистрацию новых пользователей обычно выполняет
администратор системы. Пользователь не может изменить свое учетное имя, но
может установить и/или изменить свой пароль.
Программы
ОС UNIX одновременно является операционной средой использования
существующих прикладных программ и средой разработки новых приложений.
Новые программы могут писаться на разных языках (Фортран, Паскаль, Модула,
Ада и др.). Однако стандартным языком программирования в среде ОС UNIX
является язык Си (который в последнее время все больше заменяется на Си++).
Это объясняется тем, что, во-первых, сама система UNIX написана на языке
Си, а, во-вторых, язык Си является одним из наиболее качественно
стандартизованных языков.
Ядро ОС UNIX
Как и в любой другой многопользовательской операционной системе,
обеспечивающей защиту пользователей друг от друга и защиту системных данных
от любого непривилегированного пользователя, в ОС UNIX имеется защищенное
ядро, которое управляет ресурсами компьютера и предоставляет пользователям
базовый набор услуг.
К основным функциям ядра ОС UNIX принято относить следующие.
1. Инициализация системы – функция запуска и раскрутки. Ядро системы
обеспечивает средство раскрутки (bootstrap), которое обеспечивает
загрузку полного ядра в память компьютера и запускает ядро.
2. Управление процессами и нитями – функция создания, завершения и
отслеживания существующих процессов и нитей (процессов, выполняемых на
общей виртуальной памяти). Поскольку ОС UNIX является мультипроцессорной
операционной системой, ядро обеспечивает разделение между запущенными
процессами времени процессора (или процессоров в мультипроцессорных
системах) и других ресурсов компьютера для создания внешнего ощущения
того, что процессы реально выполняются в параллель.
3. Управление памятью – функция отображения практически неограниченной
виртуальной памяти процессов в физическую оперативную память компьютера,
которая имеет ограниченные размеры. Соответствующий компонент ядра
обеспечивает разделяемое использование одних и тех же областей
оперативной памяти несколькими процессами с использованием внешней
памяти.
4. Управление файлами – функция, реализующая абстракцию файловой системы,
иерархии каталогов и файлов. Файловые системы ОС UNIX поддерживают
несколько типов файлов. Некоторые файлы могут содержать данные в формате
ASCII, другие будут соответствовать внешним устройствам. В файловой
системе хранятся объектные файлы, выполняемые файлы и т.д. Файлы обычно
хранятся на устройствах внешней памяти; доступ к ним обеспечивается
средствами ядра. В мире UNIX существует несколько типов организации
файловых систем. Современные варианты ОС UNIX одновременно поддерживают
большинство типов файловых систем.
5. Коммуникационные средства - функция, обеспечивающая возможности обмена
данными между процессами, выполняющимися внутри одного компьютера (IPC -
Inter-Process Communications), между процессами, выполняющимися в разных
узлах локальной или глобальной сети передачи данных, а также между
процессами и драйверами внешних устройств.
6. Программный интерфейс – функция, обеспечивающая доступ к возможностям
ядра со стороны пользовательских процессов на основе механизма системных
вызовов, оформленных в виде библиотеки функций.
Файловая система
Понятие файла является одним из наиболее важных для ОС UNIX. Все
файлы, с которыми могут манипулировать пользователи, располагаются в
файловой системе, представляющей собой дерево, промежуточные вершины
которого соответствуют каталогам, а листья – файлам и пустым каталогам.
Реально на каждом логическом диске (разделе физического дискового пакета)
располагается отдельная иерархия каталогов и файлов.
Каждый каталог и файл файловой системы имеет уникальное полное имя (в
ОС UNIX это имя принято называть full pathname – имя, задающее полный путь,
поскольку оно действительно задает полный путь от корня файловой системы
через цепочку каталогов к соответствующему каталогу или файлу; мы будем
использовать термин "полное имя", поскольку для pathname отсутствует
благозвучный русский аналог). Каталог, являющийся корнем файловой системы
(корневой каталог), в любой файловой системе имеет предопределенное имя "/"
(слэш).
Принципы защиты
Поскольку ОС UNIX с самого своего зарождения задумывалась как
многопользовательская операционная система, в ней всегда была актуальна
проблема авторизации доступа различных пользователей к файлам файловой
системы. Под авторизацией доступа мы понимаем действия системы, которые
допускают или не допускают доступ данного пользователя к данному файлу в
зависимости от прав доступа пользователя и ограничений доступа,
установленных для файла. Схема авторизации доступа, примененная в ОС UNIX,
настолько проста и удобна и одновременно настолько мощна, что стала
фактическим стандартом современных операционных систем (не претендующих на
качества систем с многоуровневой защитой).
Идентификаторы пользователя и группы пользователей
При входе пользователя в систему программа login проверяет, что
пользователь зарегистрирован в системе и знает правильный пароль (если он
установлен), образует новый процесс и запускает в нем требуемый для данного
пользователя shell. Но перед этим login устанавливает для вновь созданного
процесса идентификаторы пользователя и группы, используя для этого
информацию, хранящуюся в файлах /etc/passwd и /etc/group. После того, как с
процессом связаны идентификаторы пользователя и группы, для этого процесса
начинают действовать ограничения для доступа к файлам. Процесс может
получить доступ к файлу или выполнить его (если файл содержит выполняемую
программу) только в том случае, если хранящиеся при файле ограничения
доступа позволяют это сделать. Связанные с процессом идентификаторы
передаются создаваемым им процессам, распространяя на них те же
ограничения. Однако в некоторых случаях процесс может изменить свои права с
помощью системных вызовов setuid и setgid, а иногда система может изменить
права доступа процесса автоматически.
Защита файлов
Как и принято, в многопользовательской операционной системе, в UNIX
поддерживается единообразный механизм контроля доступа к файлам и
справочникам файловой системы. Любой процесс может получить доступ к
некоторому файлу в том и только в том случае, если права доступа, описанные
при файле, соответствуют возможностям данного процесса.
Защита файлов от несанкционированного доступа в ОС UNIX основывается
на трех фактах. Во-первых, с любым процессом, создающим файл (или
справочник), ассоциирован некоторый уникальный в системе идентификатор
пользователя (UID - User Identifier), который в дальнейшем можно трактовать
как идентификатор владельца вновь созданного файла. Во-вторых, с каждый
процессом, пытающимся получить некоторый доступ к файлу, связана пара
идентификаторов - текущие идентификаторы пользователя и его группы. В-
третьих, каждому файлу однозначно соответствует его описатель – i-узел.
7 Обзор Системы Linux
Любая UNIX-подобная операционная система состоит из ядра и некоторых
системных программ. Также существуют некоторые прикладные программы для
выполнения какой-либо задачи.
Ядро является сердцем операционной системы. Оно размещает файлы на
диске, запускает программы и переключает процессор и другое оборудование
между ними для обеспечения мультизадачности, распределяет память и другие
ресурсы между процессами, обеспечивает обмен пакетами в сети и т.п. Ядро
само по себе выполняет только маленькую часть общей работы, но оно
предоставляет средства, обеспечивающие выполнение основных функций. Оно
также предотвращает возможность прямого доступа к аппаратным средствам,
предоставляя специальные средства для обращения к периферии. Таким образом,
ядро позволяет контролировать использование аппаратных средств различными
процессами и обеспечивать некоторую защиту пользователей друг от друга.
Системные программы используют средства, предоставляемые ядром для
обеспечения выполнения различных функций операционной системы. Системные и
все остальные программы выполняются на поверхности ядра, в так называемом
пользовательском режиме. Существует некоторая разница между системными и
прикладными программами. Прикладные программы предназначены для выполнения
какой-либо определенной задачи, в то время как системные программы
используются для поддержания работы системы. Текстовый процессор является
прикладной программой, а программа telnet – системной, хотя зачастую
граница между ними довольно смутная.
Довольно часто операционная система содержит компиляторы и
соответствующие им библиотеки, хотя не обязательно все языки
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
|