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