Конституция Армении: Статья 18.1
Конституция Армении (Статья 18.1) закрепляет «исключительную миссию Армянской Апостольской Святой Церкви как национальной церкви в духовной жизни армянского народа, в деле развития его национальной культуры и сохранения его национальной самобытности»:
SysRq

SysRq

Материал из Википедии — свободной энциклопедии
Расположение клавиши SysRq на клавиатуре. Совмещена с клавишей Print screen

SysRq или SysReq (сокращение от англ. System Request) — клавиша на клавиатуре для IBM PC-совместимого компьютера, появившаяся впервые в PC/AT и не имеющая стандартного назначения[1][2]. Изначально появилась на клавиатуре терминалов типа IBM 3270 для мейнфреймаIBM System/370, где использовалась для переключения ввода напрямую в ОС VM/370 или MVS.

В современных операционных системах может быть включена для специального использования. В 84-кнопочной версии клавиатуры IBM PC/AT SysRq была отдельной клавишей, в современных клавиатурах она совмещена с клавишей Print Screen.

История

84-я клавиша, SysRq,[3] была добавлена IBM в клавиатуру для IBM PC/AT для того, чтобы можно было вызывать низкоуровневые функции операционной системы без риска конфликта с любым существовавшим программным обеспечением. Было добавлено программное прерывание BIOS номер 0x15, подфункция 0x85[4][5], которое сообщало ОС о нажатии или отпускании клавиши SysRq. В отличие от большинства клавиш, нажатие SysRq не добавляло чего-либо в буфер клавиатуры[англ.].

Низкоуровневая реализация SysRq, вероятно, планировалась для переключения между операционными системами. Так, во время создания первых IBM-PC в 1980-х на них широко использовались три системы: PC DOS, CP/M-86 и UCSD p-System,[6] а в 1983—1984 появилась Xenix.

Специальная клавиша была создана, чтобы обойти различные низкоуровневые TSR-программы, работавшие с клавиатурой в обход ОС, например, для реализации горячих клавиш.

Применение

В ОС Windows SysRq (то есть PrtScr), нажатая вместе с Alt, копирует изображение активного окна в буфер обмена.

Компания Microsoft иногда использовала SysRq для различных отладчиков, как уровня ОС, так и уровня приложения. Некоторые версии отладчика CodeView использовали клавишу для прерывания программы во время исполнения и переключения в отладочный интерфейс.[7] Удаленный отладчик ядра Windows NT использовал последовательность нажатий Ctrl+SysRq для включения отладочного режима.[8]

В ПК Hyundai/Hynix Super-16 нажатие Ctrl+SysRq приводит к холодной перезагрузке, в том числе, когда Ctrl+Alt+Del уже не работает.

Во встраиваемых системах изредка SysRq переключает сигнал RESET# в нижний уровень.[9]

SysRq в UNIX/Linux

Клавиша SysRq — единственная прямая связь с ядром, которая работает всегда, если работает ядро, так как соответствующие комбинации напрямую перехватываются ядром и соответствующий код является частью драйвера клавиатуры (см. Magic SysRq key[англ.]). При помощи некоторых комбинаций клавиш можно заставить систему аварийно сбросить данные на диски, перемонтировать все файловые системы в режим «только чтение», перезагрузиться или перезапустить графическую подсистему даже при зависшей системе.

Использование

Сначала нужно убедиться, что использование клавиши включено: в конфигурации ядра CONFIG_MAGIC_SYSRQ должно иметь значение Y (например, в ядре, используемом в Debian по умолчанию, это так). Далее необходимо нажать и удерживать последовательно Alt и SysRq и нажать одну из командных клавиш. В графических окружениях (GNOME, KDE, …) нажатие PrtScr/SysRq обычно приводит лишь к созданию скриншота, и последующая команда может не восприниматься ядром. Это можно обойти, если дополнительно удерживать Ctrl, то есть полная комбинация будет Ctrl + Alt + SysRq + клавиша. Если вместо командной клавиши нажать любую другую, то на виртуальный текстовый терминал для сообщений ядра (обычно № 10) выведется несколько строчек краткой помощи по использованию. Это удобно использовать как быстрый способ убедиться, что параметр CONFIG_MAGIC_SYSRQ в загруженном ядре включен.

Список команд SysRq в Linux

Одновременное нажатие клавиш Alt + SysRq + буква.

Если SysRq вызывается с использованием Fn, то следует зажать Alt + Fn + SysRq, затем отпустить Fn и ввести букву команды.

То есть, например, для аварийной синхронизации данных следует выполнить последовательность Alt + SysRq + S, далее Alt + SysRq + U. После этого можно жать на сброс или, что то же самое, Alt + SysRq + B.

Более правильно экстренную перезагрузку стоит проводить, зажав клавиши Alt + SysRq и с интервалом в 2—3 секунды нажать последовательно: REISUB

  • unRaw (перехватить управление клавиатурой),
  • tErminate (послать SIGTERM всем процессам),
  • kIll (послать SIGKILL всем процессам, которые не смогли завершиться предыдущей командой),
  • Sync (синхронизировать файловые системы),
  • Unmount (перемонтировать файловые системы в режим «только чтение»),
  • reBoot. (и напоследок, совершить перезагрузку)

