KR100272027B1 - Method for controlling input/output driver in operating system using mobile communication exchange - Google Patents

Method for controlling input/output driver in operating system using mobile communication exchange Download PDF

Info

Publication number
KR100272027B1
KR100272027B1 KR1019980013653A KR19980013653A KR100272027B1 KR 100272027 B1 KR100272027 B1 KR 100272027B1 KR 1019980013653 A KR1019980013653 A KR 1019980013653A KR 19980013653 A KR19980013653 A KR 19980013653A KR 100272027 B1 KR100272027 B1 KR 100272027B1
Authority
KR
South Korea
Prior art keywords
packet
message
pointer
address
flag
Prior art date
Application number
KR1019980013653A
Other languages
Korean (ko)
Other versions
KR19990080405A (en
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 KR1019980013653A priority Critical patent/KR100272027B1/en
Publication of KR19990080405A publication Critical patent/KR19990080405A/en
Application granted granted Critical
Publication of KR100272027B1 publication Critical patent/KR100272027B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0062Provisions for network management
    • H04Q3/0095Specification, development or application of network management software, e.g. software re-use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/05Software aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory

Abstract

PURPOSE: A method for controlling an input/output driver in an OS(Operating System) for a mobile communication exchange is provided to eliminate errors, generated on the interface between the mobile communication exchange system and an operator working terminal, to improve the stability and reliance on the system. CONSTITUTION: If a message transmission request is generated in an application program(10), a message is recorded in a designated buffer of a DPRAM(Dual Port RRAM) readable by a firmware(30). One packet is allocated in a packet pool, and information inside the packet is configured according to a message kind. An address of the DPRAM recording the message is recorded in the packet, and a value of a put-queue is increased by 1(one) to obtain a pointer for use. The pointer is connected with an address of the packet, and 'busy' is displayed in a flag. If an interrupt is generated, the position of a pointer containing the packet to be received is detected using a front value of the put-queue. Whether a packet to be reported by a flag exists is recognized, to obtain a packet in the pointer. The DPRAM address is obtained in the packet and the address is accessed, to obtain an actual message and store the message in a local SRAM(Static RAM). 'Non-busy' of a flag is displayed, and contents of the local SRAM are outputted to a display(40). Information on whether the packet is processed and an error is generated is configured, and a rear value of a next get-queue is increased by 1(one), to obtain a pointer for use. The pointer is connected with an address of the packet, and 'busy' is displayed in a flag. If an interrupt is generated, a front value of the get-queue is read to search a pointer position. If a next flag is displayed to be busy, a result packet is read. A DPRAM address containing the result value is accessed through the packet, and the next flag receiving the result message is displayed to be non-busy. A front value is increased by 1(one), the access of the DPRAM address is repeated until the flag of the corresponding pointer becomes non-busy. And a result of packet transmission is outputted to the application program(10).

Description

이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법{Method for controlling input/output driver in operating system using mobile communication exchange}Method for controlling input / output driver in operating system using mobile communication exchange}

본 발명은 이동통신 교환기에 관한 것으로, 특히 이동통신 교환기 시스템과 운용자 작업터미널과의 인터페이스 상에 발생되는 장애요소를 제거하고 시스템의 안정성 및 신뢰성을 향상시키기 위한 방법에 관한 것이다.The present invention relates to a mobile communication exchange, and more particularly, to a method for removing obstacles occurring on an interface between a mobile communication exchange system and an operator work terminal and improving the stability and reliability of the system.

일반적으로 이동통신 시스템은 사람, 자동차, 선박, 열차, 항공기 등 이동체를 대상으로 하는 통신 시스템으로, 이에는 개인휴대통신(PCS, Personal Communication System) 시스템, 디지털 셀룰러 시스템(DCS, Digital Cellular System)과 디지털 주파수 공용통신 시스템(DTRS, Digital Trunked Radio System) 등이 사용된다.In general, a mobile communication system is a communication system for a mobile device such as a person, a car, a ship, a train, an aircraft, and includes a personal communication system (PCS) system and a digital cellular system (DCS). A digital trunked radio system (DTRS) is used.

종래에 이동통신 교환기용 운영체계(OS, Operating System)의 I/O(Input/Output) 드라이버를 위한 방법은 "스택(Stack) 방식의 연결 리스트(Linked List) 포인터(Pointer)"를 사용해왔다.Conventionally, a method for an input / output (I / O) driver of an operating system (OS) for a mobile communication switch has used a "stacked linked list pointer".

