В исходном стандарте POSIX 1003.1 (, опубликованном в 1988 году ), указана утилита cc
. Единая спецификация Unix версии 2 (1997 )включала как cc
, так и c89
. Имя c89
было введено как стандартный диалект C. Имя cc
было сохранено, но помечено как устаревшее и объявлено как неопределенный диалект C. Многие поставщики поставляли компилятор, который по умолчанию использовал K&R C(т.е. до -ANSI C )под названием cc
. Вы можете заметить, что cc
является обязательным, в то время как c89
является частью варианта разработки языка C. Было обычным делом иметь компилятор C под названием cc
, который действительно был способен компилировать только драйверы ядра, и коммерческие Unices часто взимали дополнительную плату за правильный компилятор C.
POSIX 1003.1 -2001 (Single Unix v3 )указываетc99
указывает вместо c89
использовать обновленный стандартный диалект C. Вы можете увидеть некоторые редакционные следы, оставшиеся от черновика, который включал утилита cc
, но cc
была удалена из спецификации. POSIX 1003.1 -2008 (Single Unix v4 )снова имеетc99
Команда cryptsetup
просто настраивает модуль ядра dm-crypt
. Это означает, что шифрование/дешифрование вашего диска происходит внутри ядра. Ядро вообще не использует openssl.
Вы можете надежно проверить текущую производительность шифрования жесткого диска с помощью:
cryptsetup benchmark
По умолчанию для cryptsetup используются aes -xts, 256b , при создании зашифрованного устройства с помощьюcryptsetup luksCreate
(ср. выход cryptsetup luksDump
).
Некоторые результаты экспериментов с оборудованием среднего масштаба:
CPU cryptsetup benchmark
AMD Phenom 9750 2.4 GHz aes-xts 256b 146.7 MiB/s 148.5 MiB/s
Intel Atom C3758 2.2 GHz aes-xts 256b 874.0 MiB/s 875.4 MiB/s
Intel i5-4250U 1.3 GHz aes-xts 256b 1703.3 MiB/s 1723.1 MiB/s
Intel i7-6600U 2.6 GHz aes-xts 256b 2978.0 MiB/s 3117.5 MiB/s
Ядро Linux содержит несколько драйверов для оборудования, ускоряющего операции шифрования. Обычно они загружаются по умолчанию и используются криптоподсистемой ядра.
Например, более новые ЦП Intel поставляются с AES -набором инструкций NI , которые значительно ускоряют AES -. Вы можете проверить, поддерживает ли ЦП их вот так:
tr ' ' '\n' < /proc/cpuinfo | grep aes
Некоторые системы даже поставляются с криптографическими -процессорами (cf. например. Intel QuickAssist -QAT). Они могут ускорить работу, но также могут и замедлить ее -, поэтому при тестировании имеет смысл проверить журналы загрузки, настроено ли такое специальное оборудование ядром и загружены ли необходимые модули/прошивка. Если такое оборудование присутствует, имеет смысл проверить производительность с включенным -процессором по сравнению с отключенным (, например. путем внесения в черный список соответствующих *qat*
модулей ).