linux中关于进程的学习

  1. 进程的概念:进程通俗的来讲就是运行中的程序(用户方面的理解),但是在操作系统层面进程就是pcb(进程控制块);程序运行需要将代码加载到内存中,在操作系统层面进程就是操作系统对一个运行中的程序的描述,这个描述信息就是pcb。
  2. 进程的三种基本状态:运行,就绪,阻塞
    运行状态:这是指进程已经获得CPU,其程序正在执行状态。
    就绪状态:这是指进程已经处于准备好运行的状态,即进程已经分配到所需资源,除了CPU,只要获得CPU便可立即执行。
    阻塞状态:指正在执行的进程由于某些事件(如I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞。再满足请求时进程会进入就绪状态等待系统调用。阻塞状态有时也称为等待状态或封锁状态。通常系统将处于阻塞状态的进程排成一个队列,称为阻塞队列。
  3. 进程的调度算法:
    (1).时间片轮转调度算法(RR):给每个进程固定的执行时间,根据进程到达的先后顺序让进程在单位时间片内执行,执行完成后便调度下一个进程执行,时间片轮转调度不考虑进程等待时间和执行时间,属于抢占调度。优点是兼顾长短作业,缺点是平均等待时间长。上下文切换时间长,适用于分时系统。
    (2).先来先服务调度算法(FCFS):根据进程到达的先后顺序执行进程,不考虑时间等待和执行时间,会产生饥饿现象,属于非抢占式调度,优点是公平,实现简单;缺点是不利于短作业。
    {
    抢占式调度算法,系统同样是把处理机分配给优先权最高的进程,使之执行。但在其执行期间,只要又出现了另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理机分配给新到的优先权最高的进程。因此,在采用这种调度算法时,是每当系统中出现一个新的就绪进程i 时,就将其优先权Pi与正在执行的进程j 的优先权Pj进行比较。如果Pi≤Pj,原进程Pj便继续执行;但如果是Pi>Pj,则立即停止Pj的执行,做进程切换,使i 进程投入执行。显然,这种抢占式的优先权调度算法能更好地满足紧迫作业的要求,故而常用于要求比较严格的实时系统中,以及对性能要求较高的批处理和分时系统中。
    }
    (3).优先级调度算法(HPF):在进程等待队列中选择优先级最高的来执行、常被用于批处理系统中,还可用于实时系统中。
    (4).高响应比优先调度算法:根据“响应比=(进程执行时间+进程等待时间)/进程执行时间”这个响应比来进行调度,高响应比优先算法在等待时间相同的情况下,作业执行的时间越短,响应比越高,满足段任务优先,同时响应比会随着等待时间的不断增长而逐渐在增大,优先级会提高,能够避免饥饿现象。优点是艰苦长短作业,缺点是计算机响应比开销大,适用于批处理系统。
    {
    饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。
    }
    二:
    task _struct :是linux中描述进程的结构体,他会被装载到RAM(内存)里并包含者进程信息。
    tsat_struct 内容分类:
    (1).标识符:描述本进程的唯一标识符,用来区别其它进程。
    (2).状态:任务状态,退出代码,推出信号等。
    (3).优先级:相对于其他进程的优先级。
    (4).程序计数器:程序中即将被执行的下一条指令的地址。
    (5).内存指针:包括程序代码和进程相关数据的指针,还有和其它进程共享的内存块指针。
    (6).上下文数据:进程执行时处理器的寄存器中的数据。
    (7).I/O状态信息:包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。
    (8).记账信息:可能包括处理器时间总和,使用的时钟树总和,时间限制记账号等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值