2.2
内核线程和用户线程是指什么
有没有不浪费CPU时间,解决线程切换时候出现的并发读写问题的方法?
mutex是用户线程框架中的量,临界区和mutex有什么关系?
critical section and mutex
信号量 semaphore(可以当做mutex用)
伪代码:
semaphore full;
semaphore mutex;
down(&full);
条件变量 condition
管程:像互斥锁,保持块的同步(*)
What is the difference between mutex and critical section?
For Windows, critical sections are lighter-weight than mutexes.
Mutexes can be shared between processes, but always result in a system call to the kernel which has some overhead.
https://stackoverflow.com/questions/800383/what-is-the-difference-between-mutex-and-critical-section
2.5 经典问题
哲学家就餐
读者-写者问题
死锁-饥饿
生产者-消费者问题
交换技术
虚拟内存技术是怎么解决内存不够用的问题的?
mmap
所谓的日志文件系统功能是什么?
略
建议学习文件恢复和压缩
略,建议学习树莓派
互斥条件
占有和等待(二次占有)
不可被抢占
环路等待
Tip: 有无死锁检测工具?
在操作系统教材里是有死锁检测方法的,但是工业界认为没有(是没有而非不实用)。
银行家算法:不实用
音频的感知编码
多媒体操作系统:**可抢占的**
静态调度算法中: 速率单调调度
实时调度算法中: 最早deadline算法
7.7
多媒体 RAID磁盘阵列
7.8
Tip:LRU高速缓存对多媒体的不适应
**Zipf 定律**
对于流行性事物的统计规律,满足求和C/i=1,且C/i为第i排位的频率;C为常数
8.2
多计算机: 概念过时了,书中举出的一个讨论相关算法的例子竟然是1986年的论文,
现实中没有人关注什么多计算机,
而是多核,多处理器,如果有多台计算机就称为集群,虽然集群是有关联的,
但是没有关联的多台计算机没什么意义
distributed shared memory DSM 分布式共享内存 可能是未实际用到生产中,
也可能是没有实用性, 似乎没有多少人在研究, 现有的分布式系统没有对应的概
念,也没有有名的开源项目,书中提到的论文也是1986年的(orz);
考虑到单机共享内存是本地消息传输,性能有提升的余地(数据拷贝次数减少),
多机消息只能用类套接字的东西,跟直接用RPC性能应该没多大区别,
所以这个看起来只是个类似抽象的概念,对它到底有没有意义持保留意见
8.2.7
关于负载均衡的例子太过简单以至于几乎没有实际意义;而现在的负载均衡算法虽然也不是很复杂,但是实际应用中是要考虑的;
当然了,Tanenbaum书虽然写得有点问题,但是学术方面没得说,尽管以现在的技术来看, 里面很多内容是不合时宜的,单单说过时就显得浮躁,所以说的客气点就是一种待发展的 东西现在 已经有了更好的实践了。
RDMA
RDMA: 远端直接内存存取
略,建议读分布式系统
http://thu-cmu.cs.tsinghua.edu.cn/curriculum/dscourse/index.html
原文:https://www.cnblogs.com/wangzming/p/11279238.html