[go: up one dir, main page]

KR100506243B1 - 스크린 버퍼 검색을 통한 시스템 모니터링 방법 - Google Patents

스크린 버퍼 검색을 통한 시스템 모니터링 방법 Download PDF

Info

Publication number
KR100506243B1
KR100506243B1 KR10-1998-0057381A KR19980057381A KR100506243B1 KR 100506243 B1 KR100506243 B1 KR 100506243B1 KR 19980057381 A KR19980057381 A KR 19980057381A KR 100506243 B1 KR100506243 B1 KR 100506243B1
Authority
KR
South Korea
Prior art keywords
bios
message
buffer
screen
code
Prior art date
Application number
KR10-1998-0057381A
Other languages
English (en)
Other versions
KR20000041501A (ko
Inventor
이준혁
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR10-1998-0057381A priority Critical patent/KR100506243B1/ko
Priority to US09/468,099 priority patent/US6629240B1/en
Publication of KR20000041501A publication Critical patent/KR20000041501A/ko
Application granted granted Critical
Publication of KR100506243B1 publication Critical patent/KR100506243B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 스크린 버퍼 검색을 통한 시스템 모니터링 방법에 관한 것으로서, 특히 서버 관리 보드로 하여금 시스템이 부팅되는 과정 중에 출력되는 스크린 메시지를 검출하도록 하여 원격지에 위치하는 시스템 관리자에게 시스템의 부팅 상태와 이상 여부를 알려주도록 하는 방법에 관한 것이다. 본 방법은, 비디오 메모리 영역내에 있는 스크린 버퍼의 내용을 프로그램내의 임시 버퍼로 복사하는 단계, 스크린 버퍼 내용을 복사해온 임시 버퍼내에서 BIOS 메시지를 검색하는 단계, 및 BIOS 메시지를 검색한 결과를 원격지에 있는 시스템 관리자에게 보고하는 단계를 포함한다.

Description

스크린 버퍼 검색을 통한 시스템 모니터링 방법
본 발명은 스크린 버퍼(Screen Buffer) 검색을 통한 시스템 모니터링(System Monitoring) 방법에 관한 것으로서, 특히 서버 관리 보드(Server Management Board)로 하여금 시스템이 부팅(Booting)되는 과정 중에 출력되는 스크린 메시지(Screen Message)를 검출하도록 하여 원격지에 위치하는 시스템 관리자(System Manager)에게 시스템의 부팅 상태와 이상 여부를 알려주도록 하는 방법에 관한 것이다.
IBM PC에 호환성이 있는(Compatible) 경우 시스템에 전원이 온(On)되게 되면, 가장 먼저 기본 입출력 시스템(Basic Input/Output System : 이하 BIOS라 칭한다)으로 시스템에 대한 전반적인 초기화 및 테스트를 실시하게 된다. 이것을 보통 전원 온 셀프 테스트(Power On Shelf Test : 이하 POST라 칭한다)라고 부르는데, 이때 BIOS은 특정 입출력 어드레스(I/O Address)에 각 단계별 POST 결과 값을 출력한다. 여기서, 입출력 어드레스란 보통 입출력 포트(I/O Port)라 부르며 BIOS 및 시스템 버스의 종류에 따라 상이하지만, ISA(Industry Standard Architecture) 버스의 경우 0x80, EISA(Extended Industry Standard Architecture) 버스의 경우 0x300이 사용된다.
POST 코드(Code)는 시스템과 BIOS 초기 개발시에 이용되며 나중에는 시스템 관리에 이용되는데, 상기 POST 코드를 이용하려면 POST 코드가 출력되는 입출력 포트에 실제 디바이스(일종의 버퍼)를 연결한 다음 POST 코드를 이용하려는 프로그램 또는 하드웨어에서 이 디바이스에 저장된 값을 읽은 후 사용하게 된다.
상기와 같은 종래의 기술의 가장 큰 문제는 호환성이 떨어진다는 것이다 아래에 호환성을 떨어뜨리는 몇 가지 사항에 대해 정리하면 다음과 같다.
1. 시스템 버스에 따라 입출력 포트가 상이하기 때문에 각 시스템 버스(System BUS)에서 작동되는 서버 관리 보드내에 각기 다른 하드웨어 로직(Logic) 구성이 필요하다.
2. 서버 관리 보드내에 특별히 설계된 하드웨어 로직이 없이는 POST 코드를 얻을 수 없다.
3. PCI 버스에서 이용할 수 있는 입출력 포트가 지원되지 않고 있다.
4. POST 코드가 단순히 1바이트(0x00 ~ 0xFF)의 16진수 값으로 출력되기 때문에 각 코드가 의미하는 내용을 바로 알 수가 없다. 또한 BIOS 벤더(Vendor)에 따라 각 코드 및 의미하는 내용이 상이하다.
상기와 같은 사항들로 인하여 POST 코드를 이용하기 위해서는 POST 코드를 출력하는 BIOS 벤더와 시스템 버스에 따라 서로 상이한 소프트웨어와 하드웨어가 필요하게 된다. 이것은 범용성을 떨어뜨리는 가장 큰 요인으로 다수의 플랫폼(Platform)에서 적용할 수 있는 서버 관리 보드를 제작하는데 큰 장애 요인이 되게 된다.
따라서, 본 발명은 상기된 바와 같은 문제점을 해결하기 위하여 창안된 것으로, BIOS 벤더 및 시스템 버스에 따라 상이한 POST Code 출력 입출력 포트 및 서버 관리 보드 내부에 구현되어야 하는 하드웨어 로직의 필요없이 IBM PC 호환기종의 시스템이라면 어떤 시스템에서도 적용될 수 있는, 스크린 버퍼 검색을 통한 시스템 모니터링 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여 창안된 본 발명에 따른 스크린 버퍼 검색을 통한 시스템 모니터링 방법의 바람직한 실시예는, 비디오 메모리 영역내에 있는 스크린 버퍼의 내용을 프로그램내의 임시 버퍼로 복사하는 단계, 상기 스크린 버퍼 내용을 복사해온 임시 버퍼내에서 BIOS 메시지를 검색하는 단계 및 상기 BIOS 메시지를 검색한 결과를 원격지에 있는 시스템 관리자에게 보고하는 단계를 포함한다.
이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
먼저, 스크린 버퍼 검색을 통한 시스템 모니터링을 구현하는 프로그램의 구조를 설명하기 위해 우선 도 1에 도시되어 있는 IBM PC 호환 시스템의 메모리 맵(System Memory Map)부터 보인다.
상기 도 1은 IBM PC 호환 시스템 중 AT(80286 CPU 사용) 이상에 적용되는 시스템 메모리 맵을 도시화한 것으로서, 거의 표준에 가까울 정도로 광범위하게 쓰이고 있다. 우리가 사용하는 스크린 버퍼(Screen Buffer)는 바로 0xA0000부터 0xBFFFF까지의 128KB 영역 중의 한 영역으로서, 이후 영역은 각 시스템 벤더에 따라 조금씩 차이가 있을 수 있지만 이 영역은 일반적인 IBM PC 호환 시스템이라면 대부분의 시스템이 스크린 버퍼로 이용하게 되는 비디오 메모리(Video RAM)의 어드레스 영역이라고 할 수 있다.
시스템이 부팅하면서 BIOS는 POST를 수행하게 되는데, POST 코드를 출력하는 것 이외에도 각 시스템에 부착되어있는 비디오 카드(Video Card)를 통해 POST 결과를 영문 메시지로 출력하게 된다. 시스템 전원을 온 했을 때 보게 되는 "System RAM Passed", "Video BIOS shadowed" 등의 메시지가 바로 그것이다. 이러한 메시지들은 실제로 텍스트 화면과 메모리(보통 우리는 이런 메모리 영역을 스크린 버퍼라 부른다)가 1:1로 대응되는 어드레스 영역에 아스키(American Standard Code for Information Interchange : ASCII) 코드 형태로 저장되게 된다. 따라서 스크린 버퍼로 출력된 메시지들을 모니터링하게 되면 현재 이 시스템의 부팅 상태를 알 수 있다.
BIOS가 POST 과정 중에 출력하는 메시지들은 상태를 나타내는 메시지와 에러를 알리는 메시지로 나누어져 있고, 이 메시지들이 스크린 버퍼내에서 검색(Search)하려고 하는 메시지가 된다. 검색 방법에는 일반적인 String Search 방법을 이용하면 된다. 만약 특정 메시지가 발견되면 메시지와 1:1 대응되는 코드를 저장한 후, 다음 메시지의 존재 유무를 체크하게 된다.
이러한 과정을 통해 체크하려는 모든 메시지에 대한 처리를 마치게 되면, 다음 모니터링 주기까지 대기한 다음 계속해서 앞에서와 같은 방법으로 메시지 검색을 실시하게 된다. 사전에 설정된 모니터링 시간이 종료되면 그때까지 저장했던 메시지 코드를 이용하여 사전에 정의된 프로토콜로 부팅 상태를 원격지에 있는 시스템 관리자에게 보고하면 되는 것이다.
본 발명을 사용한 프로그램 구조와 절차에 부팅 타임 모니터링 실시하는 동작을 도 2를 참조하여 설명한다.
먼저, 비디오 메모리 영역중 스크린 버퍼 영역으로부터 텍스트 1 페이지에 해당하는 영역을 프로그램 내의 임시 버퍼로 복사해온다(s10). 그런데, 스크린 버퍼 내용을 임시 버퍼에 복사하기 전에 스트링 검색에 불필요한 스크린 속성 데이터는 모두 제거하며(s20), 스크린 속성 데이터를 제거한 스크린 버퍼 내용은 임시 버퍼에 기록(Write)한다.
그리고 나서, 스크린 버퍼 내용을 복사해온 임시 버퍼내에서 BIOS 메시지를 검색한다(s30). 검색 방법은 일반적인 스트링 검색(String Search) 방법을 사용하는데, 각 프로그래밍 언어의 표준 라이브러리(Library)에서 정의한 함수를 사용해서 펌웨어(Firmware) 내부에 저장된 BIOS 메시지들을 이용하여 검색하면 된다.
임시 버퍼내에서 찾고자 했던 BIOS 메시지를 발견했으면(s40), 검색된 BIOS 메시지에 해당하는 코드를 또 다른 기억장소에 보관하였다가(s50) 검색하고자 하는 메시지들을 모두 검색했을 때(s60, s70) 모니터링을 마치고(s80), 그 검색 결과를 원격지에 있는 시스템 관리자에게 전달한다(s90). 이때, 원격지에 있는 시스템 관리자에게 전달하기 위해서는 사전에 정의된 프로토콜을 이용하여 보고한다. 그리고, 보고시 전송되는 내용은 검색된 메시지 코드가 될 수도 있고, 메시지 코드를 이용하여 각 코드에 해당하는 메시지를 직접 전송할 수도 있다.
마지막으로, 검색된 모든 코드에 대한 전송이 끝나면 스크린 버퍼 모니터링을 종료한다.
상기와 같이 동작하는 본 발명의 효과를 간단히 설명하면 다음과 같다.
BIOS 벤더 및 시스템 버스에 따라 상이한 POST 코드 출력 입출력 단자 및 서버 관리 보드 내부에 구현되어야 하는 하드웨어 로직의 필요없이 IBM PC 호환 시스템이라면 어떤 시스템에서도 적용될 수 있는 부팅 타임 모니터링 방법을 서버 관리 보드에게 제공함으로써, 서버 관리 보드 내부에 특별히 설계된 하드웨어 로직없이도 POST의 진행상황을 알 수 있고, PCI 버스용 POST 코드 출력 입출력 단자를 지원하지 않는 BIOS 상에서도 POST의 진행 상태를 관리할 수 있는 서버 관리 보드를 제작할 수 있으며, POST 코드보다 좀 더 자세한 내용을 원격지에 있는 시스템 관리자에게 보고할 수 있다.
도 1 은 시스템 메모리 맵(0 ~ 1MB)을 나타낸 테이블.
도 2 는 본 발명에 따른 스크린 버퍼 검색을 통한 시스템 모니터링 과정을 나타낸 흐름도.

Claims (5)

  1. 비디오 메모리 영역내에 있는 스크린 버퍼의 내용을 프로그램내의 임시 버퍼로 복사하는 단계;
    상기 스크린 버퍼 내용을 복사해온 임시 버퍼내에서 BIOS 메시지를 검색하는 단계; 및
    상기 BIOS 메시지를 검색한 결과를 원격지에 있는 시스템 관리자에게 보고하는 단계를 포함하는, 스크린 버퍼 검색을 통한 시스템 모니터링 방법.
  2. 제 1 항에 있어서, 상기 스크린 버퍼 내용을 임시 버퍼로 복사하는 단계를 수행하기 이전에 불필요한 스크린 속성 데이터를 모두 제거하는 단계를 더 포함하는, 스크린 버퍼 검색을 통한 시스템 모니터링 방법.
  3. 제 1 항에 있어서, 상기 BIOS 메시지를 검색하는 방법은 각 프로그래밍 언어의 표준 라이브러리에서 정의한 함수를 사용해서 펌웨어 내부에 저장된 BIOS 메시지들을 이용하여 검색하는, 스크린 버퍼 검색을 통한 시스템 모니터링 방법.
  4. 제 1 항에 있어서, 상기 BIOS 메시지를 검색한 결과를 보고하는 것은, 검색된 BIOS 메시지에 해당하는 코드를 또 다른 기억 장소에 보관하였다가 보고하는 것인, 스크린 버퍼 검색을 통한 시스템 모니터링 방법.
  5. 제 1 항 또는 제 4항에 있어서, 상기 보고시 전송되는 내용은 검색된 메시지 코드가 될 수도 있고, 상기 메시지 코드를 이용하여 각 코드에 대한 메시지를 직접 보낼 수도 있는, 스크린 버퍼 검색을 통한 시스템 모니터링 방법.
KR10-1998-0057381A 1998-12-22 1998-12-22 스크린 버퍼 검색을 통한 시스템 모니터링 방법 KR100506243B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-1998-0057381A KR100506243B1 (ko) 1998-12-22 1998-12-22 스크린 버퍼 검색을 통한 시스템 모니터링 방법
US09/468,099 US6629240B1 (en) 1998-12-22 1999-12-21 Method for monitoring system boot by searching a temporary buffer for BIOS message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1998-0057381A KR100506243B1 (ko) 1998-12-22 1998-12-22 스크린 버퍼 검색을 통한 시스템 모니터링 방법

Publications (2)

Publication Number Publication Date
KR20000041501A KR20000041501A (ko) 2000-07-15
KR100506243B1 true KR100506243B1 (ko) 2005-09-26

Family

ID=19564741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0057381A KR100506243B1 (ko) 1998-12-22 1998-12-22 스크린 버퍼 검색을 통한 시스템 모니터링 방법

Country Status (2)

Country Link
US (1) US6629240B1 (ko)
KR (1) KR100506243B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI307016B (en) * 2004-03-19 2009-03-01 Hon Hai Prec Ind Co Ltd System and method for observing booting bios information of remote computer
CN100405317C (zh) * 2004-03-27 2008-07-23 鸿富锦精密工业(深圳)有限公司 远程计算机开机时的图形界面监控系统及方法
CN100340995C (zh) * 2004-04-06 2007-10-03 凌阳科技股份有限公司 主机板上的自动错误检测语音装置
US7350111B2 (en) * 2004-08-03 2008-03-25 Inventec Corporation Method of providing a real time solution to error occurred when computer is turned on
TWI270782B (en) * 2004-11-05 2007-01-11 Via Tech Inc Rebooting card and its method for determining a timing of restarting a reset mechanism
KR101379762B1 (ko) * 2007-09-12 2014-03-31 삼성전자주식회사 디스플레이 장치 및 그의 이미지 표시방법
US9760424B2 (en) * 2008-01-31 2017-09-12 Thomson Licensing Dtv Systems and methods for dynamically reporting a boot process in content/service receivers
JP2010015475A (ja) * 2008-07-07 2010-01-21 Nec Personal Products Co Ltd 情報処理端末およびクライアントサーバシステム
US12117912B2 (en) * 2022-03-30 2024-10-15 Dell Products L.P. Enriched pre-extensible firmware interface initialization graphics

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980010778A (ko) * 1996-07-15 1998-04-30 김광호 시스템 모니터링방법
KR19980049372A (ko) * 1996-12-19 1998-09-15 양승택 서비스 제어 시스템의 가용성 유지를 위한 실시간 장애 감시방법
KR200239448Y1 (ko) * 1995-12-28 2001-11-22 구자홍 브이씨알을이용한전자우편시스템

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043919A (en) * 1988-12-19 1991-08-27 International Business Machines Corporation Method of and system for updating a display unit
JPH0362257A (ja) * 1989-07-31 1991-03-18 Toshiba Corp ネットワークモニタリングシステム
US5471617A (en) 1991-06-24 1995-11-28 Compaq Computer Corporation Computer management system and associated management information base
CA2071804A1 (en) 1991-06-24 1992-12-25 Ronald G. Ward Computer system manager
US5257384A (en) * 1991-09-09 1993-10-26 Compaq Computer Corporation Asynchronous protocol for computer system manager
JP3182806B2 (ja) * 1991-09-20 2001-07-03 株式会社日立製作所 バージョンアップ方法
US5367674A (en) * 1991-12-13 1994-11-22 International Business Machines Corporation Data stream optimizer utilizing difference coding between a current state buffer and a next state buffer
US5420965A (en) * 1992-06-05 1995-05-30 Software Projects, Inc. Single pass method of compressing data transmitted to command driven terminal
JPH0772999A (ja) * 1992-10-20 1995-03-17 Hewlett Packard Co <Hp> 画面対応ソフトウェアアプリケーションツールにおける表示画面事象をモニターする方法と装置
US5483633A (en) * 1993-06-29 1996-01-09 International Business Machines Corporation Method and apparatus for surfacing an object based upon forthcoming criteria
US5852720A (en) 1996-08-16 1998-12-22 Compaq Computer Corp. System for storing display data during first time period prior to failure of computer and during second time period after reset of the computer
US6476854B1 (en) * 1996-10-18 2002-11-05 Compaq Information Technologies Group, L.P. Video eavesdropping and reverse assembly to transmit video action to a remote console
US5996072A (en) * 1997-01-27 1999-11-30 Micron Electronics, Inc. Method for preserving and displaying text on a PC BIOS boot screen
US6357002B1 (en) * 1999-08-11 2002-03-12 Oracle Corporation Automated extraction of BIOS identification information for a computer system from any of a plurality of vendors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200239448Y1 (ko) * 1995-12-28 2001-11-22 구자홍 브이씨알을이용한전자우편시스템
KR980010778A (ko) * 1996-07-15 1998-04-30 김광호 시스템 모니터링방법
KR19980049372A (ko) * 1996-12-19 1998-09-15 양승택 서비스 제어 시스템의 가용성 유지를 위한 실시간 장애 감시방법

Also Published As

Publication number Publication date
US6629240B1 (en) 2003-09-30
KR20000041501A (ko) 2000-07-15

Similar Documents

Publication Publication Date Title
US6769077B2 (en) System and method for remotely creating a physical memory snapshot over a serial bus
US7185321B1 (en) Method and system for debugging through supervisory operating codes and self modifying codes
CA2143492A1 (en) Portable pcmcia interface for a host computer
KR900005302A (ko) 원격 부트(Remote Boot)
JPH05346900A (ja) データ処理システム及びデータ処理システムを動作させる方法
US20050144428A1 (en) System and method to seamlessly enable enhanced management and scripting of a computer system and its add-in devices
KR100506243B1 (ko) 스크린 버퍼 검색을 통한 시스템 모니터링 방법
CN112231005A (zh) 一种基于uboot管理fpga版本的方法
US7269534B2 (en) Method to reduce IPMB traffic and improve performance for accessing sensor data
CN113553081A (zh) 一种基于zynq芯片的fpga加载方法
US20240264914A1 (en) Method and device for recovering self-test exception of server component, system and medium
CN106951358A (zh) 一种基于uefi标准的计算机系统上电自检时的快速显示状态信息方法及系统
US6532536B1 (en) Method and apparatus for identifying a computer through bios scanning
RU2177636C2 (ru) Сбор данных об отказах как часть перезапуска компьютерного устройства
CN109933479B (zh) 故障模拟与仿真方法以及相关设备
CN111444119B (zh) 一种基于内核参数的飞腾平台非易失内存注册方法
CN108289047A (zh) 一种rmt测试方法及装置
US6718462B1 (en) Sending a CD boot block to a client computer to gather client information and send it to a server in order to create an instance for client computer
CN107506271A (zh) 一种测试方法及装置
CN116627472A (zh) 高速外围组件设备的固件程序升级方法及服务器
US6691195B1 (en) Compact diagnostic connector for a motherboard of data processing system
CN114741035A (zh) Linux系统适配龙芯整机的EDID数据的读取方法
JPH1165898A (ja) 電子計算機の保守方式
CN111694700A (zh) 一种监测dcpmm内存性能的方法、装置、终端及存储介质
CN114385379B (zh) 板载信息刷写检测方法、系统、终端及存储介质

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19981222

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20031201

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 19981222

Comment text: Patent Application

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20050629

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20050728

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20050729

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20080604

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20080604

Start annual number: 4

End annual number: 4

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee