【软考】 3 操作系统

批处理操作系统、分时操作系统(轮流使用CPU工作片)、实时操作系统(快速响应)、网络操作系统、分布式操作系统(物理分散的计算机互联系统)、微机操作系统(Windows)、嵌入式操作系统
计算机启动流程:BIOS - 主引导记录 - 操作系统

3.1 进程管理

组成:进程控制块PCB、程序、数据

三态图:运行、就绪、等待(阻塞)

前驱图:任务的顺序、并行关系

3.1.1 进程资源图

P进程 R资源,P到R的箭头指需要什么资源

3.1.2 同步与互斥(不是一个概念)

互斥:只能由一个任务单独使用,需要加锁,和共享对应
同步:多个任务并发执行,可以有速度的差异,已定情况下定下等待,不存在是否单独或共享的问题

临界资源:各进程间需护齿方式访问的资源
临界区:进程中对临界资源实时操作的程序,本质为一段代码

互斥信号量:对临界资源互斥访问,使用互斥信号量后其他进程无法访问,初值为1
同步信号量:对共享资源的访问控制,初值为共享资源的数量

信号量操作(PV操作)

P操作:申请资源,S = S - 1,S >= 0 则继续执行,S < 0 则阻塞,插入阻塞队列
V操作:释放资源,S = S + 1,S > 0 则继续执行,S <= 0 则从阻塞状态中唤醒一个进程,插入就绪队列,然后继续
前驱图里有几根线就有几个信号量

生产者和消费者问题

三个信号量:互斥信号量S0(仓库独立使用权)、同步信号量S1(仓库空闲个数)、同步信号量S2(仓库商品个数)
生产者流程:生产一个商品S - P(S0) - P(S1) -商品放入仓库 - V(S2) - V(S0)
消费者流程:P(S0) - P(S2) - 取出一个商品 - V(S1) - V(S0)

3.1.3 死锁

死锁预防:采用某种策略限制并发进程对资源的请求,破坏死锁产生的四个条件之一,是系统任何时刻都不满足死锁的条件

死锁避免:银行家算法:只有不会死锁才会分配资源,否则不分配资源

死锁检测:允许死锁产生,系统定时运行一个检测死锁的程序,发生死锁则设法解除

死锁接触:强制剥夺资源、撤销进程等

死锁计算:n个进程、每个进程都需要r个资源,则发生死锁的最大资源数为n*(R-1)不发生死锁的最小资源数为n(r-1)+1*

在这里插入图片描述

3.1.4 线程

线程是独立调度的最小单位,进程是拥有资源的最小单位

3.2 内存管理

3.2.1 也是存储

进程空间分成一个个页,比如4K,将物理空间分为一个个4K的物理块(页帧号)。每次运行豆浆需要的逻辑页装入物理块中,可分批次运行完进程,无需将整块逻辑空间全部装入内存

地址:页号(高位)31-16+页内地址(低位)15-0:说明 2 32 2^{32} 232次,最多为4GB内存、一共有 2 16 2^{16} 216个页,每页大小为 2 16 2^{16} 216B

优点:利用率、碎片小(只有最后一个页有碎片)、分配管理简单
缺点:增加系统开销、可能产生抖动现象

在这里插入图片描述

3.2.1 页面置换算法

最优算法OPT:选择未来最长时间不被访问的页面置换(理论上的无法实现)
先进先出算法FIFO:先调入内存的页先被置换,抖动现象(分配的页数越多,缺页率可能越多(效率越低))
最近最少使用LRU:最近的过去,进程执行过程中,最少使用的页面被置换淘汰。根据局部性原理,效率高,不会抖动

3.2.2 块表

本质是页表,小容量的相联存储器,存放最频繁的少数活动页面的页号
块表在Cache中,访问一次Cache一次主存,慢表在主存中,访问两次主存

3.2.3 段式存储

分为一个个段,每段物理大小不同,根据逻辑整体分段
段表存放段号、段长和基址。
地址:段号+段内偏移。段内偏移不能超过段长,所以改地址对应的内存地址为:段号对应的基地址+段内偏移

3.2.4 段页式存储

先分段,后分页

3.3 文件管理

3.3.1 索引文件结构

索引文件结构:直接索引、一级间接索引、二级间接索引。。。
默认系统中从0开始编码,包括内存、文件等

树形文件目录:
相对路径
绝对路径
全文件名:绝对路径+文件名
路径不含文件名,只是单纯路径序列

3.3.2 空闲存储空间管理

空闲区表法:所有空闲空间整合成一张表,即空闲文件目录
空闲链表法:所有空间空间连接成一个链表
成组链接法:既分组,每组内又连接成链表,是上述方法的综合
位示图法,每个物理空间用一位表示,1则使用0则空闲

3.4 设备管理

3.4.1 分类

按数据组织分类:块设备、字符设备
按资源分配角度分类:独占设备、共享设备、虚拟设备
按数据传输速率分类低速设备、中速设备、高速设备

IO软件层次结构:用户进程 - 设备无关软件 - 设备驱动程序 - 中断处理程序 - 硬件

3.4.2 输入输出技术

程序控制(查询)方式
程序中断方式(键盘等)
DMA方式(硬盘等)

在一个总线周期结束后,CPU会响应DMA请求开始读取数据,CPU相应程序中断方式请求是在一条指令执行结束时;区分指令执行结束和总线周期结束

3.4.3 虚设备和SPOOLING技术

打印机等,引入SPOOLING,在外设上建立两个数据缓冲区(输入井、输出井)

3.4.4 磁盘结构

磁头先寻找对应磁道,然后等待磁盘周期旋转。
寻道时间:磁头移动到磁道所需的时间
等待时间:等待读写的扇区转到磁头下方的时间
磁盘读取时间 = 寻道时间 + 等待时间

寻道算法:
先来先服务FCFS:
最短寻到时间有限SSTF:饥饿
扫描算法SCAN:
单向扫描调度算法CSCAN:只做单向移动

其他

微内核操作系统

用户态:图形、驱动、文件等,减少通信开销,庞大
内核态:只实现基本功能、精简,安全性高、频繁切换

嵌入式操作系统

微型化、代码质量高、专业化、实时性强、可裁剪可配置
内核服务:异常和中断、计时器、IO管理
常见的嵌入式RTOS(实时操作系统):VxWorks、RT-Linux、QNX、pSOS

初始化:片级(芯片、微处理器)初始化 - 板级(板卡级、其他设备)初始化 - 系统(软件、操作系统)初始化
自底向上、自硬件到软件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值