当前位置: 首页 > 专利查询>浙江大学专利>正文

一种嵌入式SRAM操作系统进程调度的实现方法技术方案

技术编号:2846318 阅读:238 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种嵌入式SRAM操作系统进程调度的实现方法。在嵌入式SRAM操作系统中,采用先进先出的方法对嵌入式SRAM操作系统中的进程进行调度,对于到达每一个进程,都记录进程的状态,对于先进入就绪状态的进程,处理器优先进行处理,直到运行结束或者阻塞。本发明专利技术的方法可以减少调度的复杂性,加快调度的速度,对于同等优先级且没有实时性要求的顺序进程来说,采用这种调度方法更为有效。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统进程调度领域,特别是涉及一种嵌入式SRAM操作系统进程调度的实现方法
技术介绍
在计算机系统中,可能同时有数百个批处理作业存放在磁盘的作业队列中,或者有数百个终端与主机相连接。如何从这些作业中挑选作业进入主存运行、如何在进程之间分配处理器时间,无疑是操作系统资源管理中的一个重要问题。这一涉及处理机分配的问题,称之为处理机调度。我们经常遇到两个或多个进程在逻辑上均可以运行的情况。当有多个进程就绪时,操作系统必须决定先运行哪一个。操作系统中作出这种决定的部分称作调度程序(Scheduler)。早期以磁带上的卡片映像作为输入的批处理系统时代的调度算法很简单依次运行磁带上的下一个作业。对于分时系统,则调度算法要复杂一些即使在个人电脑上,也可能有若干用户启动的进程竞争CPU,更不要说还有后台作业,例如网络或收发电子邮件的精灵进程。一个好的处理机调度应当考虑很多方面,其中可能有公平确保每个进程获得合理的CPU份额。有效使CPU百分之百地忙碌。响应时间使交互用户的响应时间尽可能短。周转时间使批处理用户等待输出的时间尽可能短。吞吐量使每小时处理的作业数最多。对这些目标稍加思考便会发现其中有矛盾之处。可以证明任何一个偏向某些类型作业的调度算法必将损害另一些作业。毕竟可利用的CPU时间是有限的。调度程序必须面对的另一个麻烦是每个进程都不一样,而且不可预测。有些进程花费很多时间等待I/O,而另一些进程在允许的条件下将连续使用CPU达几个小时。为了保证不让进程运行得太久,几乎所有的计算机都内置一个电子定时器或时钟,它将定期地发出中断。在许多计算机上,操作系统能够根据需要将时钟频率设置成任意值。每发生一次时钟中断,操作系统都将运行,并决定当前进程是否应继续运行,还是它已经占用了足够长的CPU时间,应该暂停让其他进程运行。允许将逻辑上可运行的进程暂时挂起的策略称作可剥夺调度(PreemptiveScheduling)。运行直到结束的调度方式称作非剥夺调度(NonpreemptiveScheduling)。进程可在任意时刻被不加警告地挂起,以便让另一个进程运行。这导致了竞争条件以及防止竞争条件的信号量、管程、消息或其他复杂的方法。另一方面,允许一个进程运行它所希望的时间意味着一个计算圆周率小数点后边十亿位的进程将使其他进程永远得不到服务。所以尽管非剥夺调度简单且易于实现,但它通常不适于具有多个竞争用户的通用系统。另一方面,对于专用系统,如一个数据库服务器,主进程在收到请求时启动一个子进程并让其运行直到结束或阻塞则是很合理的。因此通常对于不同的任务进程,会采用不同的调度方法。作为嵌入式SRAM操作系统,其特点是操作系统位于SRAM中,因此也需要采用建立在SRAM基础的调度方法。
技术实现思路
本专利技术的目的在于提供一种嵌入式SRAM操作系统进程调度的实现方法。本专利技术解决其技术问题采用的技术方案如下1)记住进程的状态在进程被创建进入就绪态,或者从其他状态进入到就绪状态,它们会被加入到一个就绪队列,对于每一个,记住进程的状态,这个信息一般记录在一个进程的进程控制块内;2)进程进入次序判断对于每个进入到就绪队列的进程,它的PCB中都记录了该进程到达的次序,处理器在调度之前,读取进程PCB中记录的进程到达次序的条目,从而判断出进程到达的次序;3)处理器分配把选中进程的进程控制块内有关现场的信息,送入处理器相应的寄存器中,从而让它占用处理器运行;4)收回处理器将处理器有关寄存器内容送入该进程的进程控制块内的相应单元,从而使该进程让出处理器。本专利技术与
技术介绍
相比,具有的有益的效果是该方法容易实现,并且有利于较长的进程,或者说有利于CPU繁忙型进程不利于I/O繁忙型进程,同时该方法有效利用当进程位于SRAM中时,当进程对于CPU的使用率较高时,SRAM对于进程调度响应速度快的特点。附图说明图1是本专利技术过程的示意图;图2是进程控制块的示意图;图3是进程状态队列的示意图。具体实施例方式下面结合附图对本专利技术作进一步的说明。一种嵌入式SRAM操作系统进程调度的实现方法,图1是本专利技术实施过程的整体示意图,其具体实施方法如下1)记住进程的状态在进程被创建进入就绪态,或者从其他状态进入到就绪状态,它们会被加入到一个就绪队列,对于每一个,记住进程的状态,这个信息一般记录在一个进程的进程控制块内;每一个进程都有一个也只有一个进程控制块Process Control Block,简称PCB,是操作系统用于记录和刻划进程状态及有关信息的数据结构,也是操作系统掌握进程的唯一资料结构,它包括了进程执行时的情况,以及进程让出处理器后所处的状态、断点等信息。一般说,进程控制块包含三类信息标识信息,用于唯一地标识一个进程,常常分由用户使用的外部标识符和被系统使用的内部标识号,几乎所有操作系统中进程都被赋予一个唯一的、内部使用的数值型的进程号,操作系统的其他控制表可以通过进程号来交叉引用进程控制表。常用的标识信息包括进程标识符、父进程的标识符、用户进程名等;现场信息,用于保留一个进程在运行时存放在处理器现场中的各种信息,任何一个进程在让出处理器时必须把此时的处理器现场信息保存到进程控制块中,而当该进程重新恢复运行时也应恢复处理器现场,常用的现场信息包括通用寄存器的内容、控制寄存器(如PSW寄存器)的内容、用户堆栈指针、系统堆栈指针等;控制信息,用于管理和调度一个进程。常用的控制信息包括进程的调度相关信息,如状态、等待事件或等待原因、优先级、采用的进程调度算法、队列指引元等;进程间通信相关信息,如消息队列指针、信号量;进程在二级存储器内的地址;资源的占用和使用信息,如己进程占用CPU的时间、进程己执行的时间总和;进程特权信息,如在内存访问和处理器状态方面的特权。资源清单,包括进程所需全部资源、已经分得的资源;进程控制块是操作系统中最为重要的数据结构,每个进程控制块包含了操作系统管理所需的所有进程信息,进程控制块的集合事实上定义了一个操作系统的当前状态,进程控制块使用或修改权仅属于操作系统程序,包括调度程序、资源分配程序、中断处理程序、性能监视和分析程序等,有了进程控制块进程才能被调度执行,如图2所示。2)进程进入次序判断对于每个进入到就绪队列的进程,它的PCB中都记录了该进程到达的次序,处理器在调度之前,读取进程PCB中记录的进程到达次序的条目,从而判断出进程到达的次序;一般说来,处于同一状态,例如就绪态的所有进程控制块是连接在一起的,这样的数据结构称为进程队列,简称队列,对于等待态的进程队列可以进一步细分,每一个进程按等待的原因进入相应的队列;当发生的某个事件使一个进程的状态发生变化时,这个进程就要退出所在的某个队列而排入到另一个队列中去;一个进程从一个所在的队列中退出的工作称为出队,相反,一个进程排入到一个指定的队列中的工作称为入队;处理器调度中负责入队和出队工作的功能模块称为队列管理模块,简称队列管理,如图3所示。3)处理器分配把选中进程的进程控制块内有关现场的信息,送入处理器相应的寄存器中,从而让它占用处理器运行;4)收回处理器将处理器有关寄存器内容送入该进程的进程控制块内的相应单元,从而使该进程让出处理器。本文档来自技高网
...

