상주 모니터

Resident monitor

컴퓨팅에서 상주 모니터는 1950년대부터 1970년대까지 많은 초기 컴퓨터에서 사용된 시스템 소프트웨어 프로그램의 한 종류입니다.는 운영 체제의 [1]전조로 간주할 수 있습니다.이 이름은 컴퓨터 메모리에 항상 존재하는 프로그램, 즉 [2]상주 프로그램에서 파생되었습니다.이러한 시스템에서는 메모리가 매우 한정되어 있기 때문에 상주 모니터는 대부분의 경우 작업 종료 시 제어력을 얻고 필요한 작업 청소 및 셋업 태스크를 수행하기 위해 비거주 부분을 로드하는 스터브에 불과했습니다.

펀치 카드 입력을 사용하는 범용 컴퓨터에서는 상주 모니터가 각 작업 제어 카드가 실행되기 전후에 기계를 제어하고 각 제어 카드를 로드 및 해석하며 배치 처리 작업[3]위한 작업 시퀀서 역할을 한다.상주 모니터는 마지막으로 사용한 프로그램(자체 제외)에서 메모리를 지우고, 프로그램을 로드하고, 프로그램 데이터를 검색하고,[2] 메모리에 표준 입출력 루틴을 유지할 수 있습니다.

유사한 시스템 소프트웨어 계층은 일반적으로 최신 미니컴퓨터마이크로컴퓨터가 완전한 [2]운영체제를 지원하기 전에 사용되었습니다.

현재 사용 현황

상주 모니터 기능은 많은 임베디드 시스템, 부트 로더 및 다양한 임베디드 명령줄에 있습니다.모든 상주 모니터에 있는 원래 기능은 부팅 시간 하드웨어, 디스크, 이더넷, 무선 컨트롤러 등을 다루는 현재의 기능으로 강화됩니다.통상, 이러한 기능은 시리얼 단자 또는 물리 키보드와 디스플레이(접속되어 있는 경우)를 사용해 액세스 합니다.이러한 상주 모니터는 흔히 디버거, 부트 로더, 명령줄 인터페이스(CLI) 등으로 불립니다.직렬 액세스 또는 단말 액세스 상주 모니터의 본래 의미는 기능은 그대로 유지되지만 자주 사용되지 않습니다.

상주 모니터의 일반적인 기능에는 RAM 및/또는 ROM(플래시 EEPROM 포함) 및 때로는 특수 기능 레지스터의 검사 및 편집, 특정 주소에서 코드에 점프하는 기능, 특정 주소에서 코드를 호출하는 기능, 0x00 등의 상수로 주소 범위를 채우는 기능 등이 있습니다.보다 고도의 기능에는 로컬 분해에서 프로세서 어셈블리 언어 명령으로, 심지어 오퍼레이터가 입력한 코드에서 플래시 메모리에 조립 및 쓰기도 포함됩니다.또한 다양한 소스에서 코드를 다운로드 및 업로드 할 수 있으며 일부 고급 모니터는 tftp, ftp, http 등을 지원합니다.네트워킹, FAT 및 기타 파일 시스템(일반적으로 USB 또는 CF카드 버스 플래시 연결 메모리)의 포맷 및 읽기.

임베디드 프로세서의 경우, 소프트웨어 전용 모드를 사용하는 「회로 내 디버거」의 상당수는, GUI IDE 로 자주 액세스 되는 상주 모니터의 개념과 기능을 사용합니다.기존의 시리얼 회선에 액세스 하고 있는 상주 모니터의 커맨드 라인과 다르지 않습니다만, 유저는 이 점을 의식하고 있지 않습니다.개발자와 고급 사용자는 디버깅 및 코드 테스트 케이스를 실행하기 위해 임베디드 대상과 통신하기 위해 호스트에 낮은 수준의 API 코드를 작성할 때 이러한 낮은 수준의 임베디드 상주 모니터 기능을 발견하게 됩니다.

현재의 마이크로 컨트롤러에는 개발자가 사용하는 옵션으로 사용할 수 있는 시리얼 모니터 또는 확장 부트 로더가 있습니다.대부분은 오픈 소스입니다.예를 들어 PAULMON2,[4] AVR DebugMonitor[5], Bamo128 Arduino 부트로더 및 [6]모니터 등이 있습니다.일반적으로, 임베디드 컴퓨팅용의 현재의 상주 모니터의 대부분은, 예를 들면, 32 킬로바이트의 플래시 메모리를 탑재한 AVR ATmega328 프로세서에서 사용 가능한 코드 영역의 최대 25%를 차지하는, 소형, 미니멀리즘으로부터 대규모까지, 다양한 메모리 제약에 따라서 컴파일 할 수 있습니다.

대부분의 경우 상주 모니터는 "프린트프 디버깅"에서 한 단계 향상되어 적절한 하드웨어 인서킷 디버거(ICD)를 사용할 수 없는 예산으로 개발할 때 매우 유용합니다.

상주 모니터가 있는 시스템의 예

GM-NAA I/O

「 」를 참조해 주세요.

레퍼런스