Построение компьютерной сети вуза - (реферат)
p>Приложения н подсистемы среды реализуют взаимоотношения типа “клиент-сервер”. Это означает, что клиент (приложение) обращается к серверу среды (подсистеме) для удовлетворения запроса о предоставлении некоторого типа сервиса системы. Для реализации взаимодействия “клиент-сервер” между приложениями и подсистемами среды Windows NT обеспечивает механизм связи между ними. Исполняющая система предоставляет средства прохождения сообщении, которые называются средствами вызова локальных процедур (LPC — Local Procedure Call). Они функционируют подобно вызовам удаленных процедур (RPC), используемому для работы в сетевой среде (описаны в Networking Guide, Chapter I, “Windows NT Networking Architecture”). Однако средства LPC оптимизированы для процессов, выполняющихся на одном компьютере. Прикладные программы взаимодействуют с подсистемами среды, передавая сообщения через средства LPC. Процесс прохождения сообщения скрыт от клиентского приложения функциональными заглушками (slubs); заглушки представляют собой невыполняемые фрагменты, которые используются при обращении к серверам среды. Заглушки реализованы в форме специальных динамически связываемых библиотек (DLL).

Когда приложение производит обращение к интерфейсу прикладных программ (API —application program interface) подсистемы среда, заглушка клиентского процесса (приложения) упаковывает параметры для вызова и направляет их серверному процессу (подсистеме), который осуществляет выполнение. Средства LPC предусматривают, что после передачи данных серверу производится ожидание ответа.

Рассмотрим, например, как этот процесс работает в подсистеме Win32. Когда приложение Win32 загружено дня выполнения, оно связывается с DLL, которая содержит заглушки для всех функций Win32 API. В случае, если приложение осуществляет вызовы функции Win32 (в нашем примере, Win32-функции CreateWindow), обращение обрабатывается следующим образом.

1. Клиентское приложение Win32 вызывает заглушку функции CreateWindow() из DLL. 2. Заглушка формирует сообщение, которое содержит все данные, необходимые для создания окна, и посылает это сообщение процессу сервера Win32 (подсистеме Win32).

3. Подсистема Win32 получает сообщение и вызывает реальную функцию CreateWindow(). В результате этого создается окно.

4. Подсистема Win32 посылает сообщение, содержащее результаты выполнения функции CreateWindow(), обратно заглушке в DLL,

5. Заглушка распаковывает сообщение сервера подсистемы и возвращает результаты клиентскому приложению Win32.

Приложение воспринимает, что окно было создано функцией CreateWindow() из DLL. От приложения скрыто, что работа фактически выполнялась процессом сервера Win32 (подсистемой Win32), что для активизации этого процесса посылалось сообщение, и даже что существует процесс сервера Win32. Кроме тою, приложение не знает, что подсистема обращалась к одному или нескольким серверам исполняющей системы для поддержки ее обращения к CreateWindow().

    Диспетчер ввода-вывода

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

Модель ввода-вывода Windows NT использует многоуровневую архитектуру, которая позволяет отдельным драйверам отвечать за логически законченный уровень обработки ввода-вывода. Например, драйверы самого низкого уровня управляют физическими устройствами компьютера (называются драйверами устройств—device drivers). Другие драйверы являются надстройкой к драйверам устройств. Драйверам более высокого уровня неизвестны любые подробности работа физических устройств. С помощью диспетчера ввода-вывода драйверы более высокого уровня просто передают запросы логического ввода-вывода драйверам устройств, которые и обращаются к обслуживаемым ими физическим устройствам. Устанавливаемые файловые системы Windows NT и сетевые редиректоры (redirectors)— примеры работающих таким образом драйверов высокого уровня. Использование подобной схемы обеспечивает легкую замену драйверов файловой системы и драйверов устройств. Кроме того, это позволяет быть активными одновременно нескольким файловым системам и устройствам, так как они адресуются через формальный интерфейс.

