一种进程调度优化方法

文档序号:9564491阅读:743来源:国知局
一种进程调度优化方法
【技术领域】
[0001]本发明涉及进程调度技术领域,特别是涉及一种进程调度优化方法。
【背景技术】
[0002]目前,一个完整的操作系统内核由五个部分构成:进度调度、内存管理、文件系统、网络接口以及通信机制。进程调度部分负责对CPU资源的分配,调度算法的优劣直接影响到操作系统的整体性能。操作系统为了换取底层设备的内存、10设备等物理资源的接口以及所模拟的硬件环境,客户机操作系统需要进行二进制的转换,这样必然增加了系统的复杂性。
[0003]linux操作系统具有默认的调度策略和优先级,用户在启动操作系统调度机时,操作系统只能采用默认的调度策略和优先级,并不能根据实际需要来选择不同的调度策略,这样获取底层物理资源的速度很慢,进程调度的效率很低。

【发明内容】

[0004]本发明的目的是提供一种进程调度优化方法,以实现操作系统能够根据实际需要,更快地获取底层物理资源,提高进程调度的效率。
[0005]为解决上述技术问题,本发明提供一种进程调度优化方法,该方法包括:
[0006]在linux操作系统中建立一套自动化脚本;
[0007]利用所述自动化脚本的传入参数设置操作系统监控器的调度策略和运行级别;
[0008]利用所述传入参数调节linux内核的进程的调度策略。
[0009]优选的,所述利用所述自动化脚本的传入参数设置操作系统监控器的调度策略和运行级别,包括:
[0010]将实时性的任务设置为实时进程的调度策略,选用SCHED_FIF0调度策略或者SCHED_RR调度策略;
[0011]将非实时性的普通任务设置为默认的调度策略,选用SCHED_FIF0调度策略;
[0012]将交互性不强的批处理任务设置为SCHED_BATCH调度策略。
[0013]优选的,所述交互性不强的批处理任务包括作业密集型的批处理任务或者响应时间要求低的批处理任务。
[0014]优选的,所述在linux操作系统中建立一套自动化脚本,包括:
[0015]在linux操作系统中,通过不同的系统调用函数创建新的进程;
[0016]在创建新的进程的过程中,通过不同的选项参数来确定进程所需资源的属性;
[0017]将创建新的进程的过程制作成一套自动化脚本,所述选项参数为所述自动化脚本的传入参数。
[0018]优选的,所述通过不同的系统调用函数创建新的进程,包括:
[0019]在用户空间通过fork函数族的系统调用来创建一个新的进程;所述fork函数族中包括fork()函数、clone()函数和vfork()函数;
[0020]在内核空间通过调用kernel_thread()函数来创建一个内核进程。
[0021 ] 优选的,所述参数选项中包括CL0NE_FILES参数和CL0NE_SIGHAND参数,CL0NE_FILES参数表示子进程共享相同的文件描述符合信号处理表,CL0NE_SIGHAND参数表示子进程和父进程共享相同的文件描符合信号处理表。
[0022]优选的,在创建新的进程的过程中,通过不同的选项参数来确定进程所需资源的属性之后,还包括:
[0023]若调用的新的进程处于TASK_RUNNING状态,则子进程默认处于TASK_ST0PPED状态;
[0024]若选项参数选用CL0NE_ST0PPED选项,则子进程的初始状态将是TASK_ST0PPED状
??τ ο
[0025]优选的,所述新的进程在linux操作系统中有五个状态:TASK_RUNNING、TASK_INTERRUPTIBEL、TASKJJNINTERRUPTIBLE、TASK_ST0PPED 和 TASK_Z0MBILE ;所述 TASK_INTERRUPTIBLE、TASK_UNINTERRUPTIBLE、TASK_STOPPED 和 TASK_Z0MBIE 为非 TASK_RUNNING状态。
[0026]本发明所提供的一种进程调度优化方法,在linux操作系统中建立一套自动化脚本;利用所述自动化脚本的传入参数设置操作系统监控器的调度策略和运行级别;利用所述传入参数调节linux内核的进程的调度策略。可见,该方法通过自动化脚本,用户可以调节参数,通过参数来调节linux内核的进程的调度策略,用户可以根据自己的需要,设置所启动机器监控器调度的策略和运行级别,使之能根据作业的需要占有物理处理器,如此在操作系统启动运行期间根据自动化脚本传入的参数,调用进程的不同调度策略,实现操作系统能够根据实际需要,更快地获取底层物理资源,提高进程调度的效率。
【附图说明】
[0027]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0028]图1为本发明所提供的一种进程调度优化方法的流程图;
[0029]图2为操作系统调度优化的处理流程图。
【具体实施方式】
[0030]本发明的核心是提供一种进程调度优化方法,以实现操作系统能够根据实际需要,更快地获取底层物理资源,提高进程调度的效率。
[0031]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032]请参考图1,图1为本发明所提供的一种进程调度优化方法的流程图,该方法包括:
[0033]Sll:在linux操作系统中建立一套自动化脚本;
[0034]其中,在linux操作系统中建立一套自动化脚本的过程具体为:在linux操作系统中,通过不同的系统调用函数创建新的进程;在创建新的进程的过程中,通过不同的选项参数来确定进程所需资源的属性;将创建新的进程的过程制作成一套自动化脚本,选项参数为自动化脚本的传入参数。
[0035]S12:利用自动化脚本的传入参数设置操作系统监控器的调度策略和运行级别;
[0036]其中,利用自动化脚本的传入参数设置操作系统监控器的调度策略和运行级别的过程具体为:将实时性的任务设置为实时进程的调度策略,选用SCHED_FIF0调度策略或者SCHED_RR调度策略;将非实时性的普通任务设置为默认的调度策略,选用SCHED_FIF0调度策略;将交互性不强的批处理任务设置为SCHED_BATCH调度策略。其中,交互性不强的批处理任务包括作业密集型的批处理任务或者响应时间要求低的批处理任务。
[0037]S13:利用传入参数调节linux内核的进程的调度策略。
[0038]可见,该方法通过自动化脚本,用户可以调节参数,通过参数来调节linux内核的进程的调度策略,用户可以根据自己的需要,设置所启动机器监控器调度的策略和运行级另IJ,使之能根据作业的需要占有物理处理器,如此在操作系统启动运行期间根据自动化脚本传入的参数,调用进程的不同调度策略,实现操作系统能够根据实际需要,更快地获取底层物理资源,提高进程调度的效率。
[0039]具体的,在步骤S11中,通过不同的系统调用函数创建新的进程具体为:在用户空间通过fork函数族的系统调用来创建一个新的进程;fork函数族中包括fork()函数、clone ()函数和vfork()函数;在内核空间通过调用kernel_thread()函数来创建一个内核进程。
[0040]其中,参数选项中包括CL0NE_FILES参数和CL0NE_SIGHAND参数,CL0NE_FILES参数表示子进程共享相同的文件描述符合信号处理表,CL0NE_SIGHAND参数表示子进程和父进程共享相同的文件描符合信号处理表。
[0041]其中,在创建新的进程的过程中,通过不同的选项参数来确定进程所需资源的属性之后,若调用的新的进程处于TASK_RUNNING状态,则子进程默认处于TASK_ST0PPED状态;若选项参数选用CL0NE_ST0PPED选项,则子进程的初始状态将是TASK_ST0PPED状态。
[0042]其中,新的进程在linux操作系统中有五个状态:TASK_RUNNING、TASK_INTERRUPTIBEL、 TASK_UNINTERRUPTIBLE、 TASK_ST0PPED 和 TASK_Z0MBILE ;TASK_INTERRUPTIBLE、TASKJJNINTERRUPTIBLE、TASK_ST0PPED 和 TASK_Z0MBIE 为非 TASK_RUNNING状态。
[0043]该方法设计与实现了一套linux操作系统的进程调度的优化方案,实现操作系统能够根据实际需要,更多、更快的获取底层物理资源。主要是根据当前系统的实际需要,编写一套自动化脚本,在操作系统启动运行期间根据自动化脚本传入的参数,调用进程的不同调度策略。通过自动化脚本,用户可以调节参数,通过参数来调节linux内核的进程的调度策略。并且,用户可以根据自己的需要,设置所启动机器监控器调度的策略和运行级别,使之能根据作业的需要占有物理处理器,比如对于实时性的任务,可以设置为实时进程的调度策略,选用SCHED_FIF
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1