Системное программирование в среде Windows - [213]
• Многочисленные прочерки, особенно, когда они относятся к библиотеке С, встречаются в тех случаях, когда сопоставимые функции или наборы функций отсутствуют. Именно такая ситуация наблюдается, например, для функций управления каталогами.
• В таблицах к главам 7—10 в качестве функций UNIX фигурируют функции потоков POSIX (Pthreads), хотя они и не являются частью UNIX. Кроме того, хотя во многих реализациях UNIX имеются собственные объекты синхронизации, аналогичные событиям, мьютексам и семафорам, мы не пытались отразить их в таблицах.
Как правило, более точная совместимость наблюдается для функций, фигурирующих в начальных главах книги, особенно для функций управления файлами. С переходом к более развитым функциональным возможностям различия между системами становятся все более ощутимыми, и во многих случаях эквивалентные функции библиотеки С отсутствуют. Так, модели безопасности в UNIX и Windows существенно отличаются друг от друга, и поэтому отображенные соотношения между ними являются, в лучшем случае, приближенными.
Указанные функциональные соответствия не являются точными. Между всеми тремя системами имеется множество отличий, как существенных, так и незначительных. Поэтому данные таблицы могут служить лишь ориентиром. Многие из отмеченных отличий отдельно обсуждаются в главах книги.
Область | Windows | UNIX | Библиотека С | Примечания |
---|---|---|---|---|
Консольный ввод/вывод | AllocConsole | Терминальный ввод/вывод | - | |
Консольный ввод/вывод | FreeConsole | Терминальный ввод/вывод | - | |
Консольный ввод/вывод | ReadConsole | read | getc, scanf, gets | |
Консольный ввод/вывод | SetConsoleMode | ioctl | - | |
Консольный ввод/вывод | WriteConsole | write | putc, printf, puts | |
Управление каталогами | CreateDirectory | mkdir* | - | Создание нового каталога |
Управление каталогами | FindClose | closedir* | - | Закрытие дескриптора поиска |
Управление каталогами | FindFirstFile | opendir*, readdir* | - | Поиск первого файла, соответствующего шаблону |
Управление каталогами | FindNextFile | readdir* | - | Поиск следующих файлов, соответствующих шаблону |
Управление каталогами | GetCurrentDirectory | getcwd* | - | |
Управление каталогами | GetFullPathName | - | - | |
Управление каталогами | GetSystemDirectory | Известные пути доступа | - | |
Управление каталогами | RemoveDirectory | rmdir, unlink* | remove | |
Управление каталогами | SearchPath | Используйте opendir, readdir | - | Поиск указанного файла по указанному пути |
Управление каталогами | SetCurrentDirectory | chdir*, fchdir | - | Смена рабочего каталога |
Обработка ошибок | FormatMessage | strerror | perror | |
Обработка ошибок | GetLastError | errno | errno | Глобальная переменная |
Обработка ошибок | SetLastError | errno | errno | Глобальная переменная |
Блокирование файлов | LockFile | fcntl(cmd=F_GETLK,…) | - | |
Блокирование файлов | LockFileEx | fcntl(cmd=F_GETLK,…) | - | |
Блокирование файлов | UnlockFile | fcntl(cmd=F_GETLK,…) | - | |
Блокирование файлов | UnlockFileEx | fcntl(cmd=F_GETLK,…) | - | |
Файловая система | CloseHandle (в данном случае закрытие дескриптора файла) | close* | fclose | CloseHandle не ограничивается файлами |
Файловая система | CopyFile | open; read; write; close | fopen; fread; fwrite; fclose | Дублирование файла |
Файловая система | CreateFile | open*, creat* | fopen | Открытие/ создание файла |
Файловая система | DeleteFile | unlink* | remove | Удаление файла |
Файловая система | FlushFileBuffers | fsynch | fflush | Запись буферизованных данных в файл |
Файловая система | GetFileAttributes | stat*, fstat*, lstat | - | |
Файловая система | GetFileInformationByHandle | stat*, fstat*, lstat | - | Заполнение структуры информацией о файле |
Файловая система | GetFileSize | stat*, fstat*, lstat | ftell, fseek | Получение размера файла в байтах |
Файловая система | GetFileTime | stat*, fstat*, lstat | - | |
Файловая система | GetFileType | stat*, fstat*, lstat | - | Определение типа устройства или файла |
Файловая система | GetStdHandle | Используйте файловые дескрипторы 0, 1 или 2 | Используйте stdin, stdout, stderr | |
Файловая система | GetTempFileName | Используйте библиотеку С | tmpnam | Создание уникального имени файла |
Файловая система | GetTempFileName, CreateFile | Используйте библиотеку С | tmpfile | Создание временного файла |
Файловая система | GetTempPath | /temp path | - | Получение пути к каталогу для временных файлов |
Файловая система | MoveFile, MoveFileEx | Используйте библиотеку С | rename | Переименование файла или каталога |
Файловая система | CreateHardLink | link, unlink* | - | Windows не поддерживает ссылки |
Файловая система | - | symlink | - | Создание символической ссылки |
Файловая система | - | readlink | - | Чтение имени в символической ссылке |
Файловая система | Отсутствует; ReadFile возвращает 0 байт | Отсутствует; read возвращает 0 байт | feof | Количество оставшихся до конца файла байтов |
Файловая система | Отсутствует; используйте многократные вызовы ReadFile | readv | Отсутствует; используйте многократные вызовы freads | Фрагментированное чтение |
Файловая система | Отсутствует; используйте многократные вызовы WriteFile | writev | Отсутствует; используйте многократные вызовы fwrites | Запись со слиянием |
Файловая система | ReadFile | read | fread | Чтение данных из файла |
Файловая система | SetEndOfFile | chsize* | - | |
Файловая система | SetFileAttributes | fcntl | - | |
Файловая система | SetFilePointer | lseek | fseek | Установка указателя файла |
Файловая система | SetFilePointer (установка в 0) | lseek(0) | rewind | |
Файловая система |
Сценарии командной оболочки помогают системным администраторам и программистам автоматизировать рутинные задачи с тех самых пор, как появились первые компьютеры. С момента выхода первого издания этой книги в 2004 году многое изменилось, однако командная оболочка bash только упрочила свои лидирующие позиции. Поэтому умение использовать все ее возможности становится насущной необходимостью для системных администраторов, инженеров и энтузиастов. В этой книге описываются типичные проблемы, с которыми можно столкнуться, например, при сборке программного обеспечения или координации действий других программ.
В пособии излагаются основные тенденции развития организационного обеспечения безопасности информационных систем, а также подходы к анализу информационной инфраструктуры организационных систем и решению задач обеспечения безопасности компьютерных систем.Для студентов по направлению подготовки 230400 – Информационные системы и технологии (квалификация «бакалавр»).
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.
Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.
Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.
Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.