KR100576006B1 - 실시간오퍼레이팅시스템의효율적인온라인디버깅처리및그를위한프로세스스케쥴링방법 - Google Patents

실시간오퍼레이팅시스템의효율적인온라인디버깅처리및그를위한프로세스스케쥴링방법 Download PDF

Info

Publication number
KR100576006B1
KR100576006B1 KR1019970043831A KR19970043831A KR100576006B1 KR 100576006 B1 KR100576006 B1 KR 100576006B1 KR 1019970043831 A KR1019970043831 A KR 1019970043831A KR 19970043831 A KR19970043831 A KR 19970043831A KR 100576006 B1 KR100576006 B1 KR 100576006B1
Authority
KR
South Korea
Prior art keywords
operating system
real
time operating
present
command
Prior art date
Application number
KR1019970043831A
Other languages
English (en)
Other versions
KR19990020371A (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 KR1019970043831A priority Critical patent/KR100576006B1/ko
Publication of KR19990020371A publication Critical patent/KR19990020371A/ko
Application granted granted Critical
Publication of KR100576006B1 publication Critical patent/KR100576006B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display

Landscapes

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

Abstract

본 발명은 실시간 오퍼레이팅 시스템을 위한 온라인 디버거에 관한 것으로, 최소한의 시간으로 다른 시스템에 의한 방해없는 디버깅 처리 및 그를 위한 프로세스 스케쥴링 방법을 구현하기 위한 것이다. 이러한 본 발명은 최소한의 시간으로 다른 프로세스 모듈에 의해 방해없는 디버깅 처리를 위해 실시간 오퍼레이팅 시스템에서 임의의 프로세스가 준비되는 경우 그 준비되는 프로세스를 스케쥴링하고, 상기 시스템의 프로세스가 준비되지 않은 경우에 디버거로부터 수신되는 컴맨드를 수신하여 디버그 프로세스를 스케쥴링하는 방법을 제안한다. 또한 본 발명은 디버그 프로세스 처리시 소정 버퍼에 저장된 컴맨드와 일치하는 컴맨드가 수신되는 경우에만 해당하는 디버그 기능을 처리되도록 한다.

Description

실시간 오퍼레이팅 시스템의 효율적인 온라인 디버깅 처리 및 그를 위한 프로세스 스케쥴링 방법
본 발명은 실시간 오퍼레이팅 시스템을 위한 온라인 디버거에 관한 것으로, 특히 소용량의 메모리와 특화된 시스템 제어기능을 가진 네트워크 장치에 내장된 실시간 오퍼레이팅 시스템(Real Time Operating System)의 온라인 디버깅 처리 방법에 관한 것이다.
실시간 오퍼레이팅 시스템(Real Time Operating System)을 위한 온라인 디버거(on-line debugger)는 실시간 오퍼레이팅 시스템의 운용(running)중에 그 시스템의 소프트웨어를 디버깅할 수 있도록 사용되어 왔다. 이와 같이 실시간 오퍼레이팅 시스템이 운용중에 온라인 디버거가 사용되기 때문에 상기 온라인 디버거는 프로세서 시간을 아주 적게 점유하는 방식으로 사용되어야 한다. 또한 상기 온라인 디버거는 다른 시스템 소프트웨어 모듈들이 사용되지 않는 바로 그 시간에 프로세서를 사용하여야 한다.
상기 실시간 오퍼레이팅 시스템에서 프로세싱 시간은 매우 예민한 요소이기 때문에 온라인 디버거는 가능한 한 최소한의 시간을 사용하도록 제한된다. 또한 온라인 디버거는 다른 소프트웨어 모듈들이 프로세서를 사용하지 않는 경우에 이용되어져야 한다. 상기 소프트웨어는 여분의 필요조건을 만족하도록 부가되거나 변형되기 때문에, 온라인 디버거는 새로운 디버그 컴맨드를 용이하게 부가할 수 있도록 확장되어져야 한다.
따라서 본 발명의 목적은 실시간 오퍼레이팅 시스템에서 최소한의 시간으로 온라인 디버깅 동작이 수행가능하도록 하는 방법을 제공함에 있다.
본 발명의 다른 목적은 실시간 오퍼레이팅 시스템에서 다른 프로세스 모듈의 방해없는 온라인 디버깅 동작이 수행가능하도록 하는 방법을 제공함에 있다.
본 발명의 또다른 목적은 실시간 오퍼레이팅 시스템에서 새로운 디버그 컴맨드가 용이하게 부가될 수 있도록 하는 방법을 제공함에 있다.
이러한 목적들을 달성하기 위한 본 발명은 최소한의 시간으로 다른 프로세스 모듈에 의해 방해없는 디버깅 처리를 위해 실시간 오퍼레이팅 시스템에서 임의의 프로세스가 준비되는 경우 그 준비되는 프로세스를 스케쥴링하고, 상기 시스템의 프로세스가 준비되지 않은 경우에 디버거로부터 수신되는 컴맨드를 수신하여 디버그 프로세스를 스케쥴링하는 방법을 제안한다. 또한 본 발명은 디버그 프로세스 처리시 소정 버퍼에 저장된 컴맨드와 일치하는 컴맨드가 수신되는 경우에만 해당하는 디버그 기능을 처리되도록 한다.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로서 이는 사용자 또는 칩 설계자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
우선 본 발명은 최소한의 시간 내에서 실시간 오퍼레이팅 시스템의 프로세스에 의한 방해없는 온라인 디버깅 동작이 2가지 측면에서 수행되도록 한다. 첫 번째는 실시간 오퍼레이팅 시스템의 프로세스 스케쥴링 방법에 관한 것이고, 두 번째는 온라인 디버깅 동작에 관한 것이다.
먼저, 본 발명에 따른 실시간 오퍼레이팅 시스템의 프로세스 스케쥴링 방법을 도 1을 참조하여 설명한다.
온라인 디버거 소프트웨어의 소스는 인터럽트 모드에서 온라인 디버거 소프트웨어를 실행시킴에 의해 제로로 만들어질 수 있다. 그리고 이때 온라인 디버거로 명령어가 수신된다면, 상기 온라인 디버거 소프트웨어는 아무도 프로세서를 사용하지 않을 바로 그 때 프로세서 시간을 사용할 수 있다. 기본적으로 디버거는 선제의 실시간 오퍼레이팅 시스템 하에서 아주 적은 주기의 태스크(task)로서 만들어져야 한다.
도 1을 참조하면, 본 발명에 따른 실시간 오퍼레이팅 시스템은 오퍼레이팅 시스템의 임의의 프로세스가 준비된 상태에서는 그 준비된 프로세스를 스케쥴링하고(14단계), 준비되지 않은 상태에서는 온라인 디버거로부터 컴맨드가 수신되었는지를 판단(12단계)하여 수신된 경우에만 디버그 프로세스를 스케쥴링(13단계)하는 것을 특징으로 한다.
다음에, 본 발명에 따른 실시간 오퍼레이팅 시스템의 온라인 디버깅 처리동작을 도 2를 참조하여 설명한다. 이러한 동작을 위한 온라인 디버거는 다음과 같은 방법에 따라 소프트웨어를 구조화시킴으로써 구현될 수 있다.
a) 디버그 컴맨드를 특별한 디버그 컴맨드를 취급할 수 있는 기능 포인터에 따라 버퍼에 저장시킨다.
b) 컴맨드가 수신되었을 때 상기 온라인 디버거는 저장되어진 디버그 명령어에 대한 체크를 하고, 이때 해당하는 기능의 수행을 요구한다.
c) 컴맨드는 검색 알고리즘을 사용함에 의한 검색시간을 최소하기 위해 증가하는 차수로 저장되어진다.
위에서 언급한 바와 같은 구조에 따른 처리흐름을 보여주는 것이 도 2이다.
도 2를 참조하면, 본 발명에 따른 온라인 디버깅 처리동작은 소정 버퍼에 디버깅 처리를 위한 컴맨드를 미리 저장해 두고 컴맨드가 수신(21단계)될 시 이 수신된 컴맨드가 상기 버퍼에 저장된 컴맨드로부터 확인되는지를 판단(22단계)하여 확인되는 경우에 해당하는 디버그 기능을 처리(25단계)하는 것을 특징으로 한다. 상기 온라인 디버깅 처리동작은 수신된 컴맨드가 상기 버퍼에 저장된 모든 컴맨드로부터 확인되지 않는 경우(23단계)에는 알려지지 않은 컴맨드를 디스플레이하는 동작을 더 수행한다(24단계).
상술한 바와 같이 본 발명은 온라인 디버깅 프로세스의 동작을 도 1 및 도 2에 도시된 바와 같은 흐름에 따라 처리함으로써 최소한의 시간에서 다른 프로세스의 방해 없이 그 동작이 이루어지는 이점이 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명에 따른 실시간 오퍼레이팅 시스템의 스케쥴링 처리흐름을 보여주는 도면.
도 2는 본 발명에 따른 온라인 디버깅 처리흐름을 보여주는 도면.

