搓OS-day4
手搓OS-day4
今天才是真真的操作系统的部分,并发控制,今天要学习的是多线程编程库(没怎么看,少更)。
复习:进程与线程
进程
:运行的一个程序以及其已经在计算机中的所拥有的资源的和(理解型说法,并不准确),进程是资源分配
的基本单位。PCB用于标志进程的存在。此外关于进程还存在进程间通信问题
,进程特性
,进程切换
等问题。
就我个人理解为何要引入进程概念,是为了管理资源分配的问题,不只是空间资源还有计算资源,因为计算机的资源是紧俏的(当然也有机制限制),并不能满足所有的所有的程序同时
运行(当然这里限制在单核处理器)。但是由于应用有要求,需要发展出能在人难以感知的情况下”同时“运行(并发),而进程恰好通过把资源与程序进行耦合(不知道用词好不好,类似一个搭积木的感觉)既保护了程序状态,又实现了程序运行的切换。
当人们线程用出来了甜头,想要进一步榨干计算机资源(bushi),然后就有了线程,线程就是榨干计算资源的(),但是线程并不是资源分配的单位。
多线程编程
貌似并不难
1 |
|
很好玩,使命令行爆炸。
这下很有并发的魅力(不是),但是联系底层让人后背发凉,细一想貌似也没什么大不了的
“处理器一次执行一条指令” 的基本假设在今天的计算机系统上不再成立
,虽然但是这是不难理解的,两条程序由于并发or并行很可能会出现共享区的变量出现问题
后面的故事,还是读参考链接吧,如果有操作系统基础的同学一定明白,进程同步互斥的问题都是从这里衍生出来的。
参考链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 脱碳甲醛的博客!
评论