Есть и другие мнемоники для запоминания этой последовательности, см Magic SysRq key[англ.].

При недоступности работы с терминалом сочетание клавиш можно послать /proc/sysrq-trigger

Например, команда echo «h» > /proc/sysrq-trigger выведет список возможных сигналов в dmesg.

Для того, чтобы восстановить управление клавиатурой X-сервером, после unRaw используйте следующую команду с правами суперпользователя: kbd_mode -s -C /dev/tty7[12]. Вместо tty7 (7 — обычный номер для запуска X-сервера) можно использовать tty$(fgconsole) для программного определения номера tty.

Примечания

  1. What is the SysRq key for?comp.os.msdos.programmer FAQ. Дата обращения: 8 января 2008. Архивировано 10 ноября 2018 года.
  2. Dan Gookin.PCs For Dummies Quick Reference. — С. 192. «Dead keys… SysRq»
  3. Киви Берд (14 декабря 2003). Давим на клавиши. "Домашний Компьютер" №12. Архивировано 21 января 2014. Дата обращения: 17 января 2014.
  4. Ralf Brown's Interrupt List. Дата обращения: 8 января 2008. Архивировано 19 июня 2016 года.
  5. PC Mag 25 Jun 1991Архивная копия от 21 января 2014 на Wayback Machine page 418 «Summary of BIOS Services»
  6. Original IBM PC Product fact sheet. IBM Information Systems Division (12 августа 1981). Дата обращения: 13 января 2010. Архивировано 20 августа 2010 года.
  7. Returning Control to CodeView. Microsoft Knowledge Base. Дата обращения: 8 января 2008. Архивировано 8 ноября 2008 года.
  8. How to enable a remote kernel debugger connection on a computer that is running Windows Server 2003 with Service Pack 1. Microsoft Knowledge Base. Дата обращения: 8 января 2008. Архивировано 19 марта 2008 года.
  9. MicroVGA datasheet. Дата обращения: 17 января 2014. Архивировано 15 октября 2012 года.
  10. Barnes, Jesse.DRM: i915: add mode setting support. Git. Kernel (7 ноября 2008). Дата обращения: 31 августа 2013. Архивировано 23 июня 2020 года.
  11. Linux Magic System Request Key Hacks (13 сентября 2021). Дата обращения: 25 сентября 2022. Архивировано 6 октября 2022 года.
  12. Recovering from Sys Rq + r

Литература

Ссылки

Действие QWERTYDvorakAZERTYColemak
Установка уровня журнала консоли, который управляет типами сообщений ядра, выводимых на консоль 0 — 90 — 90 — 9
(без ⇧ Shift)
0 — 9
Немедленная перезагрузка системы, не размонтируя и не синхронизируя файловые системы bxbb
Выполнение сбоя системы. Будет создан аварийный дамп, если он настроен cjcc
Отображение всех удерживаемых в данный момент блокировки (требуется опция ядра CONFIG_LOCKDEP) deds
Отправка сигналаSIGTERM всем процессам, кроме init (PID 1) e.ef
Вызов oom_kill, который убьёт процесс, чтобы облегчить состояние OOMfuft
При использовании Kernel Mode Setting, переключение на консоль фреймбуфера ядра.[10]
Если присутствует встроенный отладчик ядра kdb, вход в отладчик
gigd
Вывод краткого справочного документа на консоль
Любая клавиша, не связанная с командой, также должна выполнять это действие.
hdhh
Отправка сигнала SIGKILL всем процессам, кроме initiciu
Принудительная «разморозка» файловых систем, замороженных с помощью FIFREEZE ioctl jhjn
Завершение всех процессов на текущей виртуальной консоли (можно убить программы X и SVGAlib, см. ниже)
Изначально это было разработано для имитации Secure attention key
ktke
Показ обратной трассировки стека для всех активных ЦП lnli
Вывод текущей информации о памяти на консоль mm,m
Сброс уровня nice для всех высокоприоритетных задач и задач реального времениnbnk
Отключение системы oroy
Вывод текущих регистров и флагов на консоль plp;
Отображение всех активных таймеров высокого разрешения и источников синхронизации q'aq
Переключение клавиатуры из режима Raw, используемого такими программами, как X11 и SVGAlib, в режим XLATErprp
Синхронизация все смонтированных файловых систем sosr
Вывод списка текущих задач и информации о них на консоль tytg
Перемонтирование всех смонтированных файловых систем в режиме только для чтенияugul
Принудительное восстановление консоли фреймбуфера.
Для процессоров ARM вместо этого вызов дампа буфера ETM
vkvv
Отображение списка заблокированных (состояние D) задач w,zw
Используется интерфейсом xmon на платформах PowerPC.
Показ глобальных регистров PMU на sparc64.
Сброс всех записей TLB на MIPS.[11]
xqxx
Показ глобальных регистров ЦП (специфично для SPARC-64) yfyj
Дамп буфера трассировки ftrace z;wz