Операционные системы - статьи

Что показалось хорошим


Ряд аспектов программирования в среде Win32 показался автору достаточно полезным. Ассоциирование "хендлов" (handle) с большинством объектов было довольно удобным. Хендлы похожи на дескрипторы файлов в ОС UNIX за исключением того, что на них не распространяется свойство упорядоченности, присущее дескрипторам файлов. Как доступ к файлу, так и доступ к любому процессу, любой нити (thread) и любому объекту синхронизации производится через хендл. Хендлы можно "подменить" за пределами границ процесса, поскольку функция DuplicateHandle() принимает в качестве аргумента как хендл выпускающего процесса, так и хендл принимающего процесса.

С хендлами ассоциированы дескрипторы безопасности, которые определяют владельца, группу и права доступа к объекту. В дополнение к обычным правам чтения, записи и выполнения объект может иметь способность к синхронизации. Хендл со способностью к синхронизации может находиться в состояниях "готов" и "не готов". Процесс может заблокироваться до тех пор, пока от одного до 64 хендлов не перейдут в готовое состояние.

Одним из средств Win32, которое отсутствует в большинстве UNIX-систем, - это возможность оповещения при изменении файлов. В Win32 имеется примитив для создания хендла каталога со способностью к синхронизации; это хендл переходит в состояние "готов" при любом изменении файлов в этом каталоге или его подкаталогах.

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

На автора произвела сильное впечатление производительность ввода/вывода Windows NT при работе на Pentium Pro. Вряд ли пользователи Linux почувствуют какие-либо различия в производительности ввода/вывода.

Автор интенсивно использовал компилятор Visual C/C++ в режиме командной строки и испытывал сравнительно мало затруднений. Компилятор производит впечатление совместимого со стандартом ANCI-C.

Наконец, автор нашел некоторые полезные источники информации о Win32. Множество полезной информации содержится в книге Jeffrey Ritcher "Advanced Windows NT" (Microsoft Press, 1993); несколько дополнительных полезных указаний можно обнаружить в книге Matt Pietrek "Windows 95 System Programming Secrets" (IDG Books Worldwide, 1995).

Web-сайт , поддерживаемый Mark Russinovich и Bryce Cogswell, является отличным местом для получения полезных инструментальных средств; набор средств, входящих в Microsoft Development Kit, на этом сайте умышленно отсутствует.



Содержание раздела