【技术保护点】
一种嵌入式SRAM操作系统进程调度的实现方法,其特征在于:1)记住进程的状态在进程被创建进入就绪态,或者从其他状态进入到就绪状态,它们会被加入到一个就绪队列,对于每一个,记住进程的状态,这个信息一般记录在一个进程的进程控制块 内;2)进程进入次序判断对于每个进入到就绪队列的进程,它的PCB中都记录了该进程到达的次序,处理器在调度之前,读取进程PCB中记录的进程到达次序的条目,从而判断出进程到达的次序;3)处理器分配把选中进程的进程 控制块内有关现场的信息,送入处理器相应的寄存器中,从而让它占用处理器运行;4)收回处理器将处理器有关寄存器内容送入该进程的进程控制块内的相应单元,从而使该进程让出处理器。

【技术特征摘要】
1.一种嵌入式SRAM操作系统进程调度的实现方法,其特征在于1)记住进程的状态在进程被创建进入就绪态,或者从其他状态进入到就绪状态,它们会被加入到一个就绪队列,对于每一个,记住进程的状态,这个信息一般记录在一个进程的进程控制块内;2)进程进入次序判断对于每个进入到就绪队列的进程,它的PCB中都记录了该...

【专利技术属性】
技术研发人员:陈天洲胡威沙峰连毅
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利