操作系统基础

进程管理

进程的概念

进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块 (PCB)和数据块三部分组成。

进程与程序

进程与程序的区别:进程是程序的一次执行过程,没有程序就没有进程。

程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡,进程是系统进行资源分配和调度的独立单位,而程序不是。

进程与线程

进程的2个基本属性:可拥有资源的独立单位;可独立调度和分配资源的基本单位。
在这里插入图片描述

进程的状态

在这里插入图片描述

信号量与PV操作

进程的同步与互斥

在这里插入图片描述
临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、
磁带机等
临界区:每个进程中访问临界资源的那段代码称为临界区
信号量:是一种特殊的变量
在这里插入图片描述

前趋图

前趋图两要素:结点、有向边
— 结点:表示一个进程或一个程序段,乃至一条语句
— 有向边:两结点间的前趋关系

其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的。
举例:
(1) 两队举行篮球比赛是间接制约,其中篮球是临界资源。篮球同一时间只能在一方手中
(2) 流水线生产的各道工序是直接制约,各道工序间需要相互合作,每道工序的开始都依赖于前一道工序的完成。

前趋图可以这样描述:

 ={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4 ,P7),(P5,P8),(P6,P8 ),(P7,P9),(P8,P9)}

前趋图中不允许有循环

在这里插入图片描述
答案为c
在这里插入图片描述
答案为A、C、B

死锁

进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。

银行家算法

银行家算法的运行过程如下:

初始化:获取当前系统中的各类资源总数、各个进程的最大资源需求量、已分配资源量等信息。

请求资源:当一个进程请求资源时,首先需要检查该请求是否合法,即请求的资源数目是否小于等于该进程的最大需求量,并且小于等于系统当前可用资源数目。

预分配资源:如果请求是合法的,系统会先预分配资源给该进程,并模拟系统状态进行安全性检查。

安全性检查:进行安全性检查,判断是否可以为该进程分配资源而不导致系统陷入死锁状态。
— a. 通过遍历各个进程,检查是否存在满足资源需求的安全序列。安全序列是指一个进程执行完毕并释放资源后,系统仍然能够满足其他进程的资源需求。
— b. 如果存在安全序列,表示系统处于安全状态,可以为该进程分配资源,允许进程执行。
— c. 如果不存在安全序列,表示系统处于不安全状态,该进程必须等待,以避免可能的死锁。

回收资源:当一个进程执行完毕后,释放占用的资源,更新系统的资源分配情况。

循环执行:重复步骤2到步骤5,直到所有进程完成。

存储管理

页式存储:

将程序与内存均划分为同样大小的块,以页为单位将程序调入内存
在这里插入图片描述

高级程序语言使用逻辑地址;运行状态,内存中使用物理地址。

逻辑地址=页号+页内地址
物理地址=页帧号+页内地址

例如,页式存储系统中,每个页的大小为4KB。
逻辑地址:
10 1100 1101 1110
对应的物理地址为
110 1100 1101 1110

优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销,可能产生抖动现象
在这里插入图片描述

淘汰原则
一般不考虑状态位为0的
1.访问位为0
2.修改位为0

段式存储

按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。
在这里插入图片描述
逻辑段地址:(段号,段内偏移量)
合法段地址(0,25k)
非法段地址(0,35k)【逻辑地址到物理地址转换时地址越界,超出0号段30k的偏移量】

优点:多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大

段页式存储

段式与页式的综合体。先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段的大小不同。
在这里插入图片描述
地址构成:段号 + 页号 + 页内地址

优点:空间浪费小、存储共享容易、存储保护容易、能动态连接缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降

页面置换算法

当系统的内存不足时,操作系统会使用页面置换算法将一部分页面从内存中换出,以便为新的页面腾出空间。常见的页面置换算法有最佳(Optimal)、先进先出(FIFO)、最近最久未使用(LRU)等。这些算法根据页面的使用情况和优先级来选择被置换出去的页面,在取舍速度和效果之间做出权衡。

文件管理

索引文件结构

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

文件在逻辑上一定是连续的,在物理上可以是分散的
逻辑位置(字节或页号)对应索引方式
不同所以方式指向对象(数据块&索引表)
不同索引方式访问磁盘的次数

索引盘数据盘
直接索引01
一级间接索引11
二级间接索引21

在这里插入图片描述
C、D

位示图

