KR20010048804A - 실시간 시스템의 원격지 입출력 제어 장치 및 방법 - Google Patents

실시간 시스템의 원격지 입출력 제어 장치 및 방법 Download PDF

Info

Publication number
KR20010048804A
KR20010048804A KR1019990053613A KR19990053613A KR20010048804A KR 20010048804 A KR20010048804 A KR 20010048804A KR 1019990053613 A KR1019990053613 A KR 1019990053613A KR 19990053613 A KR19990053613 A KR 19990053613A KR 20010048804 A KR20010048804 A KR 20010048804A
Authority
KR
South Korea
Prior art keywords
remote
descriptor table
remote input
input
real
Prior art date
Application number
KR1019990053613A
Other languages
English (en)
Other versions
KR100350315B1 (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 KR1019990053613A priority Critical patent/KR100350315B1/ko
Publication of KR20010048804A publication Critical patent/KR20010048804A/ko
Application granted granted Critical
Publication of KR100350315B1 publication Critical patent/KR100350315B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 네트워크를 통해 원격지 시스템을 접속하고 있는 실시간 시스템에서 장치 디스크립터 테이블을 공유하여 운영체계의 장치 드라이버 및 네트워크를 통한 프로세스의 원격지 입출력이 가능하도록 한 실시간 시스템의 원격지 입출력 제어 장치 및 방법에 관한 것이다.
종래에는 실시간 시스템의 원격지 셀 서버에서 원격지 셸 클라이언트에 대한 관리를 수행하지 않아 불필요한 IPC(Inter Process Communication) 네트워크 자원의 낭비로 인한 망 효율이 저하될 수 있었고, 포어그라운드(foreground) 명령을 원격지 셸 클라이언트에서 사용할 수 있도록 구현하기가 어려웠으며, 운영체계 상위의 응용 프로그램인 셸 프로그램에 존재하는 원격지 셸 서버에서 원격지 입출력 제어 기능을 제공함에 따라 IPC가 아닌 다른 통신 방법으로는 이를 제공하기가 어려운 단점이 있었다.
본 발명은 실시간 시스템의 장치 디스크립터 테이블을 공유함으로써, 원격지 입력을 다른 응용 프로그램으로 전환하는 포어그라운드 수행이 가능해 지며, 해당 장치 디스크립터 테이블에 대한 소유 권한을 갖는 서버 프로세스가 종료되는 경우 해당 장치 디스크립터 테이블을 기본값으로 설정함으로써, 장치 드라이버 자원의 계속적인 사용으로 인한 네트워크 부하가 증가하는 것을 방지할 수 있게 된다.
또한, 본 발명은 원격지 시스템에서 다양한 종류의 네트워크를 통해 다양한 통신 방법으로 실시간 시스템에 접속할 수 있도록 실시간 시스템의 운영체계에 장치 드라이버를 구현함으로써, 해당 장치 드라이버를 이용하여 원격지 입출력을 효율적으로 제어할 수 있게 된다.

Description

실시간 시스템의 원격지 입출력 제어 장치 및 방법{Apparatus And Method For Remote Input/Output Control In Real-time System}
본 발명은 실시간 시스템의 원격지 입출력 제어 장치 및 방법에 관한 것으로, 특히 네트워크를 통해 원격지 시스템을 접속하고 있는 실시간 시스템에서 장치 디스크립터 테이블을 공유하여 운영체계의 장치 드라이버 및 네트워크를 통한 프로세스의 원격지 입출력이 가능하도록 한 실시간 시스템의 원격지 입출력 제어 장치 및 방법에 관한 것이다.
일반적으로, 교환 시스템과 같은 실시간 시스템(Real-time System)의 운영체계(Operating System)에서 수행되는 프로세스의 입출력은 해당 시스템과 접속된 콘솔(Consol)을 통해 수행되는 경우와, 해당 시스템에 원격으로 접속된 콘솔 즉, 원격지 시스템을 통해 수행되는 경우로 나누어지는데, 이러한 운영체계에서 수행되는 프로세스의 원격지 입출력 제어는 운영체계의 상위에서 콘솔(console)을 통해 입력된 명령어를 처리하는 셸 프로그램에 존재하는 원격지 셸 서버(remote shell server)에 의해 수행된다.
특히, 해당 원격지 셸 서버는 원격지에서 콘솔을 통해 입력된 명령어와 동일한 명령어를 처리함으로써, 원격지에서 셸 프로그램을 사용하는 것과 동일한 효과를 제공한다.
한편, 전술한 바와 같은 종래 실시간 시스템에서 원격지 입출력 제어 기능을 제공하기 위한 구조는 첨부된 도면 도 1에 도시된 바와 같이, 운영체계(11)와 원격지 셸 서버(12) 및 응용 프로그램(13)을 구비하는 실시간 시스템(RTS)이 원격지에 위치한 원격지 시스템인 원격지 셸 클라이언트(14)와 비연결형 프로토콜(Connectionless Protocol) 기반의 IPC(Inter Process Communication) 네트워크를 통해 접속하는 구조를 이루게 된다.
해당 운영체계(11)는 내부에서 수행되는 IPC 관리부(11-1)를 호출하여 원격지 셸 클라이언트(14)로부터 IPC 네트워크를 통해 입력되는 소정 명령을 원격지 셸 서버(12)로 전달하거나, 원격지 셸 서버(12) 또는 응용 프로그램(13)으로부터 전달되는 명령 처리 결과 메시지를 IPC 네트워크를 통해 해당되는 원격지 셸 클라이언트(14) 측으로 송신한다.
해당 원격지 셸 서버(12)는 운영체계(11)의 IPC 관리부(11-1)로부터 전달되는 원격지 셸 클라이언트(14)에 의한 소정 명령을 원격지 셸 데몬(daemon) 프로세스(12-1)를 통해 입력받은 후, 명령 처리부(12-2)를 호출하여 입력받은 명령을 분석 및 처리하고, 처리한 결과 메시지를 운영체계(11)의 IPC 관리부(11-1)로 전달하여 해당되는 원격지 셸 클라이언트(14) 측으로 송신되도록 한다.
해당 응용 프로그램(13)은 프로그램의 출력을 원격지 셸 클라이언트(14)로 전환하기 위한 클라이언트 어드레스(Client Address)를 관리하는 표준 출력 라이브러리(13-1)를 포함하되, 해당 표준 출력 라이브러리(13-1)는 원격지 셸 서버(12)의 명령 처리 프로세서(12-2)에 의한 원격지 셸 클라이언트(14)로의 출력 설정에 따라 해당되는 클라이언트 어드레스를 이용하여 결과 메시지를 운영체계(11)의 IPC 관리부(11-1)로 전달하여 해당되는 원격지 셸 클라이언트(14) 측으로 송신되도록 한다.
그리고, 해당 원격지 셸 클라이언트(14)는 운영체계(14-1)와 클라이언트 프로그램(14-2)을 포함하여, 운용자로부터 입력되는 명령을 IPC 형태의 메시지로 변환하여 IPC 네트워크를 통해 실시간 시스템(RTS)의 원격지 셸 서버(12) 측으로 송신하거나, 해당 실시간 시스템(RTS)으로부터 IPC 네트워크를 통해 수신되는 결과 메시지를 운용자가 확인할 수 있도록 출력한다.
이와 같이 구성된 종래 실시간 시스템의 원격지 입출력 제어 동작을 첨부된 도면 도 2를 참조하여 설명하면 다음과 같다.
먼저, 실시간 시스템(RTS)과 IPC 네트워크를 통해 원격으로 접속된 원격지 셸 클라이언트(14)를 운용자가 실행시킨 후(스텝 S21), 해당 원격지 셸 클라이언트(14)를 이용하여 실시간 시스템(RTS)의 원격지 입출력을 위한 소정 명령을 입력하게 되면(스텝 S22), 해당 원격지 셸 클라이언트(14)의 운영체계(14-1) 및 클라이언트 프로그램(14-2)은 입력된 명령을 IPC 형태의 메시지로 변환하여 IPC 네트워크를 통해 해당 실시간 시스템(RTS) 측으로 송신하게 된다(스텝 S23).
이에, 해당 실시간 시스템(RTS)의 운영체계(11)는 내부에서 수행되는 IPC 관리부(11-1)를 호출하여 원격지 셸 클라이언트(14)로부터 IPC 네트워크를 통해 입력되는 소정 명령을 원격지 셸 서버(12)로 전달하게 되고(스텝 S24), 해당 원격지 셸 서버(12)는 원격지 셸 데몬 프로세스(12-1)를 호출하여 원격지 셸 클라이언트(14)에 의한 소정 명령을 입력받은 후, 명령 처리부(12-2)를 호출하여 입력된 명령을 분석 및 처리하게 된다(스텝 S25).
그리고, 해당 원격지 셸 서버(12)의 명령 처리부(12-2)는 처리한 결과 메시지를 원격지 셸 클라이언트(14)로 출력하기 위한 설정을 한 후, 해당 출력 설정에 따라 운영체계(11)의 IPC 관리부(11-1)를 통해 IPC 형태의 결과 메시지로 IPC 네트워크를 통해 해당되는 원격지 셸 클라이언트(14) 측으로 송신하게 된다(스텝 S26).
그러면, 해당 원격지 셸 클라이언트(14)는 실시간 시스템(RTS)의 원격지 셸 서버(12)로부터 송신되는 IPC 형태의 결과 메시지를 입력받아 운용자가 확인할 수 있도록 출력하게 된다(스텝 S27).
이때, 해당 실시간 시스템(RTS)에는 하나의 원격지 셸 서버(12)가 존재하며, 해당 원격지 셸 서버(12)는 다수의 원격지 셸 클라이언트(14)에 의한 명령을 순차적으로 처리함에 따라 하나의 명령을 처리할 때마다 해당되는 원격지 셸 클라이언트(14)에 대한 출력 설정을 새로 작성하여 명령 분석 및 처리에 따른 결과 메시지를 송신할 원격지 셸 클라이언트(14)를 개별적으로 지정해야 했다.
그리고, 해당 실시간 시스템(RTS)의 다른 응용 프로그램 출력을 원격지 셸 클라이언트(14) 측으로 전환하는 명령을 사용하는 경우 해당 실시간 시스템(RTS)의 원격지 셸 서버(12)는 해당 응용 프로그램에 미리 할당되어 있는 장소에 원격지 셸 클라이언트(14)에 대한 클라이언트 어드레스를 설정해야 하며, 이후에는 해당 응용 프로그램의 표준 입출력 라이브러리에 의해 기설정된 클라이언트 어드레스가 참조되어, 해당 응용 프로그램에서 출력되는 모든 결과 메시지들이 IPC 형태의 메시지로 해당되는 원격지 셸 클라이언트(14) 측으로 송신된다.
그런데, 전술한 바와 같은 종래 실시간 시스템의 원격지 셸 서버는 원격지 셸 클라이언트에 대한 관리를 별도로 수행하지 않음에 따라 해당 원격지 셸 클라이언트가 종료되는 경우에도 명령 분석 및 처리에 따른 결과 메시지를 IPC 네트워크를 통해 계속적으로 송신하게 되고, 이러한 불필요한 IPC 네트워크 자원의 소모로 인해 전체적인 망의 효율을 저하시키는 단점이 있었다.
그리고, 종래의 실시간 시스템에서는 표준 입출력 장치인 콘솔의 입력을 셸 프로그램의 원격지 셸 서버에서 다른 응용 프로그램으로 전환하는 기능인 포어그라운드(foreground) 명령을 원격지 셸 클라이언트에서 사용할 수 있도록 구현하기가 어려운 단점이 있었다.
또한, 종래에는 실시간 시스템의 운영체계 상위에 위치하는 일종의 응용 프로그램인 셸 프로그램에 존재하는 원격지 셸 서버에서 원격지 입출력 제어 기능을 제공함에 따라 IPC가 아닌 다른 통신 방법으로는 이를 제공하기가 어려웠으며, 다른 통신 방법으로 원격지 입출력 제어 기능을 제공하기 위해서는 셸 프로그램과 다른 응용 프로그램에서 원격지 셸 클라이언트로 결과 메시지를 출력하기 위한 출력 설정 부분을 새로 작성해야 하는 번거로움이 있었다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로 그 목적은, 실시간 시스템의 장치 디스크립터 테이블을 공유하도록 함으로써, 원격지 입력을 다른 응용 프로그램으로 전환하는 포어그라운드 수행을 가능하게 하는데 있다.
본 발명의 다른 목적은, 실시간 시스템의 장치 디스크립터 테이블에 대한 소유 권한을 갖는 서버 프로세스가 종료되는 경우 해당 장치 디스크립터 테이블을 기본값으로 설정함으로써, 장치 드라이버 자원의 계속적인 사용으로 인한 네트워크 부하가 증가하는 것을 방지하는데 있다.
본 발명의 또 다른 목적은, 원격지 시스템에서 다양한 종류의 네트워크를 통해 다양한 통신 방법으로 실시간 시스템에 접속할 수 있도록 실시간 시스템의 운영체계에 장치 드라이버를 구현함으로써, 해당 장치 드라이버를 이용하여 원격지 입출력을 효율적으로 제어할 수 있도록 하는데 있다.
도 1은 종래 실시간 시스템에서 원격지 입출력 제어 기능을 제공하기 위한 구조를 도시한 도면.
도 2는 종래 실시간 시스템의 원격지 입출력 제어 동작 순서도.
도 3은 본 발명에 따른 실시간 시스템에서 원격지 입출력 제어 기능을 제공하기 위한 구조를 도시한 도면.
도 4는 본 발명에 따른 실시간 시스템의 원격지 입출력 제어 동작 순서도.
* 도면의 주요 부분에 대한 부호의 설명 *
31, 33-1 : 운영체계 31-1 : 장치 드라이버
31-2 : 장치 디스크립터 테이블 31-3 : 파일 디스크립터 테이블
32 : 서버 프로세스 33 : 원격지 시스템
33-2 : 클라이언트 프로그램 RTS : 실시간 시스템
상술한 바와 같은 목적을 해결하기 위한 본 발명의 특징은, 상기 원격지 시스템과 접속된 네트워크에 해당되는 정합 기능을 제공하는 다수의 장치 드라이버를 포함하여, 다양한 통신 방법으로 다양한 종류의 네트워크를 통해 상기 원격지 시스템에 대한 원격지 입출력을 제어하는 운영체계와; 상기 운영체계의 장치 드라이버를 통한 원격지 입출력이 가능하도록 상기 원격지 시스템과의 접속을 지원하는 다수의 서버 프로세스를 포함하는데 있다.
그리고, 상기 운영체계는 각각의 장치 드라이버를 제어하여 다수의 서버 프로세스에 의한 원격지 입출력 처리를 수행하게 하는 장치 디스크립터 테이블과; 상기 다수의 서버 프로세스에서 하나의 장치 디스크립터 테이블을 이용하여 각 장치 드라이버를 사용할 수 있도록 상기 장치 디스크립터 테이블을 공유하게 하는 다수의 파일 디스크립터 테이블을 더 포함하는 것을 특징으로 하되, 상기 장치 디스크립터 테이블은 상기 장치 드라이버를 사용하기 위한 핸들러와, 장치 디스크립터 테이블에 대한 소유 권한을 갖는 프로세스 구분자와, 원격지 입력에 대한 사용 권한을 갖는 프로세스 구분자 및 원격지 입력을 위한 버퍼를 포함하고, 상기 파일 디스크립터 테이블은 상기 장치 디스크립터 테이블에 대한 구분자와, 상기 장치 디스크립터 테이블에 대한 소유 권한 또는 원격지 입력에 대한 사용 권한을 나타내는 플래그를 포함하는 것을 특징으로 한다.
나아가, 상기 서버 프로세스는 자신에게 할당된 파일 디스크립터 테이블을 이용하여 장치 디스크립터 테이블을 공유해서 상기 운영체계의 장치 드라이버를 통한 원격지 입출력이 가능하도록 상기 원격지 시스템과의 접속을 지원하는 것을 특징으로 한다.
본 발명의 다른 특징은, 운영체계의 파일 디스크립터 테이블을 사용하여 네트워크를 통한 원격지 입력을 기다리는 과정과; 상기 파일 디스크립터 테이블 및 장치 디스크립터 테이블을 이용하여 원격지 시스템으로부터의 명령을 입력받아 버퍼에 저장하는 과정과; 상기 버퍼에 저장된 명령을 판독하여 분석 및 처리하는 과정과; 장치 드라이버를 수행시켜 처리한 결과 메시지를 해당되는 원격지 시스템 측으로 송신해서 운용자에게 출력하는 과정을 포함하는데 있다.
그리고, 상기 버퍼에 저장된 명령을 판독하여 분석 및 처리하는 과정은, 상기 버퍼에 명령을 저장한 오너 프로세스 자신이 원격지 입력에 대한 사용 권한을 갖는 리더 프로세스인지를 확인하는 단계와; 자신이 리더 프로세스가 아닌 경우 상기 버퍼에 저장된 명령을 판독하여 분석 및 처리하기 위해 대기하고 있는 리더 프로세스를 실행시키는 단계와; 실행된 리더 프로세스에서 자신에게 할당된 파일 디스크립터 테이블을 사용하여 상기 버퍼에 저장된 명령을 판독해서 분석 및 처리하는 단계를 더 포함하는 것을 특징으로 하되, 상기 버퍼에 명령을 저장한 오너 프로세스 자신이 원격지 입력에 대한 사용 권한을 갖는 리더 프로세스인 경우 상기 오너 프로세스 자신이 리더 프로세스로 동작하여, 상기 버퍼에 저장된 명령을 판독해서 분석 및 처리하는 단계를 더 포함하는 것을 특징으로 한다.
나아가, 상기 장치 디스크립터 테이블에 대한 소유 권한을 갖는 오너 프로세스가 종료되는 경우 상기 장치 디스크립터 테이블을 공유하는 리더 프로세스가 접근을 시도하여 상기 장치 드라이버의 자원을 계속 사용하는 것을 방지하기 위해 상기 장치 디스크립터 테이블을 기본값으로 설정하는 과정을 더 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명에 따른 실시간 시스템에서 원격지 입출력 제어 기능을 제공하기 위한 구조는 첨부한 도면 도 3에 도시한 바와 같이, 운영체계(31)와 다수의 서버 프로세스(32)를 구비하는 실시간 시스템(RTS)이 원격지에 위치한 원격지 시스템(33)과 네트워크를 통해 접속하는 구조를 이루게 된다.
해당 운영체계(31)는 원격지 시스템(33)과 접속된 네트워크에 해당되는 정합 기능을 제공하는 다수의 장치 드라이버(31-1)를 포함하여, 다양한 통신 방법으로 다양한 종류의 네트워크를 통해 원격지 시스템(33)에 대한 원격지 입출력을 제어하되, 각 장치 드라이버(31-1)를 제어하여 다수의 서버 프로세스(32)에 의한 원격지 입출력 처리를 수행할 수 있게 하는 장치 디스크립터 테이블(Device Descriptor Table, 31-2)과, 다수의 서버 프로세스(32)에서 하나의 장치 디스크립터 테이블(31-2)을 이용하여 각 장치 드라이버(31-1)를 사용할 수 있도록 해당 장치 디스크립터 테이블(31-2)을 공유하게 하는 다수의 파일 디스크립터 테이블(31-3)을 더 포함하는데, 이때, 해당 장치 디스크립터 테이블(31-2)에는 장치 드라이버(31-1)를 사용하기 위한 핸들러와, 해당 장치 디스크립터 테이블(31-2)에 대한 소유 권한을 갖는 프로세스 구분자와, 원격지 입력에 대한 사용 권한을 갖는 프로세스 구분자 및 원격지 입력을 위한 버퍼가 포함되며, 해당 파일 디스크립터 테이블(31-3)에는 장치 디스크립터 테이블(31-2)에 대한 구분자와, 해당 장치 디스크립터 테이블(31-2)에 대한 소유 권한 또는 원격지 입력에 대한 사용 권한을 나타내는 플래그가 포함된다.
그리고, 해당 서버 프로세스(32)는 자신에게 할당된 파일 디스크립터 테이블(31-3)을 이용하여 장치 디스크립터 테이블(31-2)을 공유해서 운영체계(31)의 장치 드라이버(31-1)를 통한 원격지 입출력이 가능하도록 원격지 시스템(33)과의 접속을 지원하되, 원격지 입력의 경우 실시간 시스템(RTS)의 각 서버 프로세스(32)는 장치 디스크립터 테이블(31-2)에 대한 소유 권한을 갖는 프로세스(이하, '오너(owner) 프로세스'라 칭함)와, 원격지 입력에 대한 사용 권한을 갖는 프로세스(이하, '리더(reader) 프로세스'라 칭함) 및 어떠한 권한도 갖지 않는 프로세스로 분류된다.
한편, 해당 원격지 시스템(33)은 종래의 원격지 셸 클라이언트와 동일한 구성인 운영체계(33-1)와 클라이언트 프로그램(33-2)을 포함하되, 운용자로부터 입력되는 명령을 네트워크를 통해 실시간 시스템(RTS) 측으로 송신하거나, 해당 실시간 시스템(RTS)으로부터 네트워크를 통해 수신되는 결과 메시지를 운용자가 확인할 수 있도록 출력한다.
이때, 해당 실시간 시스템(RTS)과 원격지 시스템(33)을 연동하게 하는 네트워크는 실시간 시스템(RTS)의 운영체계(31)에 포함되는 장치 드라이버(31-1)에 따라 IPC 네트워크뿐 만 아니라 이더넷(Ethernet)이나 시리얼 라인(Serial Line) 등을 포함하므로, 해당 원격지 시스템(33)에서 다양한 종류의 네트워크를 통해 다양한 통신 방법으로 실시간 시스템(RTS)에 접속하여 원격지 입출력을 효율적으로 제어할 수 있게 된다.
이와 같이 구성된 본 발명에 따른 실시간 시스템(RTS)에서 응용 프로그램의 한 서버 프로세스(32)가 기록/판독(RD/WR)과 같은 입출력 함수를 사용하게 되면, 해당 실시간 시스템(RTS)의 운영체계(31)에서 해당 서버 프로세스(32)에 할당된 파일 디스크립터 테이블(31-3)을 기준으로 사용된 입출력 함수에 해당되는 작업을 처리하게 되는데, 이때, 각 파일 디스크립터 테이블(31-3)은 각각의 서버 프로세스(32)가 공유하는 장치 디스크립터 테이블(31-2)을 지시하게 되므로, 실제로는 장치 디스크립터 테이블(31-2)에 등록된 장치 드라이버(31-1)가 수행된다.
이때, 해당 장치 디스크립터 테이블(31-2)은 장치 드라이버(31-1)의 자원 하나를 점유하고 있는 형태이며, 다수의 서버 프로세스(32)에서 자신에게 할당된 파일 디스크립터 테이블(31-3)을 통해 하나의 장치 디스크립터 테이블(31-2)을 공유하여 원격지 입출력을 수행할 수 있게 된다.
즉, 실시간 시스템(RTS)에 네트워크를 통해 접속된 원격지 시스템(33)의 클라이언트 프로그램(33-2)에서 운영체계(31)의 장치 디스크립터 테이블(31-2)을 공유하여 해당 실시간 시스템(RTS)의 서버 프로세스(32)를 연동하게 됨에 따라 해당 장치 디스크립터 테이블(31-2)을 서버 프로세스(32)뿐 만 아니라 다른 프로세스에서도 공유할 수 있게 된다.
한편, 본 발명에 따른 실시간 시스템의 원격지 입출력 제어 동작을 첨부한 도면 도 4를 참조하여 상세하게 설명하면 다음과 같다.
먼저, 실시간 시스템(RTS)에 네트워크를 통해 원격으로 접속되어 있는 원격지 시스템(33)을 운용자가 실행시킨 후, 해당 원격지 시스템(33)을 이용하여 실시간 시스템(RTS)에 대한 원격지 입력을 수행하는 경우 해당 실시간 시스템(RTS)의 서버 프로세스(32)는 장치 디스크립터 테이블(31-2)에 대한 소유 권한을 갖는 오너 프로세스와, 원격지 입력에 대한 사용 권한을 갖는 리더 프로세스로 구분할 수 있는데, 여기서, 해당 장치 디스크립터 테이블(31-2)에 대한 접근은 오너 프로세스에 의해서만 가능하므로, 그 외의 리더 프로세스 즉, 해당 장치 디스크립터 테이블(31-2)을 공유하는 리더 프로세스들은 각각의 파일 디스크립터 테이블(31-3)을 이용하여 네트워크를 통한 원격지 입력을 기다리게 된다(스텝 S41).
이때, 원격지 시스템(33)으로부터 네트워크를 통해 실시간 시스템(RTS)의 운영체계(31)에 포함되는 장치 드라이버(31-1)로 원격지 입력 즉, 소정 명령이 입력되면, 해당 실시간 시스템(31)의 오너 프로세스는 파일 디스크립터 테이블(31-3) 및 장치 디스크립터 테이블(31-2)을 이용하여 해당 장치 드라이버(31-1)로부터 명령을 입력받은 후(스텝 S42), 입력받은 명령을 리더 프로세스에서 판독하여 분석 및 처리할 수 있도록 장치 디스크립터 테이블(31-2)의 버퍼에 저장하게 된다(스텝 S43).
그리고, 해당 오너 프로세스는 자신이 원격지 입력에 대한 사용 권한을 갖는 리더 프로세스인지를 확인하여(스텝 S44), 자신이 리더 프로세스가 아닌 경우 장치 디스크립터 테이블(31-2)의 버퍼에 저장된 명령을 판독하여 분석 및 처리할 리더 프로세스가 대기하고 있는지를 확인하여(스텝 S45), 해당 리더 프로세스가 대기하고 있지 않은 경우 스텝 S41로 귀환하여 원격지 입력을 기다리는 동작을 반복 수행하게 된다.
하지만, 스텝 S45에서 해당 리더 프로세스가 대기하고 있는 경우 해당 오너 프로세스는 현재 대기하고 있는 리더 프로세스를 실행시키게 되고(스텝 S46), 이에, 해당 리더 프로세스는 자신에게 할당된 파일 디스크립터 테이블(31-3)을 사용하여 장치 디스크립터 테이블(31-2)의 버퍼에 저장된 명령을 판독해서 분석 및 처리하게 된다(스텝 S47).
한편, 스텝 S44에서 해당 오너 프로세스는 자신이 원격지 입력에 대한 사용 권한을 갖는 리더 프로세스인지를 확인한 결과 자신이 리더 프로세스인 경우 해당 오너 프로세스 자신이 리더 프로세스로 동작하여, 스텝 S47의 버퍼에 저장한 명령을 판독해서 분석 및 처리하는 동작을 수행하게 된다.
이후, 해당 실시간 시스템(RTS)의 리더 프로세스는 명령을 분석 및 처리한 결과 메시지를 운영체계(31)의 파일 디스크립터 테이블(31-3) 및 장치 디스크립터 테이블(31-2)을 사용하여 원격지 시스템(33) 측으로 송신하게 되는데, 이때, 해당 장치 디스크립터 테이블(31-2)에 등록된 장치 드라이버(31-1)를 수행시켜 네트워크를 통해 결과 메시지를 해당되는 원격지 시스템(33) 측으로 송신함으로써(스텝 S48), 해당 원격지 시스템(33)에서 네트워크를 통해 수신되는 결과 메시지를 운용자가 확인할 수 있도록 출력하게 된다(스텝 S49).
한편, 상술한 원격지 출력 제어는 해당 운영체계(31)의 파일 디스크립터 테이블(31-3)을 통해 장치 디스크립터 테이블(31-2)을 공유하는 모든 서버 프로세스(32)가 동일한 사용 권한을 갖게 되므로, 해당 서버 프로세스(32)들이 하나의 장치 디스크립터 테이블(31-2)을 사용하여 동시에 원격지 출력 기능을 제공할 수 있게 된다.
따라서, 해당 장치 디스크립터 테이블(31-2)에 대한 소유 권한을 갖는 오너 프로세스인 서버 프로세스(32)가 종료되는 경우 해당 장치 디스크립터 테이블(31-2)을 기본값으로 설정함으로써, 해당 장치 디스크립터 테이블(31-2)을 공유하는 리더 프로세스가 접근을 시도하여 소정 장치 드라이버(31-1)의 자원을 계속 사용하는 것을 방지할 수 있게 된다.
또한, 본 발명에 따른 실시예는 상술한 것으로 한정되지 않고, 본 발명과 관련하여 통상의 지식을 가진자에게 자명한 범위내에서 여러 가지의 대안, 수정 및 변경하여 실시할 수 있다.
이상과 같이, 본 발명은 실시간 시스템의 장치 디스크립터 테이블을 공유함으로써, 원격지 입력을 다른 응용 프로그램으로 전환하는 포어그라운드 수행이 가능해 지며, 해당 장치 디스크립터 테이블에 대한 소유 권한을 갖는 서버 프로세스가 종료되는 경우 해당 장치 디스크립터 테이블을 기본값으로 설정함으로써, 장치 드라이버 자원의 계속적인 사용으로 인한 네트워크 부하가 증가하는 것을 방지할 수 있게 된다.
또한, 본 발명은 원격지 시스템에서 다양한 종류의 네트워크를 통해 다양한 통신 방법으로 실시간 시스템에 접속할 수 있도록 실시간 시스템의 운영체계에 장치 드라이버를 구현함으로써, 해당 장치 드라이버를 이용하여 원격지 입출력을 효율적으로 제어할 수 있게 된다.

Claims (9)

  1. 상기 원격지 시스템과 접속된 네트워크에 해당되는 정합 기능을 제공하는 다수의 장치 드라이버를 포함하여, 다양한 통신 방법으로 다양한 종류의 네트워크를 통해 상기 원격지 시스템에 대한 원격지 입출력을 제어하는 운영체계와; 상기 운영체계의 장치 드라이버를 통한 원격지 입출력이 가능하도록 상기 원격지 시스템과의 접속을 지원하는 다수의 서버 프로세스를 포함하는 것을 특징으로 하는 실시간 시스템의 원격지 입출력 제어 장치.
  2. 제 1항에 있어서,
    상기 운영체계는, 각각의 장치 드라이버를 제어하여 다수의 서버 프로세스에 의한 원격지 입출력 처리를 수행하게 하는 장치 디스크립터 테이블과; 상기 다수의 서버 프로세스에서 하나의 장치 디스크립터 테이블을 이용하여 각 장치 드라이버를 사용할 수 있도록 상기 장치 디스크립터 테이블을 공유하게 하는 다수의 파일 디스크립터 테이블을 더 포함하는 것을 특징으로 하는 실시간 시스템의 원격지 입출력 제어 장치.
  3. 제 2항에 있어서,
    상기 장치 디스크립터 테이블은, 상기 장치 드라이버를 사용하기 위한 핸들러와, 장치 디스크립터 테이블에 대한 소유 권한을 갖는 프로세스 구분자와, 원격지 입력에 대한 사용 권한을 갖는 프로세스 구분자 및 원격지 입력을 위한 버퍼를 포함하는 것을 특징으로 하는 실시간 시스템의 원격지 입출력 제어 장치.
  4. 제 2항에 있어서,
    상기 파일 디스크립터 테이블은, 상기 장치 디스크립터 테이블에 대한 구분자와, 상기 장치 디스크립터 테이블에 대한 소유 권한 또는 원격지 입력에 대한 사용 권한을 나타내는 플래그를 포함하는 것을 특징으로 하는 실시간 시스템의 원격지 입출력 제어 장치.
  5. 제 1항 또는 2항에 있어서,
    상기 서버 프로세스는, 자신에게 할당된 파일 디스크립터 테이블을 이용하여 장치 디스크립터 테이블을 공유해서 상기 운영체계의 장치 드라이버를 통한 원격지 입출력이 가능하도록 상기 원격지 시스템과의 접속을 지원하는 것을 특징으로 하는 실시간 시스템의 원격지 입출력 제어 장치.
  6. 운영체계의 파일 디스크립터 테이블을 사용하여 네트워크를 통한 원격지 입력을 기다리는 과정과; 상기 파일 디스크립터 테이블 및 장치 디스크립터 테이블을 이용하여 원격지 시스템으로부터의 명령을 입력받아 버퍼에 저장하는 과정과; 상기 버퍼에 저장된 명령을 판독하여 분석 및 처리하는 과정과; 장치 드라이버를 수행시켜 처리한 결과 메시지를 해당되는 원격지 시스템 측으로 송신해서 운용자에게 출력하는 과정을 포함하는 것을 특징으로 하는 실시간 시스템의 원격지 입출력 제어 방법.
  7. 제 6항에 있어서,
    상기 버퍼에 저장된 명령을 판독하여 분석 및 처리하는 과정은, 상기 버퍼에 명령을 저장한 오너 프로세스 자신이 원격지 입력에 대한 사용 권한을 갖는 리더 프로세스인지를 확인하는 단계와; 자신이 리더 프로세스가 아닌 경우 상기 버퍼에 저장된 명령을 판독하여 분석 및 처리하기 위해 대기하고 있는 리더 프로세스를 실행시키는 단계와; 실행된 리더 프로세스에서 자신에게 할당된 파일 디스크립터 테이블을 사용하여 상기 버퍼에 저장된 명령을 판독해서 분석 및 처리하는 단계를 더 포함하는 것을 특징으로 하는 실시간 시스템의 원격지 입출력 제어 방법.
  8. 제 7항에 있어서,
    상기 버퍼에 명령을 저장한 오너 프로세스 자신이 원격지 입력에 대한 사용 권한을 갖는 리더 프로세스인 경우 상기 오너 프로세스 자신이 리더 프로세스로 동작하여, 상기 버퍼에 저장된 명령을 판독해서 분석 및 처리하는 단계를 더 포함하는 것을 특징으로 하는 실시간 시스템의 원격지 입출력 제어 방법.
  9. 제 6항에 있어서,
    상기 장치 디스크립터 테이블에 대한 소유 권한을 갖는 오너 프로세스가 종료되는 경우 상기 장치 디스크립터 테이블을 공유하는 리더 프로세스가 접근을 시도하여 상기 장치 드라이버의 자원을 계속 사용하는 것을 방지하기 위해 상기 장치 디스크립터 테이블을 기본값으로 설정하는 과정을 더 포함하는 것을 특징으로 하는 실시간 시스템의 원격지 입출력 제어 방법.
KR1019990053613A 1999-11-29 1999-11-29 실시간 시스템의 원격지 입출력 제어 장치 및 방법 KR100350315B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990053613A KR100350315B1 (ko) 1999-11-29 1999-11-29 실시간 시스템의 원격지 입출력 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990053613A KR100350315B1 (ko) 1999-11-29 1999-11-29 실시간 시스템의 원격지 입출력 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20010048804A true KR20010048804A (ko) 2001-06-15
KR100350315B1 KR100350315B1 (ko) 2002-08-28

Family

ID=19622521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990053613A KR100350315B1 (ko) 1999-11-29 1999-11-29 실시간 시스템의 원격지 입출력 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100350315B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100805094B1 (ko) * 2003-12-22 2008-02-20 모토로라 인코포레이티드 포트들의 동적 전용을 제공하는 인터프로세서 통신네트워크
US7647599B2 (en) 2003-12-22 2010-01-12 Motorola, Inc. Interprocessor communication network providing dynamic dedication of ports
KR101638136B1 (ko) * 2015-05-14 2016-07-08 주식회사 티맥스 소프트 멀티 스레드 구조에서 작업 분배 시 스레드 간 락 경쟁을 최소화하는 방법 및 이를 사용한 장치
US9531788B2 (en) 2015-05-14 2016-12-27 Tmaxsoft. Co., Ltd. Method for distributing file descriptors in web-server, and web-server and computer-readable recording medium using the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100205034B1 (ko) * 1996-11-25 1999-06-15 이계철 분산형 엑세스 노드 시스템의 장애관리 방법
KR100329652B1 (ko) * 1997-11-28 2002-06-22 박종섭 패킷망을 이용한 원격지 보드 제어방법
KR19990052904A (ko) * 1997-12-23 1999-07-15 유기범 교환기에 대한 원격 제어 및 관리방법
KR19990079294A (ko) * 1998-04-03 1999-11-05 윤종용 교환기와 원격터미널 간의 원격연결 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100805094B1 (ko) * 2003-12-22 2008-02-20 모토로라 인코포레이티드 포트들의 동적 전용을 제공하는 인터프로세서 통신네트워크
US7647599B2 (en) 2003-12-22 2010-01-12 Motorola, Inc. Interprocessor communication network providing dynamic dedication of ports
KR101638136B1 (ko) * 2015-05-14 2016-07-08 주식회사 티맥스 소프트 멀티 스레드 구조에서 작업 분배 시 스레드 간 락 경쟁을 최소화하는 방법 및 이를 사용한 장치
US9531788B2 (en) 2015-05-14 2016-12-27 Tmaxsoft. Co., Ltd. Method for distributing file descriptors in web-server, and web-server and computer-readable recording medium using the same
US9778962B2 (en) 2015-05-14 2017-10-03 Tmaxsoft. Co., Ltd. Method for minimizing lock contention among threads when tasks are distributed in multithreaded system and apparatus using the same

Also Published As

Publication number Publication date
KR100350315B1 (ko) 2002-08-28

Similar Documents

Publication Publication Date Title
CN111580995B (zh) 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统
EP1060604B2 (en) Input/output (i/o) scanner for a control system with peer determination
US4914619A (en) Apparatus and method for interconnecting an application of a transparent services access facility to remote source
US7936779B2 (en) System of intelligent devices, a method for providing such a system and a computer data signal
CN112416737B (zh) 一种容器的测试方法、装置、设备和存储介质
JP2004252990A (ja) コンピュータ・プロセッサ及び処理装置
CN113064742A (zh) 消息处理方法、装置、设备及存储介质
CN117312229B (zh) 一种数据传输装置、数据处理设备、系统、方法及介质
CN111352602A (zh) 一种led屏幕的控制方法、装置、设备以及存储介质
KR100350315B1 (ko) 실시간 시스템의 원격지 입출력 제어 장치 및 방법
CN109525443B (zh) 分布式前置采集通讯链路的处理方法、装置和计算机设备
JP2000020443A (ja) ソフトウェアエージェントシステム
JP2001313659A (ja) 分散型制御システムにおけるフィールド機器通信装置
CN115695405B (zh) 设备控制方法、装置、控制终端、执行终端及服务终端
EP1133102B1 (en) An interface to a network management system of a communication network
JPS62121562A (ja) デ−タ通信システム
KR0143742B1 (ko) 다중처리 시스템을 위한 데이타 통신방법
KR20030043398A (ko) 망 요소 관리 시스템의 장치 연동부 구성 및 연동 방법
JPH08272754A (ja) マルチプロセッサシステム
KR100251729B1 (ko) 엑스.25 통신을 이용한 프로세서 상태 관리방법
KR0175534B1 (ko) 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법
JP2000151739A (ja) 情報処理装置、分散処理装置およびネットワークシステム
JPH0546569A (ja) 分散処理システム
JPH0736374A (ja) データリンクシステム
KR19990070729A (ko) 서버/클라이언트 구조를 이용한 홈위치등록기의 인터페이싱 방법

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
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090727

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee