Чтение онлайн

на главную - закладки

Жанры

Системное программирование в среде Windows

Харт Джонсон М.

Шрифт:
Синхронизация: семафоры OpenSemaphore semget Синхронизация: семафоры ReleaseSemaphore semop (+) Синхронизация: семафоры WaitForSingleObject (в данном случае закрытие дескриптора семафора) semop (-) Windows может выполнять ожидание только одного счетчика
Глава 11: Взаимодействие между процессами
Область Windows UNIX Библиотека С Примечания
IPC CallNamedPipe CreateFile, WriteFile, ReadFile, CloseHandle
IPC CloseHandle (pipe handle) close, msgctl pclose
IPC ConnectNamedPipe
IPC CreateMailslot
IPC CreateNamedPipe mkfifo, msgget
IPC CreatePipe pipe popen He
является частью стандартной библиотеки С — см. [40]
IPC DuplicateHandle dup, dup2, or fcntl Или используйте стандартные имена файлов CONIN$, CONOUT$
IPC GetNamedPipeHandleState stat, fstat, lstat64
IPC GetNamedPipeInfo stat, fstat, lstat
IPC ImpersonateNamedPipeClient
IPC PeekNamedPipe
IPC ReadFile (в данном случае используется дескриптор именованного канала) read (fifo), msgsnd
IPC RevertToSelf
IPC SetNamedPipeHandleState
IPC TransactNamedPipe WriteFile; ReadFile
IPC WriteFile (в данном случае используется дескриптор именованного канала) write (fifo), msgrcv
Разное GetComputerName uname
Разное SetComputerName
Безопасность SetNamedPipeIdentity Используйте второй промежуточный бит каталога
Глава 14: асинхронный ввод/вывод
Область Windows UNIX Библиотека С Примечания
Асинхронный ввод/вывод GetOverlappedResult
Асинхронный ввод/вывод ReadFileEx Расширенный ввод/ вывод с процедурой завершения
Асинхронный ввод/вывод SleepEx Ожидание в дежурном режиме
Асинхронный ввод/вывод WaitForMultipleObjects (в данном случае ожидание дескрипторов файлов) poll, select
Асинхронный ввод/вывод WaitForMultipleObjectsEx Ожидание в дежурном режиме
Асинхронный ввод/вывод WriteFileEx Расширенный ввод/ вывод с процедурой завершения
Асинхронный ввод/вывод WaitForSingleObjectEx waitpid Ожидание в дежурном режиме
Глава 15: Безопасность объектов Windows
Область Windows UNIX Примечания
Безопасность AddAccessAllowedAce chmod, fchmod Средства защиты объектов библиотекой С не поддерживаются
Безопасность AddAccessDeniedAce chmod, fchmod
Безопасность AddAuditAce
Безопасность CreatePrivateObjectSecurity
Безопасность DeleteAce chmod, fchmod
Безопасность DestroyPrivateObjectSecurity
Безопасность GetAce stat*, fstat*, lstat
Безопасность GetAclInformation stat*, fstat*, lstat
Безопасность GetFileSecurity stat*, fstat*, lstat
Безопасность GetPrivateObjectSecurity
Безопасность GetSecurityDescriptorDacl stat*, fstat*, lstat
Безопасность GetUserName getlogin
Безопасность InitializeAcl
Безопасность InitializeSecurityDescriptor umask
Безопасность LookupAccountName getpwnam, getgrnam
Безопасность LookupAccountSid getpwuid, getuid, geteuid
Безопасность getpwend, setpwent, endpwent
Безопасность getgrent, setgrent, endgrent
Безопасность setuid, seteuid, setreuid
Безопасность setgid, setegid, setregid
Безопасность OpenProcessToken getgroups, setgroups, initgroups
Безопасность SetFileSecurity chmod*, fchmod
Безопасность SetPrivateObjectSecurity
Безопасность SetSecurityDescriptorDacl umask
Безопасность SetSecurityDescriptorGroup chown, fchown, lchown
Безопасность SetSecurityDescriptorOwner chown, fchown, lchown
Безопасность SetSecurityDescriptorSacl

ПРИЛОЖЕНИЕ

В

Результаты измерения производительности

В примерах программ представлено широкое разнообразие альтернативных методик решения одних и тех же задач, как это было, например, при рассмотрении копирования файлов или преобразования текстовых файлов из кодировки ASCII в Unicode, и поэтому рассуждения о сравнительных преимуществах этих методик в отношении производительности являются вполне уместными. Однако в процессе создания приложений одних рассуждений подобного рода мало, и требуется точное знание количественных характеристик, позволяющих судить о влиянии того или иного выбора варианта реализации на производительность, а также о том, каковы в этом смысле потенциальные преимущества той или иной версии Windows, конфигурации оборудования или средств Windows, таких как потоки или асинхронный ввод/вывод. Программа timep (программа 6.2) позволяет измерять реальное (истекшее), пользовательское и системное (затраченное функциями ядра) время, необходимое для выполнения программ, и предоставляет удобный способ измерения производительности и определения ее зависимости от выбора методик и принципов программирования.

Тестовые конфигурации

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

Приложения

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

1. Копирование файлов. Показатели производительности определялись для нескольких различных методик, с помощью которых выполнялась эта операция, включая использование библиотеки С и Windows-функции CopyFile. Копирование файлов позволяет сосредоточить внимание на операциях ввода/вывода, не сопровождаемых обработкой данных.

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

Поделиться:
Популярные книги

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Камень

Минин Станислав
1. Камень
Фантастика:
боевая фантастика
6.80
рейтинг книги
Камень

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Газлайтер. Том 4

Володин Григорий
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 4

Провинциал. Книга 7

Лопарев Игорь Викторович
7. Провинциал
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Провинциал. Книга 7

Назад в СССР 5

Дамиров Рафаэль
5. Курсант
Фантастика:
попаданцы
альтернативная история
6.64
рейтинг книги
Назад в СССР 5

Темный Лекарь 3

Токсик Саша
3. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 3

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Долг

Кораблев Родион
7. Другая сторона
Фантастика:
боевая фантастика
5.56
рейтинг книги
Долг

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

Путь (2 книга - 6 книга)

Игнатов Михаил Павлович
Путь
Фантастика:
фэнтези
6.40
рейтинг книги
Путь (2 книга - 6 книга)

Гром над Империей. Часть 1

Машуков Тимур
5. Гром над миром
Фантастика:
фэнтези
5.20
рейтинг книги
Гром над Империей. Часть 1

Великий род

Сай Ярослав
3. Медорфенов
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Великий род