여기서 스택이란 "겹쳐쌓기"로써, 맨 처음에 쌓은 것은 맨 나중에 꺼내는 방법을 말한다. 이러한 성질을 갖는 버퍼를 LIFO(Last-In First-Out)라고 한다. 그리고 메모리 상에서는 쌓여진 데이터는 아래쪽(번지가 빠른쪽)으로 늘어나는데, 어디까지 늘어나 있는 가를 나타내는 것이 스택 포인터이다.In this case, the stack is "stacking", and the first stack is a method of pulling out the last. A buffer with this property is called last-in first-out (LIFO). And in memory, the accumulated data grows downwards (the faster the address), and the stack pointer indicates how far it grows.

그리고 연결 리스트란 리스트에 삽입과 삭제가 용이하게 수행될 수 있도록 하기 위하여 노드(Node)를 데이터 필드(Data Field)와 링크 필드(Link Field)로 나누어, 링크 필드에 다음 노드를 가리키는 포인터를 기억시켜 구성한 데이터 구조이다.The linked list is divided into a data field and a link field so that insertion and deletion can be easily performed in the list, and a pointer to the next node is stored in the link field. It is a data structure.

그래서 이러한 종래의 스택 방식의 연결 리스트 포인터를 사용한 방법은 정상동작 시는 아무런 문제없이 운용된다.Thus, the method using the conventional stack-type linked list pointer operates without any problem in normal operation.

그러나 어떤 예기치 못한 문제로 인해 메시지가 운용자 터미널로 뿌려지도록 하는 기능을 수행하는 IOPA(Input Output Port Interface board Assembly) 보드의 펌웨어(F/W, Firmware)와 이동통신 교환기용 운영체계의 입/출력 드라이버 사이에 메시지를 주고 받기 위해 사용하는 포인터가 어긋나게 되면, 이 포인터들이 "스택방식의 연결 리스트 구조"로 되어 있기 때문에 어느 한 포인터를 잃어버리게 되면 연결 리스트의 연결고리가 끊기게 되어 전체 연결 리스트로 된 포인터들을 잃어버리는 문제점이 발생하였다.However, due to some unexpected problem, the firmware (F / W, Firmware) of the IOPA (Input Output Port Interface board Assembly) board that functions to cause the message to be sprayed to the operator terminal, and the input / output driver of the operating system for the mobile switching center. If the pointers used to send and receive messages are shifted, these pointers are in a "stacked linked list structure". If any one pointer is lost, the linked list is disconnected and the pointer to the entire linked list is lost. There was a problem of losing them.

이로 인해 더 이상의 메시지 전달기능을 할 수 없게 되고, 이를 해결하기 위해서는 시스템을 재시동시켜야만 하는 문제점이 있었다. 이때 걸리는 시간은 약 5분 정도가 되는데, 이 동안은 아무 작업도 수행할 수 없게 되는 것이다.As a result, it is no longer possible to deliver a message, and to solve this problem, the system must be restarted. The time it takes is about 5 minutes, during which no operation can be performed.

이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 이동통신 교환기 시스템과 운용자 작업터미널과의 인터페이스 상에 발생되는 장애요소를 제거하고 시스템의 안정성 및 신뢰성을 향상시킬 수 있는 이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법을 제공하는 데 있다.Accordingly, the present invention has been proposed to solve the conventional problems as described above, and an object of the present invention is to remove the obstacles generated on the interface between the mobile communication exchange system and the operator work terminal, and to improve the stability and reliability of the system. The present invention provides an input / output driver control method in an operating system for a mobile communication switch that can be improved.

상기와 같은 목적을 달성하기 위하여 본 발명에 의한 이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법은,In order to achieve the above object, an input / output driver control method in an operating system for a mobile communication switch according to the present invention,

