操作系统基础知识整理

2019-07-14 07:50发布

操作系统基础知识整理

进程相关

进程转换图

PCB(Process Control Block)

  • 地位:PCB在系统只用于表征进程实体,系统通过PCB感知进程的存在。实际上PCB已经成为进程在系统中唯一标识了。
  • 存储内容:保存进程状态以及相关资源,在CPU恢复现场时,恢复的状态就在PCB中了

进程同步经典问题:

见之前的文章:http://blog.csdn.net/fire_tray/article/details/50535611

进程通信几种方式:

  • 共享存储器系统:内存开辟一块空间,利用此空间共享读写,实现通信
  • 管道:管道是指连接一个读进程和写进程的共享文件,写进程向管道中写入大量数据,读进程则获取这些数据。管道的使用是互斥的。且当写满或管道空时,对应的写进程和读进程则要等待。
  • 消息传递系统:利用系统的消息发送命令进行操作,屏蔽了底层的细节
  • Unix Domain Socket:不同与网络的Socket,它专门用于进程间通信
  • 远程进程调用 (Remote Procedure Calls):利用中间的传输者Stub进行,可类比AIDL

处理机调度

死锁的几个条件

  • 资源互斥:对分配到的资源进行排他性使用
  • 请求和保持:在持有资源时继续发出请求
  • 不可抢占:对于未使用完的资源不会进行释放
  • 循环等待:存在一个进程-资源等待循环链

破除死锁的几个方法:

  • 预防死锁:就是打破上述4种成立的条件
  • 避免死锁:如银行家算法,在分配时预测是否安全
  • 解除死锁:发送死锁时进行干预,强制终止一个进程的运行或资源持有权或资源请求权

存储器管理

分页存储系统

将进程的逻辑地址空间分成若干页,以页为单位将若干页分别装入到多个可以不相邻的物理快中。

分段存储系统

为了满足用户的编程需求,将程序根据段进行存储

段页式存储系统

首先将程序进行分段,每个段再分割成多个页。

虚拟存储器系统

根据局部性原理,将外存的一部分化为作业的存储区。在作业运行时,仅将部分作业存入内存,在发生缺页时发生页面置换。

页面置换算法

  • FIFO,FILO:First In First Out && First In Last Out
  • LRU:Least Recently Use
  • Clock算法(亦称:Not Recently Used 最近未用算法) : 当某页面被访问时,访问位置为1。当触发置换时,检测访问位置,如果是0,则选择将该页换出;若为1,则重新置为0,暂不换出,再按照FIFO算法检测下一页