二、操作系统基本原理
一个操作系统包括:
- 进程管理
- 存储管理
- 文件管理
- 作业管理
- 设备管理
- 微内核操作系统
进程管理:
进程状态
- 就绪状态
- 运行状态
- 等待状态
前趋图
前趋图解决顺序约束关系
进程的同步与互斥
PV操作
-
临界资源
在某一个时间点,只允许一个对象操作
-
临界区
是一段代码,访问临界资源的代码片段就叫做临界区
-
信 量
一种特殊的信 量,专门使用在pv操作中,类似于Java中进制之间通信的管程法
PV操作就是对进程的一种管理
p操作:
执行某一个进程之前先将信 量s-1,若结果为负数则阻塞它,加入等待队列。否则正常执行
v操作:
执行某一个进程之前先将信 量s+1,若结果不为正数,则唤醒它,否则正常执行
PV操作结合前趋图
首先会给出前趋图,然后让你补全线程的pv操作。
死锁问题:
进程之间相互抱锁而等待对方的锁的问题,类似于Java的死锁
死锁产生的四种条件:
- 资源互斥(这个资源不共享)
- 保持和等待
- 不剥夺
- 进程之间形成回路
打破四种条件之一即可解除死锁
避免死锁问题的产生:
- 有序的资源分配
- 银行家算法
存储管理:
分区存储组织:
- 首次适应法
- 最佳适应法
- 最差适应法
- 循环首次适应法
页式存储组织:
页式存储就是将内存等大小的分成一个个块。然后将用户程序等大小的分成一个个的页,将需要用到页调入内存允许,运行完后调出。不需要用到的页不调入内存。这中间需要用到页表来映射页和内存块之间的联系
优点是:利用率高,碎片小,分配管理简单
缺点是增加了系统的开销,可能发生抖动现象
例题:
快表
首先明确一点,在考试中约定指令虽然跨两个页,但是我们只计 缺页一次。
首先完全执行这个指令,需要访问6个页面,而访问页面需要查表也就是一个页面需要访问内存2次,总共访问12次.
缺页就是内存如果没有调入页面,但是需要访问时就会 一次缺页。指令只 一次,操作数跨两个页面 两次,总共就是5次
文件管理:
索引文件结构:
例题:

首先,题目告诉我们0到4是直接索引那么这里就占了5个地址了,然后5 是一级索引大小为1kb每个地址项大小为4b。那么1kb/4b=256个地址项。加上前面的5个地址,就是261个,也就是说187 物理地址对应的是261的逻辑块 .101显而易见的是二级索引
文件和树形目录结构
绝对路径和相对路径
空闲存储空间的管理
将系统内存在的空闲内存区管理起来,方便之后的读和写的操作
- 空闲区表示法(空闲文件目录)
- 空闲链表法
- 位示图法
- 成组链接法
设备管理:
数据传输控制方式
- 程序控制方式
- 程序中断方式DMA方式
虚设备和SPOOLING
简单来说就是队列的应用,当外设在执行某项任务时,你向外设传递的任务将会进入队列等待执行,提高外设的使用效率
微内核操作系统
将操作系统的各个部分分离开,将最核心的部分做成内核,各个部分不会相互影响。
- 用户态
- 内核态
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!