응용프로그램에서 메시지 전송요구가 발생하면 운영체제의 입/출력 드라이버에서 패킷을 구성하고 IOPA의 펌웨어로 넘겨주기 위해 사용하는 포인터들을 구비한 풋 큐(Put Queue)에 의해 배열의 위치를 하나씩 증가시키면서 포인터를 사용하여 디스플레이로 메시지를 출력하는 메시지출력단계와; 상기 디스플레이로 메시지를 출력한 다음 패킷에 대한 결과를 받기 위해 사용하는 IOPA의 펌웨어에서 결과 패킷을 구성한 후 운영체제의 입/출력 드라이버로 패킷을 넘겨주기 위해 사용하는 포인터들을 구비한 겟 큐(Get Queue)에 의해 배열의 위치를 하나씩 증가시키면서 포인터를 사용하여 상기 응용프로그램으로 패킷전송의 결과를 출력하는 결과출력단계로 이루어짐을 그 기술적 구성상의 특징으로 한다.When an application sends a message request, the pointer is incremented by a put queue by a put queue with pointers used by the operating system's input / output driver to construct the packet and pass it to IOPA's firmware. A message output step of outputting a message to the display using the message; Get queue with pointers used to output the message to the display and then configure the result packet in the firmware of the IOPA used to receive the result of the packet, and then pass the packet to the input / output driver of the operating system. It is characterized in that the technical configuration consists of a result output step of outputting the result of packet transmission to the application program using a pointer while increasing the position of the array by one by one.

도 1은 본 발명이 적용되는 이동통신 교환기용 운영체계에서의 입/출력 드라이버의 블록구성도,1 is a block diagram of an input / output driver in an operating system for a mobile communication switch to which the present invention is applied;

도 2는 본 발명에 의한 이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법을 보인 흐름도.2 is a flowchart illustrating a method of controlling an input / output driver in an operating system for a mobile communication switch according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

10: 응용프로그램 20: OS 입/출력 드라이버10: Application 20: OS Input / Output Driver

30: IOPA 펌웨어 40: 디스플레이30: IOPA Firmware 40: Display

이하, 상기와 같이 구성된 본 발명 이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법의 기술적 사상에 따른 일실시예를 상세히 설명하면 다음과 같다.Hereinafter, an embodiment according to the technical spirit of the input / output driver control method in the operating system for a mobile communication switch system configured as described above will be described in detail.

먼저 본 발명은 이동통신 교환기용 운영체계의 입/출력 드라이버와 IOPA 보드 내의 펌웨어 사이에서 메시지를 주고받기 위한 포인터의 운용방식을 "순환 배열 큐(Circular Array Queue) 방식의 포인터"로 바꿈으로써 배열(Array)의 위치를 하나씩 증가시키면서 포인터를 사용하므로 포인터를 잃어버려 전체 포인터를 잃어버리는 점을 해결하고자 한다.First of all, the present invention changes an operation method of a pointer for exchanging a message between an input / output driver of an operating system for a mobile communication switch and firmware in an IOPA board to a pointer of a circular array queue. Since we use pointers by increasing the position of Array) one by one, we want to solve the problem of losing the whole pointer by losing the pointer.

도1은 본 발명이 적용되는 이동통신 교환기용 운영체계에서의 입/출력 드라이버의 블록구성도이다.1 is a block diagram of an input / output driver in an operating system for a mobile communication switch to which the present invention is applied.

이에 도시된 바와 같이, 응용프로그램을 수행하여 메시지 전송을 요구하는 응용프로그램(10)과; 상기 응용프로그램(10)의 메시지 전송요구를 입력받아 메시지 종류에 따라 패킷내 정보를 꾸미는 운영체제의 입/출력 드라이버(20)와; 상기 입/출력 드라이버(20)에서 메시지를 전송받아 로컬(Loacl) SRAM(Static Random Access Memory, 정적 임의 접근 기억 장치)에 저장하는 IOPA(Input Output Port Interface board Assembly)의 펌웨어(30)와; 상기 펌웨어(30)의 패킷전송 결과를 출력하는 디스플레이(40)로 구성된다.As shown therein, an application program 10 for requesting message transmission by executing an application program; An input / output driver (20) of the operating system for receiving the message transmission request of the application program 10 and decorating information in the packet according to the message type; A firmware (30) of an IOPA (Input Output Port Interface board assembly) for receiving a message from the input / output driver 20 and storing the message in a local static random access memory (SRAM); It is composed of a display 40 for outputting the packet transmission result of the firmware (30).

도2는 본 발명에 의한 이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법을 보인 흐름도이다.2 is a flowchart illustrating a method of controlling an input / output driver in an operating system for a mobile communication switch according to the present invention.

