操作系统

这里写自定义目录标题

第一章 操纵系统的概念

特征

并发、共享、虚拟、异步

OS的发展和分类

在这里插入图片描述

1.手工操作阶段

纸带,打孔

输入输出很慢,相比之下,机器处理速度很快,造成大量运算资源浪费。
一次只能有一个用户操作,称为独占全机。

2.批处理阶段

1.单道批处理系统:
提前把程序写在纸带,纸带转化为磁带。
监督程序负责控制作业的输入输出。
监督程序后来演变为操作系统。

依旧存在缺点:
一次只能处理一个程序。程序串行执行。
在这里插入图片描述

2.多道批处理系统:

程序并发执行,系统资源利用率大幅度提升
在这里插入图片描述

缺点:无人机交互

3.分时操作系统

计算机以时间片为单位,轮流为各个用户(作业)服务,各个用户可以通过终端与计算机进行交互。
解决了人机交互。

缺点:没有着重点,无法有限处理紧急任务

4.实时操作系统

能够优先响应紧急任务,某些紧急任务不需要时间片排队。

实时操作系统又分为:硬实时(军事导弹)和软实时(火车购票)。

OS的运行机制和体系结构

在这里插入图片描述

指令

处理器(cpu)能识别、执行的最基本命令(例如加法指令)
指令分为特权指令(内存清零)和非特权指令(普通的加减乘除),特权指令不允许用户程序使用。

CPU处理器状态

分为用户态(目态)和核心态(管态),在用户态只能执行非特权指令

运行机制

CPU状态执行指令程序类别
用户态非特权指令应用程序
核心态特权指令+非特权指令内核程序

操作系统把cpu的使用权交给用户进程时,属于用户态。操作系统自身使用时,属于核心态

操作系统内核

内核是计算机上配置的底层软件,系统内核功能的那些程序就是内核程序
在这里插入图片描述
在这里插入图片描述
上图中,上部分的框框是操作系统内核必备的,有些操作系统不把对系统资源进行的管理功能视为内核的部分(微内核),有些把它视为(大内核)

在这里插入图片描述

中断和异常

在这里插入图片描述

中断机制

之前只能一个进程从头到尾读入,计算,输出,再执行下一个。导致效率低下。
使用中断机制,实现多道程序并发执行,本质上就意味着需要操作系统接入,管理工作。

(操作系统把cpu的使用权交给用户进程时,属于用户态。操作系统自身使用时,属于核心态)

当中断发生时,CPU立即进入核心态。
当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理。

发生了中断就意味着擦做系统的接入,开展管理工作。由于管理工作需要使用特权指令,因此CPU需要从用户态转变为核心态。中断可以使CPU从用户态转换为核心态,使操作系统获得计算机的控制权。

中断的分类

分类方式一:
在这里插入图片描述
分类方式二:
在这里插入图片描述
在这里插入图片描述

系统调用

操作系统是用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口程序接口。程序接口由一组系统调用组成。
在这里插入图片描述
系统调用必须在核心态
在这里插入图片描述
在这里插入图片描述
简单来说,区别有三点:
1.系统调用是操作系统向上提供的接口
2.有些库函数是对操作系统的进一步封装
3.现在编写的程序大都采用高级语言提供的库函数来间接的进行系统调用
在这里插入图片描述

第二章 进程

知识总览
在这里插入图片描述

进程的定义

PCB

多道程序需要操作系统进行管理。
系统为每个运行的程序配置一个数据结构,称为进程控制块(PCB),用来描述进程的各个信息(如程序代码存放位置),PCB是进程存在的唯一标志

PCB、程序段、数据段三部分构成进程实体(进程映像)
在这里插入图片描述
在这里插入图片描述

进程的组织

第一种:链接方式

在这里插入图片描述

第二种:索引方式

在这里插入图片描述

进程的特征

在这里插入图片描述

知识总览
在这里插入图片描述

进程的三种基本状态

在这里插入图片描述

进程的两种另外的状态

在这里插入图片描述

1.创建态

进程正在被创建,PCB从无到有

2.终止态

进程正在被撤销,PCB从有到无

进程状态的转换

在这里插入图片描述

知识总览
在这里插入图片描述

进程控制

进程控制是实现进程状态的转换。
使用原语实现进程的控制。源原语的特点是执行期间不允许中断,是原子操作。
在这里插入图片描述
在这里插入图片描述
知识总结
在这里插入图片描述

进程通信

进程的通信是指 进程之间的信息交换。
进程时分配系统资源的单位,因此进程拥有的内存地址空间相互独立。

方式一:共享空间

不同进程对共享空间不能同时进行修改
在这里插入图片描述

方式二:管道通信

在这里插入图片描述

消息传递

每个进程有个消息缓冲队列。
在这里插入图片描述
线程知识总结
在这里插入图片描述

线程

一个进程包含多个线程,cpu处理各个线程。
引入线程后,
线程成为了程序执行流的最小单位
进程是系统资源分配的单元。

同一个进程内的线程共享资源。
在这里插入图片描述

线程的实现方式

第一种:用户级线程:

在这里插入图片描述

第二种:内核级线程:

在这里插入图片描述

第三种:两种混合的方式:

一般操作系统是两种混合的方式
在这里插入图片描述

多线程模型

多对一模型:

在这里插入图片描述

一对一模型:

在这里插入图片描述

多对多模型

在这里插入图片描述
知识总结
在这里插入图片描述

处理机调度

1.高度调度

在这里插入图片描述

2.中级调度

在这里插入图片描述

七状态模型

在这里插入图片描述
知识总结
在这里插入图片描述

3.低级调度

在这里插入图片描述

三种调度对比

在这里插入图片描述

进程调度

在这里插入图片描述
临界资源:一个时间段内之允许一个进程使用的资源。
临界区:访问临界资源的代码。

临界区分类

1. 内核程序临界区

在访问期间不允许进程的调度和切换。

2. 普通临界区

在访问期间可以进行进程切换(例如打印机作为一种资源,打印机打印很慢,不可能在打印的时候,CPU一直等待打印完成)

在这里插入图片描述

进程调度的方式

1. 非剥夺调度方式,又称非抢占方式。

2. 剥夺方式,又称抢占方式。

知识点总结
在这里插入图片描述

周转时间

作业周转时间=作业完成时间 - 作业提交时间
平均周转时间=各作业周转时间之和 / 作业数
带权周转时间=作业周转时间 / 作业实际运行时间
平均带权周转时间=各作业带权周转时间之和 / 作业数

等待时间

在这里插入图片描述

响应时间

在这里插入图片描述
知识总结
在这里插入图片描述

调度算法

1.先来先服务(FCFS,fist conme fist serve)

在这里插入图片描述
在这里插入图片描述

2.短作业优先(SJF,Shortest Job First)

非抢占式 短作业优先:
在这里插入图片描述
抢占式 短作业优先:

在这里插入图片描述

3.高响应比优先(HRRN,Highest Response Ratio Next)

在这里插入图片描述

在这里插入图片描述

4.时间片轮转(RR,Round-Robin)

在这里插入图片描述

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200425180011150.png优先级调度算法
在这里插入图片描述

5.优先级调度算法

在这里插入图片描述
在这里插入图片描述
高响应级优先算法也是一个动态的算法
在这里插入图片描述

6.多级反馈队列调度算法

在这里插入图片描述
在这里插入图片描述

进程同步

在这里插入图片描述

进程互斥

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

互斥的软件4种实现方法

在这里插入图片描述

1.单标志法

缺点:如果到P0进程访问临界区,但是P0不访问临界区,那么turn一直为0,而P1进程想要访问空闲的临界区却访问不到。
在这里插入图片描述

2.双标志先检查法

缺点:图中1、2的步骤不是原子性的,1和5同时进行就冲突了
在这里插入图片描述
双标志先检查法的改进
还是失败的。
在这里插入图片描述

3.Peterson算法

在这里插入图片描述

互斥的硬件3种实现方法

1.中断屏蔽方法

在这里插入图片描述

2.TS指令

在这里插入图片描述

3.Swap指令

在这里插入图片描述

信号量机制

在这里插入图片描述

在这里插入图片描述

1.整形信号量

缺点:如果资源不够,wait原语中的while循环会一直执行,出现“忙等问题”
在这里插入图片描述

2.记录型信号量

针对于整形信号量发生忙等,人们提出“记录型信号量”
wait原语中的block会让自己阻塞。进程完成资源调用会执行wakeup,wakeup会从等待队列中选取被阻塞的进程。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用信号量实现进程互斥、同步、前驱关系

在这里插入图片描述

mutex为负时,需要被阻塞。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

生产者消费者问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

多生产者-多消费者 问题

在这里插入图片描述
在这里插入图片描述

读者写者问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

哲学家进餐问题

在这里插入图片描述

管程

在这里插入图片描述

死锁

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

预防死锁

在这里插入图片描述

1.破坏互斥条件

在这里插入图片描述

2.破坏不剥夺条件

在这里插入图片描述

3.破坏请求和保持条件

在这里插入图片描述

4.破坏循环等待条件

在这里插入图片描述

避免死锁

安全序列

在这里插入图片描述
在这里插入图片描述

银行家算法

在这里插入图片描述

检测和解除

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

第三章

内存的基础知识

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模块装入内存

在这里插入图片描述

装入的三种方式

1.绝对装入

一开始就规定死。
在这里插入图片描述

2.静态重定位

在这里插入图片描述

3.动态重定位

在这里插入图片描述

链接的三种方式

在这里插入图片描述

内存的管理

在这里插入图片描述

内存保护

方法一:设置上下限

在这里插入图片描述

方法二:采用重定位寄存器

在这里插入图片描述

内存空间的扩充

1.覆盖技术

在这里插入图片描述
在这里插入图片描述

2.交换技术

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

内存空间的分配与回收

在这里插入图片描述
在这里插入图片描述

连续分配管理方式

1.单一连续分配

在这里插入图片描述

2.固定分区分配

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.动态分区分配

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
回收时,相邻空闲的空间会合并。
在这里插入图片描述
在这里插入图片描述

3.1 首次适应算法
在这里插入图片描述
3.2 最佳适应算法
在这里插入图片描述
3.3 最坏适应算法
在这里插入图片描述
3.4 邻近适应算法
在这里插入图片描述

非连续分配方式

在这里插入图片描述

分页存储

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.基本地址变换机构

在这里插入图片描述

页表在哪?答:页表寄存器(PYR)专门记录页表
在这里插入图片描述
内存=系统区+用户区

页表项长度是固定的。
具体计算过程图示:
在这里插入图片描述
从上图可以发现,需要访问两次内存。分别是查页表和访问目标单元。
在这里插入图片描述
例题:
在这里插入图片描述
在这里插入图片描述

2.具有快表的地址变换机构

局部性原理
在这里插入图片描述
快表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

两级页表

单级页表存在的问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本分段存储管理方式

在这里插入图片描述

分段

在这里插入图片描述

段表

在这里插入图片描述
在这里插入图片描述

分段和分页的对比

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

段页式管理方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
先通过段表在内存中找到页表,再根据页表来查找具体的地址。
在这里插入图片描述在这里插入图片描述

虚拟内存

在这里插入图片描述

传统存储管理方式

在这里插入图片描述

局部性原理(再次应用)

在这里插入图片描述

虚拟内存的特征

在这里插入图片描述

实现虚拟内存

在这里插入图片描述

请求分页管理方式

在这里插入图片描述

页表的修改

在这里插入图片描述在这里插入图片描述

地址变换

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

页面置换算法

在这里插入图片描述在这里插入图片描述

最佳置换算法(OPT)

在这里插入图片描述在这里插入图片描述

先进先出置换算法(FIFO)

垃圾算法。
在这里插入图片描述在这里插入图片描述

最近最久未使用置换算法(LRU)

好算法,但开销大
在这里插入图片描述

时钟置换算法(clock)

在这里插入图片描述在这里插入图片描述在这里插入图片描述

页面分配策略

在这里插入图片描述

三种策略

在这里插入图片描述

何时调入页面

在这里插入图片描述

从何处调入页面

在这里插入图片描述

抖动(颠簸)现象

在这里插入图片描述

工作集和驻留集

在这里插入图片描述

文件管理

文件的逻辑结构

1.无结构文件

在这里插入图片描述

2.有结构文件

在这里插入图片描述
在这里插入图片描述顺序文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值