Драйверы взаимодействуют друг с другом, используя структуры данных, называемые пакетами запроса ввода-вывода (I/O request packets). Драйверы передают пакеты запроса ввода-вывода друг другу через диспетчер ввода-вывода, который доставляет пакеты соответствующим целевым драйверам. Самый простой способ выполнения операций ввода-вывода состоит в том, чтобы синхронизировать выполнение приложений с завершением запрашиваемых ими операций ввода-вывода (такой подход известен под названием синхронного ввода-вывода—synchronous I/O). Когда подобное приложение выполняет операцию ввода-вывода, функционирование собственно приложения блокировано. После завершения операции ввода-вывода приложению разрешается продолжение дальнейшего выполнения. Одним из способов оптимизации эффективности приложении является применение асинхронного ввода-вывода (asynchronous I/O); этот метод используется многими процессами в Windows NT. Когда приложение инициализирует операцию ввода-вывода, диспетчер ввода-вывода принимает запрос, но не блокирует работу приложения в процессе выполнения ввода-вывода. Вместо этого приложение продолжает свое функционирование. Большинство устройств ввода-вывода очень медленно в сравнении с процессором компьютера; таким образом, прикладная программа может выполнить множество операции в процессе ожидания завершения операции ввода-вывода. Когда подсистема среды выдает асинхронный запрос ввода-вывода, диспетчер ввода-вывода возвращается к подсистеме среды немедленно после помещения запроса в очередь, без ожидания завершения операции драйвером устройства. В это время отдельная нить управления диспетчера ввода-вывода выполняет запросы из очереди наиболее эффективным образом (не обязательно в порядке поступления)

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

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

Архитектура ввода-вывода содержит единственный диспетчер кэша (Cache Manager), который осуществляет кэширование ддя всей системы ввода-вывода. Кэширование (caching)—метод, используемый файловой системой для увеличения эффективности. Вместо непосредственной записи и считывания с диска, часто используемые файлы временно сохраняются в кэш-памяти; таким образом, работа с этими файлами выполняется в памяти. Операции с данными, находящимися в памяти, производятся значительно быстрее операции с данными на диске.

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

Диспетчер кэша поддерживает службы типа ленивой записи (lazy write) и ленивой фиксации (lazy commit), которые могут значительно увеличил) эффективность файловой системы. В процессе ленивой записи изменения регистрируются в кэше файловой структуры, обеспечивающем более быстрый доступ. Позднее, когда загрузка центрального процессора снижена, диспетчер кэша заносит изменения на диск. Ленивая фиксация подобна ленивой записи. Вместо немедленной маркировки транзакции как успешно завершившейся, переданная информация кэшируется и позднее в фоновом режиме записывается в журнал файловой системы. Драйверы файловой системы

В архитектуре ввода-вывода Windows NT управление драйверами файловой системы осуществляет диспетчер ввода-вывода. Windows NT допускает использование множества файловых систем, включая существующие файловые системы типа FAT. Для обеспечения совместимости снизу вверх с операционными системами MS-DOS, Windows З. х и OS/2, Windows NT поддерживает файловые системы FAT и HPFS. Редиректоры и серверы функционируют как драйверы файловой системы и выполняются на уровне интерфейса поставщика или ниже, где находятся NetBIOS и Windows-сокет.

Драйверы транспортного протокола общаются с редиректорами и серверами через уровень, называемый интерфейсом транспортного драйвера (TDI—Transport Driver Interface). Windows NT включает следующие транспортные средства:

• Протокол управления передачей/межсетевой протокол TCP/IP, который обеспечивает возможность работы с широким диапазоном существующих сетей. • NBF, потомок расширенного интерфейса пользователя NetBIOS (NetBEUI), который обеспечивает совместимость с существующими локальными вычислительными сетями на базе LAN Manager, LAN Server и MS-Net.

• Управление передачей данных (DLC —Data Link Control), которое обеспечивает интерфейс дня доступа к мэйнфреймам и подключенным к сети принтерам,

• NWLink, реализация IPX/SPX, обеспечивающая связь с Novell NetWare. В нижней части сетевой архитектуры находится драйвер платы сетевого адаптера. Windows NT в настоящее время поддерживает драйверы устройств, выполненные и соответствии со спецификацией NDIS (Network Device Interface Specilication) версии 3. 0. NDIS предоставляет гибкую среду обмена данными между транспортными протоколами и сетевыми адаптерами. NDIS 3. 0 позволяет отдельному компьютеру иметь несколько установленных в нем плат сетевого адаптера. В свою очередь, каждая плата сетевого адаптера может поддерживать несколько транспортных протоколов для доступа к различным типам сетевых станций.

    3. 2 Файловая система NTFS

NTFS обеспечивает комбинацию эффективности, надежности и совместимости, отсутствующую в FAT или HPFS. Она разработана дня быстрого выполнения стандартных файловых операций типа чтения, записи и поиска, а также улучшенных операций типа восстановления файловой системы на очень больших жестких дисках. NTFS также включает возможности безопасности, требуемые для файловых серверов и высококачественных персональных компьютеров в корпоративной среде. NTFS поддерживает управление доступом к данным и привилегии владельца, что является важным для целостности корпоративных данных. В то время как каталогам, разделяемым при помощи Windows NT Server, назначаются специфические разрешения, файлам и каталогам NTFS могут назначаться разрешения вне зависимости, разделены они иди нет. NTFS - единственная файловая система в Windows NT, которая позволяет назначить разрешения для отдельных файлов.

NTFS является простой, но очень мощной разработкой. Для этой перспективной файловой системы вся информация на томе NTFS является файлом им часшо файла. Каждый распределенный на томе NTFS сектор принадлежит некоторому файлу. Даже метаданные (metadata) файловой системы (информация, которая описывает непосредственно файловую систему) являются частью файла.

Эта основанная на атрибутах файловая система поддерживает объектно-ориентированные приложения, обрабатывая все файлы как объекты, которые имеют определяемые пользователем и системой атрибуты.

    Главная файловая таблица

Каждый файл на томе NTFS представлен записью в специальном файле, называемом главной файловой таблицей (MFA—master file table). NTFS резервирует первые 16 записей таблицы для специальной информации. Первая запись этой таблицы описывает непосредственно главную файловую таблицу; за ней следует зеркальная запись (mirror record) MFT. Если первая запись MFT разрушена, то NTFS читает вторую запись для отыскания зеркального фата MFT, первая запись которого идентична первой записи MFT. Местоположения сегментов данных MFT и зеркального файла MFT записаны в секторе начальной загрузки. Дубликат сектора начальной загрузки находится в логическом центре диска.

Третья запись MFT —файл регистрации (log file); используется для восстановления файлов. Файл регистрации подробно описан в настоящей главе ниже. Семнадцатая и последующие записи главной файловой таблицы используются собственно файлами и каталогами (также рассматриваются как файлы NTFS) на томе.

Главная файловая таблица отводит определенное количество пространства для каждой записи файла. Атрибуты файла записываются в распределенное пространство MFT. Небольшие файлы и каталоги (обычно до 1500 байт или меньше) могут полностью содержаться внутри записи главной файловой таблицы. Подобный подход обеспечивает очень быстрый доступ к файлам. Рассмотрим, например, файловую систему FAT, которая использует таблицу размещения файлов, в которой перечисляются имена и адрес каждого файла. Элементы каталога FAT содержат индекс в таблице размещения файла. В случае если необходимо просмотреть содержимое файла, FAT сначала читает таблицу размещения файлов и убеждается в существовании файла. Далее FAT восстанавливает файл, ищацепочку распределенных блоков, относящихся к этому файлу. В NTFS поиск файла производится только для непосредственного его использования. Записи каталога помещены внутри главной файловой таблицы так же, как записи файла. Вместо данных каталоги содержат индексную информацию. Небольшие записи каталогов находятся полностью внутри структуры MFT. Большие каталоги организованы в B-tree, имея записи с указателями на внешние кластеры, содержащие элементы каталога, которые не могли быть записаны внутри структуры MFT.

    Атрибуты файла NTFS

NTFS просматривает каждый файл (или каталог) как набор атрибутов файла. Такие элемента, как имя файла, информация защиты и даже данные - все это атрибуты файла. Каждый атрибут идентифицирован кодом типа атрибута и, необязательно, именем атрибута.

Если атрибуты файла могут находится внутри записи файла MFT, они называются резидентными (resident) атрибутами. Например, информация типа имени файла и отметки времени всегда включается в запись файла MFT. Если файл слишком большой, чтобы содержать все атрибуты в записи фата MFT, часть атрибутов является нерезидентной (nonresident). Нерезидентные атрибуты занимают один или несколько пробегов (run) дискового пространства в другом месте тома(пробег дискового пространства — неприрывная линейная область на диске). Вообще, все атрибуты могут быть вызваны как поток байтов независимо от того, являются ли они резидентными или нерезидентными. Длинные и короткие имена файлов

Подобно HPFS, NTFS поддерживает имена файла до 255 символов. Имена файла N'I'FS используют набор символов Unicode с 16 битами; однако вопрос доступа из MS-DOS решен. NTFS автоматически генерирует поддерживаемое MS-DOS имя (восемь плюс три символа) для каждого файла. Таким образом, файлы NTFS могут использоваться через сеть операционными системами MS-DOS и OS/2. Это особенно важно для файловых серверов организации, которая использует персональные компьютеры с двумя или всеми тремя этими операционными системами.

Создавая имена файла “восемь плюс три”, NTFS также позволяет приложениям MS-DOS и Windows З. х работать с файлами, имеющими длинные имена NTFS. Кроме того, при сохранении файла приложениями MS-DOS или Windows З. х на томе NTFS сохраняются и имя файла “восемь плюс три” и длинное имя NTFS.

Если длинное имя файла или каталога на томе NTFS содержит пробелы, следует убедиться, что путь записан ц кавычках. Это справедливо при определении путл в Program Manager для значков приложений. Например, предположим, что Word for Windows установлен в D: \WORD FOR WINDOWS. Командная строка Program Item Properties должна быть установлена в D: \WORD FOR WINDOWS\WINWORD. EXE. При отсутствии кавычек будет отображено сообщение об ошибке “The path D: \Word is invalid” (Путь D: \Word недопустим).

При работе с Windows NT файлы, созданные или переименованные в разделах FAT, могут иметь связанные дтинные имена. Правила управления длинными именами фата на томе NTFS также относятся к длинным именам файла на разделах FAT; отличие заключается в том, что имена файла на FAT не могут содержать расширенные символы. Дополнительную информацию о поддержке длинных имен файлов для разделов FAT можно найти в разделе “Файловая система FAT”.

    Генерация короткого имени файла

Поскольку NTFS использует набор символов Unicode для имен файлов, существует возможность задействования нескольких “запрещенных” символов, которые MS-DOS не может читать в имени файла. Для генерации короткого имени файла в стиле MS-DOS, NTFS удаляет все эти символы и любые пробелы из длинного имени файла. Так как имя файла в MS-DOS может иметь только одну точку, NTFS также удаляет все дополнительные точки из имени файла. Далее, в случае необходимости NTFS усекает имя файла до шести символов и добавляет тильду (~) и номер. Например, к каждому недублированному имени файла добавляется ~1. Повторяющиеся имена файлов заканчиваются символами ~2, ~3 и т. д. Расширение имени файла усекается до трех или меньшего количества символов. Наконец, при отображении имени файла в командной строке NTFS транслирует все символы в имени файла и расширении к верхнему регистру (File Manager отображает эти имена файла в нижнем регистре).

Windows NT использует несколько другой метод для создания коротких имен файлов для случая, когда имеется пять или более файлов, которые привели бы к двойным коротким именам файла. Для пятого и последующих файлов Windows NT использует только первые два символа от длинного имени файла и далее специальной математической операцией (функция от длинного имени) генерирует следующие уникальные четыре символа короткого имени файла; после этою к результату добавляется ~5 (или другой номер в случае необходимости избежания двойного имени файла). Такой метод обеспечивает в основном повышенную эффективность для случая, когда Windows NT должна создавать короткие имена файлов для большого количества файлов с похожими длинными именами. Windows NT использует этот метод создания коротких имен для томов FAT и NTFS.

По умолчанию, Windows NT поддерживает имена файлов в формате MS-DOS на всех томах NTFS. Для повышения эффективности работы на томах с большим количеством длинных похожих имен можно запретить эту возможность для всех томов. Windows NT не генерирует коротких имен для файлов, созданных приложениями POSIX в разделе NTFS. Это означает, что приложения MS-DOS и Windows З. х не смогут работать с подобными именами, если эти имена не удовлетворяют условию “восемь плюс три”. В случае необходимости работы из приложении MS-DOS или Windows с файлами, которые созданы приложениями POSIX, следует убедиться, что использованы стандартные имена MS-DOS.

    Согласованность с POSIX

Согласованность с POSIX позволяет переносить приложения UNIX в среду Windows NT. Windows NT полностью согласована со стандартом 1003. 1 института IEEE, который определяет присвоение имен и идентификацию файлов.

    Следующие возможности POSIX включены в NTFS;

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11



Реклама
В соцсетях
рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать