Библиотеки системного программиста” мы начали
В предыдущем, 26 томе “ Библиотеки системного программиста” мы начали изучение одной из наиболее перспективных операционных систем - Microsoft WindowsNT. Мы рассказали вам о системе управления памятью, мультизадачности, рассмотрели проблемы синхронизации параллельно рабтающих задач и процессов, а также начали изучение файловой системы NTFS. Однако все это - только капля в море. Для того чтобы научиться создавать современные приложения для Microsoft Windows NT, вам предстоит узнать еще много нового.
В первой главе нашей новой книги мы продолжим изучение файловой системы NTFS. Прежде всего мы расскажем вам о принципиально новом для Windows способе работы с файлами - отображении их на виртуальную память. Как вы увидите, этот способ значительно упрощает выполнение файловых операций, сводя их в большинстве случаев к работе с оперативной памятью. При этом приложение не вызывает явно функции для чтения данных из файла или для записи их в файл, так как за него это делает операционная система. Причем она это делает высокоэффективными средствами, которые используются для работы с виртуальной памятью.
Помимо файлов, отображаемых на память, в первой главе мы также продолжим изучение традиционных методов работы с файлами. В частности, мы приведем исходные тексты и описания приложений, использующих для работы с файловой системой и файлами средства, описанные нами в предыдущем томе “Библиотеки системного программиста”.
Вторая глава посвящена организации передачи данных между процессами, работающими параллельно. Сложность здесь заключается в том, что такие процессы работают в изолированных адресных пространствах. В результате процессы не могут просто создавать глобальные области памяти, доступные всем приложениям (как это можно было делать в среде Microsoft Windows версии 3.1), а вынуждены пользоваться специальными средствами взаимодействия процессов, встроенными в Microsoft Windows NT.
Мы рассмотрим такие средства, как специальные сообщения, предназначенные для передачи данных между процессами, каналы передачи данных, создаваемые между процессами. Кроме того, для передачи данных между процессами можно использовать файлы, отображаемые на память. Этот способ мы также изучим на примере конкретного приложения.
Третья глава посвящена библиотекам динамической компоновки DLL, которые работают в Microsoft Windows NT совсем не так, как это было в среде Microsoft Windows версии 3.1.
В четвертой главе мы расскажем о том, как создавать приложения Microsoft Windows NT, способные работать с несколькими национальными языками и научим программно переключать раскладки клавиатуры.
Пятая глава посвящена организации сервисных процессов, которые используются в качестве драйверов или для решения других задач, таких, например, как создание систем управления базами данных.
Примеры приложений, приведенные в книге, транслировались в системе разработки Microsoft Visual C++ версии 4.0. Вы таже можете воспользоваться версией 2.0, 4.1, 4.2 или 4.2 Enterprise Edition этой системы. Для того чтобы не набирать исходные тексты вручную и избежать ошибок, мы рекомендуем приобрести дискету с исходными текстами приложений, которая продается вместе с книгой.