Claims (1)

  1. 소용량의 메모리와 특화된 시스템 제어기능을 가진 네트워크 장치에 내장된 실시간 오퍼레이팅 시스템(RTOS)의 온라인 디버깅 처리 방법에 있어서,
    소정 버퍼에 디버깅 처리를 위한 컴맨드를 미리 저장해두는 과정과,
    컴맨드가 수신될 때, 상기 수신된 컴맨드가 상기 버퍼에 저장된 컴맨드와 일치하는지를 확인하는 과정과,
    상기 확인 결과, 일치할 경우 해당하는 디버그 기능을 처리하는 과정과,
    일치하지 않을 경우 알려지지 않은 컴맨드를 디스플레이하는 과정을 포함하는 것을 특징으로 하는 온라인 디버깅 처리 방법.
KR1019970043831A 1997-08-30 1997-08-30 실시간오퍼레이팅시스템의효율적인온라인디버깅처리및그를위한프로세스스케쥴링방법 KR100576006B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970043831A KR100576006B1 (ko) 1997-08-30 1997-08-30 실시간오퍼레이팅시스템의효율적인온라인디버깅처리및그를위한프로세스스케쥴링방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970043831A KR100576006B1 (ko) 1997-08-30 1997-08-30 실시간오퍼레이팅시스템의효율적인온라인디버깅처리및그를위한프로세스스케쥴링방법

Publications (2)

Publication Number Publication Date
KR19990020371A KR19990020371A (ko) 1999-03-25
KR100576006B1 true KR100576006B1 (ko) 2006-08-01

Family

ID=37184504

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970043831A KR100576006B1 (ko) 1997-08-30 1997-08-30 실시간오퍼레이팅시스템의효율적인온라인디버깅처리및그를위한프로세스스케쥴링방법

Country Status (1)

Country Link
KR (1) KR100576006B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0720093A1 (en) * 1994-12-28 1996-07-03 Kabushiki Kaisha Toshiba Microprocessor and debug system
EP0762279A1 (en) * 1995-08-30 1997-03-12 Motorola, Inc. Data processor with built-in emulation circuit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0720093A1 (en) * 1994-12-28 1996-07-03 Kabushiki Kaisha Toshiba Microprocessor and debug system
EP0762279A1 (en) * 1995-08-30 1997-03-12 Motorola, Inc. Data processor with built-in emulation circuit
KR970012152A (ko) * 1995-08-30 1997-03-29 빈센트 비. 인그라시아 디버그 기능을 수행하기 위한 데이타 처리 시스템 및 이의 방법

Also Published As

Publication number Publication date
KR19990020371A (ko) 1999-03-25

Similar Documents

Publication Publication Date Title
US5740413A (en) Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
US4924382A (en) Debugging microprocessor capable of switching between emulation and monitor without accessing stack area
KR970012152A (ko) 디버그 기능을 수행하기 위한 데이타 처리 시스템 및 이의 방법
KR860007589A (ko) 데이터 처리장치
US5737521A (en) Tracer system for analyzing errors in running real-time systems
US5544307A (en) Microcomputer development support system operable with only background monitor and without cache replacement
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
US6820153B2 (en) Interrupt processing and memory management method in an operation processing device and a device using the same
KR100576006B1 (ko) 실시간오퍼레이팅시스템의효율적인온라인디버깅처리및그를위한프로세스스케쥴링방법
CN100492299C (zh) 一种嵌入式软件开发的方法及系统
KR100303307B1 (ko) 실시간 오퍼레이팅 시스템에서 디버깅동작을 위한 다운로드장치 및 방법
JP2002535749A (ja) 複数の命令ソースからの命令を実行するプロセッサおよび方法
JPH0659908A (ja) プログラム実行装置
JPH04268928A (ja) エミュレーション装置及び半導体装置
KR100538282B1 (ko) 체크 포인트를 이용한 실시간 병렬 프로그램 디버깅 방법
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JP2000076095A (ja) プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体
JPH02189658A (ja) キャッシュメモリ
JPH0259829A (ja) マイクロコンピュータ
JPH08320813A (ja) プログラムシミュレータ装置及びプログラムデバッグ方法
JPH11110250A (ja) ソフトウェア実行モード切替方法
JPH05165672A (ja) プロセッサ
JPS638841A (ja) 割込み受取り装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment
FPAY Annual fee payment
LAPS Lapse due to unpaid annual fee