CN1816801A - 对os请求队列的rtfs控制 - Google Patents

对os请求队列的rtfs控制 Download PDF

Info

Publication number
CN1816801A
CN1816801A CNA2004800048005A CN200480004800A CN1816801A CN 1816801 A CN1816801 A CN 1816801A CN A2004800048005 A CNA2004800048005 A CN A2004800048005A CN 200480004800 A CN200480004800 A CN 200480004800A CN 1816801 A CN1816801 A CN 1816801A
Authority
CN
China
Prior art keywords
software
request
real
time
resource
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CNA2004800048005A
Other languages
English (en)
Inventor
R·乔彻姆森
M·格德曼斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1816801A publication Critical patent/CN1816801A/zh
Pending legal-status Critical Current

Links

Images

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]
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

实时软件和非实时OS在系统中共存,其中所述实时软件控制非实时OS对访问共享资源的请求。把所述请求放入队列中,并且所述实时软件确定何时执行哪些挂起请求。

Description

对OS请求队列的RTFS控制
技术领域
本发明涉及向非实时(none-real-time非RT)操作系统(operating system OS)提供实时(real-time RT)数据处理能力。本发明尤其涉及,但不排他地涉及把非RT OS与RT文件系统(RT filesystem RTFS)组合。
背景技术
对于例如在硬盘驱动器(hard-disk driver HDD)上的RT记录,对盘片的RT访问是需要的。在许多进程之间共享HDD。如果在RT条件下保证访问请求获得特权,那么要求仔细的调度。诸如Linux之类的主机OS(host os HOS)以“尽力而为”为基础来提供对盘片的访问,这对RT要求来说是不够的。非RT OS一般具有调度程序,所述调度程序被优化来在每个进程获得对盘片的一部分合理带宽的条件下表现出高的平均性能。另一方面,用于提供RT存储(例如,用于存储视频流)的RTFS软件包括RT调度程序,用于重新排序盘片请求以便确保在RT条件下所有的视频流都得以存储并获取。发明人设法解决下述问题,其中用非RT OS来实现RT行为。
美国专利6,466,962公开了一种用于借助于共驻内存的操作系统来支持在通用OS内RT计算的系统和方法。允许RT系统技术与商业、通用(非RT)操作系统共存以便支持诸如桌面多媒体会议之类的应用。把中央处理器及其它系统资源划分为两个虚拟机。第一虚拟机运行在很大程度上未经修改的通用操作系统,而第二虚拟机运行RT内核。由虚拟机来多路复用对物理硬件的访问。多路复用器被提前安排成以精确的周期性间隔在所述虚拟机之间多路复用,或者响应于RT OS的请求在中断的控制之下来操作所述多路复用器,以便确保RT内核访问硬件。
发明内容
发明人提出一种对已知把非RT OS与RT数据处理合并的方法更有益的候选示例。为此,本发明提供了RT软件栈,所述RT软件栈通过截取非RT OS请求并且依照RT规则控制它们来与非RT OS合作。更具体地说,本发明涉及一种用于实现RT软件与非RT OS共存以便在所述RT软件和非RT OS之间共享更多资源之一的方法。所述方法包括使RT软件能够检查RT OS对访问资源的一个或多个挂起请求的队列;并且使所述RT软件能够确定何时将要执行所述挂起请求。
在本发明中,允许RT软件依照RT规则来节流非RT OS中的通信业务。像在常规情况中那样,往往并不立即执行非RT OS的请求。RT软件控制非RT OS请求获得执行的时间点。
为了便于解释,术语“挂钩(hook)”在本文中被预定是指RT软件和非RT OS之间的通信通道。
依照本发明RT软件与非RT OS共存的实施例是一个,其中RT软件在非RT OS上运行。在另一实施例中,RT软件在非RT OS外运行。在RT软件在非RT OS上运行的情况下,如果要保障由挂钩控制的数据处理是实时的,那么OS需要保障具有一些受限类型的实时处理。否则,RT软件可能就永远没有机会向挂钩发布命令。因此优选地是,RT软件将在高优先级的线程上运行。只有OS的CPU处理需要具有这种规定。挂钩机制使此平衡以便为其它进程-例如对HDD或其它资源的访问建立实时保障。因为挂钩控制粗粒度的处理,所以所要求的实时规定也可以是相当粗粒度的。
优选地是,可以在运行时间启用和禁止挂钩。当禁止时,非RT OS就好像挂钩不存在一样操作。这允许以常规的方式引导。挂钩识别RT软件的请求并且立即让它们通过。这使RT软件能使用非RT OS的相关设备驱动器,并且确保在没有延迟的情况下执行RT请求。挂钩截取非RT OS的所有请求,并且把它们放入队列中。这确保非RT请求不会妨碍RT软件的RT请求。所述挂钩还向RT软件提供关于队列中非RT请求的信息。这使RT软件能以阻止特定非RT请求不妨碍RT通信业务的方式来确定所述特定非RT请求的执行。例如,RT软件确定其中执行非RT请求的序列,以便优化资源使用。
优选地是,在特定条件下所述挂钩能够禁止其本身。例如,当挂钩检测到RT软件已经停止检查挂起的非RT请求的队列时,所述挂钩禁止本身。这允许系统从RT软件已经停止工作的状态中恢复过来。
上述属性向本发明的系统提供了以下优点。RT软件可以使用非RTOS的设备驱动器。非RT OS可以像通常一样引导。经由驱动器对硬件的访问完全在RT的控制下。RT软件可以与非RT OS无关,例如RT软件在非RT OS之外或紧挨着其运行。因此,就能够开发出可移植性的RT软件栈。
对于磁盘访问,如上述用于已知系统的时分多路复用是不可取的,这是由于盘片请求相对粗的粒度所引起的。因此发明人提出一种根据所有可用请求来仲裁的模式。这导致在已知系统和本发明之间存在非常显著的差异。在本发明中,RT盘片调度程序为实时请求和非RT请求这二者确定请求执行的次序。在已知系统中,此仲裁在裸处理器上进行,即在RT内核和通用内核外面。多路复用纯粹是基于时间的,此时,为解决共享资源之间的冲突,采用某些具体的措施。否则,冲突就有可能会使通用进程妨碍实时进程。本发明完全避免了那些冲突,这是因为盘片调度程序确保来自通用OS的请求只有在它永远不妨碍实时流送的请求时才得以执行。
附图说明
参考附图并以举例形式更详细地解释本发明,其中:
图1是本发明系统的框图;和
图2包括在本发明系统运行的各阶段的请求的表。
贯穿附图,相同的附图标记表明相似的或相应的特征。
具体实施方式
下面以举例形式在把流送视频记录到存储器以及从存储器中提供流送视频的环境中,解释本发明。所述存储器例如包括HDD、光盘驱动器或固态存储器。在下面的例子中,假定所述存储器包括HDD。
图1是本发明系统100的框图。系统100包括主机OS(HOS)102,其是通用的,即非RT。系统100还包括RT软件104,例如具有RTFS的软件,能够进行视频流送应用。系统100还包括硬件资源106,这里是HDD。
HOS 102包括HOS文件系统108、HOS高速缓存器110和HOS设备驱动器112,用于操作资源106。为了使RT软件104与HOS 102共存,后者具有软件挂钩114,所述软件挂钩114能够在HOS 102和RT软件104之间通信。HOS 102和RT软件104都具有请求访问HDD 106的进程。挂钩114截取HOS 102的进程对访问HDD 106的所有请求,并且把它们放入队列116中。这确保非RT请求不会妨碍来自RT软件104的RT请求118。挂钩114还向RT软件104提供关于队列116中非RT请求的信息120。例如,所述信息包括请求的盘片位置和大小。这使RT软件104能确定用于执行挂起的非RT请求的适当时间,使得这些请求得以阻止而不妨碍RT的通信业务。在队列116中的请求只有在来自RT软件104的明确指令122之后才得以执行。另外,RT软件104可以确定其中执行非RT请求的序列,例如为了优化系统100内的资源使用。挂钩114识别RT软件104对访问资源106的请求118,并且立即让它们通过,从而使得它们得以执行而没有延迟。注意依照这种方式,RT软件104能够使用HOS 102的设备驱动器112。典型情况下,非RTOS使用设备驱动器的请求队列。使用挂钩114中的此队列机制简化了挂钩114的实现。
图2包括举例说明系统100操作的表202、204、206和208。HOS102发布多个常规请求。挂钩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,在那里所述请求得以执行。如表208所示,表202中其余的请求#3还可能连同由HOS 102所发布的新请求一起在队列116中保持挂起。

