【操作系统】疑难点总结(一)

被刻印的时光 ゝ 提交于 2020-01-29 05:07:25

1页号和页框的区别

页(page)
一页指一系列的线性地址和包含于其中的数据

页框(pageframe)
分页单元认为所有的RAM被分成了固定长度的页框
每个页框可以包含一页,也就是说一个页框的长度和一个页的长度是一样的
页框是内存的一部分,是一个实际的存储区域。
页只是一组数据块,可以存放在任何页框中

也就是说页对应的是线性地址的东西 而页框对应的是物理地址 是实际的存储区域

2进程和线程的区别

1、进程是资源分配的最小单位,线程是程序执行的最小单位(资源调度的最小单位)
2、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。
而线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。
3、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。
4、但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。

补充+总结:

进程是组织资源的最小单位,而线程是安排CPU执行的最小单位。其实在一个进程中多个线程并行和在操作系统中多个进程并行非常类似,只是线程共享的是地址空间,而进程共享的是物理内存,打印机,键盘等资源。每一个进程和线程所独自占有的资源如表1所示。

表1

进程占有的资源 线程占有的资源
地址空间
全局变量 寄存器
打开的文件 程序计数器
信号量 状态
账户信息  


其中,线程可以共享进程独占的资源。我们常用的术语“多线程”一般指的是在同一个进程中多个线程的并发执行。线程是进程里面的一个执行上下文,或者执行序列。同一个地址空间里面的所有线程就构成了进程。线程是CPU切换的最小单位,进程是资源分配的最小单位。

(未完待续...)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!