操作系统——进程管理

进程与线程
进程概念:进程实体的一次运行,是系统进行资源分配和调度的一个独立单位,为了实现操作系统的并发性和共享性。
进程的状态转换:创建、就绪、运行、阻塞、结束。
进程控制:创建、终止、阻塞、唤醒、切换。
进程组织:进程控制块、程序段:调度到CPU执行的代码、数据段。
进程通信:共享存储、消息传递、通道通信(共享文件)。
线程与多线程
程序执行的最小单元,不拥有任何系统资源。增加程序的并发性。

处理器调度
层次:作业调度、内存调度、进程调度。
调度方式:剥夺式、非剥夺式

调度算法:FIFO、短作业优先、优先级、高相应比优先、时间片轮转、多级反馈队列(时间片+优先级)。

进程同步
概念:协调进程之间的相互制约关系(互斥与同步)。
临界资源:一次仅允许一个进程使用的资源。
实现临界区互斥的方法:软件、硬件、信号量。
经典同步问题
生产者消费者问题、读者写者问题、哲学家进餐问题、吸烟者问题。

信号量机制实现同步和互斥

死锁
死锁的概念:多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进。
产生原因:非剥夺资源的竞争和进程的不恰当推进顺序。
死锁预防
破坏互斥条件:有些资源必须互斥使用
破坏不剥夺条件:增加系统开销,降低吞吐量
破坏请求和保持条件:严重浪费系统资源
破坏循环等待条件:浪费系统资源,并造成编程不便
死锁避免:安全状态能找到一个分配资源的序列能让所有进程都顺利完成
银行家算法:采用预分配策略检查分配完成时系统是否处于安全状态。
死锁检测与解除
资源剥夺法:挂起某些死锁进程并抢夺它的资源
撤销进程法:强制撤销部分、甚至是全部死锁进程并剥夺其资源
进程回退法:让进程回退到足以回避死锁地步

死锁与饥饿
两个或多个进程无限的等待一个事件,而该事件只能由这些等待进程之一来产生。
无期限阻塞,即进程在信号量内无穷等待。

银行家算法原理:主要思想是避免系统进入不安全状态。每次进行资源分配时,它首先检查系统是否有足够的资源满足要求,如果有,则先进行分配,并对分配后的新状态进行安全性检查。如果新状态安全,则正式分配上述资源,否则就拒绝分配。

进程同步互斥区别和联系
进程之间竞争使用资源,只能让他们逐个使用——互斥。
进程之间协同完成任务,在关键点上等待另一个进程发来的消息——同步

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值