Книга посвящена внутреннему устройству и алгоритмам работы основных компонентов операционной системы Microsoft Windows — Windows Server 2003, Windows XP и Windows 2000 — и файловой системы NTFS. Детально рассмотрены системные механизмы: диспетчеризация ловушек и прерываний, DPC, APC, LPC, RPC, синхронизация, системные рабочие потоки, глобальные флаги и др. Также описываются все этапы загрузки операционной системы и завершения ее работы. B четвертом издании книги больше внимания уделяется глубокому анализу и устранению проблем, из-за которых происходит крах операционной системы или из-за которых ее не удается загрузить. Кроме того, рассматриваются детали реализации поддержки аппаратных платформ AMD x64 и Intel IA64. Книга состоит из 14 глав, словаря терминов и предметного указателя. Книга предназначена системным администраторам, разработчикам серьезных приложений и всем, кто хочет понять, как устроена операционная система Windows. Названия всех команд, диалоговых окон и других интерфейсных элементов операционной системы приведены как на английском языке, так и на русском. Версия Fb2 редакции — . Об ошибках просьба сообщать по адресу — [email protected]. 1.5 |
«Кто весь день работает, тому некогда зарабатывать деньги» – знакомая ситуация? А ведь так считал один из самых успешных и богатых предпринимателей в истории. Если вы хотите, но не знаете, как заработать свой первый капитал, – автобиографии Генри Форда и Джона Дэвисона Рокфеллера помогут успешно начать бизнес. Советы, которые находятся в этой книге, можно использовать и в повседневной жизни. Например, у Рокфеллера предпринимательская жилка появилась еще в детстве. Джон покупал фунт конфет, делил его на маленькие кучки и с наценкой распродавал собственным сестрам. Мудрость и опыт этих людей послужат вам отправной точкой для финансовой независимости, помогут развить творческое мышление и успешное решение задач. Оказывается, необязательно быть гением – трудолюбие, здравый расчет, правильное воспитание и отличное образование вкупе с умением общаться с людьми и в них разбираться – все, что нужно. Придерживайтесь принципа «учиться у лучших», и тогда все в ваших руках! |
| ||||||||||
Создание get_module()Это специальная функция для всех динамически загружаемых модулей. Посмотрим сначала на создание через макрос ZEND_GET_MODULE:
Реализация функции окружена оператором условной компиляции. Это необходимо, поскольку функция get_module() требуется только тогда, когда ваш модуль построен как динамическое расширение. Специфицируя определение COMPILE_DL_FIRSTMOD в команде компилятору (см. ранее обсуждение инструкций компилятора, необходимых для построения динамического расширения), вы можете инструктировать ваш модуль, намереваетесь вы построить его как динамическое расширение или как встроенный модуль. Если вам нужен встроенный модуль, реализация get_module() просто будет не нужна. get_module() вызывается Zend во время загрузки модуля. Вы можете представлять её как вызываемую с помощью вызова dl() в вашем скрипте. Её назначение в том, чтобы передать блок информации модуля обратно Zend, чтобы информировать машину о содержимом модуля. Если вы не реализуете функцию get_module() в вашем динамически загружаемом модуле, Zend выдаст вам сообщение об ошибке при попытке доступа к ней. | ||||||||||
|