微调度方法和操作系统内核的制作方法

文档序号:2818885阅读:334来源:国知局
专利名称:微调度方法和操作系统内核的制作方法
技术领域
本发明涉及一种微调度(micro-scheduling method)方法,具体涉及一种在支持多媒体应用的操作系统上实现的微调度方法。
此外,本发明还涉及一种用于实现上述微调度方法的操作系统内核。
诸如UNIXTM、LINUXTM以及Windows NTTM等操作系统均使用用于支持多用户的时间窗口(time window,以下简称“时窗”)约为10毫秒的任务调度方法。为了支持多媒体应用,在操作系统和网络中必须支持满足服务品质(QoS)需求的功能。然而,如果在处理多个应用的情况下,按照预定的任务调度方法,即使在处理多媒体数据时,也要连续产生中断。因此,这会中断多媒体处理或使其不连续。即,在常规操作系统中使用的调度方法的缺点是,不能满足用于支持多媒体应用的QoS需求。
另一种用于支持多用户的现有技术采用一种修改进程结构例如使堆栈共享的方法。此种方法的缺点是,这样的修改损失了与现有软件的兼容性。
如果采用第三种用于支持多用户的现有技术的实时调度算法,这会因为用于保持向下兼容的许可控制而使性能明显下降,并且会严重降低QoS。这还会引起在过载状态下不能获得已经保证的服务品质的问题。
为了解决上述问题,本发明的一个目的是提供一种满足多媒体应用的QoS需求的微调度方法。
本发明的另一个目的是提供一种用于实现上述微调度方法的操作系统内核。
因此,为了实现本发明的上述目的,提供了一种用于在支持多媒体应用的操作系统内核上实现的微调度方法,所述微调度方法包括下列步骤(a)通过测定所述应用中的受I/O限制的作业性能和受CPU限制的作业性能,来确定多个应用的性能参数;(b)当执行作业许可控制时,按照由系统管理者预先设置的策略,对所述性能参数进行适当的调整;(c)通过对因多媒体应用数据的特征而无需移动到用户空间的数据的I/O作业的执行周期进行调度,来为多个应用类中的每个应用类确定处理优先级;以及,(d)按照在步骤(c)中确定的优先级次序,执行特殊I/O系统调用。
最好是,在所述步骤(a)中,通过利用适合于要进行性能参数确定的应用类的测试程序,测定所述应用所需的受I/O限制的作业性能和受CPU限制的作业性能,来确定所述性能参数。
最好是,通过根据在步骤(a)中确定的性能参数、应用类的处理优先级、和由系统管理者设置的策略描述表中的资源分配,建立企业服务品质(E-QoS)模型,来执行所述步骤(b)。
最好是,所述步骤(a)还包括下列子步骤执行可用性测试;执行许可控制和资源保留;描述一个策略,以便为每个应用确定在系统资源上的资源缺省值和最大范围;测定受CPU限制的性能;以及,测定受I/O限制的性能。
此外,在确定了在多媒体应用中可以出现的I/O服务类4对应于4类I/O作业的一个特殊I/O作业之后,如果在一个应用中的作业对应于一个特殊I/O,则所述特殊I/O系统调用负责按照由I/O调度方法分配的资源来执行周期性I/O操作,其中将I/O作业分成以下四类,这包括将数据从用户空间移动到系统的I/O服务类1,将数据从一个用户空间移动到另一个用户空间的I/O服务类2,将数据从系统移动到用户空间的I/O服务类3,以及将数据从一个系统移动到另一个系统的I/O服务类4。
最好是,所述特殊I/O分成以下3类在盘文件和网络之间执行I/O的特殊IO类1、在I/O单元和网络之间执行I/O的特殊IO类2、以及执行与一个应用之间、在线程之间或在循环返回方法中的I/O的特殊IO类3。
最好是,在所述步骤(c)的调度中使用的任务队列分成以下三类与特殊IO类1应用有关的中级队列(MQ)、与特殊IO类2和3应用有关的高级队列(HQ)、以及与特殊IO类4应用有关的低级队列(LQ)。
最好是,所述步骤(c)在调度特殊IO类2和特殊IO类3的作业时采用具有最高优先级的HQ。
最好是,在处理特殊IO类2和特殊IO类3的作业时,没有通过在特定IO单元上的用户空间。
最好是,所述策略描述表将用于四类应用的系统资源的资源缺省值和最大使用限度,作为一个策略来描述。
更可取的是,所述策略描述表包括由具有下述步骤的方法设置的策略,这些步骤是通过为I/O作业类1、2、3和4分配与保证每个应用类能够使用的最小CPU时间量成正比的最小资源量,来分配资源缺省值;按照各应用的使用模式来分配由所述四种应用类共享的其余资源;以及,为每个应用类分配CPU资源的特定部分。
最好是,在执行新应用之前,交换QoS参数,并通过使用资源缺省值和最大资源范围值来执行许可控制。
所述特殊IO类1执行下列步骤(a-1)分配一个文件缓冲区;(b-1)从缓冲区中读出X个字节,其中X是正整数;(c-1)在协议数据单元(PDU)中检查是否文件缓中区为空;(d-1)如果在步骤(c-1)中检查出文件缓冲区为空,则通过唤醒从中读出数据的盘设备来执行派生处理;(e-1)在一个HQ中保存步骤(d-1)的结果;(f-1)如果在步骤(c-1)检查出文件缓冲区不为空,则传送在HQ中保存的数据,并将盘保持在睡眠状态;(g-1)将用户数据协议(UDP)数据传送给一个网络系统;(h-1)在网络系统的缓冲区中保存所接收的UDP数据;以及,(i-1)使用媒体存取控制将在网络系统的缓冲区中保存的UDP数据传送给网络系统,其中特殊I/O系统调用管理从步骤(a-1)一直到(f-1)的各步骤。
所述特殊IO类2执行下列步骤(a-2)通过话筒输入外部的语音;(b-2)将输入的外部语音变换成电信号;(c-2)在硬件声码器中将变换后的语音信号转换成数字语音数据;(d-2)在缓冲区中保存数字语音数据;(e-2)将在缓冲区中保存的数字语音数据封装成分组数据;(f-2)在一个HQ中保存分组化的数据;(g-2)将实时传输协议(RTP)/用户数据协议(UDP)数据传送给一个网络系统;(h-2)在网络系统的缓冲区中保存所接收的RTP/UDP数据;以及,(i-2)使用媒体存取控制将在网络系统的缓冲区中保存的RTP/UDP数据传送给网络系统,其中特殊I/O系统调用管理从步骤(e-2)一直到(g-2)的各步骤。
最好是,所述性能测定包括以下步骤(pm-a)将每个应用标识为多个类;以及,(pm-b)利用适合于应用类的测试程序来测定性能参数。
最好是,所述步骤(pm-b)包括以下步骤(pm-b-1)对于关键任务的作业,利用适用于应用特征的基准检验程序,来测定能够处理多少事务,并确定在系统中要处理的最小事务数目和最大事务数目;(pm-b-2)对于需要资源保留的多媒体应用以及符合G.723和H263标准的交互性应用,在用户描述了有关重复使用的重要例程的信息和诸如调度周期等QoS参数之后,测定每秒执行的编码或解码次数;以及,(pm-b-3)省略对不需要实时处理的应用的性能测定。
最好是,所述步骤(pm-b)包括以下一个附加步骤如果在所述步骤(pm-b-1)确定甚至仅对于关键任务的作业来说系统性能也不足,则通知用户使用性能更好的系统。
为了实现本发明的另一个实施例,提供了一种用于支持多媒体应用的操作系统内核,所述操作系统内核包括企业QoS(E-QoS)资源管理装置,用于通过测定在给定应用中的受I/O限制的作业性能和受CPU限制的作业性能来确定性能参数,并且执行作业许可控制以便按照由系统管理者预先设置的策略,对所述性能参数进行适当的调整;特殊I/O调度装置,用于通过对因多媒体应用特征而无需移动到用户空间的数据的I/O作业的执行周期进行调度;以及,特殊I/O服务例程装置,用于按照由特殊I/O调度装置设置的优先级次序,执行特殊I/O系统调用。
通过参照附图详细说明本发明的优选实施例,本发明的上述目的和优点将变得更加清楚。附图中