Claims (12)

1.一种使RT软件能与非RT OS共存以便在RT软件和非RT OS之间共享资源的方法,所述方法包括:
使所述RT软件能检查非RT OS对访问资源的请求;并且
使所述RT软件能确定何时执行所述请求。
2.如权利要求1所述的方法,包括使所述RT软件能把所述请求放入队列中。
3.如权利要求1所述的方法,其中所述RT软件包括RTFS。
4.如权利要求1所述的方法,还包括使所述RT软件能通过非RT OS的设备驱动器来访问资源。
5.如权利要求1所述的方法,其中所述资源包括存储器。
6.如权利要求5所述的方法,其中所述资源包括HDD。
7.一种数据处理系统,包括:
RT软件;
非RT OS;
在所述RT软件和非RT OS之间共享的资源;其中:
所述RT软件被启用来检查非RT OS对访问所述资源的请求;并且
所述RT软件被启用来确定将何时执行所述请求。
8.如权利要求7所述的系统,其中所述RT软件被启用来把所述请求放入队列中。
9.如权利要求7所述的系统,其中所述RT软件包括RTFS。
10.如权利要求7所述的系统,其中所述RT软件被启用来通过非RT OS的设备驱动器来访问所述资源。
11.如权利要求7所述的方法,其中所述资源包括存储器。
12.如权利要求所述的方法,其中所述资源包括HDD。
CNA2004800048005A 2003-02-21 2004-02-05 对os请求队列的rtfs控制 Pending CN1816801A (zh)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
CN1816801A true CN1816801A (zh) 2006-08-09