이에 도시된 바와 같이, 응용프로그램(10)에서 메시지 전송요구가 발생하면 운영체제의 입/출력 드라이버(20)에서 패킷을 구성하고 IOPA의 펌웨어(30)로 넘겨주기 위해 사용하는 포인터들을 구비한 풋 큐(Put Queue)에 의해 배열의 위치를 하나씩 증가시키면서 포인터를 사용하여 디스플레이(40)로 메시지를 출력하는 메시지출력단계(ST1 - ST9)와; 상기 디스플레이(40)로 메시지를 출력한 다음 패킷에 대한 결과를 받기 위해 사용하는 IOPA의 펌웨어(30)에서 결과 패킷을 구성한 후 운영체제의 입/출력 드라이버(20)로 패킷을 넘겨주기 위해 사용하는 포인터들을 구비한 겟 큐(Get Queue)에 의해 배열의 위치를 하나씩 증가시키면서 포인터를 사용하여 상기 응용프로그램(10)으로 패킷전송의 결과를 출력하는 결과출력단계(ST10 - ST15)로 구성된다.As shown in the figure, when a message transmission request is generated in the application 10, a foot queue having pointers used to construct a packet in the input / output driver 20 of the operating system and pass it to the firmware 30 of the IOPA. A message output step (ST1-ST9) of outputting a message to the display 40 by using a pointer while increasing the position of the array by one by (Put Queue); Pointer used to output the message to the display 40 and then configure the result packet in the firmware 30 of the IOPA used to receive the result of the packet, and then deliver the packet to the input / output driver 20 of the operating system. And a result output step (ST10-ST15) of outputting the result of packet transmission to the application program 10 by using a pointer while increasing the position of the array by one by a get queue provided with the data.

여기서 메시지출력단계(ST1 - ST9)는, 응용프로그램에서 메시지 전송요구가 발생하면 메시지를 상기 펌웨어(30)가 읽어갈 수 있는 DPRAM(Dual Port RAM, 이중포트램)의 지정된 버퍼에 기록하고, 패킷 풀(Packet Pool)에서 패킷을 하나 할당하고 메시지의 종류에 따라 패킷내 정보를 꾸미며, 메시지를 기록해 둔 DPRAM의 주소를 패킷에 기록한 후 풋 큐의 리어(Rear) 값을 하나 증가시켜 사용할 포인터를 얻고 이 포인터에 패킷의 주소를 연결하고 플래그(Flag)에는 사용중임을 표시하는 상기 입/출력 드라이버(20)에서의 메시지처리단계(ST1 - ST4)와; 메시지를 가져갈 수 있도록 인터럽트가 발생하면, 풋 큐의 프론트(Front) 값을 이용하여 전송받을 패킷을 담고 있는 포인터 위치를 파악하고, 플래그에 의해 보고받을 패킷이 있는 지 인지하여 포인터에 들어있는 패킷을 얻고, 이 패킷의 내용중에 실제 메시지가 기록되어 있는 DPRAM의 주소를 얻어 이 주소를 액세스(Access)하여 실제 메시지를 얻고 이를 로컬 SRAM에 저장하고 플래그는 비사용중임을 표시한 후 로컬 SRAM의 내용을 디스플레이로 출력시키는 상기 펌웨어(30)에서의 메시지출력단계(ST5 - ST9)로 구성된다.Herein, the message output steps ST1 to ST9 write a message to a designated buffer of DPRAM (Dual Port RAM) that the firmware 30 can read when a message transmission request occurs in an application program, Allocate a packet in the packet pool, decorate the information in the packet according to the message type, record the address of the DPRAM that recorded the message in the packet, and increase the rear value of the foot queue to obtain a pointer to use. A message processing step (ST1-ST4) in the input / output driver 20 which connects the address of the packet to this pointer and indicates that the flag is in use; When an interrupt occurs to take a message, the front queue of the foot queue is used to determine the location of the pointer containing the packet to be sent, and whether the packet is to be reported by the flag is detected. Get the address of the DPRAM in which the actual message is written, and access this address to get the actual message, store it in the local SRAM, indicate that the flag is not in use, and display the contents of the local SRAM. Message output step (ST5-ST9) in the firmware 30 to output to the.

