手记

【九月打卡】第7天 计算机组成原理+操作系统+网络 7

第一模块:

课程名称:2022新版编程必备基础,计算机组成原理+操作系统+网络

章节名称:6-4 ~ 6-5 

讲师姓名:咚咚呛


第二模块:

内容概述:

6-4 ~ 6-5小节重点讲解了进程的5个状态,以及状态间的转化,之后重点介绍了进程的同步问题,也就是并发问题。


第三模块:

学习心得:

进程是OS资源分配的基本单位,是被OS直接管理的,而线程是进程的一部分,一个进程包含一个或多个线程,线程所能使用的资源就是对应进程分配到的资源。进程被OS直接管理,所以像进程的同步问题,其实在OS这一层已经有了很好的实现,对于开发者而言,更多的是需要关注线程的同步问题,即:并发问题。


6-4 进程管理之五状态模型

进程的多个状态


就绪状态:


执行状态:


阻塞状态:


创建状态:


终止状态:


进程状态间切换:


6-5 进程管理之进程同步

为啥需要进行进程间同步

进程同步的原则

线程同步


计算机世界中的经典问题——生产者-消费者问题

上面这个模型在【宏观上】是ok的,但是在【微观上】就是有问题的。

eg:


计算机世界中的经典问题——哲学家进餐问题


发生上面问题的根本原因是:彼此缺少通信!!!这个通信就是进程间的同步!!!


同步的好处:


临界资源:


进程间同步的原则:


进程级别的同步问题(并发问题)OS已经很好的处理了,对于开发而言,只需要将注意力聚焦在【线程级别的同步即可】

进程同步的方法:

  • 消息队列

  • 共享存储

  • 信号量


线程同步的方法【重点】:

  • 互斥量(互斥锁)

  • 读写锁(适用场景是:多读少写/多写少读 的一种锁)

  • 自旋锁

  • 条件变量


线程也需用同步:


第四模块:

学习截图:

0人推荐
随时随地看视频
慕课网APP