Основы программирования в Linux
Шрифт:
В последние годы ОС Linux продемонстрировала огромные успехи в повышении производительности системных вызовов и файловой системы. Для сравнения аналогичный тест с применением ядра 2.6 занял чуть менее 14 секунд:
Вы можете добиться лучших результатов, копируя блоки большего размера. Взгляните на модифицированную программу copy_block.c, которая копирует файл блоками в 1 Кбайт и снова использует системные вызовы.
Теперь
Как это работает
Теперь программа выполняется только сотые доли секунды, поскольку ей требуется около 2000 системных вызовов. Конечно, это время очень зависит от системы, но оно показывает, что системные вызовы сопряжены с поддающимися измерению издержками, поэтому их применение стоит оптимизировать.
Другие системные вызовы для управления файлами
Существует ряд других системных вызовов, оперирующих низкоуровневыми дескрипторами файлов. Они позволяют программе контролировать использование файла, возвращая информацию о его состоянии,
Системный вызов
Параметр
Вызов
Системный вызов
Далее приведена синтаксическая запись вызовов.
Учтите, что включение файла sys/types.h не обязательное, но мы рекомендуем включать его при использовании системных вызовов, поскольку некоторые из их определений применяют для стандартных типов псевдонимы, которые могут измениться когда-нибудь.
Родственные функции
Элементы вызываемой структуры stat могут меняться в разных UNIX-подобных системах, но обязательно включают перечисленные в табл. 3.4 элементы.
Таблица 3.4
| Элемент структуры stat | Описание |
|---|---|
| st_mode | Права доступа к файлу и сведения о типе файла |
| st_ino | Индекс, ассоциированный с файлом |
| st_dev | Устройство, на котором размещен файл |
| st_uid | Идентификатор (user identity) владельца файла |
| st_gid | Идентификатор группы (group identity) владельца файла |
| st_atime | Время последнего обращения |
| st_ctime | Время последнего изменения прав доступа, владельца, группы или объема |
| st_mtime | Время последней модификации содержимого |
| st_nlink | Количество жестких ссылок на файл |
"Фантастика 2023-108". Компиляция. Книги 1-16
Фантастика 2023. Компиляция
Фантастика:
фэнтези
боевая фантастика
рейтинг книги
Земля бедованная (сборник)
Проза:
роман
рейтинг книги
Конец главы
рейтинг книги