现代操作系统读书笔记

第二章 进程与线程

Tanenbaum将静态程序比喻为食谱,食材、厨具等比喻为计算机系统资源,人为CPU,进而将进程比喻为人照着食谱进行做饭的这一活动,这一比喻让我印象深刻,不仅彻底理解了进程,而且让我想到了能将生活中的很多事情联系到计算机中的概念。

还有字处理软件的多线程的使用,也使我对多线程的用法,以及线程的任务分配有了详细的认识,很多以前看课本不懂的地方,在这里都得到了很好的解释。

多线程的使用:

若多个线程都是CPU密集型的,那么并不能获得性能上的增强,但是如果存在着大量的计算和大量的I/O处理,拥有多个线程允许这些活动彼此重叠进行,从而会加快应用程序执行的速度。所以在网络编程、服务器开发中多线程的使用是基本功,必须熟练掌握。

线程分为用户级线程和内核级线程,

用户级线程有更好的性能,但是最大的问题是如何实现阻塞系统调用

使程序进入忙等待的锁称为自旋锁

什么是忙等待?程序不断查询某个值,

忙等待和阻塞的区别:阻塞是使进程失去CPU处理时间,等待事件发生

 

实现P,V操作的是系统调用和原子操作

死锁:

一组线程被阻塞,等待一个永远不会发生的事件时,就会产生死锁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值