Зарезервированное место на диске

Пока ваше понимание правильное, но вы упускаете большую часть сложности, которая на этом построена. Обработка в ядре происходит на нескольких уровнях, и нажатие клавиши «пузырится» по слоям.

Сам протокол связи USB гораздо сложнее. Процедура обработки прерывания для USB обрабатывает это и, при необходимости, собирает полный пакет USB из нескольких фрагментов.

Нажатие клавиши использует так -называемый HID("устройство интерфейса пользователя" ), который построен поверх USB. Таким образом, нижний уровень ядра USB определяет, что полное сообщение является событием USB HID, и передает его на уровень HID в ядре.

Уровень HID интерпретирует это событие в соответствии с дескриптором HID, который требуется от устройства при инициализации. Затем он передает события входному слою. Одно HID-событие может генерировать несколько событий нажатия клавиш.

Уровень ввода использует таблицы раскладки клавиатуры ядра для сопоставления кода сканирования (положения клавиши на клавиатуре )с кодом клавиши (, например A), и интерпретирует Shift , Alt и т. д. Результат этой интерпретации становится доступным через /dev/input/event*для пользовательских процессов. Вы можете использовать evtestдля наблюдения за этими событиями в реальном -времени.

Но обработка здесь не закончена. X-сервер (, отвечающий за графику ), имеет универсальный evdevдрайвер, который считывает события с /dev/input/event*устройств, а затем снова отображает их в соответствии со вторым набором таблиц раскладки клавиатуры (. ] вы можете увидеть их частично с помощью xmodmapи полностью с помощью расширения XKBD ). Это связано с тем, что X-сервер предшествует уровню ввода ядра, и в прежние времена у него были драйверы для прямой обработки мыши и клавиш PS/2.

Затем X-сервер отправляет сообщение X-клиенту (приложению ), содержащее событие клавиатуры. Вы можете просмотреть эти сообщения с помощью приложения xev. LibreOfficeбудет обрабатывать это событие напрямую, VIMбудет выполняться в xterm, который будет обрабатывать событие, и (как вы уже догадались )снова добавить к нему дополнительную обработку и, наконец, передать его VIMчерез stdin.

Достаточно сложно?

0
29.10.2020, 06:27
1 ответ

На этот вопрос нет однозначного ответа.

С помощью команды df -h вы можете увидеть пространство, занимаемое папками на основе GiB. Вы можете запустить команду du -ah для каждой папки. Эта команда дает вам размер файла в каталоге, в котором вы находитесь.

du -ah /home/user

Например, если вы не хотите видеть размер файлов.txt в файловом каталоге, вам нужно добавить параметр исключения --:

du -ah --exclude = "*. txt" /home/user

Есть много параметров, связанных с командой du, и вы можете узнать нужную информацию с помощью этих параметров.

Набрав man du , вы можете получить доступ к списку параметров.

Вы по-прежнему можете осуществлять мониторинг, установив более простые инструменты. Могу порекомендовать вам NCurses . Благодаря этой программе вы можете перечислить без необходимости параметров du.

Отслеживая свою систему с помощью расширенных инструментов мониторинга, таких как Grafana, вы можете получать уведомления с помощью созданных вами триггеров.

1
18.03.2021, 22:54

Теги

Похожие вопросы