KR100310307B1 - 내장형시스템의운영체제개발을위한쉘기능제공방법 - Google Patents

내장형시스템의운영체제개발을위한쉘기능제공방법 Download PDF

Info

Publication number
KR100310307B1
KR100310307B1 KR1019980051084A KR19980051084A KR100310307B1 KR 100310307 B1 KR100310307 B1 KR 100310307B1 KR 1019980051084 A KR1019980051084 A KR 1019980051084A KR 19980051084 A KR19980051084 A KR 19980051084A KR 100310307 B1 KR100310307 B1 KR 100310307B1
Authority
KR
South Korea
Prior art keywords
command
input
operating system
initializing
instruction
Prior art date
Application number
KR1019980051084A
Other languages
English (en)
Other versions
KR20000033989A (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 KR1019980051084A priority Critical patent/KR100310307B1/ko
Publication of KR20000033989A publication Critical patent/KR20000033989A/ko
Application granted granted Critical
Publication of KR100310307B1 publication Critical patent/KR100310307B1/ko

Links

Classifications

    • 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/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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/448Execution paradigms, e.g. implementations of programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

새로운 운영체제의 개발이 요구되는 내장형 시스템을 위한 편리하고 효율적인 쉘 기능 제공 방법이 개시된다. 본 발명은 시리얼 입출력 장치를 원시 모드로 초기화하는 제 1 단계, 명령어 테이블을 빈 상태로 초기화하는 제 2 단계, 명령어 등록 요구가 입력되면 이를 명령어 테이블에 그 처리기를 등록하는 제 3 단계, 명령어가 입력되면 명령어 테이블에서 이를 검색하여 해당 처리기를 호출하여 실행시키는 제 4 단계, 이후 명령 취소 요구가 입력되면 명령어 테이블에서 이를 제거하는 제 5 단계를 포함한다. 본 발명에 의하면, 운영체제 개발자들에게 명령어를 사용하여 자신의 기능을 검증할 수 있도록 하며, 명령어를 등록 및 해제할 수 있도록 하여 개발의 편의성을 높일 수 있는 쉘 기능을 제공한다.

Description

내장형 시스템의 운영체제 개발을 위한 쉘 기능 제공 방법 (Shell facility support method for operating system development of embedded systems)
본 발명은 운영체제를 개발해야 하는 내장형 시스템에서 운영체제 내 시스템을 제어하는 각 기능 블록을 개발함에 있어 그 개발 환경이 되는 쉘 기능의 제공 방법에 관한 것이다.
운영체제에서 쉘이란 시스템의 전원을 켜면 운영체제가 실행되어 사용자에게 보여지는 운영체제의 외적인 모습으로 사용자의 명령어를 입력 받아 이를 분석하여 처리하는 기능을 수행하는 것이다.
이러한 쉘 기능을 제공하는 종래의 기술은 우선 개발이 완료된 운영체제 상에서 운영체제의 많은 시스템 콜을 사용하여 사용자 모드의 프로그램으로 개발 및 동작을 시키는 방법을 사용한다.
그러나, 이러한 방법은 완전히 개발된 운영체제 상에서 일반 사용자의 편의를 위하여 제공되는 것이므로 새로이 운영체제 자체를 개발해야 하는 내장형 시스템에서 운영체제의 개발 과정에서는 사용할 수 없다는 문제점을 포함하고 있다. 또한, 쉘 명령어에 대한 추가가 불가능 하며 지정된 명령어들만을 사용해야 하는 제약이 있다.
따라서, 본 발명은 상기 문제점들을 해결하기 위해 안출된 것으로서, 운영체제의 쉘 기능을 운영체제 자체의 개발 과정에서 사용할 수 있도록 하기 위하여, 시리얼 입출력 장치를 기본 모드로 설정하여 제공하고, 쉘 프로그램을 수정하지 않고 사용자 프로그램을 수정하여 자유롭게 명령어 등록 및 취소가 가능하도록 함으로써, 시스템 개발 과정을 편리하고 빠르게 하여 시스템 개발의 효율을 높이고 시스템 개발의 비용을 절감시킬 수 있는 쉘 기능 제공방법을 제공하는데 그 목적이 있다.
도 1은 본 발명이 적용되는 하드웨어 시스템의 구성도,
도 2는 본 발명의 소프트웨어 구조를 설명하기 위한 블록도,
도 3은 본 발명에 따른 쉘 기능 제공방법의 흐름도이다.
상기 목적을 달성하기 위한 본 발명은, 시리얼 입출력 장치를 원시 모드로 초기화하는 제 1 단계, 명령어 테이블을 빈 상태로 초기화하는 제 2 단계, 명령어 등록 요구가 입력되면 이를 명령어 테이블에 그 처리기를 등록하는 제 3 단계, 명령어가 입력되면 명령어 테이블에서 이를 검색하여 해당 처리기를 호출하여 실행시키는 제 4 단계, 이후 명령 취소 요구가 입력되면 명령어 테이블에서 이를 제거하는 제 5 단계를 포함하여 이루어진 것을 특징으로 한다.
바람직하게, 상기 제 1 단계는, 원시 모드 입출력 기능부에서 시리얼 입출력 장치를 폴링 모드로 초기화하는 제 1 부단계와, 폴링 모드를 사용한 입출력 기능 프리미티브를 제공하는 제 2 부단계를 포함하여 이루어진 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시 예를 상세히 설명한다.
도 1은 본 발명이 적용되는 하드웨어 시스템의 구성도이다. 도 1을 참조하면,
내장형 시스템은 프로그램을 개발하는 시스템과 개발된 프로그램을 실행시키는 시스템이 서로 다르다. 전자를 호스트 시스템(1)이라 하고 후자를 타겟 시스템(2)이라 한다.
상기 호스트 시스템(1)에서 개발한 프로그램을 타겟 시스템(2)에서 실행시키기 위해서는 서로 물리적인 연결을 필요로 하며, 이를 위하여 세가지 방법을 사용할 수 있는데, 시리얼 포트(3)와 병렬 포트(4) 혹은 이더넷(5)으로 연결하는 것이다.
운영체제가 개발되기 전에는 상기 타겟 시스템(2)은 하드웨어만 있으므로 프로그램을 로딩하기 위해서는 타겟에 모니터 롬(21)이 실장 되어 있거나 디버깅 포트(22)를 통하여 디버깅 장비(6)와 연결되어 있어야 한다.
한편, 상기 호스트 시스템(1)은 PC 혹은 워크스테이션이 될 수 있으며 호스트 운영체제에서 제공되는 프로그램 작성 도구(11)를 통하여 프로그램을 개발한다. 타겟과의 연결을 위해서는 상기의 세가지 방법에 따른 연결 창(12)으로 타겟의 상태를 볼 수 있다. 또한, 세가지 방법으로 연결하기 위한 창구로서 시리얼 포트(13), 병렬 포트(14), 이더넷 포트(15)가 구비되어 있다.
상기 타겟 시스템(2)은 중앙처리장치(23), 주기억장치(24)를 구비하고 시리얼 및 병렬 입출력을 위한 장치(25)와 각각의 포트(26, 27)와 다른 특수 장치들(28)과 이더넷 접속을 위해서 이더넷 포트(29)를 구비하고 있다.
본 발명은 호스트 시스템(1)에서 개발되어 호스트와 타겟의 연결 매체(3,4,5)를 통하고 모니터 롬(21) 혹은 디버깅 장비(6)와 디버깅 포트(22)를 이용하여 타겟 시스템(2)의 주 기억장치(24)에 로딩되어 실행되는 소프트웨어로서, 역시 호스트 시스템(1)에서 개발되어 타겟 시스템(2)의 주기억 장치(24)에 로딩되어 실행되는 소프트웨어인 운영체제의 수행 시 필요한 개발 과정을 편리하고 효율적으로 운용하기 위한 쉘 기능을 제공한다.
도 2는 본 발명에 따른 내장형 시스템의 운영체제 개발을 위한 쉘 기능 제공을 위한 소프트웨어 구조도이다.
도 2를 참조하면, 본 발명에 따른 쉘 기능 제공을 위한 소프트웨어의 구조는, 시리얼 입출력 장치를 폴링 모드로 초기화하는 원시 모드 입출력 기능부(71), 쉘 명령어를 위한 데이터 구조인 명령어 테이블(72), 명령어 테이블을 빈 상태로 만드는 초기화 기능부(73), 새로운 명령어를 테이블에 등록하는 명령어 등록부(74), 등록된 명령어를 취소하는 명령어 취소부(75), 및 입력된 명령어를 실행하는 명령어 실행부(76)로 구성된다.
도 3은 본 발명에 따른 내장형 시스템의 운영체제 개발을 위한 쉘 기능 제공 과정을 도시한 흐름도이다.
도 3을 참조하면, S1에서는 원시 모드 입출력 기능부(71)를 통하여 시스템의 기본 장치로 부착되어 있는 시리얼 입출력 장치를 간단하게 제어 할 수 있는 폴링 모드로 초기화 하고, S2에서 폴링 모드를 사용한 입출력 프리미티브를 제공한다.
S3에서는 쉘에서 실행하는 명령어들을 관리하기 위한 데이터 구조로서 명령어 테이블을 모두 빈 상태로 초기화한다.
상기 S3 단계 이후, S4에서는 쉘 명령어 입력 대기 상태로 간다.
상기 S5 이후에는 세가지 동작이 있을 수 있는데, 우선 S6에서는 명령어 등록요구를 입력 받으면, S7에서 명령어 등록부(73)를 통하여 명령어 테이블(71)에 이를 등록한다.
S8에서 명령어 실행 요구를 입력 받으면, S9에서 명령어 실행부(75)를 통하여 명령어 처리기를 동작시킨다.
마지막으로, S10에서 명령어 취소 요구를 입력 받으면, S11에서는 명령어 취소부(74)를 통하여 요구된 명령어를 명령어 테이블(71)에서 삭제한다.
상기 S7, S9, 및 S11 단계 이후에는, 다시 S4 단계로 가서 명령어 대기 상태로 간다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자이면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
이상 설명한 바와 같이 본 발명에 따르면, 운영체제의 개발이 요구되는 내장형 시스템을 위하여, 운영체제 자체의 개발에 본 발명의 쉘 기능을 사용하여 자신의 명령어를 수행할 수 있어 복잡하고 난이도가 높은 시스템 프로그램인 운영체제의 개발 기간을 단축하여 시스템 개발 비용을 절감하는 효과가 있다.

Claims (2)

  1. 내장형 시스템의 운영체제를 위한 쉘 기능 제공 방법에 있어서,
    시리얼 입출력 장치를 원시 모드로 초기화하는 제 1 단계;
    폴링 모드를 사용한 입출력 기능 프리미티브를 제공하는 제 2 단계;
    쉘 명령어 테이블을 빈 상태로 초기화하는 제 3 단계;
    명령어 등록 요구가 입력되면, 이를 명령어 테이블에 그 처리기를 등록하는 제 제 4 단계;
    명령어가 입력되면, 명령어 테이블에서 이를 검색하여 해당 처리기를 호출하여 실해시키는 제 5 단계; 및
    명령 취소 요구가 입력되면, 명령어 테이블에서 이를 제거하는 제 6 단계를 포함하여 이루어진 것을 특징으로 하는 내장형 시스템의 운영 체제를 위한 쉘 기능 제공 방법.
  2. 컴퓨터에,
    시리얼 입출력 장치를 폴링 모드로 초기화시키는 제 1 단계;
    폴링 모드를 사용한 입출력 기능 프리미티브를 제공하는 제 2 단계;
    쉘 명령어 테이블을 빈 상태로 초기화하는 제 3 단계;
    명령어 등록 요구가 입력되면, 이를 명령어 테이블에 그 처리기를 등록하는 제 4 단계;
    명령어가 입력되면, 명령어 테이블에서 이를 검색하여 해당 처리기를 호출하여 실행시키는 제 5 단계; 및
    명령 취소 요구가 입력되면, 명령어 테이블에서 이를 제거하는 제 6 단계를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019980051084A 1998-11-26 1998-11-26 내장형시스템의운영체제개발을위한쉘기능제공방법 KR100310307B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980051084A KR100310307B1 (ko) 1998-11-26 1998-11-26 내장형시스템의운영체제개발을위한쉘기능제공방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980051084A KR100310307B1 (ko) 1998-11-26 1998-11-26 내장형시스템의운영체제개발을위한쉘기능제공방법

Publications (2)

Publication Number Publication Date
KR20000033989A KR20000033989A (ko) 2000-06-15
KR100310307B1 true KR100310307B1 (ko) 2001-12-17

Family

ID=19559937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980051084A KR100310307B1 (ko) 1998-11-26 1998-11-26 내장형시스템의운영체제개발을위한쉘기능제공방법

Country Status (1)

Country Link
KR (1) KR100310307B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169447B (zh) * 2010-02-25 2013-03-27 中兴通讯股份有限公司 一种自定义外壳程序的注册、注销方法及相应的系统

Also Published As

Publication number Publication date
KR20000033989A (ko) 2000-06-15

Similar Documents

Publication Publication Date Title
US5991822A (en) System for modifying functions of static device driver using a registered driver extension extended dynamically by providing an entry point for the driver extension
US5768567A (en) Optimizing hardware and software co-simulator
US5771370A (en) Method and apparatus for optimizing hardware and software co-simulation
US6272618B1 (en) System and method for handling interrupts in a multi-processor computer
CA2082118C (en) Computer, and apparatus and method for system reconfiguration thereof
CN100426238C (zh) Vex-虚拟扩展框架
US8631414B2 (en) Distributed resource management in a portable computing device
US6128745A (en) Power management inactivity monitoring using software threads
KR20030036736A (ko) 내장형 오퍼레이팅 시스템을 가진 디바이스를 위한 기능및 사용자 인터페이스를 형성하기 위한 방법 및 장치
JPS6055467A (ja) マルチ・マイクロプロセツサによつて実現されたメインフレ−ム・エミユレ−シヨン用デ−タ処理システム
JPH0754471B2 (ja) デ−タ処理装置
JP4157771B2 (ja) 組込み制御環境におけるリモート入出力機能への効率的なアクセスのための方法およびシステム
US7865883B1 (en) Parallel and asynchronous debugger and debugging method for multi-threaded programs
US7484083B1 (en) Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment
JP4785142B2 (ja) データ処理装置
US7536694B2 (en) Exception handling in a multiprocessor system
JP2001290665A (ja) プロセッサシステム
KR100310307B1 (ko) 내장형시스템의운영체제개발을위한쉘기능제공방법
US6684262B1 (en) Method and system for controlling peripheral device interface behavior using thread registration
US7043565B1 (en) System and method for transferring data over an external transmission medium
JP5997868B2 (ja) デバイスプロキシ装置及びその制御方法
JPH10111849A (ja) データ処理装置及びその周辺機器
JPS62120542A (ja) 情報処理装置
JP2751088B2 (ja) 印字装置
Matia Kernel Corner Writing a Linux Driver

Legal Events

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

Payment date: 20040831

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee