基于消息传递的Minix系统的实时化进程调度的设计与实现 |
2013-01-07 12:00 作者:张英杰 韩秀媛 来源:硅谷网-《硅谷》杂志 HV: 编辑: 【搜索试试】
|
|
据《硅谷》杂志2012年第21期刊文称,随着开放源代码的Linux、Minix的使用进入实时控制领域内,Linux、Minix等内核机制的不可抢占的内核、粗糙的时钟粒度、频繁的关中断等缺陷日益突显,使得Linux、Minix等操作系统的实时性不强。对Minix,Linux等通用操作系统的实时化是实时操作系统开发的一个重要途径,基于消息传递机制以微内核结构系统为基础,对Minix进行实时化架构,主要对实时化进程中断处理和实时化进程调度机制的设计,并对设计的合理性进行比较,实现一个具有较好实时性能的Minix系统。
实时化是目前通用操作系统的一个重要特征,也是实时操作系统开发的一种方法。
1Minix的操作系统内核体系结构
Minix的体系结构是基于进程的机制,是进程的集合,进程之间通信通过消息传递实现,Minix具有四层体系结构,分别是内核层、UO任务层、服务器进程层和用户进程层。如图1所示。
第1层是内核层,具有进程调度、中断处理、上下文切换、基本内存管理以及进程的就绪态、运行态和阻塞态间的转换;第2层是设备驱动程序,该层内的进程可以请求系统任务代表它们从输入输出端口读写数据;第3层包含了服务器进程,该层主要通过内存管理和文件系统服务器向用户进程提供服务。最后,第4层包括了所有用户进程,如init进程、shell进程、编辑器和编译器等程序。
在Minix的实时化系统中设计了一个非常小的并且独立的实时微内核,它存在于Minix系统的硬件和内核之间,如图2所示。
2Minix操作系统实时化进程调度设计
2.1Minix操作系统实时化进程的设计
Minix操作系统的实时进程可由非实时进程转变而来的,无需在内核中程序中添加新的专门创建实时进程的程序代码,一个实时进程在终止前必须被转变回非实时进程。
Minix操作系统的进程有就绪态、阻塞态、运行态和实时态四个状态。
①就绪态到运行态②运行态到就绪态③运行态到阻塞态④阻塞态到就绪态⑤阻塞态到实时态⑥实时态到就绪态。
2.2Minix操作系统实时化进程调度的设计
Minix使用一种多级调度算法。在进程调度的过程中,进程被赋予一个与一个初始优先级,优先级可以有很多层次并且在执行过程中进程的优先级可以改变。进程调度所花的时间应是一个与系统中进程任务的多少无关的常数。进程调度器维护16个队列,每个队列具有一个优先级,在任一时刻并不一定所有的队列都在使用。0队列是优先级最高的队列,15队列是优先级最低的队列。由调度算法维护优先级队列,调度算法很简单:先选取优先级最高的就绪队列中的首部进程运行,一个新就绪的实时进程应该放在相应优先级队列的首端。进程IDLE总是处于就绪态,并且位于优先级最低的队列中,当所有的优先级高于它的队列都为空时,IDLE进程才会运行。在Minix实时操作系统中,分别引用enqueue和dequeue函数来完成对一个进程应该位于哪个队列,是该放在队列首还是队列尾的判断。每个队列的内部都采用时间片轮转调度算法。如果一个正在运行的进程用完了它的时间片,则它被转移到该队列的尾部,并且会分配给它一个新的时间片。
3Minix操作系统实时化中断的设计
3.1Minix操作系统实时化的中断
在Minix操作系统实时化中断有三类:实时事件中断、定时器实时中断和非实时中断。①实时事件中断是指在实时系统模式下运行时,只有当新产生的实时事件中断的优先级高于被中断的实时进程时就被处理,低于被中断的进程则被标记,稍后再做处理。②定时器的中断则是在设备产生中断时先不作处理,而是以触发中断的方式,在中断服务处理周期到来时才会被处理。③非实时中断指在没有任何的实时进程和实时中断服务处理程序执行的Minix内核中处理的中断。当Minix内核收到一个中断时,cpu将关掉所有中断,将之后的新中断放入中断队列中等待开中断再进行中断处理。
3.2Minix操作系统实时化的中断服务处理
为了防止中断服务处理时间过长,Minix操作系统实时进程可用两阶段的中断处理方式进行中断的处理,把中断分成负责“记录中断”前半部分和“处理中断”的后半部分。其具体过程是当中断产生时,Minix操作系统中的实时化进程的中断处理程序第一步判断中断的优先级和类型,如果中断的优先级高于系统中正在运行的进程的优先级,且属于实时中断进程,则立即进入这个实时中断处理,否则,若中断的优先级比系统中正在运行的实时进程的优先级低,则暂不处理该中断,将该中断推迟到后半部去等待处理。
4Minix操作系统实时化的性能比较
基于消息机制的微内核体系结构的Minix操作系统的实时化进程调度和进程间通信在一定程度上提高了消息传输的效率,所以消息效率是Minix操作系统的实时化性能的一个重要指标。通过比较,其中断服务处理的时间能够满足实时操作系统的性能要求。 |
|
|
|
【对“基于消息传递的Minix系统的实时化进程调度的设计与实现”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|