Статусный ключ
В вычислительной технике — статусная клавиша это клавиша клавиатуры , которая заставляет операционную систему и/или программу выводить информацию о состоянии на терминал при ее нажатии. В случае, если программа на терминале не выдает никаких признаков того, что она запущена, нажатие клавиши состояния покажет состояние и активность программы. [1] Более старые реализации создавали только быстрый однострочный отчет о состоянии текущего задания при нажатии клавиши состояния. [2] Более новые реализации поддерживают отправку сигнала текущему процессу, что позволяет приложению также сообщать о состоянии. [3]
Реализации на уровне операционной системы
[ редактировать ]В нескольких различных операционных системах функция статуса ключа реализована в ядре или другом низкоуровневом компоненте.
«Техснабэкспорт»
[ редактировать ]У TENEX есть эта функция, по крайней мере, с 1971 года: «Еще один символ прерывания терминала, control-T, обслуживается EXEC. Он прерывает процесс EXEC пользователя, чтобы вывести общее время использования процессора и консоли, а также состояние вилки, запущенной под EXEC. ." [4]
ДЕК РСТС/Е
[ редактировать ]Документально подтверждено, что RSTS/E имел статусный ключ, по крайней мере, еще в 1977 году и продолжал иметь его, по крайней мере, до 1980-х годов. Ввод статусной клавиши приводит к выводу, представленному в следующем примере: [5] [6] [2]
18 GARP::KB32 SYSTAT+BAS4F ^C(0R) 11(16)K+ 16K 3.3(+5)
Поле | Ценить |
---|---|
Номер задания | 18 |
Имя узла | ГАРП |
Номер клавиатуры | КБ32 |
Программа или операция | СИСТАТ |
Имя системы времени выполнения | БАС4 |
Состояние задания | ^С(0Р) |
Размер программы в словах | 11 |
Максимальный размер прописью | (16)К |
Размер исполняющей системы прописью | +16 тыс. |
Количество используемого процессорного времени | 3.3 |
Время процессора с момента последнего нажатия CTRL/T | (+.5) |
ДЕКАБРЬ ТОПС-10
[ редактировать ]В TOPS-10 при нажатии клавиши CTRL/T (control-T) монитор печатает на терминале информацию о состоянии, относящуюся к заданию. Нажатие клавиши CTRL/T отображает ход выполнения задания, не прерывая его выполнения. На терминале не отображается символ control-t, а только информация о состоянии. [7]
DAY: :05:43 RUN:0.48 RD:75 WR:8 SOS 12+19p ^C Ctx:1 PC:400275
Дополнительные значения в таблице ниже указывают на то, что значение представляет собой накопление с момента входа в систему или последнего нажатия клавиши CTRL/T, в зависимости от того, какое из них было самым коротким. [7]
Поле | Ценить |
---|---|
Увеличение дневного времени | ДЕНЬ: :05:43 |
Дополнительное время выполнения | ПРОБЕГ: 0,48 |
Инкрементальное чтение с диска | РД:75 |
Инкрементная запись на диск | WR:8 |
Название программы | SOS |
Объем памяти, которую использует программа | 12+19п |
Номер контекста | КТХ:1 |
Код штата вакансии | ^ С |
Счетчик программ | ПК: 400275 |
Состояние задания, INPUT WAIT или OUTPUT WAIT. | (только если CTRL/T используется на уровне ПОЛЬЗОВАТЕЛЯ) |
ДЕК ТОПС-20
[ редактировать ]TOPS-20 сообщает более короткий список информации, чем его предшественники: [9]
09:36:35 TEST Running at 404157 Used 0:00:35.8 in 0:30:39, Load 4.04
Поле | Ценить |
---|---|
Время | 09:36:35 |
Имя | ТЕСТ |
Статус | Бег по номеру 404157 |
Использованное процессорное время | Использовано 0:00:35.8 |
Время входа в систему | в 0:30:39 |
Средняя нагрузка | Загрузить 4.04 |
Массачусетский технологический институт
[ редактировать ]ИТС скопировал идею из ТОПС-20 , [10] но использовал последовательность клавиш Control+ _ J. [11]
19:29:10 3 RMS HACTRN EMACS1 130566
Поле | Ценить |
---|---|
Время | 19:29:10 |
Индекс вакансий | 3 |
Имя пользователя | среднеквадратичное значение |
Название вакансии | ХАКТРН |
Имя системы | EMACS1 |
Счетчик программ пользователя | 130566 |
ВСЕ OpenVMS
[ редактировать ]OpenVMS имеет статусный ключ, который можно настроить и который работает с удаленными процессами. [12] Вывод по умолчанию включает в себя следующие элементы: [1]
NODE22::SMITH 16:21:04 (DCL) CPU=00:03:29.39 PF=14802 IO=18652 MEM=68
Поле | Ценить |
---|---|
Имя узла и процесса | NODE22::СМИТ |
Время суток | 16:21:04 |
Имя активного изображения | (ДКЛ) |
Затраченное процессорное время | ЦП=00:03:29.39 |
Накопленные ошибки страниц | ПФ=14802 |
Операции ввода-вывода | ИО=18652 |
Используемые кадры | МЕМ=68 |
БСД ЮНИКС
[ редактировать ]4.3BSD-Рено [13] [14] [15] и системы BSD, производные от этой версии и OSF/1, имеют статусную клавишу, которая по умолчанию равна Ctrl-T и может быть назначена любой клавише. [3] [16] Он отправляет SIGINFO текущему процессу, который по умолчанию игнорируется, но его можно настроить для вызова функции, которая может отображать информацию о состоянии из программы. [17] [18]
load: 0.10 cmd: sleep 1594 [nanslp] 1.33r 0.00u 0.00s 0% 1864k
Поле | Ценить |
---|---|
Средняя пятиминутная нагрузка | нагрузка: 0,10 |
Имя команды | cmd: спать |
Идентификатор процесса | 1594 |
Подождите имя канала или заблокируйте имя | [нанлп] |
Прошедшее реальное время | 1.33р |
Истекшее время процессора пользователя | 0.00е |
Истекшее время процессора системы | 0,00 с |
Процент процессора | 0% |
Размер резидентного набора памяти программ | 1864 тыс. |
Яблоко macOS
[ редактировать ]Поскольку XNU имеет ядро FreeBSD , которое было модифицировано для использования в качестве процесса сервера Mach, драйвер терминала включает в себя унаследованный ключ состояния. [19] [20] [21] [22]
load: 3.04 cmd: sleep 719 waiting 0.00u 0.00s
Поле | Ценить |
---|---|
Средняя пятиминутная нагрузка | нагрузка: 3,04 |
Имя команды | cmd: спать |
Идентификатор процесса | 719 |
Подождите имя канала или заблокируйте имя | ожидающий |
Истекшее время процессора пользователя | 0.00е |
Истекшее время процессора системы | 0,00 с |
Реализации на уровне приложения
[ редактировать ]Помимо реализации клавиши состояния в ядре или соответствующем компоненте ОС, некоторые приложения имеют функции, которые позволяют вам нажимать клавишу для просмотра статуса приложения.
SDS-940 под управлением BBN Lisp в 1969 году.
[ редактировать ]BBN Lisp, работающий на SDS 940, имел ключ состояния, который был реализован в Lisp , работающем в ОС, а не в самом ядре ОС. [23]
Control-T Print Time. Causes an immediate printout of the total execution time (in clock ticks) for the job, (even during garbage collections), i.e. clock[2], (p. 14.22). A series of such printouts should show increasing numbers if the program is using any CPU time. Of course, the program is not using CPU time if it is waiting for input. This information may serve to help the user determine if his LISP and/or the time sharing sys- tem has crashed.
Ссылки
[ редактировать ]- ^ Jump up to: а б Миллер, Дэвид Дональд (1997). Концепции операционной системы Open VMS . Эльзевир. п. 151. ИСБН 978-1-55558-157-2 .
- ^ Jump up to: а б Руководство пользователя системы RSTS/E (PDF) . Мейнард, Массачусетс: Корпорация цифрового оборудования. 1985. стр. 4–10. Архивировано (PDF) из оригинала 16 августа 2007 г.
- ^ Jump up to: а б Керриск, Майкл (2010). Интерфейс программирования Linux: Справочник по системному программированию Linux и UNIX . Нет крахмального пресса. п. 1299. ИСБН 978-1-59327-291-3 .
- ^ Дэниел Г. Боброу; Джерри Д. Берчфилд; Дэниел Л. Мерфи; Раймонд С. Томлинсон (15 августа 1971 г.). «4.4 Символы прерывания». «Техснабэкспорт», система страничного разделения времени для PDP-10 (PDF) (Отчет).
- ^ Руководство пользователя BASIC-PLUS-2 RSTS/E (PDF) . Мейнард, Массачусетс: Корпорация цифрового оборудования. 1977. стр. 4–10. Архивировано (PDF) из оригинала 9 октября 2006 г.
- ^ Руководство пользователя системы RSTS/E (PDF) . Мейнард, Массачусетс: Корпорация цифрового оборудования. 1979. стр. 4–13. Архивировано (PDF) из оригинала 29 марта 2005 г.
- ^ Jump up to: а б Руководство по командам операционной системы TOPS-10 . Мейнард, Массачусетс: Корпорация цифрового оборудования. 1988. стр. 1–7. Архивировано из оригинала 4 декабря 2017 г.
- ^ Руководство пользователя TOPS-20 . Мейнард, Массачусетс: Корпорация цифрового оборудования. 1982. стр. 8–5. Архивировано из оригинала 4 декабря 2017 г.
- ^ Руководство пользователя TOPS-20 . Мейнард, Массачусетс: Корпорация цифрового оборудования. 1982. стр. 8–5. Архивировано из оригинала 4 декабря 2017 г.
- ^ «Re: ох, *настоящая* флеймовая война :)» . Гитхаб . 24 марта 2000 г.
- ^ "ИТСТТИ" . Гитхаб .
- ^ Пелег, Гай (1 октября 2006 г.). «Обновление утилит OpenVMS» (PDF) . Новости OpenVMS . Группа Брудена Он Шор Системс. Архивировано (PDF) из оригинала 6 декабря 2017 г. Проверено 6 ноября 2017 г.
- ^ Карелс, Майкл Дж. (26 августа 1989 г.). «Группа исследования компьютерных систем BSD Distribution signal.h 7.5» . Преобразование SCCS в ископаемые исходного репозитория BSD Калифорнийского университета в Беркли . Регенты Калифорнийского университета . Проверено 5 декабря 2017 г.
#define SIGINFO 29 /* запрос информации */
- ^ Тейтельбаум, Марк (26 октября 1989 г.). «Группа исследования компьютерных систем BSD Распространение tty.c 7.18» . Преобразование SCCS в ископаемые исходного репозитория BSD Калифорнийского университета в Беркли . Регенты Калифорнийского университета . Проверено 5 декабря 2017 г.
добавить прототип ^T
- ^ Тейтельбаум, Марк (1 мая 1990 г.). «Группа исследования компьютерных систем BSD Распространение tty.c 7.22» . Преобразование SCCS в ископаемые исходного репозитория BSD Калифорнийского университета в Беркли . Регенты Калифорнийского университета . Проверено 5 декабря 2017 г.
^Т
- ^ BSD по общим командам Руководство –
- ^ Лукас, Майкл В. (2015). Мастерство Тарснапа . Наклонный пресс ветряной мельницы. п. 71.
- ^ Лавин, Дрю (2004). BSD Hacks: 100 промышленных советов и инструментов . О'Рейли Медиа. ISBN 978-0-596-55256-5 .
- ^ «Обзор BSD» . Apple, Inc. 8 августа 2013 г. Проверено 13 марта 2022 г.
Часть BSD ядра OS X получена в основном из FreeBSD.
- ^ "darwin-xnu/bsd/sys/ttydefaults.h" . Гитхаб . Apple Computer, Inc. 29 октября 2007 г. Проверено 5 декабря 2017 г.
#define CSTATUS CTRL('t')
- ^ "darwin-xnu/bsd/sys/signal.h" . Гитхаб . Apple Computer, Inc. 26 сентября 2017 г. Проверено 5 декабря 2017 г.
#define SIGINFO 29 /* запрос информации */
- ^ "darwin-xnu/bsd/kern/tty.c" . Гитхаб . Apple Computer, Inc. 26 сентября 2017 г. Проверено 5 декабря 2017 г.
Отчет о состоянии группы процессов переднего плана.
- ^ Боброу, Дэниел ; Мерфи, Дэниел ; Тейтельман, В. (апрель 1969 г.). «Раздел 23.10». СПРАВОЧНОЕ РУКОВОДСТВО ПО СИСТЕМЕ BBN — LISP (PDF) .