KR100308836B1 - 압축된프로그램을이용한다중프로세서시스템의초기화방법 - Google Patents

압축된프로그램을이용한다중프로세서시스템의초기화방법 Download PDF

Info

Publication number
KR100308836B1
KR100308836B1 KR1019980055684A KR19980055684A KR100308836B1 KR 100308836 B1 KR100308836 B1 KR 100308836B1 KR 1019980055684 A KR1019980055684 A KR 1019980055684A KR 19980055684 A KR19980055684 A KR 19980055684A KR 100308836 B1 KR100308836 B1 KR 100308836B1
Authority
KR
South Korea
Prior art keywords
program
compressed
processor
data
text
Prior art date
Application number
KR1019980055684A
Other languages
English (en)
Other versions
KR20000040132A (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 KR1019980055684A priority Critical patent/KR100308836B1/ko
Publication of KR20000040132A publication Critical patent/KR20000040132A/ko
Application granted granted Critical
Publication of KR100308836B1 publication Critical patent/KR100308836B1/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/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 OMP의 저장장치에서 목표가 되는 프로세서의 메모리까지 실행 프로그램을 적재하는 초기화 과정의 시간 단축과 OMP 프로세서의 부하를 줄일 수 있도록 한 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법에 관한 것으로, 다중 프로세서 시스템의 초기화하는 과정에 있어서 프로그램의 크기를 줄임으로써 초기화하는 과정에 소요되는 시간과 OMP 프로세서의 부하를 줄이고, 부하가 줄어듦으로써 동시에 초기화할 수 있는 프로세서의 개수도 늘어난다. 또 프로그램의 크기를 줄임으로써 백업에 필요한 시간의 단축과 디스크의 용량이나 마그네틱테이프의 개수도 줄어들어 효율적으로 시스템을 운용 관리할 수 있다.

Description

압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법
본 발명은 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법에 관한 것으로, 보다 상세하게는 다중 프로세서의 구조를 가지는 시스템에서 운용 및 유지보수 기능을 수행하는 프로세서(Operation and Maintenance Processor, 이하 OMP라 함)의 저장장치에 실행 파일을 저장하여 두고 목표(target) 프로세서의 초기화 필요시 OMP의 저장장치에서 목표 프로세서 관련 실행 파일을 통신 채널을 이용하여 목표 프로세서로 전송 및 메모리에 적재한 후 실행하는 방법에 관한 것이다.
일반적으로, 다중 프로세서 구조를 가지는 시스템에서 신규 기능이나 보완된 소프트웨어를 초기화하거나 시스템 전체를 초기화하는 방법에 있어서 외부에서 제작된 실행 프로그램 파일을 시스템 내부의 디스크나 마그네틱테이프 장치 등의 저장장치에 저장하게 된다. 이런 저장 장치는 시스템 전체의 운용 및 유지 보수를 담당하는 프로세서에서 관리하게 된다. 이러한 OMP에서는 특정 기능의 초기화나 프로세서의 초기화를 하면 OMP에서 저장장치에 있는 실행 프로그램에서 텍스트(text)와 데이터(data) 부분 그리고 약간의 부수적인 정보를 통신 채널을 통해 목표 프로세서에 전송하게 되고, 목표 프로세서에서는 부수적인 정보를 이용해 텍스트와 데이터를 해당 메모리의 특정 주소(address)에 적재하게 된다. 부분적으로 실행 프로그램을 프로세서에 적재하여 초기화하는 경우나 프로세서를 완전히 초기화하는 과정에서 목표 프로세서가 여러 개가 존재할 경우 OMP에서는 동시에 여러 프로세서에 프로그램을 전송하기 위해 같은 프로그램을 여러 통신 채널로 전송을 해야 한다. 동일한 프로그램을 여러 프로세서로 전송함으로써 저장장치로부터 프로그램을 여러 번 읽어 오는 동작의 횟수를 줄일 수 있게는 되나 하나의 프로세서에서 여러 프로세서로 전송함에 따라 지연이 생기게 되고, 그에 따라 OMP의 부하도 증가하게 된다. 그래서, 부하를 낮추기 위해서는 순차적으로 시간 간격을 두고 프로그램 전송을 위해 자원을 점유, 해제 동작을 반복하면서 프로그램을 전송해야 한다. 이런 원인들로 인해 초기화 과정에서 OMP의 부하가 증가하거나 초기화 시간이 길어지는 문제가 발생한다.
따라서 본 발명은 상기한 종래 사정을 감안하여 이루어진 것으로, OMP의 저장장치에서 목표가 되는 프로세서의 메모리까지 실행 프로그램을 적재하는 초기화 과정의 시간 단축과 OMP 프로세서의 부하를 줄일 수 있도록 한 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법을 제공함에 목적이 있다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 실시예에 따른 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법은, 운용 및 유지보수 기능을 수행하는 프로세서의 디스크에 응용 프로그램의 실행 프로그램/데이터를 저장하여 두고, 목표 프로세서의 초기화 또는 특정 기능을 초기화할 때 프로세서간의 통신 채널을 이용하여 목표 프로세서 자체 또는 목표 프로세서의 특정 기능을 초기화하는 방법에 있어서,
상기 운용 및 유지보수 기능을 수행하는 프로세서의 디스크에 초기화 관련 실행 프로그램을 압축 형태로 재구성하여 저장하는 과정과;
다수의 프로세서중에서 어느 한 프로세서로부터의 초기화 요청시 상기 운용 및 유지보수 기능을 수행하는 프로세서에서 디스크에 저장된 상기 압축 실행 프로그램을 읽어서 목표 프로세서로 전송하는 과정 및;
상기 목표 프로세서에서 상기 압축 실행 프로그램을 수신하여 복원한 후 메모리에 적재하는 과정을 구비한다.
상기와 같이 구성된 본 발명에 따르면, 여러 프로세서 중에서 임의의 프로세서가 초기화를 OMP의 전송 프로세스에 요청을 한 후에 해당 프로세서의 수신 프로세스는 대기 상태에 들어가고 OMP의 전송 프로세스는 해당 프로세서에 전송할 프로그램 목록을 작성하고 프로그램의 압축 여부를 검사하여 결과를 해당 프로세서의 수신 프로세스에 전송하고, 수신 프로세스는 헤더 정보에서 프로그램의 압축 여부를 판단하고 복원 프로세스를 대기시킨 후에 압축된 프로그램의 텍스트+데이터를 수신하면 버퍼에 별도로 수록하고 복원 프로세스가 버퍼의 내용을 읽어서 복원하여 메모리에 적재함으로써, 모든 프로그램의 메모리상의 적재가 종료한 후 파일을 실행한다.
도 1은 본 발명의 실시예에 따른 전자교환기(TDX-10A)시스템의 초기화 과정을 개략적으로 나타낸 도면.
도 2는 도 1에 도시된 압축 실행 파일의 구조를 상세히 나타낸 도면.
도 3은 본 발명의 실시예에 따른 초기화의 정보갱신 과정에서의 CPU시간활용동작의 흐름도이다.
* 도면의 주요부분에 대한 부호의 설명
1 : 컴퓨터 시스템 2 : 운용 및 유지보수 프로세서
3 : 목표 프로세서 4 : 컴퓨터 시스템의 CPU
5 : 압축 프로세스 6 : 컴퓨터 시스템의 디스크
7 : 원본 실행 프로그램 8 : 압축된 실행 프로그램
9 : 마그네틱테이프 10 : 교환기 디스크
11 : 디스크의 압축된 실행 프로그램
12 : 전송 프로세스 13 : IPC 네트워크
14 : 목표 프로세서의 수신 프로세스 15 : 버퍼
16 : 복원 프로세스 17 : 메인 메모리
이하, 본 발명의 실시예에 대해 첨부된 도면을 참조하여 보다 상세히 설명한다.
도 1은 본 발명이 적용되는 전전자교환기(TDX-10A)시스템의 초기화 과정의 개요도로서, 참조부호 1은 교환기 외부의 프로그램 제작용 컴퓨터 시스템이고, 2는 운용 및 유지보수 프로세서(OMP), 3은 목표 프로세서로서 NTP(Number Translation Processor), INP(Interface Control Processor), MMP(Man Machine Processor), ASP (Access Switching Processor)가 될 수 있고, 4는 상기 컴퓨터 시스템(1)의 CPU, 5는 상기 CPU(4)내의 압축 프로세스, 6은 컴퓨터 시스템(1)의 디스크, 7은 압축하기 이전의 원본 실행 프로그램, 8은 압축된 실행 프로그램, 9는 마그네틱테이프 장치, 10은 교환기 디스크, 11은 상기 교환기 디스크(10)에 저장된 압축 실행 프로그램, 12는 전송 프로세스, 13은 IPC(InterProcessor Connection) 네트워크, 14는 목표 프로세서(3)의 수신 프로세스, 15는 목표 프로세서(3)의 버퍼, 16은 목표 프로세서 (3)의 복원 프로세스, 17은 목표 프로세서(3)의 메인 메모리를 각각 나타낸다.
상기 도 1에서, 압축된 프로그램(8)은 교환기 외부의 시스템인 컴퓨터 시스템(1)에서 원본 실행 프로그램(7)을 압축 및 재구성하여 제작을 하고 교환기로의 수록은 마그네틱테이프 장치(9)를 이용해서 교환기의 디스크(10)에 저장을 한다. 교환기에서의 초기화는 OMP(2)의 전송 프로세스(12)가 디스크(10)에서 압축된 실행 프로그램을 읽어 프로그램의 압축 여부를 판단하고 그 정보를 목표 프로세서(3)의 수신 프로세스(14)에 IPC 네트워크(13)를 통해 전송한다. 수신 프로세스(14)는 프로그램의 압축 여부를 검사해 기존의 초기화 과정과 신규의 압축 프로그램을 이용한 초기화 과정을 수행할 지를 결정한다. 압축된 프로그램을 수신하면 프로그램의 압축된 텍스트+데이터부분을 버퍼(15)에 수록을 한다. 복원 프로세스(16)에서는 버퍼(15)에 기록된 내용을 읽어서 복원하고 텍스트/데이터의 정확한 복원 여부를 검증한 후 텍스트/데이터영역을 분리한다. 분리 후에는 목표 프로세서(3)의 메모리 영역에 적재하고 모든 프로그램이 적재되면 모든 실행 프로그램을 수행시킨다.
도 2는 본 발명의 실시예 설명에 채용되는 압축 실행 파일의 구조도로서, 실행 프로그램을 압축하여 재구성하는 과정에 대해 설명하고 있다. 동 도면에서 실행 프로그램을 압축하여 재구성하는 과정은 3단계로 나뉘어진다. 첫째로 압축된 프로그램의 헤더(25)는 원래의 헤더(21)에서 필요한 정보와 압축된 프로그램에 필요한 정보를 이용하여 재구성한다. 재구성한 헤더에 입력되는 정보는 매직 코드(magic code), 헤더 checksum, 압축된 텍스트+데이터영역의 checksum, 텍스트영역의 크기와 데이터영역의 크기, 텍스트와 데이터의 내용이 메모리에 적재될 주소이다. 둘째, 원래 실행 프로그램의 텍스트영역(22)과 데이터영역(23)의 내용은 각각의 영역을 별개의 영역으로 나누어 있지만 압축하는 과정에서는 하나의 영역(27)으로 간주하고 압축한다. BSS영역(24)에 있는 정보는 필요 없으므로 삭제한다. 셋째, 헤더 (25)와 텍스트+데이터영역(27)을 만드는 과정에서 헤더(25)와 텍스트+데이터영역 (27) 사이에 매직 코드(magic code;26)가 추가로 기록된다. 텍스트+데이터의 내용에 대한 CRC(Cyclic Redundancy Checks)영역(28) 제작과 압축하기 이전의 텍스트영역의 크기와 데이터영역의 크기의 합(29)을 기록한다.
도 3은 본 발명에 따른 초기화의 정보갱신 과정에서의 CPU시간활용동작의 흐름도이다.
먼저, 여러 프로세서중에서 임의의 프로세서가 초기화를 OMP의 전송 프로세서에 요청(31)한 후에 해당 프로세서의 수신 프로세서는 대기 상태로 들어가고, 그 OMP의 전송 프로세서는 해당 프로세서에 전송할 프로그램 목록을 작성하고 프로그램의 압축 여부를 검사하여 결과(헤더 정보 포함)를 해당 프로세서의 수신 프로세서에 전송한다(32). 그에 따라, 그 수신 프로세서는 헤더 정보에서 프로그램의 압축 여부를 판단하고 복원 프로세서를 대기시키고 나서(33), 그 압축된 프로그램을 받기 위해 전송 프로세서로 그 압축된 파일을 송신하라고 요구메시지를 보내게 된다(34). 그 결과 전송 프로세서에서는 그 압축된 파일을 수신 프로세서로 송신하게 됨에 따라 수신 프로세서에서는 압축된 프로그램의 텍스트+데이터를 수신하고 수신된 텍스트+데이터를 버퍼에 별도로 수록한다(36). 이후 대기중이던 복원 프로세서가 버퍼의 내용을 읽어서 복원하여 메모리에 적재한다(37). 복원 프로세서는 수신 프로세서로 파일 복원이 완료되었음을 알리고(38), 수신 프로세서는 전송 프로세서로 파일 수신이 완료되었음을 알리게 된다(39). 모든 프로그램의 메모리상의 적재가 종료되면 파일을 실행시키게 된다.
여기서, 종래의 프로그램의 전송 결과는 현재의 프로그램 전송이 종료된 후에 전송 프로세스가 아이들("IDLE")한 상태에서 수신 프로세스에서 송신 프로세스로 결과를 통보하면(39) 현재 프로그램에 대한 전송 결과가 갱신이 되었으나, 이 시점에서 정보 갱신 작업을 수행하지 않고 전송프로세스가 다음 프로그램을 전송한 후의 아이들한 상태의 시간을 이용한다. 그 수행과정을 설명하면 다음과 같다. 하나의 프로그램의 전송이 완료되면 결과를 갱신하지 않고 다음 프로그램을 전송하고 (35) 수신 프로세스에서는 버퍼에 프로그램을 수록한다(36). 복원 프로세스에서는 복원 작업이 종료되면 완료 결과(38)를 수신 프로세스로 통보하고 수신 프로세스는 프로그램 수신 완료(39) 결과를 통보한다. 이 시점까지는 전송 프로세스에서는 아이들한 상태로 있게 된다. 이 상태에서 현재 프로그램의 전송결과가 통보되기 전까지 이전에 전송한 프로그램의 전송 결과를 갱신하는 작업을 수행한다. 이 방법을 적용함으로써 목표 프로세서에서 복원 작업을 하는 동안 아이들한 상태에 있는 OMP의 CPU시간을 활용함으로써 여러 프로세서, 프로그램의 정보를 갱신하기 위한 CPU시간을 줄이게 된다.
이상 설명한 바와 같은 본 발명에 의하면, 다중 프로세서 시스템의 초기화하는 과정에 있어서 프로그램의 크기를 줄임으로써 초기화하는 과정에 소요되는 시간과 OMP 프로세서의 부하를 줄이고, 부하가 줄어듦으로써 동시에 초기화할 수 있는 프로세서의 개수도 늘어난다. 또 프로그램의 크기를 줄임으로써 백업에 필요한 시간의 단축과 디스크의 용량이나 마그네틱테이프의 개수도 줄어들어 효율적으로 시스템을 운용 관리할 수 있다.
한편 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있다.

Claims (4)

  1. 운용 및 유지보수 기능을 수행하는 프로세서의 디스크에 응용 프로그램의 실행 프로그램/데이터를 저장하여 두고, 목표 프로세서의 초기화 또는 특정 기능을 초기화할 때 전송프로세스와 수신프로세서간의 통신 채널을 이용하여 데이터를 전송하고 복원프로세스를 이용하여 목표 프로세서 자체 또는 목표 프로세서의 특정 기능을 초기화하는 방법에 있어서,
    목표 프로세서에서 실행시키고자 하는 실행 프로그램의 텍스트와 데이터를 압축시켜 압축 실행프로그램을 생성시키고 압축 실행프로그램의 헤더정보를 생성시킨 후, 상기 압축 실행프로그램과 헤더정보에 기초하여 압축 파일을 생성시키는 단계와;
    상기 목표 프로세스에서 수행되는 다수의 프로세서중에서 임의의 어느 한 프로세서로부터 초기화 요청이 있는 경우 상기 압축 파일을 생성시키는 단계에서 생성된 압축 파일을 상기 통신채널을 통해 목표 프로세서로 전송시키는 단계와;
    상기 목표 프로세서로 전송시키는 단계로부터 전송된 압축 파일을 수신하고, 상기 수신된 압축 파일의 헤더정보에 기초하여 실행 프로그램을 복원한 후 메모리에 적재시켜 실행하는 단계를 구비하여 구성된 것을 특징으로 하는 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법
  2. 제 1항에 있어서,
    상기 압축 파일을 생성시키는 단계는 원본 실행 프로그램의 헤더 정보에 기초하여 전송/수신 프로세스의 압축 실행프로그램 여부를 검사하기 위한 매직코드, 압축 후 재구성된 헤더 내용의 훼손여부를 검사하기 위한 헤더 checksum, 텍스트+데이터 내용의 훼손여부를 검사하기 위한 압축된 텍스트+데이터영역의 checksum, 텍스트영역의 크기와 데이터영역의 크기, 텍스트와 데이터가 적재될 메모리주소 정보를 산출하고 헤더 정보에 포함시키는 단계를 포함하는 것을 특징으로 하는 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법.
  3. 제 1항에 있어서,
    상기 압축 파일을 생성시키는 단계는 텍스트+데이터의 내용에 대한 CRC와, 압축하기 이전의 텍스트영역의 크기와 데이터영역의 크기의 합을 나타내는 정보를 포함시키는 단계를 포함하는 것을 특징으로 하는 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법.
  4. 제 1항에 있어서,
    상기 목표 프로세서로 전송시키는 단계는 현재의 압축 프로그램을 전송한 후아이들상태에 있는 동안, 바로 직전에 전송한 압축 프로그램의 전송결과를 데이터베이스에 갱신하여 등록시키는 단계를 포함하는 것을 특징으로 하는 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법.
KR1019980055684A 1998-12-17 1998-12-17 압축된프로그램을이용한다중프로세서시스템의초기화방법 KR100308836B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980055684A KR100308836B1 (ko) 1998-12-17 1998-12-17 압축된프로그램을이용한다중프로세서시스템의초기화방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980055684A KR100308836B1 (ko) 1998-12-17 1998-12-17 압축된프로그램을이용한다중프로세서시스템의초기화방법

Publications (2)

Publication Number Publication Date
KR20000040132A KR20000040132A (ko) 2000-07-05
KR100308836B1 true KR100308836B1 (ko) 2001-12-17

Family

ID=19563362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980055684A KR100308836B1 (ko) 1998-12-17 1998-12-17 압축된프로그램을이용한다중프로세서시스템의초기화방법

Country Status (1)

Country Link
KR (1) KR100308836B1 (ko)

Also Published As

Publication number Publication date
KR20000040132A (ko) 2000-07-05

Similar Documents

Publication Publication Date Title
EP0106213B1 (en) Decentralized information processing system and initial program loading method therefor
KR100987746B1 (ko) 작업 관리 장치, 클러스터 시스템 및 작업 관리 프로그램을기록한 컴퓨터 판독 가능한 기록 매체
US6910158B2 (en) Test tool and methods for facilitating testing of duplexed computer functions
JP2644780B2 (ja) 処理依頼機能を持つ並列計算機
US6622259B1 (en) Non-disruptive migration of coordinator services in a distributed computer system
CN113641413B (zh) 目标模型加载更新方法及装置、可读介质和电子设备
WO2020060620A1 (en) Storage segment server covered cache
US10387274B2 (en) Tail of logs in persistent main memory
US5450567A (en) Method and system for program change in distributed data processing system
US20070067488A1 (en) System and method for transferring data
KR100308836B1 (ko) 압축된프로그램을이용한다중프로세서시스템의초기화방법
US8359602B2 (en) Method and system for task switching with inline execution
CN111752911A (zh) 一种基于Flume的数据传输方法、系统、终端及存储介质
EP3853734A1 (en) Applying a log to storage segments
JP3252464B2 (ja) 仮想計算機システム
KR100388612B1 (ko) 교환 시스템에서의 패키징 압축 방법
WO2024066904A1 (zh) 一种容器创建方法、系统及节点
JP2000163300A (ja) バックアップシステム
CN117130591A (zh) 一种代码生成方法、系统及相关设备
JPH06295289A (ja) 複数計算機におけるブート方法
US20030097489A1 (en) Fast socket technology implementation using semaphores and memory maps
KR920003279B1 (ko) 데이타 처리장치의 os 및 nos 로딩방법
KR100342684B1 (ko) 이중화된 프로세서에서 스탠바이 프로세서의 로딩 방법
CN116860881A (zh) 数据同步方法、数据同步装置和电子装置
KR100462860B1 (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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090901

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee