操作系统——多个进程间的故事

 发布日期:2019-03-22 06:42:25  阅读次数:阅读数:823  来源:

看到操作系统进程这一块儿都会有点乱吧。come on!

上回说到单个进程一生的故事,现在的操作系统是允许多个进程并发执行的,那么它们之间又会擦出什么火花呢?

看“漫画”(干货、可下载):文字为辅

1、进程控制块 PCB:每个进程都有唯一的进程控制块,它是操作系统感知进程存在的唯一标志。包含信息:进程标识符信息、处理机状态信息(通用寄存器、指令计数器、程序状态字PSW、用户栈指针)、进程调度信息、进程控制信息

2、进程调度算法:具体内容见操作系统概念总结;原则:周转时间短、响应时间快、截止时间保证、系统吞吐量高、处理机利用率好

3、进程切换:

             保存包括程序计数器和其他寄存器在内的CPU上下文环境(存进度)、

             更换被替换进程的进程控制块(换老大)、

             修改进程状态,把执行态改为就绪态或阻塞态(改状态)、

             将替换进程的进程控制块移到就绪队列或阻塞队列(换队列,**注意换进程控制块与改状态的先后顺序**——执行队列是              否允许存在非执行态进程)、

             执行 通过进程调度程序 选择的新进程,并更新改进程的进程控制块(do ,*可参考进程控制块包含信息*)、更新内存                  管理的数据结构(*进程执行需要获得资源*)、

             恢复 被调度程序 选中的进程的硬件上下文(恢复进度)

4、进程具体执行情况(超级通道);

      进程同步:并发执行的进程要共享系统的软、硬件资源,为了保证在多任务共享系统资源的情况下程序执行得到正确的结             果,引入同步机制;   原则:空闲让进、忙则等待、有限等待、让权等待

      信号量机制:信号量用来判断能否访问与信号量对应的共享资源,可看做连接同步进程与共享资源的电话线

5、线程执行:类似于进程的执行情况,注意线程与进程的关系,谁的状态影响谁

6、死锁问题(注意区分I/O管理的中断):涉及到多个参与者时总会产生对资源的纠纷,进程也不列外,程序执行时进程访问共享资源顺序不当导致死锁,条件有4:互斥条件、请求和保持条件、不剥夺条件、环路等待条件——缺一不可;预防死锁当然就要从产生条件入手了——不让4个条件同时满足就OK了

 

每个东西都有它存在的理由,他们不是单独来到操作系统中的,再难理解的概念、再突兀的设置,当了解它本身的概念作用、与它相关的东西后,逻辑上它自然就那么合理、那么妙了,至少在个人的认知上,找不到半点不让它存在的理由。这大概就是学操作系统的乐趣、学习的乐趣吧。

后续概念汇总!

如果您有好的新闻与建议,欢迎点击文章投稿

    发表评论

    电子邮件地址不会被公开。

  • 内容

  • 网名