В вычислениях , резидентный монитор является тип системного программного обеспечения программы , которая была использована во многих ранних компьютерах с 1950 по 1970 - е годы. Его можно считать предшественником операционной системы . [1] Название происходит от программы, которая всегда присутствует в памяти компьютера и, таким образом, является «резидентной». [2] Поскольку память в этих системах была очень ограничена, резидентный монитор часто был не более чем заглушкой, которая получала управление в конце задания и загружала нерезидентную часть для выполнения необходимых задач очистки и настройки.
На компьютере общего пользования, использующем ввод перфокарт , резидентный монитор управлял машиной до и после выполнения каждой карты управления заданиями , загружал и интерпретировал каждую карту управления и действовал как устройство последовательности заданий для операций пакетной обработки . [3] Резидентный монитор может очищать память от последней использованной программы (за исключением самой себя), загружать программы, искать программные данные и поддерживать стандартные процедуры ввода-вывода в памяти. [2]
Подобные уровни системного программного обеспечения обычно использовались на заре более поздних миникомпьютеров и микрокомпьютеров, прежде чем они получили возможность поддерживать полные операционные системы. [2]
Текущее использование
Функциональность резидентного монитора присутствует во многих встроенных системах, загрузчиках и различных встроенных командных строках. Первоначальные функции, присутствующие во всех резидентных мониторах, дополнены современными функциями, касающимися оборудования времени загрузки, дисков, Ethernet, беспроводных контроллеров и т. Д. Как правило, доступ к этим функциям осуществляется с помощью последовательного терминала или физической клавиатуры и дисплея, если они подключены. Такой резидентный монитор часто называют отладчиком, загрузчиком, интерфейсом командной строки (CLI) и т. Д. Первоначальное значение резидентного монитора с последовательным или терминальным доступом используется нечасто, хотя функциональные возможности остались прежними и были дополнен.
Типичные функции резидентного монитора включают в себя проверку и редактирование оперативной памяти и / или ПЗУ (включая флэш-память EEPROM), а иногда и регистров специальных функций, возможность перехода в код по указанному адресу, возможность вызова кода по заданному адресу, возможность заполните диапазон адресов константой, такой как 0x00, и некоторыми другими. Более продвинутые функции включают локальную разборку для инструкций на языке ассемблера процессора и даже сборку и запись во флэш-память из кода, набранного оператором. Кроме того, код можно загружать и выгружать из различных источников, а некоторые расширенные мониторы поддерживают сети tftp, ftp, http и т. Д., А также форматирование и чтение FAT и других файловых систем, как правило, из флэш-памяти на шинах USB или CFcard.
Для встроенных процессоров многие «внутрисхемные отладчики» с программным режимом используют концепции и функции резидентного монитора, к которым часто обращается GUI IDE. Они не отличаются от командных строк резидентного монитора с традиционным доступом к последовательной линии, но пользователи не знают об этом. Самое позднее разработчики и опытные пользователи обнаружат эти низкоуровневые встроенные резидентные функции монитора при написании низкоуровневого кода API на хосте для связи со встроенной целью для отладки и запуска тестового примера кода.
Некоторые современные микроконтроллеры имеют резидентные последовательные мониторы или расширенные загрузчики, доступные в качестве опций для использования разработчиками. Многие из них с открытым исходным кодом. Некоторыми примерами являются PAULMON2, [4] AVR DebugMonitor [5] и загрузчик и монитор Bamo128 Arduino. [6] В целом, большинство современных резидентных мониторов для встроенных вычислений можно скомпилировать в соответствии с различными ограничениями памяти, от маленьких и минималистичных до больших, заполняя до 25% кодового пространства, доступного на процессоре AVR ATmega328 с 32 килобайтами флэш-памяти. память, например.
Во многих случаях резидентные мониторы могут быть шагом вперед по сравнению с «отладкой printf» и очень полезны при разработке в рамках бюджета, который не позволяет использовать надлежащий аппаратный внутрисхемный отладчик (ICD).
Примеры систем с резидентными мониторами
Смотрите также
Рекомендации
- ^ Введение в операционные системы 000.18 / 018 , факультет компьютерных наук Университета Джона Хопкинса
- ^ a b c Операционные системы - Лекция 02 , Оклендский университет
- ^ "59.305 - Операционные системы , Университет Мэсси
- ^ PAULMON2
- ^ AVR DebugMonitor
- ^ Bamo128 Загрузчик и монитор Arduino