또한 결과출력단계(ST10 - ST15)는, 메시지처리에 대한 결과로서 패킷에 처리가 잘 되었는지 또는 에러가 발생했는지에 대한 정보를 구성한 다음 겟 큐의 리어(Rear) 값을 하나 증가시켜 사용할 포인터를 얻고 이 포인터에 결과 패킷의 주소를 연결하고 플래그에 사용중임을 표시하는 상기 펌웨어(30)에서의 결과처리단계(ST10)(ST11)와; 결과패킷을 받을 수 있도록 인터럽트가 발생하면, 겟 큐의 프론트(Front) 값을 읽어 포인터 위치를 찾아낸 다음 플래그 값이 사용중으로 표시되어 있으면 결과 패킷을 읽고 이 패킷을 통해 결과 값이 들어있는 DPRAM 주소를 액세스하여 결과 메시지를 받은 다음 플래그는 비사용중임으로 표시하고 프론트 값을 하나 증가시킨 뒤 해당 포인터의 플래그가 비사용중일 때 까지 DPRAM 주소 액세스를 반복한 후 상기 응용프로그램(10)으로 패킷전송의 결과를 출력하는 상기 입/출력 드라이버(20)에서의 결과출력단계(ST12 - ST15)로 구성된다.In the result output step (ST10-ST15), as a result of the message processing, the information on whether the packet is processed well or an error is formed, and then the rear value of the get queue is increased by one to obtain a pointer to be used. A result processing step (ST10) (ST11) in the firmware (30) which connects the address of the result packet to this pointer and indicates that the flag is in use; When an interrupt occurs to receive a result packet, it reads the front value of the get queue to locate the pointer, and if the flag value is marked as busy, reads the result packet and uses this packet to find the DPRAM address containing the result. After accessing and receiving the result message, the flag is marked as not in use, the front value is increased by one, the DPRAM address access is repeated until the flag of the pointer is not in use, and the result of packet transmission to the application 10 is displayed. The result output step (ST12-ST15) in the input / output driver 20 to output.

이와 같이 구성된 본 발명 이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.The input / output driver control method of the present invention configured as described above is described in detail with reference to the accompanying drawings.

먼저 본 발명은 안정성과 효율성을 높이기 위하여 스택 방식의 연결 리스트로 운영되던 포인터를 큐 방식의 순환 배열의 포인터로 바꾸었으며, 이 큐는 풋 큐와 겟 큐로 이루어져 있다.First of all, the present invention replaces a pointer operated as a stack-type linked list with a pointer of a queue-type circular array in order to increase stability and efficiency. The queue is composed of a foot queue and a get queue.

즉, 풋 큐(Put Queue)는 운영체제의 입/출력 드라이버(20)에서 패킷을 구성하여 IOPA의 펌웨어(30)로 넘겨주기 위해 사용하는 포인터들을 지니고 있다. 그리고 겟 큐(Get Queue)는 패킷에 대한 결과를 받기 위해 사용하는 즉, IOPA의 펌웨어(30)에서 결과 패킷을 구성한 다음 운영체제의 입/출력 드라이버(20)로 패킷을 넘겨주기 위해 사용하는 포인터들을 지니고 있다. 그래서 이러한 풋 큐와 겟 큐를 이용하여 메시지를 주고 받게 되는 것이다.That is, the put queue has pointers used to construct a packet in the input / output driver 20 of the operating system and pass it to the firmware 30 of the IOPA. The get queue is used to receive the result of the packet, that is, to construct the result packet in the firmware 30 of the IOPA, and then use the pointers to pass the packet to the input / output driver 20 of the operating system. I have it. So you can send and receive messages using these foot and get queues.

이에 따라 먼저 응용프로그램(10)에서는 메시지 전송요구가 발생하면(ST1), 운영체제제의 입/출력 드라이버(20)는 메시지를 펌웨어(30)가 읽어갈 수 있는 IOPA의 DPRAM의 지정된 버퍼에 기록한다(ST2). 그리고 패킷 풀에서 패킷을 하나 할당하고 메시지의 종류에 따라 패킷내 정보를 꾸민 다음 메시지를 기록해 둔 IOPA DPRAM의 주소를 패킷에 기록하게 된다(ST3). 그래서 풋 큐의 리어 값을 하나 증가시켜 사용할 포인터를 얻고, 이 포인터에 패킷의 주소를 연결하고 플래그에는 'USED'라고 표시하여 사용중임을 나타내어 IOPA의 펌웨어(30)에서 이 표시를 보고 패킷이 포인터에 연결되어 있음을 인지토록 한다(ST4).Accordingly, when a message transmission request occurs in the application program 10 (ST1), the input / output driver 20 of the operating system writes the message to a designated buffer of the IORAM DPRAM that the firmware 30 can read. (ST2). The packet pool allocates one packet, decorates the information in the packet according to the message type, and writes the address of the IOPA DPRAM in which the message is recorded in the packet (ST3). So, we increase the rear value of the foot queue to get a pointer to use, connect the packet's address to this pointer, and mark the flag 'USED' to indicate that it is in use. Make sure that it is connected (ST4).

