程序员的自我修养-读书笔记(1)

1. 温故而知新

1.2万变不离其中

三个核心部件:CPU,内存,I/O控制芯片

北桥芯片(PCI 桥):协调CPU,内存,高速图形设备。PCI总线之后又有AGP, PCI express

南桥芯片(ISA 桥):协调USB,键盘,鼠标

 

 

1.4 不要让CPU打盹

分时系统:W95, mac os x之前的系统

多任务:unix,linux,win NT

2) Windows中,图形硬件抽象成了GDI, 多媒体设备抽象为DirectX, 磁盘为文件

3)硬盘的基本存储单位为扇区,比如,一个硬盘2个盘片,就是4个盘面,每个盘面多个磁道(同心圆),每个磁道多个扇区。

4)VA到物理地址PA之间的映射靠硬件MMU实现

1.6 众人拾柴火焰高

1) 线程组成:线程ID,PC,寄存器,堆栈

2)当线程数<=CPU数,线程才是真正地并发

3)线程核心三状态:运行,就绪,等待

4)windows有明显的线程进程概念,而linux只有task(单线程的进程)

5)线程同步:

     信号量(二元和多元):可以A线程获取,B线程释放

     互斥量:同一个线程获取和释放

     临界区:只能本线程使用

     读写锁:上面三种效率低(如频繁读取,偶尔写入),采用共享或独占方式

 

6)过度优化可能导致多线程不能同步(如在寄存器中不写回内存,CPU调整代码执行顺序)

    volatile 不优化,可以阻止寄存器不写回

 

2.5 静态链接

1)库就是目标文件的包,如运行时库

2)各个模块独自编译,并不知道其他模块的地址,所以需要链接来重新统一分配地址。叫重定位。

转载于:https://www.cnblogs.com/yuanming/p/4711317.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值