KR100482316B1 - 운영체제상에서의콘솔서버방법및장치 - Google Patents

운영체제상에서의콘솔서버방법및장치 Download PDF

Info

Publication number
KR100482316B1
KR100482316B1 KR1019970079723A KR19970079723A KR100482316B1 KR 100482316 B1 KR100482316 B1 KR 100482316B1 KR 1019970079723 A KR1019970079723 A KR 1019970079723A KR 19970079723 A KR19970079723 A KR 19970079723A KR 100482316 B1 KR100482316 B1 KR 100482316B1
Authority
KR
South Korea
Prior art keywords
service
console
application program
application
console server
Prior art date
Application number
KR1019970079723A
Other languages
English (en)
Other versions
KR19990059515A (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 KR1019970079723A priority Critical patent/KR100482316B1/ko
Publication of KR19990059515A publication Critical patent/KR19990059515A/ko
Application granted granted Critical
Publication of KR100482316B1 publication Critical patent/KR100482316B1/ko

Links

Images

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 메시지 전달 메카니즘을 기반으로 하는 최소화된 운영체제 커널 상에서의 콘솔 서버를 제공하도록 한 운영체제 상에서의 콘솔 서버 방법 및 장치에 관한 것이다.
본 발명은 수신 포트를 식별하고 콘솔을 초기화하여 임의의 응용 프로그램이 포트를 통해 메시지를 수신함에 따라 수신된 메시지에 명시된 서비스의 종류에 따라 해당 작업을 수행한다.
본 발명의 운영체제 상에서의 콘솔 서버 방법 및 장치는 메시지 교환을 기반으로 하는 최소화된 운영체제 커널 상에서 콘솔 서비스를 제공하여 단순한 구조로 시스템이 구현됨은 물론 적어도 하나 이상의 응용 프로그램이 콘솔 서비스를 이용할 때 일관성을 유지할 수 있다.

Description

운영체제 상에서의 콘솔 서버 방법 및 장치{Console Server Method On Operating System And Apparatus Thereof}
본 발명은 시스템 운영체제에 관한 것으로, 특히 메시지 전달 메카니즘을 기반으로 하는 최소화된 운영체제 커널 상에서의 콘솔서버를 제공하도록 한 운영체제 상에서의 콘솔 서버 방법 및 장치에 관한 것이다.
통상, 일반적으로 많이 이용되고 있는 상용화된 운영체제 커널의 기능을 보면 기본적으로 필요한 메모리 관리, 태스크 관리, 파일 관리, 네트웍 관리 등 모든 시스템 서비스 영역을 담당하고 있다. 이처럼 모든 시스템 서비스 기능을 커널 영역 안에서 관리함으로써 전체적인 구조가 매우 복잡할 뿐만 아니라 커널 기능을 추가, 확장, 유지 보수하는데 많은 시간과 노력이 필요하게 된다. 이와 같은 기존 커널의 문제점을 극복하고자 제시된 커널은 기능면에서 볼 때, 기본적으로 커널영역에 포함되어야하는 태스크 관리와 태스크간의 통신 등의 기능만을 갖고 기존 커널 내에서 서비스되던 대부분의 다른 기능들은 일반 사용자 수준의 태스크(서버)가 제공하는 구조를 갖는 최소화된 운영체제 커널로 이루어진다. 이 최소화된 운영체제 커널은 매우 간단한 구조를 갖게 됨과 아울러 기존 커널에서 제공하던 시스템 서비스들을 일반 태스크와 동일한 수준의 여러 서버를 통해 제공하도록 설계되어 있기 때문에 모듈화가 잘 구성되어 있고 변화되는 주변환경의 조건에 유연하게 대처할 수 있는 장점을 갖게 된다. 이러한 최소화된 커널에서 일반적인 시스템 서비스가 처리되는 과정은 다음과 같다. 먼저 클라이언트(Client)가 필요한 서비스 요청을 커널에서 제공하는 통신 프리미티브(primitives)인 센드(send)를 이용하여 적절한 메시지에 실어서 서버에게 전달한다. 커널은 메시지를 서버와 연관된 포트에 전달한다. 서버는 자신의 메시지 포트에 처리할 메시지가 도착할 때까지 기다리다가 메시지를 전달받으면 메시지의 내용에 따른 시스템 서비스를 제공하고 서비스 처리 결과를 리플라이(Reply)를 통해서 클라이언트에게 보내어 처리를 끝낸다.
메시지 전달을 기본으로 한 최소화된 운영체제 커널은 포트를 메시지 전달의 장소로 이용한다. 특히, 포트는 서버와 연관되는 구조로 포트를 이용한 커널의 메시지 전달 서비스는 크게 센드(Send), 리시브(Receive) 및 리플라이(Reply)의 세가지 프리미티브(Primitive)를 제공하게 된다. 클라이언트가 원하는 시스템 서비스를 요구하면 라이브러리 함수는 이를 메시지화하고 커널 서비스인 센드를 호출하여 서버의 포트에 메시지를 전달하게 된다. 클라이언트는 서버로부터 시스템 서비스 처리가 완료되었음을 알리는 리플라이 메시지를 받아야만 비로소 다음 처리를 계속할 수 있게 된다. 서버는 포트에 서비스 요청을 포함하는 메시지가 도착하는 것을 기다리다가 메시지가 도착하면 깨어나 클라이언트로부터 요구된 시스템 서비스를 처리하고 클라이언트의 재개를 허락하는 리플라이 메시지를 보낸후, 다음 메시지 처리를 계속한다. 위와 같은 처리는 기존의 응용 프로그램(Client)과 커널(Server)의 두 단계 구조를 응용 프로그램(Client), 최소화된 커널 및 시스템 서버의 구조로 나누어 기존의 커널이 담당했던 여러 관리를 시스템 서버들로 나눔으로써 기존 커널의 시스템 서비스들을 기능에 맞게 분리, 관리하여 변화하는 환경에 맞게 새로운 시스템 서비스를 서버의 형태로 추가하거나 불필요한 서비스들을 삭제하는 등의 처리를 탄력적으로 처리할 수 있어 시스템 서비스의 확장, 유지, 보수에 드는 노력을 줄일 수 있는 장점이 있다.
따라서, 본 발명의 목적은 메시지 교환을 기반으로 하는 최소화된 운영체제 커널 상에서 콘솔 서비스를 제공하여 단순한 구조로 시스템이 구현됨은 물론 적어도 하나 이상의 응용 프로그램이 콘솔 서비스를 이용할 때 일관성을 유지하도록 한 운영체제 상에서의 콘솔 서버 방법 및 서버장치를 제공하는데 있다.
상기 목적을 달성하기 위하여, 본 발명의 운영체제 상에서의 콘솔 서버 방법은 수신 포트를 식별하고 콘솔을 초기화하는 제1 단계와, 임의의 응용 프로그램으로부터 상기 포트를 통해 메시지를 수신하는 제2 단계와, 수신된 메시지에 명시된 서비스의 종류에 따라 해당 작업을 수행하는 제3 단계를 포함한다.
본 발명의 운영체제 상에서의 콘솔 서버 장치는 메시지 전달을 기반으로 하는 최소화된 운영체제 커널과, 적어도 하나 이상의 응용 프로그램이 포트로 공유하고 최소화된 운영체제 커널과 접속되어 콘솔과 관련된 모든 처리를 수행하는 콘솔 서버를 구비한다.
상기 목적 외에 본 발명의 다른 목적 및 잇점들은 첨부한 도면을 참조한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.
이하, 본 발명의 실시예들을 첨부한 도 1 내지 도 7을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 운영체제 상에서의 콘솔 서버 방법의 처리 수순을 단계적으로 나타내는 흐름도를 나타낸다.
본 발명에서는 콘솔 서버(Console Server)를 커널 서비스들을 이용하여 구성된 하나의 서버로서 여러 응용 프로그램들이 입력과 출력장치로 사용하는 콘솔(키보드, 스크린)을 관리하게 된다.
이를 본 발명의 바람직한 실시예를 통해 단계적으로 설명하면, 클라이언트가 콘솔 서비스를 요구하게 되어 콘솔 서버가 구동되면, 키보드 버퍼 초기화등 내부적인 자료구조를 초기화한 후, 콘솔 서버는 메시지를 수신할 포트를 식별하고(제2 및 제4 단계) 그 포트로 전송될 메시지를 수신하게 된다. 포트에 새로운 메시지가 도착하면(제6 단계) 콘솔 서버는 수신된 메시지에 명시된 시스템 서비스의 종류에 따라 적절한 작업을 수행하게 된다.(제8 내지 제26 단계) 응용 프로그램이 적절하지 않은 서비스를 요청하는 경우, 콘솔 서버는 오류처리 함수를 호출하여 실행시키고(제28 단계) 제6 단계를 재수행하여 포트로부터 메시지 수신을 대기하게 된다.
이를 단계적으로 설명하면, 응용 프로그램이 시스템 서비스 라이브러리에 정의된 "getchar( )" 등의 키보드로부터 문자를 전송 받고자하는 함수를 호출하면(제8 단계 및 제10 단계) 라이브러리는 필요한 파라미터 정보를 메시지에 실어 콘솔 포트에 전송한다. 제10 단계의 상세 수순을 흐름도로 도시한 도 2를 참조하면, 이 메시지를 받은 콘솔 서버는 키보드 버퍼에 미리 눌려진(키 입력이 수행된) 문자들이 있는지를 확인하고(제30 단계) 키보드 버퍼에 입력된 문자가 없다면 키 인터럽트를 대기하여 입력되는 문자를 수신하게 된다.(제32 단계) 키 인터럽트가 발생하여 키보드 버퍼에 문자가 기록되면 응용 프로그램이 요청한 개 수 만큼의 문자를 읽어 지정된 주소에 복사하게 된다.(제34 단계) 그리고 서비스를 요청한 실시간 응용 프로그램에게 메시지를 전송하게 된다.(제36 단계)
도 1에서, 수신된 메시지에 명시된 시스템 서비스의 종류가 응용 프로그램이 커서 위치 지정이나 문자 색깔 지정 또는 출력시키고자하는 문자열을 스크린에 메시지로 보냈을 때, 그에 따른 스크린 기록 요청 처리함수를 호출하게 되면(제12 단계 및 제14 단계) 도 3의 흐름도에 따른 수순을 밟게 된다. 먼저, 이 메시지를 받은 콘솔 서버는 요청된 커서 좌표와 색깔이 "지정된 쓰기인가?"를 판별하게 된다.(제38 단계) 여기서, 지정된 쓰기로 판단되면 커서 지정 함수 또는 색깔지정 함수를 호출하게 된다.(제40 단계) 제38 단계에서 지정된 쓰기가 아닌 경우 또는 제40 단계를 수행하고 메시지에 포함된 문자열을 현재의 커서 위치와 색깔로 스크린에 쓰게 된다.(제42 단계) 콘솔서버는 서비스를 요청한 응용 프로그램에게 서비스가 완료되었음을 알리는 리플라이(Reply) 메시지를 전송하게 된다.(제44 단계)
도 4는 도 1에서 응용 프로그램이 티티와이(tty) 구조의 값을 읽거나 원하는 값으로 설정하기 위한 메시지를 콘솔 서버에 보내는 경우, 그에 따른 tty 입출력 제어요청 처리 함수를 호출(제16 단계 및 제18 단계)하여 실행시키는 수순을 나타낸다. 먼저 콘솔 서버는 자신이 처리하는 알고리즘으로 메시지의 내용을 보고, 읽기나 쓰기 처리로 분기한다. 읽기로 분기하는 경우, 응용 프로그램이 요청한 서비스가 tty 구조를 읽기 위한 요청인가를 판별하고(제46 단계) 응용 프로그램이 tty 구조를 읽기 원한다면 현재의 tty 상태를 메시지가 지정한 주소로 복사하고(제48 단계) 그렇지 않은 경우 메시지가 지정한 주소의 tty 값을 현재의 tty 값에 복사하여(제50 단계) 현재 설정되어 있는 tty 구조체의 값을 메시지의 형식에 맞게 서비스를 요청한 응용 프로그램에 전송하게 된다.(제52 단계)
도 5는 도 1에서 응용 프로그램이 콘솔 서버에게 커서에 관한 처리를 요청했을 때, 커서 제어요청 처리함수를 호출하여(제20 및 제22 단계) 이를 처리하는 수순을 나타낸다. 응용프로그램이 커서에 관한 읽기와 관계된 요청을 콘솔 서버에 요청하게 되면(제54 단계) 처리하는 대상에 따라 커서의 (x,y) 좌표 값, 문자의 속성 값, 문자의 색깔, 문자의 배경 색깔로 나누어 연산의 종류에 따라 커서 관련 값을 설정하거나(제56 내지 제70 단계) 현재의 값을 읽는 분류(제72 내지 제86 단계)로 수행된다. 제56 내지 제 86 단계의 수행을 마치고 콘솔 서버는 오류처리 함수를 호출하여 실행시킨 후,(제88 단계) 커서 관련 값의 설정 결과를 응용 프로그램에 전송하고(제90 단계) 또한, 커서 관련 값을 읽고 그 내용을 응용 프로그램에 전송하게 된다.
도 4와 도 5는 동일한 수순을 갖게 되지만, 도 4에서 처리하는 대상은 tty 구조이고 도 5에서 처리하는 대상은 커서라는 차이점이 있다.
도 6은 도 1에서 응용 프로그램이 콘솔 서버에게 스크린과 함께 다루는 키보드 관련 인터럽트 처리를 요청하여(제24 단계) 그와 관련된 서브함수(키보드 인터럽트 요청 처리함수)를 호출하여 실행시키는(제26 단계) 알고리즘의 처리수순을 단계적으로 나타내는 흐름도를 도시한 것이다.
키보드로부터 입력을 받은 키 값이 만약 특수한 처리를 해야 하는 경우라면(제92 단계) 각각의 서브루틴을 호출한다. 입력된 키가 기능키라면(제94 단계) 기능키 처리 함수를 호출하여 실행시킨다.(제96 단계) 제92 단계에서 일반 응용 프로그램이 입력받기를 기다리는 문자인 경우이고 키 값을 요구한 응용 프로그램이 존재하면 키보드 인터럽트 즉시 받은 키 값을 ASCII 값으로 변환시켜 기다리고 있던 응용 프로그램에게 전송한다.(제100 단계) 만약, 키보드가 눌린 시점에 이 것을 기다리면서 잠든 응용 프로그램이 없을 경우는 키보드 버퍼에 삽입하는 서브 함수를 호출하여 키 값을 콘솔 서버가 유지하는 키보드 버퍼에 잠시 보관하였다가 필요한 요구가 들어오게 되면 키보드 버퍼에서 읽어 내어 응용 프로그램에 전송하게 된다.(제102 단계)
콘솔 서버 처리는 크게 두 가지로 분류할 수 있다. 그 하나는 각각의 서비스 요청을 하나씩 처리하는 방법이고 다른 하나는 위에서 열거한 여러 서비스를 하나의 메시지에 묶어 모두를 한 번의 요청으로 처리하는 방법이다. 이렇게 하면, 트랜잭션(Transaction)처럼 여러 서비스가 마치 하나의 서비스인 것처럼 처리되어 콘솔 서비스들을 잠금장치로 묶어 처리할 수 있게 된다.
도 7은 본 발명의 실시예에 따른 운영체제 상에서의 콘솔 서버장치에서 콘솔에 관계된 서비스를 하나의 서비스인 것처럼 처리하는 트랜잭션을 콘솔서버에 보내고 이를 처리하는 과정을 개략적으로 나타내는 도면을 도시한 것이다.
본 발명에 따른 운영체제 상에서의 콘솔 서버장치는 메시지 전달을 기반으로 하는 최소화된 운영체제 커널(104)과, 적어도 하나 이상의 응용 프로그램이 포트로 공유하고 최소화된 운영체제 커널(104)과 접속되어 콘솔과 관련된 모든 처리를 수행하는 콘솔 서버(108)로 이루어진다.
콘솔 서버(108)는 기존의 커널 내부에서 처리하던 콘솔 처리만을 일괄적으로 처리할 수 있도록 서버의 구조를 갖게 된다. 동작을 살펴보게 되면, 응용 프로그램(106) 중 "A"라는 응용 프로그램이 시스템 서비스 라이브러리 내에 정의된 문자열 출력함수 "display_string()"의 서브루틴을 호출하게 되면 서비스 라이브러리(110)는 해당 버퍼에 저장된 좌표 값, 문자의 색깔 및 출력되는 문자열 등의 메시지를 통신 프리미티브인 "Send()"를 호출하여 최소화된 운영체제 커널(104)의 해당 포트에 전송하게 된다. 그러면 콘솔 서버(108)는 "Receive()"를 호출하여 해당 포트로부터 메시지를 수신하여 메시지에 포함된 서비스의 종류에 따라 서브함수를 호출하여 실행시키고 해당 서비스가 완료되면 "A"라는 응용 프로그램에 "Reply()"함수를 호출하여 서비스 종료의 메시지를 전송하게 된다. 이 때, 최소화된 운영체제 커널(104)은 커서의 좌표 값을 지정하는 서비스와 문자의 색깔 및 스크린에 출력되는 문자열을 지정하는 서비스를 하나의 서비스인 것처럼 처리하는 트랜잭션을 콘솔 서버(104)에 보내게 된다. 이처럼 서버가 갖고 있는 서비스 처리를 독점하는 성질을 이용하면 응용 프로그램 수준에서 콘솔 서비스 중에 트랜잭션으로 묶어 처리할 필요가 있는 서비스들을 모아 새로운 메시지로 가공하고 응용 프로그램이 직접 이용할 수 있도록 라이브러리 함수를 추가하여 콘솔 서비스 관련 잠금장치 기능을 자연스럽게 추가할 수 있게 된다.
상술한 바와 같이, 본 발명의 운영체제 상에서의 콘솔 서버 방법 및 장치는 메시지 교환을 기반으로 하는 최소화된 운영체제 커널 상에서 콘솔 서비스를 제공하여 단순한 구조로 시스템이 구현됨은 물론 적어도 하나 이상의 응용 프로그램이 콘솔 서비스를 이용할 때 일관성을 유지할 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여 져야만 할 것이다.
도 1은 본 발명의 실시예에 따른 운영체제 상에서의 콘솔 서버 방법의 처리 수순을 단계적으로 나타내는 흐름도.
도 2는 도 1에서 응용 프로그램이 키보드로부터 문자를 전송 받고자 하는 경우 그에 따른 처리 수순을 단계적으로 나타내는 흐름도.
도 3은 도 1에서 응용 프로그램이 스크린의 제어에 관한 서비스를 요청한 경우 그에 따른 처리 수순을 단계적으로 나타내는 흐름도.
도 4는 도 1에서 응용 프로그램이 티티와이(tty) 구조의 제어에 관한 서비스를 요청한 경우 그에 따른 처리 수순을 단계적으로 나타내는 흐름도.
도 5는 도 1에서 응용 프로그램이 커서의 제어에 관한 서비스를 요청한 경우 그에 따른 처리 수순을 단계적으로 나타내는 흐름도.
도 6은 도 1에서 응용 프로그램이 키보드 관련 인터럽트 관련 서비스를 요청한 경우 그에 따른 처리 수순을 단계적으로 나타내는 흐름도.
<도면의 주요 부분에 대한 부호의 설명 >
104 : 운영체제 커널 106 : 응용 프로그램
108 : 콘솔 서버 110 : 서비스 라이브러리

Claims (14)

  1. 수신 포트를 식별하고 콘솔을 초기화하는 제1 단계와,
    상기 콘솔이 임의의 응용 프로그램으로부터 상기 포트를 통해 메시지를 수신하는 제2 단계와,
    상기 콘솔이 상기 수신된 메시지에 명시된 서비스의 종류에 따라 해당 작업을 수행하고 그 결과를 상기 응용 프로그램에 전송하는 제3 단계를 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버방법.
  2. 제 1 항에 있어서,
    상기 제3 단계에서 상기 응용 프로그램이 키보드로부터 문자를 전송받고자 하면,
    상기 문자 전송 서비스 요청에 따라 필요한 정보를 메시지에 실어 콘솔 서버에 전송하는 단계와,
    상기 콘솔 서버는 버퍼에 기록된 문자정보를 확인하고 상기 응용 프로그램이 요청한 만큼의 상기 문자정보를 상기 응용 프로그램에 전송하는 단계를 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  3. 제 1 항에 있어서,
    상기 제3 단계에서 상기 응용 프로그램이 스크린의 제어에 관한 서비스를 콘솔 서버에 요청하게 되면,
    상기 콘솔 서버는 상기 응용 프로그램에 상기 서비스에 해당하는 메시지를 전송하여 상기 서비스를 종료하는 단계를 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  4. 제 1 항에 있어서,
    상기 스크린의 제어에 관한 서비스는 커서 좌표와 색깔을 제어하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  5. 제 1 항에 있어서,
    상기 제3 단계에서 상기 응용 프로그램이 티티와이(TTY) 구조의 값을 제어하기 위한 서비스를 콘솔 서버에 요청하게 되면,
    상기 서비스를 실행하고 상기 응용 프로그램에 상기 서비스에 해당하는 메시지를 전송함으로써 상기 서비스를 종료하는 단계를 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  6. 제 5 항에 있어서,
    상기 응용 프로그램이 상기 티티와이(TTY) 구조를 읽기를 원하게 되면,
    상기 콘솔 서버는 현재의 상기 티티와이(TTY) 상태를 상기 응용 프로그램이 지정한 주소로 상기 티티와이(TTY) 구조를 복사하는 단계와,
    상기 응용 프로그램에 상기 서비스에 해당하는 메시지를 전송함으로써 상기 서비스를 종료하는 단계를 추가로 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  7. 제 5 항에 있어서,
    상기 응용 프로그램이 상기 티티와이(TTY) 구조를 갱신하기를 원하게 되면,
    상기 콘솔 서버는 상기 응용 프로그램이 지정한 상기 티티와이(TTY) 값을 현재의 상기 티티와이(TTY) 값에 복사하는 단계와,
    상기 응용 프로그램에 상기 서비스에 해당하는 메시지를 전송함으로써 상기 서비스를 종료하는 단계를 추가로 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  8. 제 1 항에 있어서,
    상기 제3 단계에서 상기 응용 프로그램이 커서 제어에 관한 서비스를 콘솔 서버에 요청하게 되면,
    상기 커서 제어에 관한 서비스에 따른 연산의 종류에 의해 상기 커서의 좌표 값, 문자의 속성 값, 문자의 색깔, 문자의 배경 색깔 중 어느 하나로 상기 커서 관련 값을 설정 및 현재의 상기 커서 상태를 읽는 단계와,
    상기 서비스를 실행하고 상기 응용 프로그램에 상기 서비스에 해당하는 메시지를 전송함으로써 상기 서비스를 종료하는 단계를 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  9. 제 1 항에 있어서,
    상기 제3 단계에서 상기 응용 프로그램이 키보드 제어에 관한 서비스를 콘솔 서버에 요청하게 되면,
    상기 키보드 제어관련 서비스를 실행하고 상기 응용 프로그램에 상기 서비스에 해당하는 메시지를 전송함으로써 상기 서비스를 종료하는 단계를 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  10. 제 9 항에 있어서,
    상기 키보드로부터 입력 받은 키 값이 특수키라면 상기 키에 해당한 명령에 따라 해당 서브 함수를 호출하여 실행시키는 단계를 추가로 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  11. 제 9 항에 있어서,
    상기 키보드로부터 입력 받은 키 값이 임의의 응용 프로그램이 입력 받기를 원하는 문자이고 상기 응용 프로그램이 존재하면 상기 키보드 인터럽트 발생시 받은 상기 키 값을 아스크(ASCII) 값으로 변환시켜 상기 응용 프로그램에 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  12. 제 9 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 키보드가 눌린 시점에 인터럽트를 기다리면서 잠든 응용 프로그램이 존재하지 않는 경우,
    상기 콘솔 서버는 상기 키 값을 키보드 버퍼에 기록하고 상기 응용 프로그램의 요청에 따라 상기 응용 프로그램에 해당 키 값을 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 방법.
  13. 메시지 전달을 기반으로 하는 최소화된 운영체제 커널과,
    적어도 하나 이상의 응용 프로그램이 포트로 공유하고 상기 최소화된 운영체제 커널과 접속되어 콘솔과 관련된 모든 처리를 수행함과 상기 응용프로그램으로부터의 메시지를 수신하여 처리하고 그 결과를 상기 응용프로그램에 전송하는 콘솔 서버를 구비한 것을 특징으로 하는 운영체제 상에서의 콘솔 서버 장치.
  14. 제 13 항에 있어서,
    상기 콘솔 서버가 상기 콘솔과 관련된 모든 처리를 독점하는 것을 이용하여 상기 콘솔 서비스를 트랜잭션으로 일괄 처리하도록 메시지로 구성하고 상기 응용 프로그램이 이용할 수 있도록 라이브러리 함수를 추가함으로써 상기 콘솔 서비스 관련 잠금수단을 추가로 구비한 것을 특징으로 하는 운영체제 상에서의 콘솔 서버장치.
KR1019970079723A 1997-12-30 1997-12-30 운영체제상에서의콘솔서버방법및장치 KR100482316B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970079723A KR100482316B1 (ko) 1997-12-30 1997-12-30 운영체제상에서의콘솔서버방법및장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970079723A KR100482316B1 (ko) 1997-12-30 1997-12-30 운영체제상에서의콘솔서버방법및장치

Publications (2)

Publication Number Publication Date
KR19990059515A KR19990059515A (ko) 1999-07-26
KR100482316B1 true KR100482316B1 (ko) 2005-08-29

Family

ID=37304266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970079723A KR100482316B1 (ko) 1997-12-30 1997-12-30 운영체제상에서의콘솔서버방법및장치

Country Status (1)

Country Link
KR (1) KR100482316B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100406231B1 (ko) * 2000-12-05 2003-11-17 엘지전자 주식회사 티티와이 명령 처리 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03144846A (ja) * 1989-10-31 1991-06-20 Yokogawa Hewlett Packard Ltd アプリケーション・入力サーバ連携方法
JPH04241617A (ja) * 1991-01-16 1992-08-28 Fujitsu Ltd プリントサーバの出力処理方式
EP0561042A2 (en) * 1992-03-20 1993-09-22 Hewlett-Packard Company Dual process display server
US5287461A (en) * 1991-10-31 1994-02-15 Sun Microsystems, Inc. Method and apparatus for remotely accessing a plurality of server consoles
KR19990015632A (ko) * 1997-08-08 1999-03-05 정선종 고속 병렬 컴퓨터 운영 체제의 부트 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03144846A (ja) * 1989-10-31 1991-06-20 Yokogawa Hewlett Packard Ltd アプリケーション・入力サーバ連携方法
JPH04241617A (ja) * 1991-01-16 1992-08-28 Fujitsu Ltd プリントサーバの出力処理方式
US5287461A (en) * 1991-10-31 1994-02-15 Sun Microsystems, Inc. Method and apparatus for remotely accessing a plurality of server consoles
EP0561042A2 (en) * 1992-03-20 1993-09-22 Hewlett-Packard Company Dual process display server
KR19990015632A (ko) * 1997-08-08 1999-03-05 정선종 고속 병렬 컴퓨터 운영 체제의 부트 방법

Also Published As

Publication number Publication date
KR19990059515A (ko) 1999-07-26

Similar Documents

Publication Publication Date Title
US5502839A (en) Object-oriented software architecture supporting input/output device independence
US5175854A (en) Inter-applicataion interface system
US5335323A (en) Computer human interface with multiapplication display
US4882674A (en) Apparatus and method for control of one computer system by another computer system
US5313581A (en) System and method for communication between windowing environments
JP3251800B2 (ja) ネットワーク内のコンピュータ間でデータを交換するための通信システム
US7921430B2 (en) System and method for intercepting, instrumenting and characterizing usage of an application programming interface
US5752254A (en) Method and system for controlling clipboards in a shared application progam
US5327559A (en) Remote and batch processing in an object oriented programming system
JPH02148224A (ja) 時間開始タスクのスケジユーリング方法
KR100221374B1 (ko) 이벤트를 효율적으로 처리하는 데이타 처리 시스템 및 그의 방법과 저장장치
JPH06161957A (ja) ワークステーション
US6732360B1 (en) System and method for providing connection between client and heterogeneous database management systems
JP2008159079A (ja) クリップボードを使用してデータを転送する方法
JPH02127757A (ja) 分散アプリケーション・プログラム実行方法及びシステム資源管理方法
US5574888A (en) A method and apparatus for establishing compatibility between communication applications producing at commands and a telephony application programming interface
US6199160B1 (en) Computer system and method for performing multiple tasks
US6532498B1 (en) Method and system for event notification between software application program objects
EP0597575B1 (en) Clipboard facility for computer network
JPH0683603A (ja) オブジェクト・クラスのバッチ登録の方法とシステム
JPH05508037A (ja) 端末装置とユーザプログラムとの間のデータ通信を実現するための装置および方法
US6185521B1 (en) System and method for emulating mainframe channel programs by open systems computer systems
US5051926A (en) System wide local copy management of screen copy printing
EP0193933B1 (en) Apparatus for control of one computer system by another computer system
KR100482316B1 (ko) 운영체제상에서의콘솔서버방법및장치

Legal Events

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