그런 다음 IOPA의 펌웨어(30)에서 메시지를 가져가도록 인터럽트가 발생하면(ST5), IOPA의 펌웨어(30)는 풋 큐의 프론트 값을 이용하여 자신이 받을 패킷이 담겨진 포인터의 위치를 알게 되고, 플래그에 의해 보고받을 패킷이 있는 지 알게 된다(ST6). 그래서 보고받을 패킷이 있는 경우 IOPA의 펌웨어(30)는 포인터에 들어있는 패킷을 얻게 되고, 이 패킷의 내용중에 실제 메시지가 기록되어 있는 IOPA의 DPRAM의 주소를 얻게 된다. 그리고 이 주소를 액세스하여 실제 메시지를 얻고 이를 로컬 SRAM에 저장하고 플래그는 'FREE'라고 표시하여 비사용중임을 나타낸다(ST7). 이에 따라 로컬 SRAM의 내용을 디스플레이(40)로 보냄으로써(ST8), 메시지가 디스플레이(40)에서 출력되게 된다(ST9).Then, when an interrupt occurs to take a message from IOPA's firmware 30 (ST5), IOPA's firmware 30 uses the front value of the foot queue to know the location of the pointer containing the packet to receive, and the flag It knows whether there is a packet to be reported by (ST6). Thus, if there is a packet to be reported, the firmware of IOPA 30 obtains the packet contained in the pointer, and the address of the DPRAM of IOPA in which the actual message is recorded in the contents of the packet. It accesses this address to get the actual message, stores it in local SRAM, and marks the flag 'FREE' to indicate that it is not in use (ST7). Accordingly, by sending the contents of the local SRAM to the display 40 (ST8), a message is output from the display 40 (ST9).

이렇게 응용프로그램(10)의 메시지 전송 요구를 디스플레이(40)로 출력시킨 다음 그 처리 결과를 다시 응용프로그램(10)으로 되돌려 주게 된다.In this way, the message transmission request of the application program 10 is output to the display 40, and the processing result is returned to the application program 10 again.

이에 따라 IOPA의 펌웨어(30)에서는 메시지처리에 대한 결과로서 패킷에 처리가 잘 되었는지 또는 에러가 발생했는지에 대한 정보를 구성한다(ST10). 그리고 IOPA의 펌웨어(30)는 겟 큐의 리어 값을 하나 증가시켜 사용할 포인터를 얻고, 이 포인터에 결과 패킷의 주소를 연결하고 플래그에 'USED'라고 표시하여 사용중임을 나타내게 된다(ST11).Accordingly, the firmware 30 of the IOPA configures information on whether the packet is well processed or an error occurs as a result of the message processing (ST10). The firmware 30 of the IOPA increases the rear value of the get queue by one to obtain a pointer to use, connects the address of the result packet to this pointer, and indicates that the flag is in use by displaying 'USED' in the flag (ST11).

그런 다음 운영체제의 입/출력 드라이버(20)에서 결과패킷을 받을 수 있도록 인터럽트가 발생하면(ST12), 인터럽트를 받은 운영체제의 입/출력 드라이버(20)는 겟 큐의 프론트 값을 읽어 포인터 위치를 찾아낸 다음 플래그 값이 사용중이라는 'USED'로 표시되어 있으면 결과 패킷을 읽고, 이 패킷을 통해 결과 값이 들어있는 IOPA의 DPRAM 주소를 액세스하여 결과 메시지를 받는다. 그리고 플래그는 'FREE'로 표시하여 비사용중임으로 나타낸다(ST13). 그리고 프론트 값을 하나 증가시킨 뒤 해당 포인터의 플래그가 'USED'로 표시되어 사용중임을 나타내면, 상기한 겟 큐의 프론트 값을 읽은 후 IOPA의 DPRAM 주소를 액세스하여 결과 메시지를 받는 과정을 반복한다. 이 과정은 플래그가 'FREE'일 때까지 반복한다(ST14).Then, when an interrupt occurs to receive the result packet from the input / output driver 20 of the operating system (ST12), the input / output driver 20 of the interrupted operating system reads the front value of the get queue to find the pointer position. If the next flag value is marked as 'USED' in use, it reads the result packet, and accesses the DPRAM address of the IOPA containing the result value to receive the result message. The flag is marked as 'FREE' to indicate that it is not in use (ST13). If the flag of the pointer is marked as 'USED' after increasing the front value to indicate that it is in use, the process of reading the front value of the get queue and accessing the DPRAM address of the IOPA is repeated to receive the result message. This process is repeated until the flag is 'FREE' (ST14).

그리고 응용프로그램(10)으로 패킷전송의 결과에 대해 알려줌으로써 응용프로그램(10)의 메시지 전송 요구에 대한 결과를 출력하게 되는 것이다(ST15).Then, the application program 10 is notified of the result of the packet transmission, thereby outputting the result of the message transmission request of the application program 10 (ST15).

이처럼 본 발명은 이동통신 교환기 시스템과 운용자 작업터미널과의 인터페이스 상에 발생되는 장애요소를 제거하고 시스템의 안정성 및 신뢰성을 향상시키게 되는 것이다.As such, the present invention eliminates the obstacles generated on the interface between the mobile communication exchange system and the operator work terminal and improves the stability and reliability of the system.

이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Accordingly, the above description does not limit the scope of the invention as defined by the limitations of the following claims.

이상에서 살펴본 바와 같이, 본 발명에 의한 이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법은 포인터를 놓치게 되는 확률도 떨어질 뿐만 아니라, 설령 포인터를 놓치는 일이 발생하더라도 IOPA의 펌웨어로 메시지를 보내기 위해 사용하는 포인터 큐와 받기 위해 사용하는 포인터 큐를 위해 사용하는 리어, 프론트 값만 하나씩 증가시켜 주기만 하면 하나 정도의 유실은 무시하고 다음으로 진행하여 계속적인 운용자 터미널의 서비스가 가능하게 됨으로써, 이동통신 교환기 시스템과 운용자 작업터미널과의 인터페이스 상에 발생되는 장애요소를 제거하고 시스템의 안정성 및 신뢰성을 향상시킬 수 있는 효과가 있게 된다.As described above, the input / output driver control method in the operating system for a mobile communication switch according to the present invention not only decreases the probability of missing a pointer, but also sends a message to the firmware of the IOPA even if a missed pointer occurs. If you increase the pointer queue used for receiving and the rear and front values used for receiving the receiver queue one by one, ignoring one loss and proceeding to the next, the service of the operator terminal can be continued. It is effective to eliminate the obstacles generated on the interface between the system and the operator work terminal and to improve the stability and reliability of the system.

Claims (1)

이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법에 있어서,An input / output driver control method in an operating system for a mobile communication switch, 응용프로그램에서 메시지 전송 요구가 발생하면 메시지를 펌웨어가 읽어갈 수 있는 DPRAM의 지정된 버퍼에 기록하는 단계와;Writing a message to a designated buffer of DPRAM for firmware to read when a message transfer request occurs in an application program; 패킷 풀에서 패킷을 하나 할당하고 메시지의 종류에 따라 패킷내 정보를 꾸미고, 메시지를 기록해 둔 DPRAM의 주소를 패킷에 기록한 후 풋 큐의 리어 값을 하나 증가시켜 사용할 포인터를 획득하는 단계와;Allocating a packet in the packet pool, decorating information in the packet according to the type of message, recording an address of the DPRAM in which the message is recorded in the packet, and increasing a rear value of the foot queue to obtain a pointer to use; 상기 획득한 포인터에 패킷의 주소를 연결하고 플래그에는 사용중임을 표시해주는 단계와;Connecting the address of the packet to the obtained pointer and indicating that the flag is in use; 메시지를 가져갈 수 있도록 인터럽트가 발생하면 상기 풋 큐의 프론트 값을 이용하여 전송 받을 패킷을 담고 있는 포인터 위치를 파악하는 단계와;Identifying a pointer location containing a packet to be transmitted by using a front value of the foot queue when an interrupt occurs to take a message; 상기 플래그에 의해 보고 받을 패킷이 있는지 인지하고, 상기 포인터에 들어있는 패킷을 획득하고 이 패킷의 내용중에 실제 메시지가 기록되어 있는 DPRAM의 주소를 획득하는 단계와;Recognizing whether there is a packet to be reported by the flag, acquiring a packet included in the pointer, and obtaining an address of a DPRAM in which the actual message is recorded in the content of the packet; 상기 획득한 주소를 액세스하여 실제 메시지를 얻고, 이를 로컬 SRAM에 저장하고 플래그를 비사용중으로 표시한 후 로컬 SRAM의 내용을 디스플레이로 출력하는 단계와;Accessing the obtained address to obtain an actual message, storing it in a local SRAM, displaying a flag as not in use, and outputting the contents of the local SRAM to a display; 상기 메시지처리에 대한 결과 정보를 패킷에 구성하고, 겟 큐의 리어값을 하나 증가시켜 사용할 포인터를 획득하는 단계와;Constructing result information of the message processing in a packet, and increasing a rear value of a get queue by one to obtain a pointer to use; 상기 획득한 포인터에 결과 패킷의 주소를 연결하고 플래그에 사용중임을 표시하는 단계와;Associating an address of a result packet with the obtained pointer and indicating that the flag is in use; 상기 결과패킷을 받을 수 있는 인터럽트가 발생하면, 상기 겟 큐의 프론트값을 읽어 포인터 위치를 찾아내고, 결과 패킷을 통해 DPRAM 주소를 액세스하여 결과메시지를 수신하는 단계와;If an interrupt capable of receiving the result packet occurs, reading a front value of the get queue to find a pointer position, and accessing a DPRAM address through a result packet to receive a result message; 상기 결과 메시지를 수신하면 플래그를 비사용중으로 표시하고, 프론트 값을 하나 증가시킨 후 해당 포인터의 플래그가 비사용중으로 표시될 때까지 DPRAM 주소 액세스를 반복하여 상기 응용프로그램으로 패킷 전송의 결과를 출력해주는 단계를 포함하여 구성된 것을 특징으로 하는 이동통신 교환기용 운영체계에서의 입/출력 드라이버 제어방법.When the result message is received, the flag is marked as not in use, the front value is increased by one, and the DPRAM address access is repeated until the flag of the pointer is marked as not in use to output the result of packet transmission to the application program. Input / output driver control method in an operating system for a mobile communication switch, characterized in that it comprises a step.
KR1019980013653A 1998-04-16 1998-04-16 Method for controlling input/output driver in operating system using mobile communication exchange KR100272027B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980013653A KR100272027B1 (en) 1998-04-16 1998-04-16 Method for controlling input/output driver in operating system using mobile communication exchange

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980013653A KR100272027B1 (en) 1998-04-16 1998-04-16 Method for controlling input/output driver in operating system using mobile communication exchange

