必备知识点(三)

必备知识点(三)

操作系统

1. 进程和线程区别

(1) 拥有资源:进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。
(2) 调度:线程是独立调度的基本单位,在同一进程中,线程的切换不会引起进程切换,从一个进程中的线程切换到另一个进程中的线程,会引起进程切换。
(3) 系统开销:创建、撤销或切换进程,系统都要为之分配、回收资源或保存环境,开销远比线程大。
(4) 通信方面:线程间可以通过直接读取统一进程中的数据进行通信,但是进程通信需要借助IPC。

2. 存储管理

分页式

把内存空间分成大小相等、位置固定的若干小分区,每个小分区简称为一个存储块,并编号为0,1,2,3,…,n块,每个存储块的大小由不同系统决定。把用户的逻辑地址空间分成与存储块大小相等的若干页,依次为0,1,2,…,n页。当作业提出存储分配请求时,系统首先根据存储块大小把作业分成若干页。每一页可存储在内存的任一空白块内。此时只要建立程序的逻辑页与内存的存储块之间的对应关系,借助动态地址重定位技术,原本连续的用户作业在分散的不连续块中,就能够正常投入运行。


分段式

作业的地址空间由若干个逻辑分段组成,每一分段是一组逻辑意义完整的信息集合,并有自己的段名。每个段都是以0开始的连续的一维地址空间,整个作业则构成了二维地址空间。以段为基本单位分配内存,且每一段必须分配连续的内存空间,但各段之间不要求连续。所谓分段式管理,就是管理由若干段组成的作业,并且按段来进行存储分配。


段页式

(1) 作业地址空间进行段式管理(将作业地址空间分成若干个逻辑分段,每段都有自己的段名)
(2) 每段内分成若干大小固定的页,每段从零开始为自己的各页依次编写连续页号
(3) 对内存地址的管理仍然和分页管理一样,将其分成若干个与页面大小相同的物理块,对内存地空间的分配是以物理块为单位。

3. 分段与分页的区别

(1) 页是信息的物理单位。分页的目的是实现离散分配,减少外部碎片,提高内存利用率。段是逻辑的基本单位。每一段在逻辑上是一组相对完整的信息集合。
(2) 分页式存储管理的作业地址空间是一维的,而分段式存储管理的作业地址空间是二维的。
(3) 页的大小固定且由系统决定是等长的。而段长度不固定。
(4) 分页的有点体现在内存空间的管理上,而分段的优点体现在地址空间的管理上。

4. 进程的PCB里还有哪些东西?

  • 进程状态
  • 程序计数器
  • CPU寄存器
  • CPU调度信息
  • 内存管理信息
  • 记账信息
  • I/O状态信息

5. 进程通信(进程间信息交换)

进程同步与互斥,由于交换信息量少,可以看作低级通信。

共享存储

  • 基于共享数据结构的通信方式
    比较低效,只适于传送少量数据
  • 基于共享存储区的通信方式
    为了传送大量数据,在存储区中划出的一块共享存储区,多个进程可以通过对共享存储区进行读写数据实现通信。

(1) 向系统申请共享存储区中的一个分区
(2) 指定该分区的关键字;如果已经给其他进程分配了这样的存储区,将该分区的描述符返回给申请者
(3) 申请者将申请到的共享分区挂到本进程上。

消息传递

两个进程可以通过互相发送消息进行通信,消息是通过消息缓冲区在进程间互相传递的。

共享文件

也叫管道通信机制。管道是连接读写进程的一个特殊文件,允许进程按先进先出方式传送数据,也能使进程同步执行操作


   转载规则


《必备知识点(三)》 文超 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录