管理存储空间分配状态的数据结构,用0和1表示空闲或占用
在这里插入图片描述

树形目录结构

文件属性

R只读文件属性
A存档属性
S系统文件
H隐藏文件

文件名的组成

驱动器号
路径
主文件名
扩展名

绝对路径与相对路径

在这里插入图片描述

绝对路径:是从盘符开始的路径。
相对路径:是从当前目录开始的路径
若当前目录为:D1,要求F2路径,则:绝对路径:/D1/W2/F2,相对路径:W2/F2

嵌入式操作系统(EOS)

嵌入式系统主要由嵌入式硬件平台、相关支撑硬件、嵌入式操作系统、支撑软件和应用软件组成。其中,嵌入性、专用性和计算机系统是嵌入式系统的三个核心要素。
典型的嵌入式系统具有以下特点
1.系统专用性强
2.系统实时性强
3.软硬件依赖性强
4.处理器专用
5.多种技术紧密结合
6.系统透明性
7.系统资源受限

嵌入式操作系统特点:

(1)微型化、(2)代码质量高、(3) 专业化、(4)实时性强、(5)可裁减可配置。
针对不同的硬件平台,操作系统通常建立在一个硬件抽象层(HAL)上,该层位于底层硬件和内核之间,为内核提供各种方便移植的宏定义接口,在不同的平台间移植时,只需要修改宏定义即可。
与硬件相关,与操作系统相关。

交叉开发环境

在这里插入图片描述

低功耗设计

基于硬件的低功耗设计
板级电路低功耗设计;选择低功耗处理器,总线的低功耗设计;接口驱动电路的设计;分区分时供电技术。
基于软件的低功耗设计
编译优化技术(指令开销) ;软件与硬件的协同设计(硬件功能交由软件完成);算法优化(低时间复杂度)。

实时操作系统(RTOS)

实时性指标

任务切换时间
中断处理相关的时间指标
— 中断延迟时间
— 中断响应时间
系统响应时间(对用户的输入或请求作出反应的时间)
信号量混洗时间(指从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟)

多任务调度算法

实时系统存在多种调度算法。

优先级调度算法:分配一个相对固定的优先顺序,然后调度程序根据优先级的高低排序按时间顺序进行高优先级任务优先调度。 (非抢占式)

抢占式优先级调度算法:是在优先级调度算法基础上,允许高优先级任务抢占低优先级任务而运行。

时间轮转调度算法:调度程序会依次调度每个任务运行一个小的时间片,然后再调度另一个任务。每个任务运行完一个时间片,无论是否结束都会释放CPU让下一个任务运行。(纯粹的时间轮转调度无法满足实时系统的要求,取而代之的是基于优先级的抢占式时间
轮转调度)

最晚截止期调度算法:指调度程序按每个任务的最接近其截止期末端的时间进行调度。

最早截止期调度算法:指调度程序按每个任务的截止期时间,选择最早到截止期头端时间的任务进行调度。

在RTOS中,大多数的RTOS调度算法都是抢占式的。

常见的嵌入式RTOS(实时操作系统,Real-Time OperatingSystem)
VxWorks、RT-Linux、QNX、pSOS。

比较类型VxWorksRT-Linux
工作方式操作系统与应用程序处于同一存储空间操作系统与应用程序处于不同存储空间
多任务支持支持多任务(线程)操作支持多进程、多线程操作
实时性实时系统实时系统
安全性任务间无隔离保护支持进程间隔离保护
标准API支持支持

微内核操作系统

现代操作系统大多拥有两种工作状态,分别是核心态和用户态。般应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态。
将传统的操作系统代码放置到更高层,从操作系统中去掉尽可能多的东西,而只留下最小的核心,称之为微内核。 (C/S结构)

在这里插入图片描述

实质优点缺点
单体内核将图形、设备驱动及文件系统等功能全部在内核中实现,运行在内核状态和同一地址空间。减少进程间通信和状态切换的系统开销,获得较高的运行效率。内核庞大,占用资源较多且不易剪裁。系统的稳定性和安全性不好。
微内核只实现基本功能,将图形系统、文件系统、设备驱动及通信功能放在内核之外。内核精练,便于剪裁和移植。系统服务程序运行在用户地址空间,系统的可靠性、稳定性和安全性较高。可用于分布式系统用户状态和内核状态需要频繁切换,从而导致系统效率不如单体内核。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值