linux普通分时进程,Linux的进程调度机制.吴宏0904013012 09 计本3

Linux的进程调度

班级:09计本3班学号:0904013012 姓名:吴宏Linux的进程调度是基于分时技术(time-sharing )。允许多个进程“并发”运行就意味着CPU的时间被粗略地分成“片”,给每个可运行进程分配一片。当然,单处理器在任何给定的时刻只能运行一个进程。当一个并发执行的进程其时间片或时限(quantum )到期时还没有终止,进程切换就可以发生。分时依赖于定时中断,因此,对进程是透明的。为保证CPU分时,不需要在程序中插入额外的代码。

操作系统技术是最核心的软件技术,它是其它应用软件得以运行的平台,应用软件的开发必须基于对相应平台(操作系统)的技术的理解和掌握。在我国,由于受知识产权的限制,无法窥视到Windows或Unix等的内部结构,迫切需要开发具有自主知识产权的操作系统,特别是应用于特定领域的专用操作系统。由于Linux性能优越,公开源代码且完全免费,所以拿来做底版是非常合适的选择。但是首先我们需要完全了解Linux的实现细节。

在Linux内核5大模块中,进程管理处于最核心的地位,而进程调度又是其中的关键部分。本文通过对Linux内核进程调度相关的若干关键技术进行研究,归纳总结出了Linux进程调度的思想和机制,对我们开发特定需求的操作系统具有积极的指导作用。

一、Linux进程及其状态

Linux的进程与其它操作系统中的进程相同,都是指在一个独立的虚拟地址空间里运行的程序及其上下文。但在进程的状态划分方面,Linux有其独特之处,而这些独特之处又极大地影响着Linux的各种特性和性能,包括本文所关注的进程调度问题。Linux将进程状态定义为5种:

1、运行态

进程正在使用CPU运行的状态,称为运行态。处于运行态的进程又称为当前进程。

2、可运行态

进程已分配到除CPU外所需要的其它资源,等待系统把CPU分配给它之后即可投入运行。

3、等待态

又称睡眠态,它是进程正在等待某个事件或某个资源时所处的状态。等待态进一步分为可中断的等待态和不可中断的等待态。处于可中断等待态的进程可以由信号解除其等待态。处于不可中断等待态的进程,一般是直接或间接等待硬件条件,它只能用特定的方式来解除,例如使用唤醒函数wake_up()等。

4、暂停态

进程需要接受某种特殊处理而暂时停止运行所处的状态。通常进程在接收到外部进程的某个信号进入暂停态,例如,正在接受调试的进程就处于这种状态。

5、僵死态

进程的运行已经结束,但它所占的资源还未释放,父进程也还没有询问其状态,该进程处于僵死态。

这5种状态之间可相互转换,理解进程状态及其转换对于把握调度时机非常关键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值