Family

ID=32892966

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800048005A Pending CN1816801A (zh) 2003-02-21 2004-02-05 对os请求队列的rtfs控制

Country Status (6)

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

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 (ja) * 1998-07-28 2000-02-18 Hitachi Ltd リアルタイムシステム
JP2001046747A (ja) * 1999-08-04 2001-02-20 Square Co Ltd ビデオゲームにおける処理実行制御方法、処理実行制御プログラムを記録した記録媒体及びゲーム装置

Also Published As

Publication number Publication date
EP1616230A2 (en) 2006-01-18
WO2004073377A2 (en) 2004-09-02
US20070006204A1 (en) 2007-01-04
JP2007528032A (ja) 2007-10-04
WO2004073377A3 (en) 2006-03-30
KR20050105481A (ko) 2005-11-04

Similar Documents

Publication Publication Date Title
US9965324B2 (en) Process grouping for improved cache and memory affinity
KR100501289B1 (ko) 입력/출력 서브-프로세서와의 비동기 인터페이스를 통한 입력/출력 성능 개선 방법
EP2698711B1 (en) Method for dispatching central processing unit of hotspot domain virtual machine and virtual machine system
JP5015665B2 (ja) カーネル間でカーネル・サービスを共用するための方法、装置、およびコンピュータ・プログラム
US6272600B1 (en) Memory request reordering in a data processing system
US5559978A (en) Method for increasing the efficiency of a virtual memory system by selective compression of RAM memory contents
EP0732659A1 (en) Controlling (n+i) I/O channels with (n) data managers in a homogeneous software programming environment
WO2012026034A1 (ja) スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法
JP2013232207A (ja) コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置
KR101901587B1 (ko) 연성 실시간 운영체제의 실시간성을 확보하는 방법 및 장치
US8528006B1 (en) Method and apparatus for performing real-time commands in a non real-time operating system environment
KR20100074920A (ko) 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법
EP1760581A1 (en) Processing operations management systems and methods
US9934147B1 (en) Content-aware storage tiering techniques within a job scheduling system
US6931501B1 (en) Method and apparatus for merging contiguous like commands
JPH012145A (ja) 仮想計算機システムの資源管理方式
EP2395430B1 (en) Virtual computer allocation method, allocation program, and information processing device having a virtual computer environment
US5911078A (en) Method for multithreaded disk drive operation in a computer system
JP2690435B2 (ja) 処理をプロセッサにディスパッチするためのマイクロプログラム手段を有するマルチプロセッサシステム
EP3293625B1 (en) Method and device for accessing file, and storage system
CN1195140A (zh) 采用带有pico码的智能桥接器改进中断响应
CN1816801A (zh) 对os请求队列的rtfs控制
US9734104B2 (en) Data transfer control apparatus, data transfer control method, and computer product
JP4872942B2 (ja) ストレージシステム、ストレージ装置、優先度制御装置および優先度制御方法
JP4754531B2 (ja) デバイスへのアクセス制御方法および処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication