【操作系统】读书笔记 -- 《现代操作系统》笔记及评价

CH 1. 略

CH 2.线程

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 经典问题

  哲学家就餐

  读者-写者问题

    死锁-饥饿

  生产者-消费者问题

 

CH3.内存管理

交换技术

虚拟内存技术是怎么解决内存不够用的问题的?

mmap

所谓的日志文件系统功能是什么?

CH4.文件系统

建议学习文件恢复和压缩

CH5.输入输出

略,建议学习树莓派

 

CH6.死锁

  互斥条件

  占有和等待(二次占有)

  不可被抢占

  环路等待

  Tip: 有无死锁检测工具?

  在操作系统教材里是有死锁检测方法的,但是工业界认为没有(是没有而非不实用)。

  银行家算法:不实用

 

CH7. 多媒体简介

  音频的感知编码

  多媒体操作系统:**可抢占的**

    静态调度算法中: 速率单调调度

    实时调度算法中: 最早deadline算法

7.7

  多媒体 RAID磁盘阵列

7.8

  Tip:LRU高速缓存对多媒体的不适应

**Zipf 定律**

对于流行性事物的统计规律,满足求和C/i=1,且C/i为第i排位的频率;C为常数

 

CH8. 多处理器系统

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

posted @ 2019-07-31 21:34  stackupdown  阅读(525)  评论(0)    收藏  举报