图1是表示用于实现本发明微调度方法的操作系统内核的结构的方框图;图2至图4分别示出特殊IO类1、2、3;图5示出一例HQ作业间隔分布;图6是表示一例HQ配置的方框图;以及图7示出伴随有盘IO的特殊IO作业。
以下将参照附图详细说明本发明的优选实施例。图1是表示用于实现本发明微调度方法的操作系统内核的结构的方框图。参照图1,按照本发明的操作系统内核12包括企业QoS(E-QoS)资源管理器120、可用性测试单元122、许可控制和资源保留单元124、受CPU限制的性能测定单元126和受IO限制的性能测定单元128。此外,操作系统内核12还包括策略描述表130、资源保留协议执行单元132、内核调度器134、特殊I/O调度器136和特殊I/O服务例程138。
E-QoS资源管理器120测定受IO限制的作业和受CPU限制的作业的性能,以便按照资源保留协议和策略分配资源,并执行作业许可从而按照用户预设的策略适当调整性能参数。
此外,如图1所示,E-QoS资源管理器120管理资源,其中资源管理器120链接到相邻单元,这包括执行可用性测试的可用性测试单元122、执行许可控制和资源保留的许可控制和资源保留单元124、测定CPU性能的CPU性能测定单元126、以及测定IO性能的IO性能测定单元128。E-QoS资源管理器120按照链接到这些单元的链路进行资源管理分配。策略描述表130保存每个应用的系统资源的缺省范围和最大使用限度。即,E-QoS资源管理器120使用基于应用10中预测的性能参数、应用10的类的优先权次序、由用户设置的策略描述表中的资源分配的E-QoS模型,执行资源管理。
特殊I/O调度器136对多媒体应用数据的周期性执行的I/O作业进行调度,由于多媒体应用的特性,多媒体应用数据不必移动到用户空间。特殊I/O服务例程138按照由特殊I/O调度装置设置的优先级次序,执行特殊I/O系统调用。执行特殊I/O服务的系统调用负责因多媒体应用的特性而无需移动到用户空间的I/O操作。可以在将DVD播放器中编码的MPEG数据流传送到网络的应用中,找到这种I/O操作的例子。在此例中,应用程序执行传送的开始和结束,同时它仅在传送间歇期间进行监测。
一般情况下,I/O作业分为下面的四种分类1)I/O服务类1该类将数据从用户空间移动到系统。在该类中包括例如,在从存储器中读出用户数据之后,将用户数据保存到盘中,或将用户数据传送给网络。2)I/O服务类2该类将数据从一个用户空间移动到另一个用户空间。在该类中包括例如,按照传输控制协议(TCP)/因特网协议(IP)将数据传送到本地主机,或者在多媒体应用如唇同步(发声)应用之间使用I/O机制进行数据通信。3) I/O服务类3该类将数据从系统移动到用户空间。在该类中包括例如,写入从网络接收的数据,或将数据从盘读入应用程序的数据区。4)I/O服务类4该类将数据从一个系统移动到另一个系统。例如,在该类中包括通过网络传送在如CD-ROM等的存储介质中保存的数据,或利用远程系统访问在网络文件系统中的数据。
这里,I/O服务类4是能够在多媒体应用中出现的特殊I/O。特殊I/O(SIO)分为以下三类1) SIO类1它执行从盘文件到网络和从网络到盘文件的I/O操作。在该类中包括例如,VOD、Web下载和FTP。2)SIO类2它执行从I/O到网络或从网络到I/O的I/O操作。在该类中包括例如,因特网语音协议(VoIP)和视频会议。3)SIO类3它执行与应用程序之间、在各线程之间或在循环返回方法中的I/O操作。在该类中包括例如,唇同步应用。
图2示出一例SIO类1的结构。如图2所示,首先将SIO类1分配给文件缓冲区。然后,SIO类1从文件缓冲区中读出任意X个字节。如果检查到文件缓冲区为空,则PDU执行派生(fork)处理。PDU唤醒盘设备,从该设备中读出数据,并将读出的数据保存在HQ中。如果检查到文件缓冲区不空,则PDU发送HQ中保存的数据,并将盘保存在睡眠状态。PDU按照用户数据协议(UDP)将数据传送给网络系统,并将传送给网络系统的数据保存在网络系统的缓冲区中。利用媒体存取控制(medium access contro1)将在网络系统的缓冲区中保存的UDP数据传送给网络系统。这里,特殊I/O(SIO)系统调用管理从文件缓冲区分配到唤醒/睡眠状态保持和读盘的各步骤,如图2的点划线所示的部分。
图3示出一例SIO类2的结构。参照图3,首先将外部语音输入到话筒并变换成电信号。变换后的语音信号输入给硬件声码器,再转换成数字语音数据。在缓冲区中保存该数字语音数据,然后进行分组化处理。在HQ中保存分组化的数据。然后按照实时传输协议(RTP)/UDP将分组化的数据传送给网络系统。在网络系统的缓冲区中保存通过RTP/UDP传送的数据。利用媒体存取控制将在网络系统的缓冲区中保存的数据传送给网络系统。这里,特殊I/O(SIO)系统调用管理从保存到缓冲区到传送RTP/UDP的各步骤,如图3的点划线所示的部分。
图4示出一例SIO类3的结构。参照图4,首先SIO类3将通过话筒输入的外部语音变换成电信号。变换后的语音信号再转换成数字语音数据,然后在缓冲区中保存该数字语音数据。然后,将在缓冲区中保存的语音数据输入给软件声码器。软件声码器对语音数据进行分组化处理,然后在HQ中保存分组数据。SIO类3的其余操作与图3中说明的操作相同。
同时,E-QoS资源管理器120按照用户预先设置的策略来测定某类型作业的性能、和作业许可控制。对于性能测定来说,12.5微秒被当作一个性能单位(PU)。即,通过确定在应用程序中需要多少个PU,来计算应用程序的执行时间。
在大多数PentiumTM级系统中,除了“派生”或“执行(exec)”,大多数系统调用的执行时间在几微秒至几十微秒,而在电信网络中一个基本帧单位是12.5微秒。因此,希望将PU定义为12.5微秒。此外,将PU定义为12.5微秒的优点是,可以容易地将该PU应用于下述多媒体应用的性能测定和基准检验。于是,可用性能的640毫秒等于51,200个PU。然而,PU的定义不限于12.5微秒,它可以随系统性能变化。
此外,例如在系统或网络中,为了处理MPEG流,每秒必须传送30至60帧,并且为了执行符合G.723标准的的语音呼叫,每30毫秒必须发送一个语音分组。在这种情况下,系统性能与影响存储器复制性能的因素之间,比与CPU的MIPS值之间更加相关,上述因素例如有系统总线的带宽、通信协议和I/O缓冲区的大小。
也就是说,一般多媒体应用中的时间间隔(time interval)是QoS参数中最重要的属性,因此,在本实施例中,利用时间间隔而不是MIPS单位作为系统性能。此外,利用时间间隔还能够有效地处理多媒体数据。
然而,CPU的MIPS值是在诸如MPEG解码等的受CPU限制的作业中的重要量度。也就是说,可以按照应用类来改变用于性能测定的量度。
因此,为了确定每个应用的性能,首先,按照应用的类利用测试程序来测定基本值,然后在实际操作环境下对所测定基本值进行补偿。1)对于关键任务的作业,利用适用于诸如“借-贷”等应用程序特征的基准检验程序,来测定能够被处理的事务的数目。必须确定要处理事务的最小和最大数目。如果即使在只有关键任务的作业的情况下系统性能也不足,则必须通知用户要使用具有较好性能的系统。2)对于需要资源储备的多媒体应用以及符合G.723和H.263标准的交互性应用,在用户描述了诸如调度周期等QoS参数以及有关重复使用的重要例程的信息之后,测定每秒的编码和解码操作数目。3)对于其它不需要实时处理的应用,将省略性能测定,以减小由性能测定带来的开销。然而,这种应用能够获得系统响应的性能信息,并且必要时通知用户预测的响应时间。
同时,建立一个策略来确定四种类型应用的缺省和最大的系统资源使用限度。然后,在执行一个新的应用之前,根据缺省和最大范围来交换QoS参数,之后执行许可控制。下面将说明设置一个策略的例子。1)为在系统中使用的每个类的应用确定最小CPU时间值。假定系统(PU_sys)的PU数目为51,200,为I/O作业分配20,000个PU,为用户处理的受CPU限制的作业分配其余的PU。如果分别为I/O作业类1、2、3和4分配20%、10%、10%和10%的最小资源,则为每个应用分配的最小资源如下PUc1 def(类1应用的缺省PU)=4,000 PUPUc2_def(类2应用的缺省PU)=2,000 PUPUc3_de(类4应用的缺省PU)=2,000 PUPUc4_def(类4应用的缺省PU)=2,000 PU2)接着,按照应用的使用模式来分配剩余的资源。因为已分配了总共20,000个PU的10,000个PU,则还可使用剩余的10,000个PU。上述四个应用类可以共用剩余的资源。如果确定要增加类1应用的使用模式中的最大使用值,而且确定不要超过类3应用的已经设定的值,则可以如下分配附加的资源PUc1_def(类1应用的附加PU)=4,000 PUPUc2_def(类2应用的附加PU)=2,000 PUPUc3_def(类4应用的附加PU)=2,000 PUPUc4_def(类4应用的附加PU)=2,000 PU因此,为每个应用分配如下范围的CPU资源PUc1=(PUc1_def,PUc1_max)=<4,000,11,500>PUPUc2=(PUc2_def,PUc2_max)=<2,000,4,500>PUPUc3=(PUc3_def,PUc3_max)=<2,000,2,000>PUPUc4=(PUc4_def,PUc4_max)=<2,000,9,500>PU根据测得的给定应用的性能参数、应用类的优先级以及由用户设置的在策略管理器中的资源分配,如下执行E-QoS模型化处理。
首先,将按类说明应用的性能参数。类2应用的例子是语音通信和视频会议。对于语音通信而言,在语音通信中的一个方向上的处理包括两个步骤的任务。在第一个步骤中,I/O设备通过语音编译码器读取数据,而在第二个步骤中,通过电信协议按每30毫秒的间隔以分组的形式传送数据。对于视频会议而言,在分别通过声码器和视频编译码器输入数据之后。按每30毫秒的间隔传送语音数据,按每150毫秒的间隔传送图像数据。
除了类3应用使用更多的系统资源之外,类3应用的特征与类2应用的特征相同。一般情况下,类2和类3应用需要10毫秒单位的调度。如果这种作业数目较多,则由于上下文开销而不可能在现有系统中设计出一个有效的系统。
在本发明的E-QoS模型中,在特殊I/O中处理类2和类3应用而没有通过用户空间。因此,最大限度减少了在用户空间中的上下文切换。此外,如果在特殊I/O中处理应用,则较容易预测作业执行时间,即PU。
此外,按照本发明的一个实施例,为类2和类3作业使用在调度处理中具有最高优先级的HQ。在该HQ的结构中可以有时间间隔,并且调度器按照该时间间隔和作业执行时间布置各作业。
图5示出一例HO作业间隔分布。参照图5,在10毫秒中为I/O分配了200个PU。分别将<20,45>和<20,20>的PU范围分配给类2和类3的应用。此外,留下60个PU作为储备,这是类1和类4应用的PU缺省值之和。这里,如果类2和类3应用的最大PU值以及类1和类4的缺省PU值之和超过200,就不能保证某些类2和类3作业的QoS。因此,按照本发明的一个实施例,如果类2和类3的最大PU值和类1和类4的缺省PU值之和超过200,则在许可控制中进行适当的调整。
按照本发明的一个实施例,HQ由作为一个构件单元的在作业调度中所需的时间周期的最大公约数(以下称为“GCD”)组成。最好将小于10毫秒的周期当作10毫秒的周期。此外,以GCD为周期顺序地处理在某个队列中的作业,直到该队列为空。
图6是一例HQ配置的方框图。参照图6,在一个HQ中布置了七个类2和类3的作业。因为类1应用的事务处理无需实时的硬件,所以能够适当地布置各作业的特定PU。类1的调度采用轮式(Round robin-RR)调度技术。类4的应用具有最低优先级,同类1的调度一样,类4的调度也采用RR技术。
在HQ中保存了各作业之后,执行在MQ中保存的类1的作业,然后执行在LQ中保存的类4的作业。然而,虽然类1的应用具有单独的队列即MQ,但是在某些资源中可以给类1的应用赋予较高的优先级,因为HQ总是保留有用于MQ缺省值的储备。
有两种从I/O设备向网络移送数据的方式。第一种方式是,从I/O缓冲区向网络缓冲区移送数据。另一种是,读出盘中保存的数据,再将数据传送给网络。上述的SIO类2采用第一种方式,其中从I/O缓冲区将数据传送给网络缓冲区。具体例子有VoIP和视频会议。在VoIP应用中,在第一个地方利用TCP设置一个呼叫,接着,通过TCP/UDP将经由话筒/声码器设备输入的各分组传送给网络。这时,必须每30毫秒传送约30字节的实际数据。若将该应用设置到睡眠状态,则仅处理RTP会话的被监测事件,假若该事件出现。因此,无需将数据从内核空间读入用户空间以及从用户空间读入内核空间,也无需调度用于执行读操作的VoIP用户处理。
本发明的方法能够进行周期性调度并大大减少系统开销。
可以在诸如VOD或HTML文档等应用中,找到读出如MPEG流的文件数据并传送给网络的例子。在这些应用中,打开文件,然后读出用户空间缓冲区中的文件数据。
图7示出一例伴随盘IO操作的特殊IO作业。在图7中,示出了在内核中处理伴随盘读取的特殊IO系统调用的方法。如果必须将MPEG流以每帧500字节且每秒30帧的速度传送,则按照三个事件来处理该特殊I/O例程。首先,如果数据被保存在文件缓冲区中,则直接对数据进行分组,并作为UDP数据发送。然而,如果在文件缓冲区中没有接着要传送的数据,则立即调用一个用于从盘读取数据的例程。因为盘I/O需要大约20毫秒,所以如果产生盘中断,就响应该中断将数据写入文件缓冲区。
本发明的操作系统将多媒体应用如交互式多媒体或MPEG视频播放以及关键任务的应用分成各类,并按类分配和调整系统和网络资源,从而即使是在不是专用服务网络的内部网和因特网中,也能够有效地支持多媒体QoS。
如上所述,本发明的微调度方法能够应用于其中存在处理多媒体数据的操作系统的任何计算机的操作系统、诸如Web服务器和多媒体服务器等的服务器、诸如路由器等的网络设备、以及计算机交换设备。
具体地讲,本发明的上述微调度方法可以编码成计算机程序。可以在操作系统中通过将该程序纳入操作系统内核来实现该程序。上述程序包括代码和代码段,并且本领域普通程序员可以容易编制出该程序。而且,还可以在一般用途的数字计算机中通过运行来自计算机可读介质的上述程序来实现本发明。该介质包括如软盘和硬盘等磁性存储介质、如CD-ROM和DVD等光学可读介质。此外,也可以通过如因特网等电信载波设施来传送上述程序。按照如上所述的本发明,通过在其中存在处理多媒体数据的操作系统的任何计算机的操作系统、诸如Web服务器和多媒体服务器等的服务器、诸如路由器等的网络设备、以及计算机交换设备中采用一个附加的系统调用,能够有效地支持多媒体QoS。
权利要求
1.一种用于在支持多媒体应用的操作系统内核上实现的微调度方法,所述微调度方法包括下列步骤(a)通过测定所述应用中的受I/O限制的作业性能和受CPU限制的作业性能,来确定多个应用的性能参数;(b)当执行作业许可控制时,按照由系统管理者预先设置的策略,对所述性能参数进行适当的调整;(c)通过对因多媒体应用数据的特征而无需移动到用户空间的数据的I/O作业的执行周期进行调度,来为多个应用类中的每个应用类确定处理优先级;以及(d)按照在步骤(c)中确定的优先级次序,执行特殊I/O系统调用。
2.如权利要求1所述的微调度方法,其中,在所述步骤(a)中,通过利用适合于要进行性能参数确定的应用类的测试程序,测定所述应用所需的受I/O限制的作业性能和受CPU限制的作业性能,来确定所述性能参数。
3.如权利要求1所述的微调度方法,其中,通过根据在步骤(a)中确定的性能参数、应用类的处理优先级、和由系统管理者设置的策略描述表中的资源分配,建立企业服务品质模型(E-QoS),来执行所述步骤(b)。
4.如权利要求1所述的微调度方法,其中,所述步骤(a)包括下列子步骤执行可用性测试;执行许可控制和资源保留;描述一个策略,以便为每个应用确定在系统资源上的资源缺省值和最大范围;测定受CPU限制的性能;以及测定受I/O限制的性能。
5.如权利要求1至4之一所述的微调度方法,其中,在确定了在多媒体应用中可能出现的I/O服务类4对应于4类I/O作业的一个特殊I/O作业之后,如果在一个应用中的作业对应于一个特殊I/O,则所述特殊I/O系统调用负责按照由I/O调度方法分配的资源来执行周期性I/O操作,其中将I/O作业分成以下四类,这包括将数据从用户空间移动到系统的I/O服务类1,将数据从一个用户空间移动到另一个用户空间的I/O服务类2,将数据从系统移动到用户空间的I/O服务类3,以及将数据从一个系统移动到另一个系统的I/O服务类4。
6.如权利要求5所述的微调度方法,其中,所述特殊I/O分成以下3类在盘文件和网络之间执行I/O的特殊IO类1、在I/O单元和网络之间执行I/O的特殊IO类2、以及执行与一个应用之间、在线程之间或在循环返回方法中的I/O的特殊IO类3。
7.如权利要求6所述的微调度方法,其中,在所述步骤(c)的调度中使用的任务队列分成以下三类与特殊IO类1应用有关的中级队列(MQ)、与特殊IO类2和3应用有关的高级队列(HQ)、以及与特殊IO类4应用有关的低级队列(LQ)。
8.如权利要求7所述的微调度方法,其中,所述步骤(c)在调度特殊IO类2和特殊IO类3的作业时采用具有最高优先级的HQ。
9.如权利要求7所述的微调度方法,其中,在处理特殊IO类2和特殊IO类3的作业时,没有通过在特定IO单元上的用户空间。
10.如权利要求2所述的微调度方法,其中,所述策略描述表将用于四类应用的系统资源的资源缺省值和最大使用限度,作为一个策略来描述。
11.如权利要求10所述的微调度方法,其中,所述策略描述表包括由具有下述步骤的方法设置的策略,这些步骤是通过为I/O作业类1、2、3和4分配与保证每个应用类能够使用的最小CPU时间量成正比的最小资源量,来分配资源缺省值;按照各应用的使用模式来分配由所述四种应用类共享的其余资源;以及为每个应用类分配CPU资源的特定部分。
12.如权利要求11所述的微调度方法,其中,在执行新应用之前,交换QoS参数,并通过使用资源缺省值和最大资源范围值来执行许可控制。
13.如权利要求6所述的微调度方法,其中,所述特殊IO类1执行下列步骤(a-1)分配一个文件缓冲区;(b-1)从缓冲区中读出X个字节,其中X是正整数;(c-1)在协议数据单元(PDU)中检查是否文件缓冲区为空;(d-1)如果在步骤(c-1)中检查出文件缓冲区为空,则通过唤醒将从中读出数据的盘设备来执行派生处理;(e-1)在一个HQ中保存步骤(d-1)的结果;(f-1)如果在步骤(c-1)检查出文件缓冲区不为空,则传送在HQ中保存的数据,并将盘保持在睡眠状态;(g-1)将用户数据协议(UDP)数据传送给一个网络系统;(h-1)在网络系统的缓冲区中保存所接收的UDP数据;以及(i-1)使用媒体存取控制将在网络系统的缓冲区中保存的UDP数据传送给网络系统,其中特殊I/O系统调用管理从步骤(a-1)一直到(f-1)的各步骤。
14.如权利要求6所述的微调度方法,其中,所述特殊IO类2执行下列步骤(a-2)通过话筒输入外部的语音;(b-2)将输入的外部语音变换成电信号;(c-2)在硬件声码器中将变换后的语音信号转换成数字语音数据;(d-2)在缓冲区中保存数字语音数据;(e-2)将在缓冲区中保存的数字语音数据封装成分组数据;(f-2)在一个HQ中保存分组化的数据;(g-2)将实时传输协议(RTP)/用户数据协议(UDP)数据传送给一个网络系统(h-2)在网络系统的缓冲区中保存所接收的RTP/UDP数据;以及(i-2)使用媒体存取控制将在网络系统的缓冲区中保存的RTP/UDP数据传送给网络系统,其中特殊I/O系统调用管理从步骤(e-2)一直到(g-2)的各步骤。
15.如权利要求1所述的微调度方法,其中,所述性能测定包括以下步骤(pm-a)将每个应用标识为多个类;以及(pm-b)利用适合于应用类的测试程序来测定性能参数。
16.如权利要求15所述的微调度方法,其中,所述步骤(pm-b)包括以下步骤(pm-b-1)对于关键任务的作业,利用适用于应用特征的基准检验程序,来测定能够处理多少事务,并确定在系统中要处理的最小事务数目和最大事务数目;(pm-b-2)对于需要资源保留的多媒体应用以及符合G.723和H.263标准的交互性应用,在用户描述了有关重复使用的重要例程的信息和诸如调度周期等QoS参数之后,测定每秒执行的编码或解码次数;以及(pm-b-3)省略对不需要实时处理的应用的性能测定。
17.如权利要求16所述的微调度方法,其中,所述步骤(pm-b)包括以下一个附加步骤如果在所述步骤(pm-b-1)确定甚至仅对于关键任务的作业来说系统性能也不足,则通知用户使用性能更好的系统。
18.一种用于支持多媒体应用的操作系统内核,所述操作系统内核包括企业QoS(E-QoS)资源管理装置,用于通过测定在给定应用中的受I/O限制的作业性能和受CPU限制的作业性能来确定性能参数,并且执行作业许可控制以便按照由系统管理者预先设置的策略,对所述性能参数进行适当的调整;特殊I/O调度装置,用于通过对因多媒体应用特征而无需移动到用户空间的数据的I/O作业的执行周期进行调度;以及特殊I/O服务例程装置,用于按照由特殊I/O调度装置设置的优先级次序,执行特殊I/O系统调用。
19.如权利要求18所述的操作系统内核,其中,所述E-QoS资源管理装置通过根据测得的给定应用的性能参数、应用类的优先级次序、和由用户设置的策略描述表中的资源分配,建立E-QoS模型,来管理资源。
20.如权利要求18所述的操作系统内核,其中,所述性能测定采用适合于所述应用类的测试程序。
21.如权利要求18所述的操作系统内核,还包括可用性测试装置,用于执行可用性测试;许可控制和资源保留装置,用于执行许可控制和资源保留;CPU性能测定装置,用于测定CPU性能;以及IO性能测定装置,用于测定I/O性能。
22.如权利要求18至22之一所述的操作系统内核,其中,在确定了在多媒体应用中可能出现的I/O服务类4对应于4类I/O作业的一个特殊I/O作业之后,如果在一个应用中的作业对应于一个特殊I/O,则所述特殊I/O系统调用负责按照由I/O调度方法分配的资源来执行周期性I/O操作,其中将I/O作业分成以下四类,这包括将数据从用户空间移动到系统的I/O服务类1,将数据从一个用户空间移动到另一个用户空间的I/O服务类2,将数据从系统移动到用户空间的I/O服务类3,以及将数据从一个系统移动到另一个系统的I/O服务类4。
23.如权利要求22所述的操作系统内核,其中,所述特殊I/O分成以下3类在盘文件和网络之间执行I/O的特殊IO类1、在I/O单元和网络之间执行I/O的特殊IO类2、以及执行与一个应用之间、在线程之间或在循环返回方法中的I/O的特殊IO类3。
24.如权利要求23所述的操作系统内核,其中,用于在所述特殊I/O调度装置中调度的任务队列分成以下三类与特殊IO类1应用有关的中级队列(MQ)、与特殊IO类2和3应用有关的高级队列(HQ)、以及与特殊IO类4应用有关的低级队列(LQ)。
25.如权利要求24所述的操作系统内核,其中,所述特殊I/O调度装置在调度特殊IO类2和特殊IO类3的作业时采用具有最高优先级的HQ。
26.如权利要求25所述的操作系统内核,其中,在处理特殊IO类2和特殊IO类3的作业时,没有通过在特定IO单元上的用户空间。
27.如权利要求19所述的操作系统内核,其中,所述策略描述表将用于四类应用的系统资源的资源缺省值和最大使用限度,作为一个策略来描述。
28.如权利要求27所述的操作系统内核,其中,所述策略描述表包括由具有下述步骤的方法设置的策略,这些步骤是通过为I/O作业类1、2、3和4分配与保证每个应用类能够使用的最小CPU时间量成正比的最小资源量,来分配资源缺省值;按照各应用的使用模式来分配由所述四种应用类共享的其余资源;以及为每个应用类分配CPU资源的特定部分。
29.如权利要求28所述的操作系统内核,其中,在执行新应用之前,交换QoS参数,并通过使用资源缺省值和最大资源范围值来执行许可控制。
30.如权利要求23所述的操作系统内核,其中,所述特殊IO类1执行下列步骤(a-1)分配一个文件缓冲区;(b-1)从缓冲区中读出X个字节,其中X是正整数;(c-1)在协议数据单元(PDU)中检查是否文件缓冲区为空;(d-1)如果在步骤(c-1)中检查出文件缓冲区为空,则通过唤醒将从中读出数据的盘设备来执行派生处理;(e-1)在一个HQ中保存步骤(d-1)的结果;(f-1)如果在步骤(c-1)检查出文件缓冲区不为空,则传送在HQ中保存的数据,并将盘保持在睡眠状态;(g-1)将用户数据协议(UDP)数据传送给一个网络系统;(h-1)在网络系统的缓冲区中保存所接收的UDP数据;以及(i-1)使用媒体存取控制将在网络系统的缓冲区中保存的UDP数据传送给网络系统,其中特殊I/O系统调用管理从步骤(a-1)一直到(f-1)的各步骤。
31.如权利要求23所述的操作系统内核,其中,所述特殊IO类2执行下列步骤(a-2)通过话筒输入外部的语音;(b-2)将输入的外部语音变换成电信号;(c-2)在硬件声码器中将变换后的语音信号转换成数字语音数据;(d-2)在缓冲区中保存数字语音数据;(e-2)将在缓冲区中保存的数字语音数据封装成分组数据;(f-2)在一个HQ中保存分组化的数据;(g-2)将实时传输协议(RTP)/用户数据协议(UDP)数据传送给一个网络系统;(h-2)在网络系统的缓冲区中保存所接收的RTP/UDP数据;以及(i-2)使用中级许可控制将在网络系统的缓冲区中保存的RTP/UDP数据传送给网络系统,其中特殊I/O系统调用管理从步骤(e-2)一直到(g-2)的各步骤。
32.如权利要求18所述的操作系统内核,其中,所述性能测定包括以下步骤(pm-a)将每个应用标识为多个类;以及(pm-b)利用适合于应用类的测试程序来测定性能参数。
33.如权利要求32所述的操作系统内核,其中,所述步骤(pm-b)包括以下步骤(pm-b-1)对于关键任务的作业,利用适用于应用特征的基准检验程序,来测定能够处理多少事务,并确定在系统中要处理的最小事务数目和最大事务数目;(pm-b-2)对于需要资源保留的多媒体应用以及符合G.723和H.263标准的交互性应用,在用户描述了有关重复使用的重要例程的信息和诸如调度周期等QoS参数之后,测定每秒执行的编码或解码次数;以及(pm-b-3)省略对其它不需要实时处理的应用的性能测定。
34.如权利要求33所述的操作系统内核,其中,所述步骤(pm-b)包括以下一个附加步骤如果在所述步骤(pm-b-1)确定甚至仅对于关键任务的作业来说系统性能也不足,则通知用户使用性能更好的系统。
全文摘要
一种在支持多媒体应用的操作系统内核上实现的微调度方法,包括步骤:测定给定应用中的受I/O限制的作业性能和受CPU限制的作业性能,确定性能参数;当执行作业许可控制时,按照由系统管理者预先设置的策略,适当调整性能参数;根据性能测定和作业许可控制,通过调度因多媒体应用特征而无需移动到用户空间的数据的I/O作业的执行周期,来确定应用类处理优先级次序;以及,按照处理优先级次序,执行特殊I/O系统调用。它使任何支持多媒体应用的操作系统都能够支持准确的QoS。
文档编号G10L19/00GK1280335SQ0010471
公开日2001年1月17日 申请日期2000年3月24日 优先权日1999年7月10日
发明者俞恒载, 金铉植 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1