最近在研究 Android 的视图系统,对进程十分感兴趣,想搞清楚 进程同步 和 进程间通信 等问题。
目前手上有一本大学时期的《计算机操作系统》,书中对于 并发执行 和 进程同步 的描述让我十分困扰,
按它的意思,进程同步是为了确保在多个程序在 异步的 并发执行下,也能保证结果的可再现性。
进程不是独立的吗?独立的话,其内部的数据,都是该进程自己的地址空间,怎么可能会受别的进程的影响呢?既然不受,那么又怎么谈的上结果的不可再现呢(又没别的进程来改它的变量)。
所以进程同步是解决另一种情况:对于多个进程相互合作的情况,确保各自能按顺序执行,如果前趋进程没有完成,后续的就先阻塞着,所以同步是为了解决这个?
(之所以这样提问,是因为后面的 信号量、管道等机制,没看懂那伪代码是想做什么、到底为了解决什么,因为如果是为了锁变量、锁资源,那和相互合作的情况不又自相矛盾?)
所以想问问万能的 v 友,看看有没有推荐的 操作系统书籍
1
taogen 2019 年 11 月 27 日 via Android |
2
ysn2233 2019 年 11 月 27 日 |
4
realradiolover 2019 年 11 月 27 日
进程、地址空间,都是虚拟的。只有磁盘上的磁记录、内存中的电荷,才是实实在在的东西。
|
5
pricelessLucky 2019 年 11 月 27 日
《操作系统导论》
|
6
secondwtq 2019 年 11 月 28 日
|
7
mingmeng 2019 年 11 月 28 日 via Android
建议 csapp,虽然讲的确实有点杂,但是感觉里面对于逻辑空间和物理空间讲的很清楚
|
8
yamasa 2019 年 11 月 28 日
马克
|
9
yamasa 2019 年 11 月 28 日
个人感觉,csapp 几乎什么知识都捋得很清楚,尽管不一定多么深入。如果还想再深入也可以跟着 ref 去看各篇论文等。
|
10
kljsandjb 2019 年 11 月 28 日 via iPhone
csapp 这本书可以多撸几遍,练习实验啥的也多做做,感觉做了一遍也还是要经常回头去看思路的
|