程序员的自我修养读书笔记---温故知新1

1- P4 hello world引发的一系列问题。

答案在哪里?

 

2- P14 内存不够(重点阅读

程序直接访问物理内存引发的3个问题:

a- 地址空间不隔离。进程A和B运行在物理空间,进程A直接操作物理空间(操作的物理地址可能是进程B的进程空间),导致进程B运行异常。

解决方案:内存隔离。进程A、B运行与虚拟内存,虚拟内存和物理内存的映射由MMU决定。当A访问越界,产生中断,异常处理。

 

b- 程序置换效率低下。如果内存空间只有2G。其中程序A需要0.5G,程序B需要1G,程序C需要0.8G。那么同一时刻只能保证有连个程序运行,如果另一个程序运行,需要将其他程序换出到磁盘,效率低下。

解决方案:使用内存分页。程序分成以4M为大小的页,常使用的程序段方案内存中,不常使用的放在磁盘中。

 

c- 程序地址不定。 程序置换前,导致程序运行的物理地址不定。

解决方案:内存隔离。程序使用虚拟内存空间。

 

 

3- P27可重入

多线程均可访问,不加保护也不会产生异常的接口是可重入的。

简单来说,该接口中没有涉及到共享的资源。

 

4- P30 多线程内部情况

用户线程和内核线程的对应关系:操作系统 线程模型 用户级线程 内核级线程 混合线程 多对一模型 一对一模型 多对多模型

 

 

 

不理解点:

1- P26提到的信号量、互斥量等手段是对多线程间安全?多处理器间安全?多核间安全?多进程间安全?

2- P30 内核线程和用户线程的是一种什么概念?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值