虚拟化-进程【操作系统】

        定义(非正式)

        进程是运行中的程序

        我们写的这些代码、程序都是没有生命的。是操作系统赋予了它们生命,让他们“活”了起来,变成了进程,实现了一些功能。

  


        进程的生命周期:

        在我们编译好程序后,生产了一个可执行文件。当我们运行该文件,一个进程就的生命周期就开始了。运行之后,操作系统就会把该可执行文件的数据读入内存,由CPU执行它的指令,执行完所有指令后,操作系统释放这个进程的所有资源,进程的生命周期就结束。

        


        时分共享技术(并发):

        在这个过程中会有几个问题产生:

                -在数据未到达CPU时,CPU只能傻等

                -在数据到达CPU运行一段时间后,突然需要其他资源,去申请的过程CPU又只能傻等

                -CPU的速度比其他IO操作性速度快的多

        面对以上问题,操作系统使用了时分共享技术。即一个CPU同时运行多个进程,这种技术也可以简称并发。而现代计算机往往一个CPU有多个核心,每个都可以看作一个单独的运行单元,这些运行单元运行不同进程的过程称为并行


        进程调度:

        知道了并发以后,又有新的问题产生:

                -CPU如何运行多个进程?

                -多个进程之间的运行顺序应该是怎么样的?

       其中,问题一很好理解。现在假设有进程A和进程B两个进程,当CPU正在运行进程A过程中,进程B的磁盘IO操作已经完成,这时,进程B会让操作系统帮忙,用硬件给CPU发送一个中断,这个中断即告诉CPU,我现在需要运行了!

        于是CPU将进程A信息保存,切换到进程B,等进程B的时间片用完后,再保存进程B的信息,运行下一个进程(可能是进程A也可能不是)。

        那么,CPU是如何决定在运行完一个进程后,下一个进程运行哪个呢?

        这时就涉及到了进程调度算法,进程调度算法的作用就是:

                决定CPU在多个进程之间运行哪一个

        常见进程调度算法:

                -先进先出算法(FIFO)

                -最短任务优先算法(SJF)

                -最短完成时间优先算法(STCF)

                -多级反馈队列算法(MLFQ)

                -彩票算法

        进程调度算法中,多级反馈队列算法往往是现代系统中常常采用的算法。有关进度调度算法,会另开一篇文章:

     //TODU:进程调度算法   


        本篇内容非常简单,是我自己对进程这一概念的理解,其实有关进程的细节非常多,详情请看书,我应该是不会将其补充完整的,一是没有必要,无非是将书上内容搬到文章里。二是太累了,我懒。        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值