KR100310307B1 - 내장형시스템의운영체제개발을위한쉘기능제공방법 - Google Patents
내장형시스템의운영체제개발을위한쉘기능제공방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution 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
본 발명은 운영체제를 개발해야 하는 내장형 시스템에서 운영체제 내 시스템을 제어하는 각 기능 블록을 개발함에 있어 그 개발 환경이 되는 쉘 기능의 제공 방법에 관한 것이다.
운영체제에서 쉘이란 시스템의 전원을 켜면 운영체제가 실행되어 사용자에게 보여지는 운영체제의 외적인 모습으로 사용자의 명령어를 입력 받아 이를 분석하여 처리하는 기능을 수행하는 것이다.
이러한 쉘 기능을 제공하는 종래의 기술은 우선 개발이 완료된 운영체제 상에서 운영체제의 많은 시스템 콜을 사용하여 사용자 모드의 프로그램으로 개발 및 동작을 시키는 방법을 사용한다.
그러나, 이러한 방법은 완전히 개발된 운영체제 상에서 일반 사용자의 편의를 위하여 제공되는 것이므로 새로이 운영체제 자체를 개발해야 하는 내장형 시스템에서 운영체제의 개발 과정에서는 사용할 수 없다는 문제점을 포함하고 있다. 또한, 쉘 명령어에 대한 추가가 불가능 하며 지정된 명령어들만을 사용해야 하는 제약이 있다.
따라서, 본 발명은 상기 문제점들을 해결하기 위해 안출된 것으로서, 운영체제의 쉘 기능을 운영체제 자체의 개발 과정에서 사용할 수 있도록 하기 위하여, 시리얼 입출력 장치를 기본 모드로 설정하여 제공하고, 쉘 프로그램을 수정하지 않고 사용자 프로그램을 수정하여 자유롭게 명령어 등록 및 취소가 가능하도록 함으로써, 시스템 개발 과정을 편리하고 빠르게 하여 시스템 개발의 효율을 높이고 시스템 개발의 비용을 절감시킬 수 있는 쉘 기능 제공방법을 제공하는데 그 목적이 있다.
도 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 단계;폴링 모드를 사용한 입출력 기능 프리미티브를 제공하는 제 2 단계;쉘 명령어 테이블을 빈 상태로 초기화하는 제 3 단계;명령어 등록 요구가 입력되면, 이를 명령어 테이블에 그 처리기를 등록하는 제 제 4 단계;명령어가 입력되면, 명령어 테이블에서 이를 검색하여 해당 처리기를 호출하여 실해시키는 제 5 단계; 및명령 취소 요구가 입력되면, 명령어 테이블에서 이를 제거하는 제 6 단계를 포함하여 이루어진 것을 특징으로 하는 내장형 시스템의 운영 체제를 위한 쉘 기능 제공 방법.
- 컴퓨터에,시리얼 입출력 장치를 폴링 모드로 초기화시키는 제 1 단계;폴링 모드를 사용한 입출력 기능 프리미티브를 제공하는 제 2 단계;쉘 명령어 테이블을 빈 상태로 초기화하는 제 3 단계;명령어 등록 요구가 입력되면, 이를 명령어 테이블에 그 처리기를 등록하는 제 4 단계;명령어가 입력되면, 명령어 테이블에서 이를 검색하여 해당 처리기를 호출하여 실행시키는 제 5 단계; 및명령 취소 요구가 입력되면, 명령어 테이블에서 이를 제거하는 제 6 단계를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169447B (zh) * | 2010-02-25 | 2013-03-27 | 中兴通讯股份有限公司 | 一种自定义外壳程序的注册、注销方法及相应的系统 |
-
1998
- 1998-11-26 KR KR1019980051084A patent/KR100310307B1/ko not_active IP Right Cessation
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 |