К числу преимуществ операционных систем windows nt относятся

Что значит для вас магическое сочетание двух букв — NT? Если Как запретить выключать компьютер? Подчас бывает необходимо запретить выключать компьютер. Приведенный ниже параметр реестра позволит запретить пользователям выключать компьютер с помощью команды “Выключить компьютер”. Для этого в ветви HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer создайте dword-параметр NoClose со значением 1.
ничего или лишь смутное воспоминание, что ваша операционка “вроде бы на этом ядре”, то данная статья приоткроет завесу тайны. Под Windows NT подразумевается все семейство операционных систем на базе ядра NT. Сиречь: Windows NT 4.0 (SP6), Windows 2000 , Windows XP. Первая безнадежно устарела и достойна помещения в музей, Win2k живет, но на смену ей постепенно приходит WinXP. Многие моменты являются общими для всех трех систем, но акцент данного материала будет делаться на WinXP, как на новейшего представителя благородного семейства NT. К инсталляции готов! Чтобы начать успешную работу с системой, не помешает эту систему установить. Процесс установки не содержит глобальных нюансов (набрать winnt в командной строке, надеюсь, смогут все), но… Удобно устанавливать систему в автоматическом режиме, но надоедливое лицензионное соглашение мешает пойти расслабиться. В секцию [unattended] файла автоматической установки нужно ввести строку OemSkipEula = yes — и можно идти пить кофе. Тем самым вы ничего не нарушаете — первый раз лицензия была принята — и избавляете себя от необходимости постоянно следить за происходящим на мониторе. При установке XP можно выбрать версию HAL ( Hardware Abstraction Layer ). Это бывает необходимым в том случае, когда у вас есть специальный HAL от производителя компьютера (если

Windows NT. Очевидное и невероятное - фото 1

вы являетесь счастливым обладателем brandname-машины), либо при некорректном определении установленного оборудования. Для этого при появлении сообщения “Setup is inspecting your computer’s hardware configuration” нажмите и удерживайте клавишу F5. На экране появится список версий библиотек HAL. Выберите версию, соответствующую вашей системе. Есть возможность подключить/отключить ACPI HAL на этапе установки системы при помощи изменения файла txtsetup.sif. Порядок действий следующий: 1. По завершении текстового этапа установки Windows, но до появления графического интерфейса загрузите систему при помощи загрузочного диска; 2. Снимите с файла txtsetup.sif атрибуты read-only, hidden и system: C:\ > attrib c:\txtsetup.sif -r -s -h; 3. Откройте файл txtsetup.sif в текстовом редакторе и найдите в нем строку ACPIEnable= ; 4. Для установки ACPI HAL измените эту строку на ACPIEnable=1 , для отключения ACPI HAL — на ACPIEnable=0 ; 5. Сохраните изменения; 6. Восстановите атрибуты файла при помощи команды C:\ > attrib c:\txtsetup.sif +r +s +h. Продолжайте установку Windows. Стремление к минимуму Установку ХР выделяет отсутствие возможности выборочной инсталляции. Поэтому после завершения установки многие с удивлением отмечают, что размер папки Windows стремится к гигабайту. Но для обладателей маленьких винчестеров существует выход. После инсталляции надо в Windows/inf найти файл sysoc.inf. В нем удалите слово hide (без учета регистра) по всему файлу. После этой операции в Add/Remove Windows components появятся новые пункты. С некоторых пунктов галочка не снимается, поэтому не надо ломать мышь.

Windows NT. Очевидное и невероятное - фото 2

Объем установленной ОС уменьшился, но не настолько, как хотелось бы? Чтобы продолжить вивисекцию, установите и настройте все оборудование, подключенное к компьютеру. Во избежание инцидентов, настройте также языки системы. Если этого не сделать, то при обнаружении нового устройства система будет просить дистрибутив. Итак, все установлено и настроено, теперь можно удалять директории: *Windows\DriverCache\i386* и **Windows\system32\dllcache**. Что касается последнего, то это кэш защищенных системных файлов, используемый для их автоматического восстановления в случае повреждения. Размер этой папки по умолчанию 400 Мб. Настроить его можно, изменяя параметр SFCQuota в реестре по адресу: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon. Размер кэша системных файлов изменяется с помощью команды sfc: sfc /cachesize=0 (можно ввести любое значение). Теперь можно с чистой совестью удалить все файлы

Windows NT. Очевидное и невероятное - фото 3

в указанной директории. Если не задать /cachesize=0 , то при следующей проверке защищенных системных файлов система снова наполнит свой кэш до заданного объема. В указанной выше ветке реестра есть ключик SfcDisable , отвечающий за работу SFC (System File Protection). Почему не SFP? Обратитесь в службу поддержки Microsoft. Чтобы отключить этот навязчивый сервис, измените ключ на ffffff9d. Внимание! Если после отключения SFC вышеуказанным методом обнаруживают себя признаки dll-hell’a (падение производительности системы и сбои, вызванные заменой системных dll-библиотек на несовместимые версии от сторонних производителей), верните значение параметра обратно на 0. Проблеме dll-hell в Windows XP было уделено пристальное внимание. Во-первых, ни одной программе операционная система не даст просто так перезаписать какую-либо dll (Dynamic Link Library — динамическая библиотека ссылок) в системной директории. Система SFC контролирует основные системные файлы и в случае замены какого-либо из них меняет все обратно. При инсталляции программы, которая заменяет системные dll собственными, эти, зачастую криво переделанные, библиотеки все-таки будут записываться на диск, но не вместо системных, а в специальную папку. При запуске такой программы в случае вызова dll вызывается не системный файл, а сохраненный файл именно от этой программы. Если критически не хватает свободного места, то на большинстве систем в такой ситуации будет целесообразно также отключить знакомый по Windows Me System Restore. Для этого в System Properties\System Restore отметьте галочкой Turn off System Restore for all drives. Этим вы сотрете всю информацию, которая записана System Restore и хранится в папке System Volume Informatiоn. Справедливости ради стоит отметить, что, по сравнению с операционкой-предшественницей, прогресс налицо. Файловая система Во время инсталляции предстоит Как отключить звуки, издаваемые спикером? Система злоупотребляет спикером? Выход прост — отключить. Для этого необязательно запускать страшный debug.com. 1. В Properties системы ( MyComputer ) найдите закладку Hardware. Затем нажмите на кнопку Device Manager. 2. В меню View выберите пункт Show Hidden Devices. 3. Дважды щелкните мышью по пункту Non-Plug and Play Drivers в списке устройств. 4. Найдите устройство Beep и, открыв его свойства, установите Startup Type в значение Disabled.
сделать еще один выбор. На этот раз предстоит выбрать файловую систему. Варианты — уже знакомая FAT32 и NTFS. О достоинствах второй системы сейчас и будет поведано. NTFS (“родная” файловая система NT-систем) существенно превосходит FAT32 по производительности (абсолютно игнорирует степень фрагментированности диска), надежности и удобству администрирования, но критична к объему оперативки. Так, если в системе меньше 128 Mb, то NTFS к употреблению не рекомендуется — тормозить будет безбожно. Немного истории. NTFS начала использоваться вместе с Windows NT 3.1 в 1993 году. Ее прародителем является система HPFS, разработанная совместно IBM и Microsoft для OS/2. В чем же преимущества NTFS? 1. Работа с большими дисками. NTFS способна — теоретически — работать с томами размером в 16,777,216 терабайт. Впечатляет? 2. Высокая надежность. NTFS содержит две копии MFT (Master File Table). В отличие от таблицы FAT, MFT больше напоминает таблицу базы данных,

Windows NT. Очевидное и невероятное - фото 4

как по структуре, так и по принципу работы. Если оригинал MFT поврежден в случае аппаратной ошибки, то при следующей загрузке система использует копию MFT и автоматически создает новый оригинал. 3. Защищенность. NTFS является объектной файловой системой, т.е. рассматривает файлы как объекты. Каждый объект обладает свойствами, такими как его имя, дата создания, дата последнего обновления, архивный статус и дескриптор безопасности. Файловый объект также содержит набор методов, которые позволяют с ним работать, такие как open, close, read и write. Пользователи, включая сетевых, для обращения к файлу вызывают эти методы, а Security Reference Monitor определяет, имеет ли пользователь необходимые права для вызова какого-либо из этих методов. Кроме этого, в NTFS встроена система шифрования файлов, но с этим зверем следует обращаться крайне осторожно. 4. Компрессия файлов. NTFS позволяет сжимать отдельные каталоги и файлы, тогда как DriveSpace позволял сжимать только диски целиком. Это очень удобно для экономии пространства на диске, например, можно сжимать “на лету” большие графические файлы формата BMP или текстовые файлы, причем пользователь этого не заметит. 5. Нет мучений с кодовыми страницами благодаря поддержке ISO Unicode. Формат Unicode использует 16 bit для кодировки каждого символа, в отличие от ASCII, который использовал 8 или 7 bit. Следовательно, пользователь может называть файлы на любом языке — система это будет поддерживать, не требуя изменить кодовую страницу. NTFS v.5 В Win2k (также известной как NT 5.0) приходилось работать с файловой системой NTFS 4.0. В ХР нашему вниманию предстает пятая версия NTFS, претерпевшая значительные изменения. Первое же бросающееся в глаза отличие — поддержка квот. Квотирование — это ограничение максимального объема дискового пространства для пользователя, которое он

Windows NT. Очевидное и невероятное - фото 5

имеет право использовать. Установка квот находится на закладке Quota в Properties раздела NTFS. Это может оказаться полезным, например, если вы хотите выделить 1 Gb на жестком диске брату, 500 Mb сестре и 100 Mb папе (чтобы не забивал диск). Причем ограничения не накладываются на какую-то конкретную папку — каждый пользователь может использовать все доступное ему пространство жесткого диска в отмеренном объеме. Второе, достаточно важное отличие NTFS5 от старой версии — возможность поиска файла по имени его владельца. С помощью Access Control List можно легко проверить, какие файлы доступны пользователю, и установить права доступа к отдельным файлам или каталогам. В NTFS5 добавлена такая функция, как точки монтирования или соединения (junction point). Поклонники *NIX могут начать возмущаться и обвинять Microsoft в плагиате, потому как ранее подобное использовалось только в Unix/Linux. С помощью этой технологии можно присоединить любой дисковый ресурс в любое место

Windows NT. Очевидное и невероятное - фото 6

файловой системы. Например, можно присоединить жесткий диск D:\ в любой из каталогов на диске C:, скажем, в C:\Folder. Теперь, зайдя в директорию C:\Folder, можно будет видеть содержимое корневого каталога диска D:\. Все изменения, которые будут произведены в этой директории, будут произведены на диске D:\. После этого можно в окне Computer management\Disk Management убрать букву, присвоенную этому диску (Change disk letter and path), и пользователь даже не будет знать, что на компьютере установлено два диска! Он будет работать с одним диском C:, и директория C:\Folder ничем не будет отличаться от других. Смонтировать диск или раздел в директорию на NTFS разделе или диске можно из меню Change disk letter and path выбором пункта Add\Mount in this Ntfs folder\Browse. *** Полностью реализовать свой потенциал NT-система может только на файловой системе NTFS. Если компьютер обладает достаточной производительностью (в первую очередь это касается оперативки), то к использованию рекомендуется NTFS. FAT же постепенно приобретает статус пережитка прошлого. Windows XP является очень мощной системой и обладает большим количеством преимуществ, начиная от удобства работы и заканчивая надежностью. Но за все хорошее надо платить — система крайне охоча до ресурсов, поэтому минимальной конфигурацией для комфортной работы будет P300/128 Mb RAM. При должной оптимизации приемлемая работа гарантирована.

1. Для оценки производительности ККС используются такой показатель:
а) время реакции на запрос +
б) надежность
в) точность

2. Для оценки производительности ККС используются такой показатель:
а) точность
б) пропускная способность +
в) время реакции на ответ

3. Для оценки производительности ККС используются такой показатель:
а) время реакции на ответ
б) надежность
в) задержка передачи данных +

4. Рабочие станции и серверы соединяются с кабелем коммуникационной подсети с помощью:
а) сетевых адаптеров +
б) коммутаторов
в) шлюзов

5. Недостаток такого типа адаптивного метода маршрутизации, заключается в загруженности служебной информацией линии связи:
а) централизованного
б) гибридного
в) распределенного +

6. К основным сетевым приложениям аудио относятся:
а) различные системы интернет-радио
б) потоковое аудио, интернет-радио, интернет-телефония +
в) интернет-радио и почтовое аудио

7. Одним из главных факторов качества работы по оценке эффективности сетей является:
а) условия проведения оценки
б) количество исходных данных
в) достоверность исходных данных +

8. В настоящее время сеть Internet имеет:
а) типичную для ГКС узловую структуру +
б) линейно-узловую структуру
в) иерархическую структуру

9. Недостатком коммутации сообщений является отсутствие возможности выбора скоростей передачи, так ли это:
а) да
б) частично
в) нет +

10. Технология Frame Relay (FR) появилась как средство:
а) повышения достоверности передачи информации
б) реализации преимуществ пакетной коммутации на скоростных каналах связи +
в) повышения надежности сети

11. Среди кабельных линий связи наилучшие показатели имеют:
а) световоды +
б) проводные (воздушные)
в) коаксиальльные

12. Выделенные каналы связи по сравнению с коммуникативными отличаются:
а) поддержкой большого объема трафика
б) более высоким качеством связи +
в) высокой степенью готовности к передаче информации

13. Windows NT Server — это операционная система предназначенная, для:
а) выполнения функций центрального сервера +
б) работы только в качестве сервера приложений
в) работы только в качестве сервера печати

14. К числу преимуществ операционных систем Windows NT относятся:
а) сложность использования
б) простота использования
в) переносимость +

15. К числу преимуществ операционных систем Windows NT относятся:
а) отказоустойчивость +
б) непереносимость
в) отсутствие совершенной системы защиты

16. К числу преимуществ операционных систем Windows NT относятся:
а) непереносимость
б) наличие более совершенной системы защиты +
в) отсутствие совершенной системы защиты

17. Сеть Internet построена в основном на базе компьютеров, работающих под управлением ОС:
а) Windows
б) NetWare
в) Unix +

18. Расширению контингента пользователей ККС в наибольшей мере способствует то, что:
а) в ККС используются аппаратные средства только одного производителя
б) Internet и Intranet легко интегрируются +
в) ККС предоставляет услуги всем желающим

19. Наиболее важной особенностью территориальных сетей связи является:
а) ограниченность числа каналов связи между удаленными абонентами
б) степень рассредоточенности узлов связи
в) разнотипность каналов связи +

20. Полоса пропускания линий связи представляет собой:
а) характеристику, зависящую от типа линии связи и ее протяжности
б) непрерывный диапазон частот, в котором отношение амплитуды выходного сигнала к входному не превышает заранее заданный предел (обычно 0,5) +
в) разность между максимальной и минимальной частотами синусоидального сигнала в данной полосе пропускания

21. В случае выхода из строя оперативной памяти центрального процессора или сетевой карты одним из решений проблемы будет использование:
а) кластеров +
б) резервного копирования
в) технологии RAID

22. Переходная характеристика цифровой системы стремится к соответствующей характеристике непрерывной системы, если период квантования стремится к:
а) 1/2p
б) 0 +
в) 1

23. Объекты, предназначенные для повышения производительности работы сервера при поиске нужных данных, называются:
а) ключами
б) представлениями
в) индексами +

24. Поименованная, целостная, единая система данных, организованная по определенным правилам, которые предусматривают общие принципы описания, хранения и обработки данных, называется:
а) базой знаний
б) базой данных +
в) реляционной базой данных

25. Системы, где на сайтах могут функционировать различные типы СУБД, использующие разные модели данных, называются:
а) параллельными
б) гомогенными
в) гетерогенными +

26. Набор нормализованных отношений называется такой базой данных:
а) иерархической
б) реляционной +
в) сетевой

27. Кабельная система ЛКС представляет собой:
а) набор коммуникационных элементов +
б) совокупность сегментов
в) набор коммутаторов и мостов

28. Для описания множественного типа используется служебное слово:
а) RECORD
б) WITH
в) SET OF +

29. Линейный список, элементы в который добавляются только в начало, а исключаются только из конца списка, называется:
а) очередью +
б) однонаправленным списком
в) стеком

30. Объявлять переменные, значением которых будет адрес ячейки памяти, можно с помощью:
а) любого типа данных
б) ссылочного типа данных +
в) специальных процедур

Сегодня становится широко распространенным желание потребителей использовать Windows NT в системах реального времени. Для этого имеется ряд весомых, на первый взгляд, причин: Win32 API считается стандартом, а на его базе разработано огромное количество программ; графический интерфейс стал сегодня очень популярным; для NT имеется немало готовых решений для коммерческих применений; в среду NT включены многие виды средств разработки. Тем не менее, возможно ли использование Windows NT для разработки системы реального времени?

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

1. «Жесткие» и «мягкие» системы реального времени

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

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

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

В зависимости от отношения к опозданиям системы реального времени делятся на «жесткие» (hard) и «мягкие» (soft).

В жесткой системе:

  • опоздания не допускаются ни при каких обстоятельствах;
  • в случае опоздания результаты обработки уже никому не нужны;
  • опоздание считается катастрофическим сбоем;
  • стоимость опоздания бесконечно велика.

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

В мягкой системе реального времени:

  • повышается стоимость опоздания;
  • допускается низкая производительность в случае опоздания.

Примером мягкой системы является подсистема сетевого интерфейса. Если подтверждение о приеме посланного пакета не поступило после истечения определенного времени, то пакет считается потерянным. В этом случае можно просто повторить посылку пакета и примириться со значительным снижением производительности системы.

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

Не следует путать операционную систему реального времени (ОС РВ) с системой реального времени. Первая ОС используется для создания системы реального времени. ОС РВ должна быть предсказуемой — это не значит, что она должна быть быстрой, это означает, что при построении СРВ можно добиться того, чтобы максимальное время, затрачиваемое на определенную работу, укладывалось в заранее установленный лимит, сравнимый с требованиями приложения. Windows 3.11, например, даже на сколь угодно быстром процессоре бесполезна для построения СРВ, поскольку любое приложение может захватить управление и заблокировать все остальное.

2. Удовлетворяет ли Windows NT требованиям, предъявляемым к ОС РВ?

2.1. Нити и приоритеты

Очевидно, что NT — многонитевая ОС, она позволяет вытеснение и тем самым удовлетворяет требованию 1 (см. врезку).

В Windows NT имеются два класса приоритетов: класс реального времени и динамический класс. Процессы в классе реального времени имеют фиксированный приоритет, менять который может лишь само приложение, тогда как приоритет процессов динамического класса может меняться диспетчером. Процесс имеет базовый уровень приоритета. Нить в процессе может иметь приоритет в диапазоне плюс/минус 2 около базового уровня или один из двух крайних уровней класса (16 или 31 для реального времени). Например, нить в процессе с базовым уровнем 24 может иметь приоритет 16, 22 — 26, 31. Очевидно, что гарантировать предсказуемость системы можно только при использовании процессов первого класса.

Казалось бы, второе требование также удовлетворено. Но малое число возможных уровней препятствует реализации СРВ на базе NT. Большинство современных ОС РВ позволяет иметь по крайней мере 256 различных уровней. Чем больше имеется уровней, тем более предсказуемо поведение системы. В Windows NT имеется только 7 различных уровней для нити в данном процессе. В результате многие нити будут выполняться с одинаковыми приоритетами и, как следствие, предсказуемость поведения системы будет посредственной. Более того, общее число уровней для всех процессов класса только 16 и положение не спасает даже замена нитей процессами, не говоря уже о том, что переключение контекста для процессов снижает производительность.

В ОС РВ вызовы системы синхронизации (семафоры или критические секции) должны уметь управлять наследованием приоритетов. В Windows NT это невозможно, поэтому требование 4 не удовлетворяется.

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

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

2.2. Предсказуемость системных вызовов Win32 API

Для тестирования системных вызовов был написан процесс (принадлежащий классу реального времени), содержащий вызовы системы синхронизации нитей, и измерялось время, затраченное на каждый вызов. При запуске на Pentium 100 МГц с 24 Мбайт памяти оказалось, что максимальное значение на вызове mutex достигает 670 мкс при среднем времени 35 мкс. Это произошло потому, что во время работы теста происходили обращения к диску и по сети. Если компьютер искусственно загрузить обращениями к диску и сетевой обработкой, то задержки возрастают аж до нескольких миллисекунд. Win32 API очень богат, но не предназначен для реального времени. Например, запросы mutex обрабатываются в порядке поступления, а не в порядке приоритетов, что снижает предсказуемость. Для синхронизации нитей в одном процессе критические секции следует предпочесть всем другим способам (этот вызов затрачивает всего несколько мкс по сравнению с 35 мкс на вызов mutex).

Несмотря на все достоинства API, ядро и менеджер ввода/вывода Windows NT недостаточно приспособлены к обработке событий реального времени на уровне приложений.

2.3. Управление прерываниями в NT

В Windows NT единственный способ управления аппаратурой — через драйвер устройства. Поскольку приложение реального времени имеет дело с внешними событиями, разработчик должен написать и включить в ядро драйвер устройства, дающий доступ к аппаратуре. Этот драйвер реагирует на прерывания, генерируемые соответствующим устройством.

Прерывания обрабатываются в два этапа. Сначала выполняется очень короткая программа обслуживания прерываний (ISR). Впоследствии работа завершается выполнением DPC — процедуры отложенного вызова. Возникает следующий поток событий:

  • Происходит прерывание.
  • Процессор сохраняет PC, SP и вызывает диспетчер.
  • ОС сохраняет контекст и вызывает ISR.
  • В ISR выполняется критическая работа (чтение/запись аппаратных регистров).
  • DPC ставится в очередь.
  • ОС восстанавливает контекст.
  • Процессор восстанавливает PC, SP.
  • Ожидающие в очереди DPC выполняются на уровне приоритета DISPATCH_LEVEL.
  • После завершения всех DPC ОС переходит к выполнению приложений.

ISR должно быть как можно короче, поэтому большинство драйверов выполняют значительную часть работы в DPC (которая может быть вытеснена другим ISR), ожидая окончания других DPC, ранее попавших в очередь (все DPC имеют одинаковый приоритет).

Из документации по NT следует, что ISR может быть вытеснена другим ISR с более высоким приоритетом, и что DPC имеет более высокий приоритет, чем пользовательские и системные нити. Но поскольку все DPC имеют одинаковый уровень приоритета и ISR должна быть сведена к минимуму, ваш DPC будет вынужден ждать других и ваше приложение будет зависеть от остальных драйверов устройств непредсказуемым образом. Задержки системных вызовов, описанные в предыдущем разделе, обусловлены именно тем, что DPC от драйверов жесткого диска и сети блокируют все другие.

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

2.4. Управление памятью в NT

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

3. Может ли Windows NT использоваться в качестве ОС РВ?

Итак, можно сделать вывод, что Windows NT, предназначенная в основном для классических приложений, не является хорошей платформой для поддержания обработки в реальном времени. Тем не менее на ее базе можно все-таки построить простую мягкую СРВ, время от времени допускающую опоздания.Следующие обстоятельства могут облегчить построение СРВ на базе NT:

  • загрузка CPU низка (DPC имеют достаточно времени);
  • критическая работа (или даже вся) делается на уровне DPC или (еще лучше) на уровне ISR. В таком случае непонятно, зачем вообще нужна ОС.

Но для жесткой СРВ использование Windows NT невозможно — система реального времени никогда не будет предсказуемой.Что следует изменить в Windows NT, чтобы ее можно было использовать в жестких СРВ?

a) Класс процессов реального времени должен иметь больше уровней.

б) Необходимо решить проблему инверсии приоритетов.

в) Время, затрачиваемое каждым системным вызовом, должно быть предсказуемо и известно.

г) Система прерываний должна быть заменена целиком:

  • DPC должны иметь много уровней приоритетов.
  • DPC должны быть вытесняемыми более приоритетными DPC.
  • Драйверы от третьих фирм и системные драйверы должны быть настраиваемыми (уровни прерываний ISR, уровни прерываний DPC)
  • Драйверы от третьих фирм должны быть открыты для разработчиков, должно быть известно по крайней мере максимальное время, затрачиваемое на работу ISR и DPC.
  • Должно быть известно время маскирования прерываний.

Готовы ли разработчики Microsoft ввести эти усовершенствования в NT или они полагают, что рынок слишком мал, и оставят его свободным для третьих фирм?

4. Коммерческие решения, расширяющие NT возможностями обработки в реальном времени

Существуют разные варианты использования технологии NT для разработки систем реального времени:

  • Использование NT как она есть для построения мягкой системы реального времени.
  • Реализация Win32 API над другой ОС РВ.
  • Совместная работа на одном процессоре NT и другой ОС РВ (или ее части).
  • Использование мультипроцессорной архитектуры, когда NT выполняется на одном процессоре (или более), а часть реального времени — на остальных.

Во многих решениях производители модифицируют HAL или ядро NT. Политика Microsoft заключается в том, чтобы не допускать никаких модификаций ядра NT, кроме драйверов устройств. Это единственно возможный способ связи с ядром. Политика компании относительно HAL другая. HAL (Hardware Abstraction Layer) — уровень аппаратных абстракций — уровень, лежащий ниже программного обеспечения, который виртуализирует интерфейс NT с аппаратурой, допуская переносимость NT с одной аппаратной платформы на другую. Такие модификации HAL, как манипуляции с часами или замена методов обработки прерываний, представляются беспримерно незаконным использованием HAL. Они создают нестандартную среду и могут привести к проблемам сопровождения, если, например, Microsoft изменит HAL в следующих версиях. Поэтому различие в решениях, предлагаемых поставщиками, заключается в попытках сделать модификации HAL минимальными.

Также возможен перехват HAL посредством трюков с процессором Intel. Однако это можно реализовать только на платформе Intel. Механизмы перехвата посредством обработки исключительных ситуаций на уровне устройства поглощают определенную вычислительную мощность.

4.1. Использование NT как таковой

Подобное применение предполагает включение структур, обрабатывающих прерывания. Однако учитывая, что NT не предназначена для обработки в реальном времени это надо делать очень аккуратно.

Иногда вводят усовершенствования в механизм обработки прерываний. Единственный способ сделать это — перехватить прерывание, для чего необходимо добавить специальное аппаратное расширение. LP-Elektronik, например, перехватывает прерывание и использует затем NMI (немаскируемое прерывание, не используемое на уровне NT) для обработки событий реального времени. Этот подход применим только тогда, когда процессор имеет отдельный стек прерываний. Программа NMI должна быть написана аккуратно: в ней нельзя использовать вызовы ОС и она должна быть как можно короче, чтобы не потерять другие прерывания. Такое решение дает минимальную задержку прерывания, но требует дополнительной аппаратуры. Как и в других решениях, здесь необходим дополнительный механизм связи между NT и частью реального времени. Разница в том, что при этом требуется большая аккуратность в использовании NMI.

4.2. Реализация Win32 API над другой ОС РВ

Добавление Win32 API к ОС, предназначенной для обработки в реальном времени, избавляет от необходимости модифицировать HAL или использовать другие трюки с NT. Преимущества такого подхода:

  • имеется переносимость,
  • небольшой след,
  • поведение ОС РВ известно.

Недостатки:

  • нельзя использовать стандартные приложения NT,
  • невозможно смешивание с драйверами устройств NT, поэтому весь мир коммуникаций NT недоступен,
  • другие драйверы графических устройств и приложения NT невозможно или трудно использовать;
  • ограничена возможность расширения в будущем,
  • необходимо использовать специальные средства разработки и компиляторы.

Среди коммерческих реализаций этого подхода — QNX и VxWorks, использующие библиотеку Willows.

4.3. Совместная работа на одном процессоре NT и ОС РВ

Мощность современных процессоров достаточна для одновременного функционирования NT и программ реального времени. Возможны две разновидности такого подхода:

  • модификация HAL c перехватом прерываний и включением небольшого диспетчера или ОС РВ;
  • выполнение NT, как одной из задач над (супервизором) ОС РВ.

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

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

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

Задачи реального времени используют собственный интерфейс с системой, в большинстве случаев отличный от Win32 API. Среда разработки может быть обычной для используемой ОС РВ средой и может взаимодействовать со средой NT. Задачи реального времени будут выполняться, не получая преимуществ от механизма защиты памяти NT. Особо аккуратно следует продолжать выполнение частей реального времени, когда NT рухнет и сгенерирует голубой экран. След памяти — это комбинация следа NT (8 Мбайт в стандартной конфигурации) плюс минимальные требования для части ОС РВ.

Простота части реального времени может привести к высокой производительности, которая зависит от используемого ядра реального времени. Преимущества здесь таковы:

  • Сохранение (почти) всей среды NT нетронутой означает, что все программное обеспечение, устройства и драйверы устройств NT можно использовать (чтобы выполнять части приложения, не связанные с реальным временем). Поддерживается совместимость с NT;
  • Можно включить защиту для задач реального времени, зависящую от используемой ОС РВ.

Недостатки:

  • Отсутствует переносимость между реальным временем и средой NT, за исключением случая, когда RT-API разработан на базе Win32;
  • драйверы устройств NT нельзя использовать в части реального времени;
  • Среда разработки усложняется, если для задач реального времени требуется отдельная среда;
  • Может быть много уровней задач и поэтому много уровней определений контекста. Переключение этих контекстов требует времени.

Известны следующие коммерческие реализации подхода, не требующего модификации аппаратуры: IMAGINATION с HyperKERNEL; RADISYS с комбинацией iRMX/NT; VenturCom с RTX, KPX и RTAPI.

В реализации фирмы RadiSys ОС РВ iRMX работает, как первичная ОС, загружающая Windows NT в качестве низкоприоритетной задачи. Пользователь работает только с NT, не видя и не чувствуя iRMX. Все управляющие функции выполняются, как высокоприоритетные задачи iRMX, изолированные в памяти от приложений и драйверов NT. Используя функции защиты памяти внутри процессора Intel, Windows NT защищена от задач реального времени.

Комбинация iRMX/NT преодолела трудности, которые возникают при модификации HAL и оставляют пользователя уязвимым при сбоях жесткого диска, сбоях драйверов и системных сбоях NT («голубой экран смерти»). В этом решении управляющая программа в случае краха NT может либо продолжить нормальное выполнение, либо произвести правильное закрытие системы (shutdown).

Реализация фирмы VenturCom состоит из двух этапов. На первом — мягкая реализация RTX 3.1 содержит интерфейс прикладной программы реального времени RTAPI, который дает время реакции 1-5 мск. RTAPI 1.0 работает со стандартным NT. Единственное изменение, обеспечивающее лучшую синхронизацию событий реального времени, внесено в часы. Так как в Windows NT имеются некоторые плохо предсказуемые процессы, то RTAPI позволит построить только мягкую СРВ с небольшим временем отклика, но недостаточно предсказуемую. Впрочем, большую часть непредсказуемости NT можно устранить, ограничив доступ к системному диску и сети.

Чтобы сделать NT более предсказуемой, необходимо прерывать ее внутренние задачи. В основе второй жесткой реализации RTX 4.1 лежит модификация HAL. В обеспечении детерминизма важную роль играют программируемые часы. В каждый тик часов — аппаратное прерывание с регулярными интервалами времени — предпочтение отдается задаче реального времени. Оставшееся время предоставляется процессам NT, в том числе и процессам мягкого реального времени. Чем чаще тикают часы, тем больше возможностей у процессора для выполнения задач реального времени. Необходимо добиться баланса между многими факторами: частота тиков, время, выделенное для обработки в реальном времени, время, выделенное для выполнения задач NT.

4.4. Использование многопроцессорной архитектуры

Простое решение здесь состоит в том, что NT выполняется на одной группе процессоров, а часть реального времени — на другой. Возможно применение архитектур параллельной шины с VMEbus, PCI, PMC или архитектур последовательной шины с Ethernet. Если необходимо, подсистемы могут быть связаны механизмом IPC и процедурами удаленного вызова. Преимущества такого решения:

  • Нет модификаций каждой ОС;
  • Можно применять в больших сложных системах;
  • Для каждой подсистемы можно выбрать свою, наиболее подходящую ОС РВ;
  • Можно использовать имеющиеся среды разработки.

Недостатки:

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

***

Чудес не бывает. Если вы хотите сохранить высокую совместимость с NT, то надо будет заплатить и более высокую цену. Если вы интересуетесь только частью интерфейса Win32 API, то можете работать с ОС РВ, имеющей этот интерфейс.

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


Необходимые требования к ОС для обеспечения предсказуемости

Требование 1. ОС РВ должна быть многонитевой и допускать вытеснение (preemtible).

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

Требование 2. Диспетчеризация должна осуществляться на базе приоритетов.

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

Требование 3. Механизм синхронизации нитей должен быть предсказуемым.

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

Требование 4. Должна существовать система наследования приоритетов.

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

Чтобы избежать этого, ОС РВ должна допускать «наследование» приоритета, подталкивая нить с низшим приоритетом. Наследование приоритета означает, что блокирующая нить наследует приоритет нити, которую она блокирует (конечно, только если последняя обладает более высоким приоритетом).

Требование 5. Временные характеристики ОС должны быть предсказуемы и известны.

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

Евгений Хухлаев — сотрудник Института прикладной математики имени М.В. Келдыша РАН, (Москва).

Особенности семейства Windows NT

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

Устойчивость платформы NT объясняется также еще и тем, что она полно стью 32-разрядная, т. е. в ней нет никакой MS — DOS , а все программы, предназначенные для работы в этой операционной среде, запускаются только лишь в окне эмуляции, не способном полностью предоставить возмож ности «чистой» MS — DOS . Любой прямой доступ к оборудованию, например к порту LPT , будет полностью заблокирован. В Windows NT также не запус тятся программы, которые обращаются напрямую к «железу», и те, которые используют VxD -драйверы, применяемые только в Windows 9 x .

В качестве «платы за прогресс» версии Windows NT плохо совместимы со всеми программами и устройствами, которые используют старые алгоритмы работы, такие как прямое обращение к портам ввода/вывода и т. п.

Операционные системы Windows NT намного лучше работают с оператив ной памятью, чем любая из операционных систем Windows 9 x . Наиболее существенно заметно увеличение производительности новых операционных систем на мощных компьютерах, особенно критичными параметрами являю тся тактовая частота центрального процессора и объем оперативной памяти. Единственный, но и самый неприятный для пользователя, недостаток Windows NT — это относительно медленные загрузка и завершение работы. Но хорошая стабильность работы вполне позволяет обойтись без переза грузки в течение рабочего дня, поэтому на этот недостаток можно и не обращать внимания.

Как ни странно сознавать, но компания Microsoft в своей операционной системе Windows NT с самого начала ее существования не реализовала сис темы Plug and Play , что сильно ограничивало ее применение, зато придавало изумительную стабильность работы. Поэтому применение операционных систем Windows NT v 4.0 и ниже обычно не рекомендуют для домашнего компьютера, т. к. это может привести к сложностям при установке драйве ров устройств.

Windows 2000

Основные особенности:

  • появилась поддержка системы Plug and Play , что в сумме с достаточно
    большой базой драйверов немало облегчило жизнь пользователя. Хотя
    здесь не обошлось, как всегда, без небольших нюансов — система авто
    матической настройки далеко не всегда правильно работает, что умень
    шает стабильность работы компьютера в целом и операционной системы
    в частности;
  • появилась поддержка мультимедийных драйверов DirectX v 7.0, что позво
    лило без особых препятствий использовать игровые программы, для
    работы которых они необходимы;
  • поддержка очень надежной файловой системы NTFS ( v 4.0 и 5.0), а также
    более распространенных файловых систем FAT 16 и FAT 32;
  • появилось разделение на несколько групп — Windows 2000 Professional,
    Server, Advanced Server и DataCenter. Финальная версия Windows 2000
    имеет номер 2195.

Устанавливать операционную систему Windows 2000 можно рекомендовать только в тех случаях, когда компьютер используется в качестве рабочей станции, например, сервера. Для домашнего компьютера эта версия Windows не подходит, хотя можно ее установить даже на игровой компью-гер, правда, при этом придется помучиться при установке игр.

Windows XP

Windows XP — это первая операционная система, максимально направлен ная на то, чтобы все пользователи перешли на использование систем семейства Windows NT . Ее основные особенности:

  • появилась возможность возвращения к прежним настройкам как про грамм, так и драйверов устройств, что позволяет пользователю во многих случаях обойтись без переустановки операционной системы, например, из-за плохой работы новой версии драйвера видеоплаты;
  • появилась возможность запуска программ в режиме совместимости прак тически с любой из предыдущих версий операционных систем, что уве личивает число тех программ, которые можно беспрепятственно исполь зовать. Естественно, что для операционной системы MS — DOS здесь места уже не нашлось и все программы, которые требуют «чистого» DOS ‘ a по- прежнему имеют проблемы с запуском;
  • появилась необходимость активизации, т. е. отныне недостаточно ввести серийный номер при установке операционной системы. При активиза ции Windows «привязывается» к определенной конфигурации компьюте ра, даже, например, при добавлении модуля памяти требуется повторная активизация (старый номер уже не подойдет). Хотя на каждое правило имеется свое исключение, т. к. в природе существуют так называемые корпоративные версии Windows XP , которые изначально не требуют никакой активизации. Остальные же версии, как уже стало традиционным, просто-напросто «ломаются». Стоит отметить, что русскоязычных корпо ративных версий в природе не существует со всеми вытекающими последствиями;
  • по традиции идет разделение на группы — Home Edition и Professional ,
    а также и Windows . NET . Последняя версия имеет три варианта :
    NET Server, NET Advanced Server, NET DataCenter Server. Естественно,
    что специализированные сетевые версии не предназначены для работы
    на домашних системах, поэтому мы их не будем рассматривать вообще.
    Финальная версия Windows XP имеет номер 2600.

Операционную систему Windows XP рекомендуется устанавливать на ком пьютер с конфигурацией не ниже, чем: Pentium II 500 МГц, 128 Мбайт опе ративной памяти и с жестким диском объема не менее, чем 10 Гбайт.

2000 г

Windows NT против Linux

Журнал «Windows 2000 Magazine», #03/2000

Три преимущества и три недостатка популярной ОС

Новые операционные системы очаровывают меня. Я очень люблю тестировать их, ибо не теряю надежды найти устойчивую, гибкую и универсальную во всех отношениях среду. За прошедшие 20 лет мне приходилось иметь дело с самыми разными операционными системами, в том числе CP/M корпорации Digital Research и ее клонами CP/M-86 и MP/M, системой TRSDOS для машин Radio Shack TRS-80, TOS для Atari 520, GEM для Amiga, UCSD P-System Калифорнийского университета в Сан-Диего (задолго до появления Java, обеспечившей независимость от аппаратной платформы), IGC VM/386, Microsoft Windows/386 и Quarterdeck DesQ (три попытки создания многозадачных сред для DOS), Microsoft OS/2, IBM OS/2, Banyan VINES, Novell NetWare и, конечно, Windows NT.

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

Самая молодая сегодня среди профессиональных операционных систем — Linux. Свой вклад в развитие этой UNIX-подобной системы, которую, еще будучи студентом, в 1991 г. разработал Линус Торвальдс, внесли тысячи программистов. Именно это стало одной из причин ее неслыханной популярности в последние два года (кстати, лишь немногие разработчики Linux получают деньги за свой труд).

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

Необязательный графический интерфейс

Включенный в состав Windows NT графический пользовательский интерфейс (Graphical User Interface, GUI) облегчает работу с компьютером и упрощает процесс обучения начинающих администраторов по сравнению с предыдущими сетевыми операционными системами типа NetWare версий 3.x и 2.x. Вместе с тем, GUI истощает ресурсы компьютера, занимая память и загружая своими задачами процессор, что ограничивает возможности серверных приложений. Поэтому порой мне хочется, чтобы 32-разрядная Windows NT, подобно DOS, запускалась бы только в режиме командной строки. Тогда при необходимости можно было бы подключать GUI для использования с инструментарием администратора и отключать его при выполнении стандартных серверных работ. Если графический интерфейс не занимает память и процессорные ресурсы, то они высвобождаются, и при этом повышаются скорость и устойчивость работы операционной системы. В результате сервер смог бы лучше справляться с ролью контроллера домена или сервера служб WINS, DNS, DHCP. Но, к сожалению, графический интерфейс Windows NT слишком тесно интегрирован с операционной системой.

В противоположность этому, графический интерфейс Linux не встроен в ядро. Соответственно, операционную систему можно загрузить в режиме командной строки, не подключая GUI. Это одно из важнейших преимуществ Linux, позволяющее запускать ее на компьютерах с минимальной конфигурацией. Например, компьютер со стомегагерцевым процессором Pentuim и 32 Мбайт оперативной памяти может отлично работать под Linux в качестве DNS- или Web-сервера.

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

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

Для загрузки Linux с графической оболочкой проще всего использовать программы инсталляции ее клонов Red Hat и Caldera. Однако сначала следует установить на дисплее максимально возможное разрешение. Графическая оболочка Red Hat — GNOME — содержит набор шрифтов, которые при разрешении 640_480 выглядят просто ужасно. Вполне подойдет разрешение 800_600, но чем оно больше, тем лучше. Мало, чтобы графическая оболочка нормально работала, потребуются значительные аппаратные ресурсы. Я бы порекомендовал как минимум Pentium II с 64 Мбайт памяти. Приходилось слышать утверждения, что Linux не так требовательна к возможностям оборудования, как Windows NT, но, это, вероятно, относится к другим вариантам GUI. (Конечно, можно запустить GNOME на стомегагерцевой системе с памятью объемом 32 Мбайт, как в случае Windows 2000, но я сомневаюсь, что кто-то получит удовольствие от такой работы.)

Встроенный надежный инструментарий

Первые сетевые операционные системы для ПК, как правило, включали небольшой набор инструментальных средств. Чтобы иметь возможность нормально работать, нужно было покупать программы независимых поставщиков. Например, 15 лет назад компания 3Com продавала ПО файлового сервера и сервера печати. А пользователям системы NetWare 3.x, в составе которой не было средств удаленного доступа, приходилось приобретать отдельный модуль асинхронного шлюза.

В этом смысле Windows NT 3.1 была уникальным явлением, поскольку предлагала ряд стандартных инструментальных модулей (в том числе модуль коммутируемого доступа). Впоследствии разработчики Microsoft продолжили эту линию, включив в систему Web-сервер, HTML-редактор, DNS-сервер и другие компоненты.

Инструментарий Linux намного богаче. В состав этой системы входят модуль почтового сервера Internet, широкий набор протоколов IP-маршрутизации, мощная графическая программа для рисования и черчения, модуль Samba, позволяющий Linux стыковаться с файловым сервером Windows NT или же выступать в роли такого сервера, базовый модуль сетевого экрана. Более того, инструментарий Linux отличается высокой надежностью, поскольку разработан на основе программного кода UNIX, использовавшегося миллионами людей в течение многих лет. Например, в основе DNS-сервера Linux лежит программа Berkeley Internet Name Domain (BIND), различные модификации которой применялись с середины 80-х годов для поддержки иерархических структур DNS.

Удаленное управление

Сложность удаленного администрирования сервера Windows NT всегда тяготила меня. Хотя опытные администраторы и освоили такие трюки, как использование RCMD (Remote Command Service, RCMD.EXE) в сочетании с программами regini или regedit, все равно удаленное администрирование Windows NT сильно отличается от своего локального аналога. В любом случае требуется освоение специального инструментария. Это связано с тем, что операционные системы персональных компьютеров всегда были тесно привязаны к локальным клавиатуре и дисплею. В самом деле, до недавнего времени большинство «персоналок» не подключались к сети и, следовательно, не нуждались во взаимодействии с другими клавиатурами или мониторами.

Что касается Linux, то она изначально приспособлена к дистанционному управлению, поскольку произошла от UNIX. Первыми UNIX-машинами были дорогие мини-компьютеры, к которым через последовательные порты подключалось множество терминалов. Единственным различием между локальным и удаленным соединением была более высокая скорость локальной связи (от 4800 бит/с до 19 200 бит/с) по сравнению со скоростью коммутируемого доступа (110, 300 или 1200 бит/с). При этом в обоих случаях применялось одно и то же коммуникационное программное обеспечение, независимо от того, подключен терминал напрямую или через пару модемов и телефонную линию. Даже сегодня, когда UNIX обзавелась графическим интерфейсом, установка сеанса связи остается одинаково простой на удаленной и локальной машине (при условии, что пользователь имеет право на запуск сеанса с удаленного хоста). Таким образом, если для управления расположенным в другой стране компьютером с Linux мне нужно лишь подключиться к нему с помощью программы telnet, то для решения той же задачи с сервером NT придется в эту страну съездить.

И Linux не без греха

Несмотря на все преимущества Linux перед Windows NT, ее, к сожалению, нельзя сравнить с букетом роз или наполненным до краев бокалом красного вина*. Поэтому предлагаю спуститься на землю и обсудить ряд ее недостатков. Начнем с процедуры инсталляции.

В процессе изучения Linux я обнаружил, что наибольшие трудности при работе с этой системой возникают в ходе установки. Многие говорят мне, что в остальном Linux надежна и устойчива, и мой личный опыт, в некоторой степени, подтверждает это. Однако процедура инсталляции Linux и в самом деле просто кошмарна. Мне довелось устанавливать на различные компьютеры пять версий Linux: SuSE Linux 6.3 beta, Red Hat Linux 6.0, OpenLinux 2.3 компании Caldera Systems, Corel LINUX и Slackware Linux 7.0 компании LinuxMafia. Все пять версий имеют похожие варианты выбора конфигурации, но различные методики установки. Тем не менее установка каждой из них сопровождалась многочисленными проблемами.

Linux и графика

Многие из этих проблем были связаны с GUI. Однако, прежде чем описывать их, хочу объяснить, почему так важен графический интерфейс для установленных мною версий.

Как я уже говорил, Linux может вообще не использовать графический интерфейс. Однако, как известно, большинство пользователей привыкли иметь дело с графикой, а поставщики Linux, естественно, хотят расширить круг своих клиентов. Поэтому при инсталляции многих современных версий Linux настоятельно рекомендуется устанавливать GUI. Например, SuSE Linux, Corel LINUX и OpenLinux по умолчанию работают в графическом режиме, сразу загружая среду X Window. Тем, кому графика не нужна, придется немного поколдовать над файлами конфигурации.

Мне пришлось приложить немало усилий, чтобы графический интерфейс устанавливаемых версий заработал. Вероятно, это связано с относительно недавним приходом графики в мир Linux. Я очень надеюсь, что разработчики SuSE, Caldera и других компаний решат эти проблемы к 2001 г. или даже раньше. Пока же настоятельно рекомендую не пытаться устанавливать Linux, не выяснив тип набора микросхем видеоадаптера, объем видеопамяти и диапазон частот горизонтальной и вертикальной развертки. Получить такую информацию можно с помощью уже установленной операционной системы (например, Windows NT или Windows 9x). Характеристики монитора приведены либо в ее описании, либо на сайте изготовителя.

Установка Linux на переносные компьютеры

Сначала я попытался установить Red Hat Linux на свой ноутбук Compaq DIGITAL HiNote Ultra 2000, который укомплектован процессором Pentium MMX с частотой 266 МГц, стандартной видеокартой Chips & Technologies, встроенным модемом CreditCard Xircom Ethernet 10/100+Modem 56 (CEM56) и ЖК-дисплеем с разрешением 1024х768. В ходе установки я получил сообщение You have a PS/2 mouse, после чего мне было предложено нажать кнопку ОК. Однако сделать этого я не смог — система зависла. (На момент выхода статьи появилась версия Red Hat Linux 6.1, в которой этой проблемы не возникает.)

Затем я решил установить Red Hat Linux на портативный компьютер Toshiba Satellite 335CDT с аналогичными процессором и видеокартой, а также ЖК-монитором с разрешением 800х600. Поскольку мой компьютер не имел встроенного сетевого адаптера, я установил в него плату 3Com 3C574 Fast EtherLink. Установка системы прошла успешно, но на экране появилось сообщение о неработоспособности графического интерфейса. После перезагрузки выяснилось, что система не распознает сетевой адаптер, в связи с чем мне пришлось явно указать номер прерывания и адрес ввода/вывода. Однако даже после этого драйвер не заработал до тех пор, пока я вручную не установил номер прерывания и адрес ввода/вывода 300. (Хорошо, что это была плата 3Com — сетевые адаптеры Xircom не предусматривают возможность «прошивки» конкретного прерывания и адреса ввода/вывода.) Программа установки на обоих ноутбуках (до этого я устанавливал Red Hat Linux 6.0 на Ultra 2000) выбрала разрешение 640х480 и отказывалась менять его до тех пор, пока я не «обманул» ее, напрямую отредактировав файл конфигурации XF86Config.

OpenLinux также не заработала на Ultra 2000 — наверное, тоже не любит сетевые платы. Вместе с тем, ее отличают выдающиеся способности определения типа видеосистемы и умение выполнять тестирование. Помните, я предсказывал, что будущие версии Linux станут намного лучше идентифицировать видеосистему? OpenLinux можно считать первой из них. Итак, программа установки распознала видеокарту, выяснила объем памяти на каждом из выбранных компьютеров и очень детально отобразила полученную информацию. Кроме того, она может протестировать каждый возможный видеорежим прямо в ходе установки, что предотвращает появление после загрузки пустого экрана вследствие неверно выбранного разрешения.

Подобно OpenLinux, SuSE Linux тоже старается обеспечить дружественный интерфейс. Однако она не очень-то в этом преуспела — нельзя же считать достижением неуклюжие и нечитаемые графические экраны. «Верхом совершенства» стало завершающее установку графическое окно настройки размеров экрана, все надписи на котором были на немецком языке. (Справедливости ради, надо сказать, что я работал с бета-версией SuSE Linux.)

Несколько недель спустя после моей неудачной попытки установить Red Hat Linux 6.0 на Ultra 2000, компания Red Hat выпустила версию 6.1 этой системы. Ее загрузка на Ultra 2000 и Satellite 335CDT прошла намного успешнее. Тем не менее на Satellite 335CDT она смогла распознать плату сетевого адаптера лишь тогда, когда я либо извлекал, а затем снова вставлял ее, либо вводил команды Red Hat Linux, имитирующие замену адаптера.

В процессе установки с Red Hat Linux я столкнулся с еще одной нелепостью. Так, мне было предложено выбрать один из двух GUI: либо KDE, либо GNOME. Однако вне зависимости от моего выбора ставился все равно GNOME.

Лучше всех установку на Ultra 2000 выполнила Slackware, которой не потребовалось никакой помощи с видеоподсистемой и встроенным сетевым адаптером.

Самым занятным из всего, что мне пришлось изведать во время мучений с ноутбуками, была реакция моих знакомых из круга специалистов по Linux. Каждому, кто интересовался, как продвигается мой проект, я излагал свое твердое убеждение в том, что люди, писавшие программы установки Linux, знали, что Linux — классная операционная система, но не видели необходимости убеждать в этом остальных. Обычно собеседник спрашивал меня, на какой компьютер я ее устанавливал. Когда же я отвечал: «На портативный», слышал в ответ следующее: «Ах, вот в чем дело! Вы пытались установить Linux на ноутбук!» Тем не менее, несмотря на трудности, я понял, что это и в самом деле возможно.

Установка Linux на настольные ПК

Как оказалось, установить Linux на настольный ПК намного легче, чем на портативный. На всех выбранных мною компьютерах имелись сетевые платы 3Com 10/100 XL Ethernet, а поскольку они представляют собой почти что отраслевой стандарт, то, как я полагал, вряд ли могут вызвать сбой. Мое предположение подтвердилось.

Единственная проблема возникла из-за того, что на все шесть компьютеров я установил видеокарты Trident 975 с интерфейсом AGP. Поскольку большинство версий Linux не смогло работать с ними, я отказался от этих плат и вытащил из ящика с запчастями несколько более старых, а также плату ATI Technologies Mach 128. При этом последняя преподала мне ценный урок по работе с Linux: никогда не покупай нового оборудования. Поскольку версии Linux, с которыми я экспериментировал, не поддерживали ATI, она продолжает собирать пыль в ящике запчастей, дожидаясь выхода соответствующего ей клона. По ряду причин я не смог найти подходящих драйверов для Linux на Web-узлах изготовителей указанных плат.

И, наконец, я получил противоречивые результаты, пытаясь создать конфигурации с двойной загрузкой — Linux и Windows 2000 или Windows NT. Linux использует многовариантный загрузчик LILO, который предлагает широкий набор способов загрузки Linux, а также других операционных систем с гибкого или жесткого диска. Тем не менее примерно половина моих попыток организовать двойную загрузку через Linux оказалась неудачной — после перезагрузки Linux не подавала никаких признаков жизни, сколько бы я ни возился с Fdisk. Что касается SuSE Linux, то единственным условием, при котором она «согласилась» работать, было выделение ей всего диска — эта версия не желает делить дисковые ресурсы с другими операционными системами.

И опыт, сын ошибок трудных…

Из своих «упражнений» я извлек несколько уроков. Во-первых, при выборе оборудования для платформы Linux не стоит гоняться за новинками: скорость разработки драйверов для этой операционной системы пока оставляет желать лучшего. Во-вторых, перед установкой Linux нужно узнать имена изготовителей, номера моделей и тип наборов микросхем всех плат компьютера, а также номера прерываний и адреса ввода/вывода сетевых и звуковых адаптеров. Тот, кто работает с Windows 2000 или Windows 9x, сможет собрать всю необходимую информацию с помощью Device Manager. Для этого нужно щелкнуть правой кнопкой мыши на значке любого периферийного устройства, например сетевой платы, а затем выбрать в контекстном меню команду Properties. На вкладке Resources будут показаны номер прерывания (IRQ) и адрес ввода/вывода (I/O address). В Windows NT аналогичную информацию можно найти на вкладке Resources программы Windows NT Diagnostics. Наконец, чтобы узнать, какая из конфигураций LILO работает на используемом компьютере, придется неоднократно переустанавливать Linux.

После сбора данных о платах компьютера и работоспособных конфигурациях LILO полученные сведения следует записать. Я, например, наклеил листок с этой информацией на системный блок. Догадываюсь, что кто-то может считать сбор подобных сведений пустой тратой времени. Безусловно, такая необходимость подчас раздражает, а процедура установки Linux на только что купленный компьютер может затянуться. Тем не менее эта маленькая исследовательская работа нам не в новинку — мы все проделывали ее несколько лет назад при установке Windows NT 3.1, Windows 3.x или OS/2.

Многие из тех, кто устанавливает Linux, используют Windows NT и хотят иметь возможность альтернативной загрузки любой из этих систем. Поэтому я бы предложил поставщикам Linux вот что: создать программу установки, которая проверяла бы содержимое реестра Windows NT, при его наличии, и читала список установленного оборудования, а также параметры конфигурации; затем она сравнивала бы список имеющихся драйверов Linux со списком адаптеров из реестра и сообщала, какие компоненты системного оборудования не поддерживает.

Марк МИНАСИ

Марк Минаси — редактор Windows NT Magazine, MCSE, и автор книги «Mastering Windows NT Server 4.0» (издательство Sybex).
С ним можно связаться по адресу: mark@minasi.com.

* WINE — свободно распространяемая инструментальная подсистема Linux, позволяющая запускать программы для Windows.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Mirrors edge не запускается на windows 10
  • Просмотрщик фотографий для windows 10 reg
  • Как вставить текст с помощью клавиатуры на windows
  • Grouppolicy microsoft windows grouppolicy что это
  • Intel mpi for windows