Publications (2)

Publication Number Publication Date
KR19990080405A KR19990080405A (en) 1999-11-05
KR100272027B1 true KR100272027B1 (en) 2000-11-15

Family

ID=19536334

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980013653A KR100272027B1 (en) 1998-04-16 1998-04-16 Method for controlling input/output driver in operating system using mobile communication exchange

Country Status (1)

Country Link
KR (1) KR100272027B1 (en)

Also Published As

Publication number Publication date
KR19990080405A (en) 1999-11-05

Similar Documents

Publication Publication Date Title
US7733892B2 (en) Buffer management method based on a bitmap table
CN110704355B (en) Method for receiving and processing 1553B bus data by using dual-port RAM
CN113535633A (en) On-chip cache device and read-write method
CN101707565A (en) Method and device for transmitting and receiving zero-copy network message
CN112532585A (en) Method, device and medium for inter-process message transmission
CN115827506A (en) Data writing method, data reading method, device, processing core and processor
KR100460108B1 (en) Operating Method of Processor Using Dual Port Memory
CN113259264B (en) Data transmission method and device, computer equipment and storage medium
KR100272027B1 (en) Method for controlling input/output driver in operating system using mobile communication exchange
CN101404797B (en) Storage method, storage management apparatus and storage system for long and short messages
CN101621861B (en) Method and device for processing command with telecommunication intelligent application card
CN100549928C (en) A kind of implementation method of virtual FIFO internal storage and control device
CN113992608B (en) Network transceiver packet path optimization method, device and storage medium
CN117499351A (en) Message forwarding device and method, communication chip and network equipment
JPH1031616A (en) Inter-process communication system
KR0154489B1 (en) Apparatus for receiving/sending ipc message in atm switching system and method thereof
CN115373875A (en) Method for encapsulating 1553B communication interface based on message queue under real-time operating system
JP2002297210A (en) Data transmitter
CN112559196B (en) Transmission method for sharing communication data between processes
US11269797B2 (en) Method and system for controlling data response with aid of attribute of transaction identifier
KR100406233B1 (en) Method of Communicating Between Process and Process in Switching System
KR100362480B1 (en) Method for accessing DMT chip with a Message protocol type
US6728857B1 (en) Method and system for storing and retrieving data using linked lists
JPH0689252A (en) Storage system having extension swapping function
KR100236517B1 (en) Memory architecture for assigning dual port random access memory

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: 20060817

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee