KR101119458B1 - 비동기 통신 기술 - Google Patents

비동기 통신 기술 Download PDF

Info

Publication number
KR101119458B1
KR101119458B1 KR1020057014750A KR20057014750A KR101119458B1 KR 101119458 B1 KR101119458 B1 KR 101119458B1 KR 1020057014750 A KR1020057014750 A KR 1020057014750A KR 20057014750 A KR20057014750 A KR 20057014750A KR 101119458 B1 KR101119458 B1 KR 101119458B1
Authority
KR
South Korea
Prior art keywords
task
block
instruction
serial
communication
Prior art date
Application number
KR1020057014750A
Other languages
English (en)
Other versions
KR20050105462A (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 톰슨 라이센싱
Publication of KR20050105462A publication Critical patent/KR20050105462A/ko
Application granted granted Critical
Publication of KR101119458B1 publication Critical patent/KR101119458B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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

Landscapes

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

Abstract

메인 프로세서(11)는 직렬 통신에 필요한 필수적인 작업을 수립하는 것에 의해 하나 이상의 외부 디바이스와의 직렬 통신을 관리한다. 예를 들어, 이들 작업은 (1) 직렬 디바이스 처리와, (2) 프로토콜 캡슐화와, (3) 외부 디바이스와의 낮은 레벨의 통신을 포함할 수 있다. 타이밍 요건이 충족되도록 각 작업에는 우선순위가 할당되어 메인 프로세서의 프로세서 효율을 최대화시킨다. 작업의 완료시에, 더 낮은 각 우선순위 작업은 데이터 통신과 데이터 처리를 동기화하기 위해 그 다음 더 높은 우선순위 작업의 실행을 개시한다.

Description

비동기 통신 기술 {ASYNCHRONOUS COMMUNICATIONS TECHNIQUE}
본 발명은 디바이스 사이에 비동기 직렬 통신을 수행하기 위한 기술에 관한 것이다.
본 출원은, 그 내용이 본 명세서에 병합되어 있는, 2003년 2월 11일에 출원된 미국 가특허출원 일련 번호 60/446,524와, 2003년 3월 14일에 출원된 60/454,734에 대한 35 U.S.C. 119(e) 하에서의 우선권을 청구한다.
내장된 시스템은 종종 다른 디바이스와의 비동기 직렬 통신의 일부 형태를 사용한다. 일반적으로, 코프로세서(coprocessor)는 통신에 사용되는 직렬 프로토콜(들)의 복잡한 상세(detail)를 관리한다. 코프로세서가 없는 경우, 직렬 디바이스를 사용하는 작업은 메인 프로세서에 떨어져서 귀중한 자원을 소비하며 성가신 우선순위와 타이밍 요건을 부과시킨다. 대부분의 직렬 프로토콜은 일반적으로 엄격한 타이밍 요건을 가지고 있다. 코프로세서가 없다면, 직렬 통신 작업을 처리하는 메인 프로세서는 프로세서의 성능을 이용하기 위해 시스템 하드웨어의 상세한 지식을 알고 있을 필요가 있다. 시스템 하드웨어에 관한 지식은 종종 에러를 유발하기 쉬운 낮은 레벨의 디바이스 드라이버의 루틴에 관해 알 것을 수반한다. 이 점에서, 메인 프로세서는 자기 자신의 호환(compliance)을 보장하는 것 뿐만 아니라 직렬 디바이스의 호환을 보장하여야 한다. 프로세서 우선순위에 대해 일반적인 접근법을 취하면 프로세서 자원을 낭비할 수 있다. 작업 우선순위를 너무 낮게 설정하면 더 높은 우선순위에서 실행하는 다른 작업으로부터 기인하는 작업 우선권(task pre-emption)으로 인해 그 데드라인을 놓칠 수 있다. 작업 우선순위를 너무 높게 설정하면 중요한 작업을 방해하고 프로세서 시간을 낭비할 수 있다.
따라서, 전술된 단점을 해소하는, 코프로세서가 없는 경우 비동기 직렬 통신을 수행하는 기술이 요구된다.
간단하게, 본 발명의 원리의 바람직한 실시예에 따라, 메인 프로세서에 의해 직렬 통신을 관리하는 방법이 제공된다. 본 방법은 직렬 통신에 필요한 필수 작업을 수립함으로써 시작한다. 예를 들어, 이들 작업은 (1) 직렬 디바이스 처리와 (2) 프로토콜 캡슐화와 (3) 외부 디바이스와의 낮은 레벨의 통신을 포함할 수 있다. 메인 프로세서의 프로세서 효율을 최대화하면서 타이밍 요건이 충족되도록 각 작업에는 우선순위가 할당된다. 완료시에 더 낮은 각 우선순위 작업이 데이터 통신과 데이터 처리를 동기화하도록 그 다음 더 높은 우선순위 작업의 실행을 개시한다.
도 1은 직렬 통신에 관련된 다른 작업과 연관된 논리 블록(객체) 세트 각각을 도시하는 개략도.
도 2는 도 1의 작업에서 수행되는 이벤트의 시퀀스를 도시하는 타이밍도.
도 1은 전용 코프로세서에 대한 요구 없이 하나 이상의 주변 디바이스(미도시)와 직렬 통신을 효과적으로 관리하기 위한 본 발명의 원리에 따른 시스템(10)의 블록도를 도시한다. 본 시스템(10)은 명령과 연관 데이터 파일의 세트 형태를 취하는 제 1 블록(12)을 가지는 메인 프로세서(11)를 포함한다. 이후 본 명세서에서 "디바이스 관리자(DeviceManager)"라고도 불리우는 제 1 블록(12)은, 프로세서(10)가 직렬 포트(13)를 통해 통신하고자 하는 직렬 디바이스(들)(미도시)를 포함하는 어드레스 공간의 폴링(polling)을 포함하는, 직렬 통신과 관련된 제 1 동작 세트를 수행한다. 존재할 때, 직렬 포트(13)를 통해 메인 프로세서(11)에 연결된 각 직렬 디바이스는, 디바이스 관리자(12)가 통신을 위해 요구되는 그러한 디바이스로부터 데이터를 요청할 수 있도록 응답한다. 식별된 직렬 디바이스(들)에 대해, 디바이스관리자 블록(12)은 날짜를 업데이트하기 위해 식별된 디바이스(들)의 폴링을 개시하는 디바이스 관리자 작업(14)으로서 도 1에 도시된 작업을 생성한다. 디바이스 관리자 작업(14)은 적어도 다른 시스템 작업에 비해 더 낮은 우선순위로 실행된다. 이후 논의되는 바와 같이, 작업{예를 들어, 디바이스 관리자 작업(14)}은 동작의 성능으로 한정되는 반면, 객체{예를 들어, 디바이스 관리자(12)}는 작업에 의해 사용하기 위한 기능 및/또는 데이터를 제공한다.
프로세서(11) 내에서 이후 직렬 프로토콜 블록이라고도 불리우는 제 2 블록(15)은 직렬 포트(13)를 통해 외부 디바이스(들)와 통신하는데 사용되는 직렬 프로토콜(들)의 상세(detail)를 캡슐화한다. 그러한 직렬 프로토콜의 일례는 esTributary 프로토콜이지만, 다른 프로토콜도 존재하며 용이하게 사용될 수 있다. 이 직렬 프로토콜 블록(SerialProtocol block)(15)은, 프로토콜 스펙(specification)에 따라 발신 메시지를 포맷하며 발신 메시지가 프로토콜 타이밍 요건에 따르는 것을 보장하는데 사용되는 기능을 제공한다. 이 직렬 프로토콜 블록(15)은 프로토콜 스펙과 프로토콜 타이밍 요건에 수신 메시지의 호환을 보장하도록 하는 기능을 또한 포함한다. 이 직렬 프로토콜 블록(15)은 이후 직렬 프로토콜 작업(SerialProtocolTask)이라고도 불리우는 작업(16)을 생성하여 특정 프로토콜 요건에 따라 직렬 포트(13)를 통해 외부 디바이스(들)로 데이터를 기록하고 이 외부 디바이스(들)로부터 데이터를 판독하는 것을 제어한다. 직렬 프로토콜 작업(15)은 이 작업이 할당된 타이밍 데드라인을 충족하도록 보장하기 위해 충분히 높은 우선순위로 실행된다.
도 1의 메인 프로세서(11)는 직렬 포트(13)와 낮은 레벨의 통신을 캡슐화하는 직렬 포트 블록(SerialPort block)이라고도 불리우는 제 3 블록(17)을 또한 포함한다. 직렬 포트 블록(17)은 이 블록의 구조를 보다 휴대가능하고 재사용할 수 있게 하는 직렬 포트(13)의 개념(즉, 모델)을 생성하는데 사용된다. 직렬 포트 블록(17)은 직렬 포트(13)로부터 데이터를 판독하고 이 직렬 포트(13)로 데이터를 기록하는 기능을 제공하며 판독 동작시 타임아웃(timeout)을 구현하는 일을 또한 담당한다. 직렬 포트 블록(17)은 직렬 포트(13)를 통해 프로세서(11)로 송신되는 모든 직렬 데이터를 판독하는 이후 직렬 판독 작업(SerialReadTask)이라고도 불리우는 작업(18)을 생성한다. 이 때문에, 직렬 판독 작업은, 이 작업이 직렬 포트를 사용하여 임의의 프로토콜에 의하여 요구되는 타이밍 데드라인을 충족하는 것을 보장 할 만큼 충분히 높은 우선순위로 실행되어야 한다.
도 2는 본 발명의 원리에 따른 직렬 통신 기술의 잇점을 예시하는 직렬 통신을 개시하는 것과 연관된 이벤트 시퀀스를 예시하는 타이밍도를 도시한다. 직렬 통신 프로세서는, 도 1의 디바이스 관리자 작업(14)이 디바이스 관리자(12)의 폴(90) 기능을 호출(call)하여 도 1의 직렬 포트(13)에 대응하는 어드레스 폴링(Polling)을 개시할 때 시작한다. 다시 폴(100)은 직렬 프로토콜(SerialProtocol)(15)의 폴(100) 기능을 호출한다. 다시 폴(90)은, 직렬 프로토콜 블록(SerialProtocol block)(15)에 목적지 어드레스를 복제하는 데이터 설정(SetData)(110) 기능을 호출한 후 직렬 포트(SerialPort)(17)의 semGive (120) 기능을 호출한다.
일부 이전의 폴 이벤트 개시시 또는 이후에, 직렬 프로토콜 작업(16)은 수기 신호(semaphore)를 기다리는 semTake(130)에서 차단(실행 중지)한다. semGive(120) 기능은 유효 데이터를 가지고 이제 실행할 수 있는 직렬 프로토콜 작업(16)을 트리거한다. 이것으로 도 1의 직렬 포트(13)에 폴링 데이터를 기록하는 Write(140) 기능이 호출된다. 이후, Read (150) 기능이 호출된다. 다시 Read(150) 기능은 semTake(160) 기능을 호출하여 170에서 트리거될 때까지 직렬 프로토콜 작업(16)이 차단(실행 중지)되게 한다.
직렬 판독 작업(18)은 read(180) 기능에서 도 1의 직렬 포트(13)로부터 들어오는 데이터를 계속적으로 찾는다. 임의의 데이터가 이용가능할 때 이들 데이터는 직렬 포트 블록(17)으로 복제된다. semTake(160) 기능은 Read(150)에서 요청된 데이터가 이용가능하거나 또는 지정된 시간이 경과한 때 170에서 반환된다(return). 이것은 직렬 프로토콜 작업(16)이 실행되게 트리거하여 폴 데이터(판독이 성공적이라면)를 반환하거나 또는 에러 표시(타임 리미트가 초과되었다면)를 디바이스 관리자 작업(14)에 반환한다.
직렬 판독 작업(SerialReadTask)(18)이 높은 시스템 우선순위로 실행하므로, 이 직렬 판독 작업은 타이밍 데드라인을 충족하도록 보장될 수 있으나, 이 직렬 판독 작업은 데이터가 도 1의 직렬 포트(13)로부터 이용가능하게 될 때에만 실행되므로, 이 직렬 판독 작업은 결코 시스템 자원을 불필요하게 소비하지 않게 된다.
이와 유사하게, 직렬 프로토콜 작업(SerialProtocolTask)(16)이 높은 시스템 우선순위로 실행하므로, 이 직렬 프로토콜 작업도 또한 자기의 타이밍 데드라인을 충족하도록 보장될 수 있다. 이 직렬 프로토콜 작업은 폴 기능이 요구될 때에만 실행하도록 트리거되므로, 이 직렬 프로토콜 작업이 요구되지 않을 때에는 시스템 자원을 불필요하게 소비하지 않게 된다. 직렬 프로토콜 작업이 활성 상태이고 직렬 디바이스로부터의 응답을 기다리고 있을 때 이 직렬 프로토콜 작업은 다시 직렬 포트 블록(SerialPort block)(17)에서 차단(중지 및 대기)되어 직렬 프로토콜 작업이 다시 실행되게 트리거하여 통신 사이클의 이 단계 동안 불필요한 시스템 자원을 소비하지 않는다. 폴링은 직렬 디바이스 그룹과 통신하는 하나의 방법이다. 다른 옵션은 데이터가 이용가능할 때 직렬 포트가 프로세서를 인터럽트하게 할 수 있다. 하나의 직렬 디바이스만이 프로세서에 부착되어 있다면, 이 프로세서는 어떤 폴링이나 어드레싱도 없이 직렬 디바이스와 통신할 수 있다. 본 발명의 기술은 모든 이들 메커니즘에 적용가능하다. 전체 직렬 통신 사이클은 낮은 우선순위의 디바이스 관리자 작업(14)에 의해 차단된다. 이것은 시스템이 직렬 통신 사이클 동안 직렬 프로토콜의 타이밍 요건을 충족하게 한다. 그러나, 이들 직렬 통신 사이클은, 시스템 내 다른 더 높은 우선순위의 작업이 디바이스 관리자 작업(14)이 실행하도록 허용될 때에만 실행하도록 허용된다.
전술된 사항은 통신 작업을 관리하는 전용 코프로세서에 대한 요구없이 직렬 통신을 수행하는 기술을 기술한다.
전술된 바와 같이, 본 발명은 디바이스 사이에 비동기 직렬 통신에 이용가능하다.

Claims (15)

  1. 적어도 하나의 외부 통신 디바이스와 메인 프로세서에 의한 비동기 직렬 통신을 용이하게 하기 위한 방법에 있어서,
    제 1 명령 블록, 제 2 명령 블록 및 제 3 명령 블록을 포함하는 일 세트의 명령 블록들을 상기 메인 프로세서에 수립하는 단계로서, 각 명령 블록은 직렬 통신을 수행하기 위해 상기 메인 프로세서에 의해 실행하기 위한 적어도 하나의 명령을 포함하며, 상기 제 1 명령 블록은 제 1 작업을 개시하고 상기 제 2 명령 블록은 제 2 작업을 개시하고 상기 제 3 명령 블록은 제 3 작업을 개시하고, 서로 다른 블록의 작업들이 계층적 우선순위를 갖는, 수립 단계와,
    실행될 상기 명령 블록들에 더 높은 우선순위 작업이 존재하는지 여부를 결정하는 단계와,
    각 블록 내 적어도 하나의 작업이 각 우선순위 레벨에서 실행하도록 상기 명령 블록들을 실행하는 단계와,
    대응하는 낮은 우선순위 작업을 완료시에만 더 높은 각 우선순위 작업을 트리거하는 단계
    를 포함하는, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  2. 제 1 항에 있어서, 상기 제 1 명령 블록은 외부 디바이스와 통신을 수립하는 디바이스 관리자(Device Manager) 블록인, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  3. 제 2 항에 있어서, 상기 제 1 작업은 업데이트를 위한 어드레스 폴링(polling)을 개시하는 디바이스 관리자 작업인, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  4. 제 1 항에 있어서, 상기 제 2 명령 블록은 외부 디바이스와 통신하는데 사용되는 각 직렬 프로토콜 상세(detail)를 구체화(incorporate)하는 직렬 프로토콜(Serial Protocol) 블록인, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  5. 제 4 항에 있어서, 상기 제 2 작업은 외부 디바이스에 데이터를 기록하고 상기 외부 디바이스로부터 데이터를 판독하는 것을 제어하는 직렬 프로토콜 작업인, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  6. 제 1 항에 있어서, 상기 제 3 명령 블록은 직렬 포트와 낮은 레벨의 통신을 캡슐화(encapsulate)하는 직렬 포트(Serial Port) 블록인, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  7. 제 6 항에 있어서, 상기 제 3 작업은 외부 디바이스로부터 데이터를 판독하는 직렬 판독 작업(Serial Read Task)인, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  8. 적어도 하나의 외부 통신 디바이스와 메인 프로세서에 의해 비동기 직렬 통신을 용이하게 하기 위한 방법에 있어서,
    직렬 디바이스 처리를 위한 제 1 명령 블록과, 프로토콜 캡슐화를 위한 제 2 명령 블록과, 외부 디바이스와의 낮은 레벨의 통신을 위한 제 3 명령 블록을 상기 메인 프로세서에 수립하는 단계로서, 각 명령 블록은 상기 메인 프로세서에 의해 실행하기 위한 적어도 하나의 명령을 포함하고 미리 정해진 우선순위로 실행하는 적어도 하나의 작업을 가지고 있고, 상기 제 1 명령 블록은 제 1 작업을 개시하고 상기 제 2 명령 블록은 제 2 작업을 개시하고 상기 제 3 명령 블록은 제 3 작업을 개시하고, 서로 다른 블록의 작업이 계층적 우선순위를 갖는, 수립 단계와,
    실행될 상기 명령 블록들에 더 높은 우선순위 작업이 존재하는지 여부를 결정하는 단계와,
    각 명령 블록 내 적어도 하나의 작업이 각 우선순위 레벨에서 실행하도록 상기 제 1, 제 2, 및 제 3 명령 블록을 실행하는 단계와,
    대응하는 낮은 우선순위 작업을 완료시에만 더 높은 각 우선순위 작업을 트리거하는 단계
    를 포함하는, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  9. 제 8 항에 있어서, 상기 제 1 명령 블록은 업데이트를 위한 어드레스 폴링을 개시하는 상기 제 1 작업을 포함하는, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  10. 제 8 항에 있어서, 상기 제 2 명령 블록은 외부 디바이스에 데이터를 기록하고 이 외부 디바이스로부터 데이터를 판독하는 것을 제어하는 상기 제 2 작업을 개시하는, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  11. 제 8 항에 있어서, 상기 제 3 명령 블록은 외부 디바이스로부터 데이터를 판독하는 상기 제 3 작업을 개시하는, 비동기 직렬 통신을 용이하게 하기 위한 방법.
  12. 적어도 하나의 외부 통신 디바이스와 비동기 직렬 통신을 용이하게 하기 위한 메인 프로세서를 포함하는 시스템에 있어서,
    직렬 디바이스 처리를 위해 상기 프로세서에 의해 실행되는 데이터 및 명령의 제 1 블록과,
    프로토콜 캡슐화를 위해 상기 프로세서에 의해 실행되는 데이터 및 명령의 제 2 블록과,
    적어도 하나의 외부 디바이스와의 낮은 레벨의 통신을 위해 상기 프로세서에 의해 실행되는 데이터 및 명령의 제 3 블록
    을 포함하며,
    여기서 상기 제 1 블록은 제 1 작업을 개시하고 상기 제 2 블록은 제 2 작업을 개시하고 상기 제 3 블록은 제 3 작업을 개시하고, 서로 다른 블록의 작업이 계층적 우선순위를 갖고 있으며, 실행될 상기 명령 블록들에 더 높은 우선순위 작업이 존재하는지 여부가 결정되며, 상기 프로세서는 각 블록 내 적어도 하나의 작업이 각 우선순위 레벨에서 실행하도록 상기 제 1, 제 2, 및 제 3 블록을 실행하며, 더 높은 각 우선순위 작업은 대응하는 낮은 우선순위 작업의 완료시에만 트리거되는,
    비동기 직렬 통신을 용이하게 하기 위한 메인 프로세서를 포함하는 시스템.
  13. 제 12 항에 있어서, 상기 제 1 작업은 업데이트를 위한 어드레스 폴링을 개시하는, 비동기 직렬 통신을 용이하게 하기 위한 메인 프로세서를 포함하는 시스템.
  14. 제 12 항에 있어서, 상기 제 2 작업은 외부 디바이스로 데이터를 기록하고 상기 외부 디바이스로부터 데이터를 판독하는 것을 제어하는, 비동기 직렬 통신을 용이하게 하기 위한 메인 프로세서를 포함하는 시스템.
  15. 제 12 항에 있어서, 상기 제 3 작업은 외부 디바이스로부터 데이터를 판독하는, 비동기 직렬 통신을 용이하게 하기 위한 메인 프로세서를 포함하는 시스템.
KR1020057014750A 2003-02-11 2004-02-09 비동기 통신 기술 KR101119458B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US44652403P 2003-02-11 2003-02-11
US60/446,524 2003-02-11
US45473403P 2003-03-14 2003-03-14
US60/454,734 2003-03-14
PCT/US2004/003701 WO2004072852A1 (en) 2003-02-11 2004-02-09 Asynchronous communications technique

Publications (2)

Publication Number Publication Date
KR20050105462A KR20050105462A (ko) 2005-11-04
KR101119458B1 true KR101119458B1 (ko) 2012-03-16

Family

ID=32871989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057014750A KR101119458B1 (ko) 2003-02-11 2004-02-09 비동기 통신 기술

Country Status (7)

Country Link
US (1) US8631176B2 (ko)
EP (1) EP1593040A4 (ko)
JP (2) JP2006518902A (ko)
KR (1) KR101119458B1 (ko)
CN (1) CN1774696B (ko)
CA (1) CA2514662A1 (ko)
WO (1) WO2004072852A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100535862C (zh) * 2004-11-30 2009-09-02 皇家飞利浦电子股份有限公司 优先化任务之间的有效切换
US20090083738A1 (en) * 2007-09-25 2009-03-26 Microsoft Corporation Automated data object set administration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4800521A (en) * 1982-09-21 1989-01-24 Xerox Corporation Task control manager
US5247671A (en) * 1990-02-14 1993-09-21 International Business Machines Corporation Scalable schedules for serial communications controller in data processing systems
US6438146B1 (en) * 1998-04-13 2002-08-20 International Business Machines Corporation Multiplexed asynchronous serial communication systems methods and computer program products

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590288A (en) * 1991-07-30 1996-12-31 Restaurant Technology, Inc. Distributed data processing system and method utilizing peripheral device polling and layered communication software
US6275864B1 (en) * 1991-08-13 2001-08-14 Storage Technology Corporation Matrix switch for a network management system
US6353857B2 (en) * 1997-03-31 2002-03-05 Intel Corporation Controllerless modem
US6230118B1 (en) * 1997-06-30 2001-05-08 Cirrus Logic, Inc. DOS based application supports for a controllerless modem
JPH11259410A (ja) * 1998-03-13 1999-09-24 Canon Inc 情報処理装置及び情報処理装置における接続装置制御方法並びに記憶媒体
US6360281B1 (en) * 1998-05-29 2002-03-19 3Com Corporation System and method for communicating with a serial communications device using multiple virtual ports
JP3775135B2 (ja) * 1999-10-15 2006-05-17 日産自動車株式会社 マルチタスク処理システム
WO2002054548A1 (fr) * 2000-12-28 2002-07-11 Matsushita Electric Industrial Co., Ltd. Module laser a longueur d'onde plus courte et procede de fabrication de ce module laser
WO2002069544A2 (en) * 2001-02-26 2002-09-06 Maple Optical Systems, Inc. Packet transmission scheduling in a data communication network
CN1131482C (zh) * 2001-06-01 2003-12-17 北京四方同创保护与控制设备有限公司 广义异步串行通信协议数据链路层软件接口方法
JP4015898B2 (ja) * 2002-07-26 2007-11-28 松下電器産業株式会社 プログラム実行装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4800521A (en) * 1982-09-21 1989-01-24 Xerox Corporation Task control manager
US5247671A (en) * 1990-02-14 1993-09-21 International Business Machines Corporation Scalable schedules for serial communications controller in data processing systems
KR950002713B1 (ko) * 1990-02-14 1995-03-24 인터내셔널 비지네스 머신즈 코포레이션 인터페이스 시스템 및 데이타 전송 제어방법
US6438146B1 (en) * 1998-04-13 2002-08-20 International Business Machines Corporation Multiplexed asynchronous serial communication systems methods and computer program products

Also Published As

Publication number Publication date
JP2011048844A (ja) 2011-03-10
US8631176B2 (en) 2014-01-14
EP1593040A1 (en) 2005-11-09
CA2514662A1 (en) 2004-08-26
WO2004072852A1 (en) 2004-08-26
JP2006518902A (ja) 2006-08-17
KR20050105462A (ko) 2005-11-04
CN1774696A (zh) 2006-05-17
EP1593040A4 (en) 2007-02-28
CN1774696B (zh) 2010-04-28
US20060090019A1 (en) 2006-04-27

Similar Documents

Publication Publication Date Title
KR101295447B1 (ko) 운영 시스템 초기화 동안 코드를 실행하기 위한 시스템
US6715016B1 (en) Multiple operating system control method
US7581223B2 (en) Method and a system for executing operating system functions, as well as an electronic device
KR100708952B1 (ko) 병렬 처리 시스템, 병렬 처리 프로그램을 기록하는 컴퓨터 판독가능한 기록 매체 및 병렬 처리 방법
CN107273141B (zh) 嵌入式实时操作系统
JPH08212086A (ja) オフィスマシンのオペレーティングシステム及び方法
US7472214B2 (en) Real-time embedded simple monitor method and computer product
EP1162536A1 (en) Multiple operating system control method
WO2006014354A2 (en) Method and system for concurrent excution of mutiple kernels
JP2000330806A (ja) 計算機システム
US8327369B2 (en) Launching low-priority tasks
JP2005267118A (ja) シングルプロセッサ向けosによる並列処理システムにおけるプロセッサ間通信システム及びプログラム
US20070198997A1 (en) Customer framework for embedded applications
JP4523910B2 (ja) 並列処理装置及び並列処理方法及び並列処理プログラム
CN108958903B (zh) 嵌入式多核中央处理器任务调度方法与装置
JP2001282558A (ja) マルチオペレーティング計算機システム
KR101119458B1 (ko) 비동기 통신 기술
JP3245500B2 (ja) マルチプログラミングにおける事象管理方式
JP3644042B2 (ja) マルチタスク処理装置
CN108958904B (zh) 嵌入式多核中央处理器的轻量级操作系统的驱动程序框架
JPH11184712A (ja) 情報処理装置
JPH10143378A (ja) コンピュータ装置、およびコンピュータ装置における緊急プロセスのプリエンプション方法
JPH03248231A (ja) マルチタスクの排他制御方法
JPH11312091A (ja) センサ情報収集装置
JP2003280925A (ja) ワンチップdspモデムおよびタスク切り替え方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee