KR20050105481A - Rtfs controls queue of requests from os - Google Patents

Rtfs controls queue of requests from os Download PDF

Info

Publication number
KR20050105481A
KR20050105481A KR1020057015414A KR20057015414A KR20050105481A KR 20050105481 A KR20050105481 A KR 20050105481A KR 1020057015414 A KR1020057015414 A KR 1020057015414A KR 20057015414 A KR20057015414 A KR 20057015414A KR 20050105481 A KR20050105481 A KR 20050105481A
Authority
KR
South Korea
Prior art keywords
software
requests
hook
queue
access
Prior art date
Application number
KR1020057015414A
Other languages
Korean (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 KR20050105481A publication Critical patent/KR20050105481A/en

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE

Abstract

Real-time software and a non-time OS co- exist in a system, wherein the real-time software controls the requests from the non-real-time OS for access of a shared resource. The requests are put into a queue and the real-time software determines when which pending request gets executed.

Description

OS로부터의 요청들의 큐를 제어하는 RTFS{RTFS controls queue of requests from OS}RTFS controls queue of requests from OS

본 발명은 실시간(RT) 데이터 처리 능력들을 비실시간(non-RT) 오퍼레이팅 시스템(OS)에 제공하는 것에 관한 것이다. 본 발명은 특히, 비-RT(non-RT) OS와 RT 파일 시스템(RTFS)을 결합하는 것에 관한 것이지만, 반드시 그에 제한되는 것은 아니다. The present invention is directed to providing real-time (RT) data processing capabilities to a non-RT operating system (OS). The present invention particularly relates to, but is not necessarily limited to, combining a non-RT OS and an RT file system (RTFS).

예컨대, 하드-디스크 드라이브(HDD) 상의 RT 기록을 위해, 디스크로의 RT 액세스가 요구된다. HDD는 다수의 프로세스들 간에 공유된다. 액세스를 위한 요청들이 RT 조건들 하에서 부여되도록 보증된다면, 조심스러운 스케줄링이 요구된다. 리눅스와 같은 호스트 OS(HOS)는 "베스트-에포트(best-effort)"에 기초하여 디스크로의 액세스를 제공하고, 이는 RT 요구조건들에 충분치 못하다. 비-RT OS는 각각의 프로세스가 디스크에 대한 대역폭의 공평한 부분을 획득하는 조건 하에서 높은 평균 성능을 위해 최적화된 스케줄러를 통상적으로 갖는다. 반면에, 예컨대 비디오 스트림들을 저장하기 위한, RT 저장 공간을 제공하기 위해 사용되는 RTFS 소프트웨어는 모든 비디오 스트림들이 RT 조건들 하에서 저장 및 검색되는 것을 보증하기 위해, 디스크 요청들을 리-오더링하기 위한 RT 스케줄러를 포함한다. 본 발명은 특히, 비-RT OS와의 RT 동작을 달성하는 것에 대한 문제점을 해결하려고 한다. For example, for RT recording on a hard-disk drive (HDD), RT access to the disk is required. HDDs are shared among multiple processes. If requests for access are guaranteed to be granted under RT conditions, careful scheduling is required. Host OS (HOS), such as Linux, provides access to disks based on "best-effort", which is not sufficient for RT requirements. Non-RT OSs typically have a scheduler optimized for high average performance under the condition that each process obtains a fair portion of bandwidth for the disk. On the other hand, the RTFS software used to provide RT storage space, for example for storing video streams, is an RT scheduler for re-ordering disk requests to ensure that all video streams are stored and retrieved under RT conditions. It includes. In particular, the present invention seeks to solve the problem of achieving RT operation with a non-RT OS.

미국 특허 6,466,962호는 코-레지던트(co-resident) 오퍼레이팅 시스템들의 수단에 의해 일반 목적 OS내에서 RT 컴퓨팅을 지원하기 위한 시스템 및 방법을 개시한다. RT 시스템들 기술은 데스크탑 멀티미디어 회의와 같은 애플리케이션들을 지원하기 위해, 상업, 일반-목적(비-RT) 오퍼레이팅 시스템들과 공존하도록 허용된다. 중앙 프로세서 및 다른 시스템 리소스들은 2개의 가상 머신들로 분할된다. 제 1 머신은 대형 무수식(largely unmodified) 일반-목적 오퍼레이팅 시스템을 실행하고, 제 2 머신은 RT 커늘(kernel)을 실행한다. 물리적인 하드웨어로의 액세스는 가상 머신들에 의해 다중화된다. 다중화기는 머신들간에서 정확한 주기 간격들로 다중화하도록 사전에 스케줄링되거나, 또는 다중화기는 RT 커늘이 하드웨어에 액세스했는지를 확신하기 위한 RT OS의 요청에 응답하는 인터럽트의 제어 하에서 동작된다. U. S. Patent No. 6,466, 962 discloses a system and method for supporting RT computing in a general purpose OS by means of co-resident operating systems. RT systems technology is allowed to coexist with commercial, general-purpose (non-RT) operating systems to support applications such as desktop multimedia conferencing. The central processor and other system resources are divided into two virtual machines. The first machine runs a largely unmodified general-purpose operating system and the second machine runs an RT kernel. Access to physical hardware is multiplexed by virtual machines. The multiplexer is pre-scheduled to multiplex at exact periodic intervals between machines, or the multiplexer is operated under the control of an interrupt in response to a request from the RT OS to ensure that the RT kernel has accessed the hardware.

도 1은 본 발명의 시스템의 블록도.1 is a block diagram of a system of the present invention.

도 2는 본 발명의 시스템의 동작의 여러 스테이지들에서의 요청들의 테이블들을 포함하는 도면.2 includes tables of requests at various stages of operation of the system of the present invention.

본 발명은 비-RT OS를 RT 데이터 처리와 병합하기 위한 알려진 장치들에 더 유익한 대안을 제안한다. 이를 위해, 본 발명은 비-RT OS 요청들을 가로채고(intercept), 비-RT OS 요청들을 RT 규칙들에 따라 제어함으로써, 비-RT OS와 협동하는 RT 소프트웨어 스택을 제공한다. 더 상세히, 본 발명은 RT 소프트웨어와 비-RT OS 간에 하나 이상의 리소스들을 공유하기 위해, 비-RT OS와 공존하는 RT 소프트웨어를 구현하는 방법에 관한 것이다. 상기 방법은 RT 소프트웨어가 리소스의 액세스를 위한 비-RT OS로부터의 하나 이상의 보류 중인(pending) 요청들의 큐를 검사할 수 있게 하는 단계; 및 RT 소프트웨어가 보류 중인 요청이 언제 실행될 것인지를 결정할 수 있게 하는 단계를 포함한다. The present invention proposes a more advantageous alternative to known devices for merging non-RT OS with RT data processing. To this end, the present invention provides an RT software stack that cooperates with a non-RT OS by intercepting non-RT OS requests and controlling the non-RT OS requests according to RT rules. More specifically, the present invention relates to a method of implementing RT software that coexists with a non-RT OS to share one or more resources between the RT software and the non-RT OS. The method includes enabling RT software to examine a queue of one or more pending requests from a non-RT OS for access of a resource; And allowing the RT software to determine when the pending request will be executed.

본 발명에서, RT 소프트웨어는 RT 규칙들에 따라 비-RT OS내의 트래픽을 억제(throttle)하도록 허용된다. 비-RT OS로부터의 요청들은 통상적인 경우에서 처럼 즉시 실행되지 않는다. RT 소프트웨어는 비-RT OS 요청들이 실행되는 시점들을 제어한다. In the present invention, RT software is allowed to throttle traffic in non-RT OS in accordance with RT rules. Requests from non-RT OS are not executed immediately as in the normal case. RT software controls the points at which non-RT OS requests are executed.

설명하자면, 본 글에 있는 용어 "훅(hook)"은 RT 소프트웨어와 비-RT OS 간의 통신 채널을 호칭한다. To illustrate, the term "hook" in this article refers to a communication channel between RT software and a non-RT OS.

본 발명에 따라 비-RT OS와 공존하는 RT 소프트웨어의 실시예는 RT 소프트웨어가 비-RT OS 상에서 실행하는 것이다. 다른 실시예에서, RT 소프트웨어는 비-RT OS의 외부에서 실행한다. RT 소프트웨어가 비-RT OS 상에서 실행 중인 경우에서, 훅에 의해 제어되는 데이터 핸들링이 실시간 보증될 것이라면, OS는 실시간 처리 보증들의 일부 제한된 종류를 가질 필요가 있다. 그렇지 않다면, RT-소프트웨어는 훅에 대한 명령을 발행(issue)할 기회를 갖지 못할 수 있다. 따라서, RT 소프트웨어는 높은-우선 순위 스레드 상에서 실행하는 것이 바람직하다. OS의 CPU 처리만이 이러한 준비(provision)를 가질 필요가 있다. 훅 메카니즘은 예컨대, HDD로의 액세스 또는 다른 리소스와 같은 다른 프로세스들을 위한 실시간 보증들을 생성하도록 이에 영향을 미친다. 요구된 실시간 준비는 훅이 조악한(coarse-grained) 처리를 제어하기 때문에, 꽤 조악할 수 있다. An embodiment of RT software that coexists with a non-RT OS in accordance with the present invention is that the RT software runs on a non-RT OS. In another embodiment, the RT software runs outside of the non-RT OS. In case RT software is running on a non-RT OS, the OS needs to have some limited kind of real time processing guarantees if the data handling controlled by the hook will be guaranteed in real time. If not, the RT-software may not have the opportunity to issue a command for the hook. Therefore, it is desirable to run RT software on a high-priority thread. Only the CPU processing of the OS needs to have this provision. The hook mechanism affects this to create real-time guarantees for other processes, such as, for example, access to the HDD or other resources. The required real-time preparation can be quite coarse, since the hook controls coarse-grained processing.

바람직하게, 훅은 실행 시간에서 인에이블(enable) 및 디세이블(disable)될 수 있다. 디세이블될 때, 비-RT OS는 훅이 없는 것처럼 동작한다. 이는 통상적인 방식의 부팅을 허용한다. 훅은 RT 소프트웨어로부터의 요청들을 인식하고, 요청들이 즉시 지나가도록 한다. 이는 RT 소프트웨어가 비-RT OS의 관련 디바이스 드라이버(들)를 사용할 수 있게 하고, RT 요청들이 지연 없이 실행되는 것을 확신한다. 훅은 비-RT-OS로부터의 모든 요청들을 가로채고, 그 요청들을 큐에 넣는다. 이는 비-RT 요청들이 RT 소프트웨어로부터의 RT 요청들을 간섭하지 않음을 확신한다. 훅은 큐내의 비-RT 요청들에 관한 정보를 RT 소프트웨어에 또한 제공한다. 이는 RT 소프트웨어가 특정 비-RT 요청들이 RT 트래픽을 간섭하는 것을 방지하는 방식으로, 특정 비-RT 요청들의 실행을 결정할 수 있게 한다. 예컨대, RT 소프트웨어는 리소스 사용을 최적화하도록 비-RT 요청들이 실행되는 시퀀스를 결정한다. Desirably, the hook can be enabled and disabled at run time. When disabled, non-RT OS behaves like no hook. This allows booting in the usual way. The hook recognizes requests from RT software and allows them to pass immediately. This allows the RT software to use the relevant device driver (s) of the non-RT OS and ensure that RT requests are executed without delay. The hook intercepts all requests from the non-RT-OS and queues them. This ensures that non-RT requests do not interfere with RT requests from RT software. The hook also provides information to the RT software about non-RT requests in the queue. This allows the RT software to determine the execution of certain non-RT requests in a manner that prevents certain non-RT requests from interfering with the RT traffic. For example, RT software determines the sequence in which non-RT requests are executed to optimize resource usage.

훅은 특정 조건들 하에서 자신을 디세이블시키도록 인에이블되는 것이 바람직하다. 예컨대, 훅은 보류 중인 비-RT 요청들의 큐를 RT 소프트웨어가 검사하는 것을 중지했을 때, 자신을 디세이블시킨다. 이는 시스템이 RT 소프트웨어가 작업을 중지한 상태로부터 복원하도록 허용한다. The hook is preferably enabled to disable itself under certain conditions. For example, the hook disables itself when the RT software stops checking the queue of pending non-RT requests. This allows the system to restore from the state where the RT software stopped working.

상기 특성들은 다음 유익함들을 본 발명의 시스템에 제공한다. RT 소프트웨어는 비-RT OS의 디바이스 드라이버들을 사용할 수 있다. 비-RT OS는 통상적인 바와 같이 부팅할 수 있다. 드라이버들을 통한 하드웨어로의 액세스는 완전한 RT 제어 하에 있다. RT 소프트웨어는 비-RT OS에 대해 독립일 수 있고, 예컨대 RT 소프트웨어는 비-RT OS의 외부 또는 위에서 실행한다. 결과로서, 휴대용 RT 소프트웨어 스택이 개발될 수 있다. These features provide the following benefits to the system of the present invention. RT software may use device drivers of a non-RT OS. Non-RT OSs can boot as usual. Access to the hardware through the drivers is under full RT control. The RT software may be independent of the non-RT OS, for example the RT software runs outside or on top of the non-RT OS. As a result, a portable RT software stack can be developed.

디스크 액세스를 위해, 상술된, 알려진 시스템에서 사용된 시간 다중화는 디스크 요청들의 상대적으로 조악한 세분성(granularity)으로 인해 바람직하지 않다. 따라서, 본 발명자들은 모든 이용가능한 요청들에 기초한 조정(arbitration) 스킴을 제안한다. 이는 알려진 시스템과 본 발명 간에 중요한 차이를 도출한다. 본 발명에서, RT 디스크 스케줄러는 실시간 요청들 및 비-RT 요청들 둘 다에 대한 요청 실행의 오더를 결정한다. 알려진 시스템에서, 이 조정은 프로세서 상에서만, 즉 RT 커늘 및 일반 목적 커늘 둘 다 외부에서 수행한다. 다중화는 공유된 리소스들 간의 충돌들을 해소하기 위해 취해진 일부 특정 척도들과 함께 전적으로 시간-기반이다. 그렇지 않다면, 충돌들은 일반 목적 프로세스가 실시간 프로세스를 간섭하도록 할 수 있다. 디스크 스케줄러가 일반 목적 OS로부터의 요청이 실시간 스트리밍을 위한 요청들을 간섭하지 않는 시간에서만 실행되는 것을 확신하므로, 본 발명은 이들 충돌들 전부를 피한다. For disk access, the time multiplexing used in the known systems described above is undesirable due to the relatively poor granularity of disk requests. Thus, we propose an arbitration scheme based on all available requests. This leads to an important difference between the known system and the present invention. In the present invention, the RT disk scheduler determines the order of request execution for both real time requests and non-RT requests. In known systems, this adjustment is performed only on the processor, ie externally both the RT kernel and the general purpose kernel. Multiplexing is entirely time-based with some specific measures taken to resolve conflicts between shared resources. Otherwise, conflicts can cause the general purpose process to interfere with the real time process. The present invention avoids all of these conflicts, as the disk scheduler is sure that the request from the general purpose OS is executed only at a time that does not interfere with the requests for live streaming.

본 발명은 첨부 도면을 참조하여 예로서 더 상세히 설명된다. The invention is explained in more detail by way of example with reference to the accompanying drawings.

도면들에 걸쳐, 동일한 참조 번호들은 동일하거나 대응하는 특성들을 표시한다. Throughout the drawings, the same reference numerals indicate the same or corresponding properties.

본 발명은 스트리밍 비디오를 메모리에 기록 및 메모리로부터 스트리밍 비디오를 공급하는 맥락으로 예로서 아래 설명된다. 메모리는 예컨대 HDD, 광학 디스크 드라이브, 또는 고체 상태 메모리를 포함한다. 하기 예에서, 메모리는 HDD를 포함하는 것으로 가정한다. The invention is described below by way of example in the context of writing streaming video to and feeding streaming video from memory. The memory includes, for example, an HDD, an optical disk drive, or a solid state memory. In the example below, it is assumed that the memory includes an HDD.

도 1은 본 발명의 시스템(100)의 블록도이다. 시스템(100)은 일반-목적, 즉 비-RT인 호스트 OS(HOS)(102)를 포함한다. 시스템(100)은 비디오 스트리밍 애플리케이션들을 인에이블하기 위해, 예컨대 RTFS를 갖는 소프트웨어와 같은 RT 소프트웨어(104)를 또한 포함한다. 시스템(100)은 여기서 HDD인 하드웨어 리소스(106)를 더 포함한다. 1 is a block diagram of a system 100 of the present invention. System 100 includes a host OS (HOS) 102 that is general-purpose, ie non-RT. System 100 also includes RT software 104, such as software with RTFS, for enabling video streaming applications. System 100 further includes hardware resource 106, which is an HDD here.

HOS(102)는 리소스(106)를 동작하기 위해, HOS 파일 시스템(108), HOS 캐시(110), 및 HOS 디바이스 드라이버(112)를 포함한다. RT 소프트웨어(104)를 HOS(102)와 공존하게 하기 위해, HOS(102)는 HOS(102)와 RT 소프트웨어(104) 간의 통신을 할 수 있게 하는 소프트웨어 훅(114)이 제공된다. HOS(102) 및 RT 소프트웨어(104) 둘 다는 HDD(106)로의 액세스를 요청하는 프로세스들을 갖는다. 훅(114)은 HDD(106)로의 액세스를 위한 HOS(102)의 프로세스들로부터 모든 요청들을 가로채고, 요청들을 큐(116)에 넣는다. 이는 비-RT 요청들이 RT 소프트웨어(104)로부터의 RT 요청들(118)을 간섭하지 않음을 확신한다. 훅(114)은 큐(116)내의 비-RT 요청들에 관한 정보를 RT 소프트웨어(104)에 또한 제공한다. 예컨대, 정보는 요청의 크기 및 디스크 위치를 포함한다. 이는 RT 소프트웨어(104)가 보류 중인 비-RT 요청들이 RT 트래픽을 간섭하는 것을 방지하도록, 보류 중인 비-RT 요청들의 실행을 위한 올바른 시간을 결정할 수 있게 한다. 큐(116)내의 요청들은 RT 소프트웨어(104)로부터의 명확한 오더(122) 후에만 실행된다. 부가하여, 예컨대 시스템(100)내의 리소스 사용을 최적화하기 위해, RT 소프트웨어(104)는 비-RT 요청들이 실행되는 시퀀스를 결정할 수 있다. 훅(114)은 리소스(106)의 액세스를 위한 RT 소프트웨어(104)로부터의 요청들(118)을 인식하고, 요청들(118)이 즉시 지나가게 하여, 요청들(118)이 지연 없이 실행되도록 한다. 이 방식으로, RT 소프트웨어(104)는 HOS(102)의 디바이스 드라이버(112)를 사용할 수 있게 된다. 비-RT OS는 디바이스 드라이버들에 대한 요청 큐를 통상적으로 사용한다. 훅(114)의 이 큐 메카니즘을 사용하는 것은 훅(114)의 구현을 단순화한다. HOS 102 includes HOS file system 108, HOS cache 110, and HOS device driver 112 to operate resources 106. In order to coexist RT software 104 with HOS 102, HOS 102 is provided with a software hook 114 that enables communication between HOS 102 and RT software 104. Both HOS 102 and RT software 104 have processes that request access to HDD 106. The hook 114 intercepts all requests from the processes of the HOS 102 for access to the HDD 106 and puts the requests in the queue 116. This ensures that non-RT requests do not interfere with RT requests 118 from RT software 104. The hook 114 also provides the RT software 104 with information about non-RT requests in the queue 116. For example, the information includes the size of the request and the disk location. This allows the RT software 104 to determine the correct time for execution of pending non-RT requests to prevent pending non-RT requests from interfering with the RT traffic. Requests in queue 116 are executed only after explicit order 122 from RT software 104. In addition, for example, to optimize resource usage within system 100, RT software 104 may determine the sequence in which non-RT requests are executed. The hook 114 recognizes the requests 118 from the RT software 104 for access of the resource 106 and causes the requests 118 to pass immediately so that the requests 118 can be executed without delay. do. In this manner, the RT software 104 can use the device driver 112 of the HOS 102. Non-RT OSs typically use request queues for device drivers. Using this queue mechanism of the hook 114 simplifies the implementation of the hook 114.

도 2는 시스템(100)의 동작을 예시하는 테이블들(202, 204, 206 및 208)을 포함한다. HOS(102)는 다중 통상 요청들을 발행한다. 훅(114)은 이들 요청들을 큐(116)에 넣는다. 테이블(202)은 큐(116)에 넣어진 요청들의 예를 제공한다. 훅(114)은 요청들의 리스트를 RT 소프트웨어(104)에 제공한다. 리스트는 요구된 정보만이 RT 소프트웨어(104)에 전달되도록 포맷된다. 테이블(204)은 테이블(202)의 요청들에 기초한 리스트의 예이다. RT 소프트웨어(104)는 드라이버(112)에 의해 지연 없이 실행된 일부 RT 요청들(118)을 먼저 발행한다. 테이블(206)은 RT 요청들(118)의 예이다. 그 다음에, RT 소프트웨어(104)는 하나 이상의 보류 중인 HOS 요청들을 실행할 시간임을 발견하고, 이들 요청들을 실행하도록 채널(122)을 통해 훅(114)에게 명령한다. 예컨대, 훅(114)은 테이블(202)의 요청들 #1 및 #2을 실행하도록 명령된다. 훅(114)은 이들 요청들을 요청들이 실행되는 드라이버(112)에 전달한다. 테이블(202)의 남은 요청 #3은 HOS(102)에 의해 발행된 새로운 요청들과 함께, 테이블(208)에 도시된 바와 같이, 큐(116)내에 보류 중으로 유지된다. 2 includes tables 202, 204, 206, and 208 illustrating the operation of the system 100. HOS 102 issues multiple normal requests. The hook 114 puts these requests on the queue 116. Table 202 provides an example of requests queued to queue 116. Hook 114 provides a list of requests to RT software 104. The list is formatted such that only the required information is passed to the RT software 104. Table 204 is an example of a list based on the requests of table 202. RT software 104 first issues some RT requests 118 executed without delay by driver 112. Table 206 is an example of RT requests 118. The RT software 104 then finds that it is time to execute one or more pending HOS requests and instructs the hook 114 over the channel 122 to execute these requests. For example, the hook 114 is instructed to execute the requests # 1 and # 2 of the table 202. The hook 114 passes these requests to the driver 112 where the requests are executed. The remaining request # 3 of the table 202 is held pending in the queue 116, as shown in the table 208, with new requests issued by the HOS 102.

Claims (12)

비-RT OS와 공존하는 RT 소프트웨어가 상기 RT 소프트웨어와 상기 비-RT OS 간에 리소스를 공유할 수 있게 하는 방법에 있어서,12. A method for enabling RT software to coexist with a non-RT OS to share resources between the RT software and the non-RT OS. 상기 RT 소프트웨어가 상기 리소스의 액세스를 위한 상기 비-RT OS로부터의 요청을 검사할 수 있게 하는 단계; 및Enabling the RT software to examine a request from the non-RT OS for access to the resource; And 상기 RT 소프트웨어가 상기 요청이 언제 실행될지 결정할 수 있게 하는 단계를 포함하는, 리소스 공유 방법.Enabling the RT software to determine when the request is to be executed. 제 1 항에 있어서,The method of claim 1, 상기 RT 소프트웨어가 상기 요청을 큐에 넣게 할 수 있는 단계를 포함하는, 리소스 공유 방법.Enabling the RT software to queue the request. 제 1 항에 있어서,The method of claim 1, 상기 RT 소프트웨어는 RTFS를 포함하는, 리소스 공유 방법.The RT software includes RTFS. 제 1 항에 있어서,The method of claim 1, 상기 RT 소프트웨어가 상기 비-RT OS의 디바이스 드라이버를 통해 상기 리소스에 액세스할 수 있게 하는 단계를 더 포함하는, 리소스 공유 방법.And allowing the RT software to access the resource through a device driver of the non-RT OS. 제 1 항에 있어서,The method of claim 1, 상기 리소스는 메모리를 포함하는, 리소스 공유 방법.And the resource comprises a memory. 제 5 항에 있어서,The method of claim 5, 상기 메모리는 HDD를 포함하는, 리소스 공유 방법.And the memory comprises an HDD. 데이터 처리 시스템에 있어서,In a data processing system, RT 소프트웨어;RT software; 비-RT OS; 및Non-RT OS; And 상기 RT 소프트웨어와 상기 비-RT OS 간에 공유된 리소스를 포함하고,A resource shared between the RT software and the non-RT OS, 상기 RT 소프트웨어는 상기 리소스의 액세스를 위한 상기 비-RT OS로부터의 요청을 검사할 수 있게 되며;The RT software is enabled to examine a request from the non-RT OS for access to the resource; 상기 RT 소프트웨어는 상기 요청이 언제 실행될지를 결정할 수 있게 되는, 데이터 처리 시스템.The RT software is enabled to determine when the request is to be executed. 제 7 항에 있어서,The method of claim 7, wherein 상기 RT 소프트웨어는 상기 요청을 큐에 넣게 할 수 있게 되는, 데이터 처리 시스템.The RT software is enabled to queue the request. 제 7 항에 있어서,The method of claim 7, wherein 상기 RT 소프트웨어는 RTFS를 포함하는, 데이터 처리 시스템.The RT software includes an RTFS. 제 7 항에 있어서,The method of claim 7, wherein 상기 RT 소프트웨어는 상기 비-RT OS의 디바이스 드라이버를 통해 상기 리소스에 액세스할 수 있게 되는, 데이터 처리 시스템.And said RT software is able to access said resource through a device driver of said non-RT OS. 제 7 항에 있어서,The method of claim 7, wherein 상기 리소스는 메모리를 포함하는, 데이터 처리 시스템.And the resource comprises a memory. 제 11 항에 있어서,The method of claim 11, 상기 메모리는 HDD를 포함하는, 데이터 처리 시스템.And the memory comprises an HDD.
KR1020057015414A 2003-02-21 2004-02-05 Rtfs controls queue of requests from os KR20050105481A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03100418 2003-02-21
EP03100418.7 2003-02-21

Publications (1)

Publication Number Publication Date
KR20050105481A true KR20050105481A (en) 2005-11-04

Family

ID=32892966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057015414A KR20050105481A (en) 2003-02-21 2004-02-05 Rtfs controls queue of requests from os

Country Status (6)

Country Link
US (1) US20070006204A1 (en)
EP (1) EP1616230A2 (en)
JP (1) JP2007528032A (en)
KR (1) KR20050105481A (en)
CN (1) CN1816801A (en)
WO (1) WO2004073377A2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server
US6466962B2 (en) * 1995-06-07 2002-10-15 International Business Machines Corporation System and method for supporting real-time computing within general purpose operating systems
US6400819B1 (en) * 1996-03-28 2002-06-04 Hitachi, Ltd. Method and apparatus for executing communication in real-time and data structure for real-time data communication
JP2000047881A (en) * 1998-07-28 2000-02-18 Hitachi Ltd Real-time system
JP2001046747A (en) * 1999-08-04 2001-02-20 Square Co Ltd Processing control method for video game, recording medium recording process control program, and game device

Also Published As

Publication number Publication date
CN1816801A (en) 2006-08-09
JP2007528032A (en) 2007-10-04
US20070006204A1 (en) 2007-01-04
WO2004073377A2 (en) 2004-09-02
WO2004073377A3 (en) 2006-03-30
EP1616230A2 (en) 2006-01-18

Similar Documents

Publication Publication Date Title
US8151275B2 (en) Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS
US7797699B2 (en) Method and apparatus for scheduling virtual machine access to shared resources
US8386704B2 (en) Techniques for improving hard disk drive efficiency
JP4034969B2 (en) Memory management system for common memory
EP3796168A1 (en) Information processing apparatus, information processing method, and virtual machine connection management program
US10824342B2 (en) Mapping mode shift between mapping modes that provides continuous application access to storage, wherein address range is remapped between said modes during data migration and said address range is also utilized bypass through instructions for direct access
US10824467B2 (en) Data processing system with protected mode of operation for processing protected content
JP5909566B2 (en) Computer system and control method thereof
US20140052906A1 (en) Memory controller responsive to latency-sensitive applications and mixed-granularity access requests
US6665746B1 (en) System and method for prioritized context switching for streaming data memory transfers
US11693777B2 (en) Network interface device supporting multiple interface instances to a common bus
US5392409A (en) I/O execution method for a virtual machine system and system therefor
US10409640B1 (en) Methods and apparatus for data request scheduling in performing parallel IO operations
US7818558B2 (en) Method and apparatus for EFI BIOS time-slicing at OS runtime
US5911077A (en) System for multithreaded disk drive operation in a computer system
US20060212840A1 (en) Method and system for efficient use of secondary threads in a multiple execution path processor
JPWO2007099659A1 (en) Data transfer apparatus and data transfer method
KR20050105481A (en) Rtfs controls queue of requests from os
JP2009266050A (en) Information processor
JP7196439B2 (en) How to access devices in a virtualized environment
JP2009193260A (en) Storage system, storage device, priority control device, and priority control method
KR20200027204A (en) Electronic apparatus and method for controlling thereof
JPH02113339A (en) Virtual computer control system
CN117215718A (en) Virtualized adaptation optimization method for domestic processor
RU2356087C1 (en) System and method for anti-blocking of access to disc

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid