软件设计师笔记——(第四章:操作系统)

目录

一、操作系统概论(⭐)

二、进程管理(⭐⭐⭐)

1、进程管理-(PV操作)

2、管程和线程

3、进程调度

4、死锁

三、存储管理(⭐⭐⭐)

1、分区存储管理

2、分页存储管理

3、分段、段页式存储管理

4、虚拟存储管理

四、设备管理(⭐⭐⭐)

五、文件管理(⭐⭐)

六、作业管理(⭐⭐)


一、操作系统概论(⭐)

1、操作系统的目标:配置OS,使计算机系统更加方便性、有效性、可扩充性、开放性。

2、操作系统的作用

  • OS作用户和计算机硬件之间的接口
  • OS作为计算机资源的管理者,提高计算机系统效率
  • 改善人机界面,提供良好的工作环境 

3、操作系统的特征:并发性、虚拟性、共享性、不确定性

4、操作系统的功能

  • 处理机调度:进程控制、进程同步、进程通信、进程调度
  • 存储管理:内存空间的管理、内存的分配、保护、扩充
  • 文件管理:文件存储空间的管理、文件读/写管理和保护
  • 设备管理:缓冲管理、设备分配、设备处理
  • 作业管理:界面管理、人机交互

5、操作系统的类型

  • 批处理操作系统:单批道处理OS、多批到处理OS
  • 分时操作系统:轮流使用CPU工作片
  • 实时操作系统:快速响应。实时控制系统、实时信息处理系统
  • 网络操作系统:方便有效地共享网络资源
  • 分布式操作系统:保持网络系统的全部功能,并且具有透明性、可靠性和高性能等特性
  • 微机操作系统
  • 嵌入式操作系统

6、计算机启动的基本流程为:BIOS -> 主引导记录 ->操作系统

7、操作系统通过文件目录和目录项来组织和管理外存中的信息

嵌入式系统:自底向上由三个主要环节组成(片级初始化—板级初始化—系统级初始化)

  • 片级初始化:完成嵌入式微机处理器的初始化
  • 板级初始化:完成嵌入式微机处理器以外的其他硬件设备初始化
  • 系统级初始化:以软件初始化为主,主要进行操作系统的初始化

二、进程管理(⭐⭐⭐)

1、进程管理-(PV操作)

进程:是一个具有独立功能的程序(程序的一次执行),关于某个集合的一次运行活动(处理机上顺序执行的活动),是系统进行资源分配和调度的一个独立单位。

一、进程的结构

①控制块:进程的唯一标识(PCB的组织方式是索引方式)

②数据段:存放原始数据、中间数据

③程序段:存放文本区域,可被多个进程共享

进程资源图 (如下图)

  • ▭→◯:表示请求资源,◯ →▭:表示分配资源
  • P1、P2是阻塞节点,P3是非阻塞节点
  • 可以化简的,其化简顺序为P3→P1→P2

二、进程状态

五态模型:

①阻塞:进程因发生某件事而暂停执行

②就绪:进程具备运行条件,但尚未运行

③运行:进程在处理机上运行

④创建:为新进程创建PCB,并填写必要信息,并把进程插入到就绪队列中

⑤终止:资源释放回收

三、进程的控制 (OS通过原语操作实现进程控制)

OS对进程实现有效的管理,包括:创建新进程、撤销已有进程、挂起原语、阻塞原语、唤醒原语。

原语:由若干指令组成,完成特定的功能。

  • 执行过程不会中断
  • 在管态、系统态、内核态下进行,常驻内存
  • 是内核三大支撑功能(中断处理、时钟管理、原语操作)之一

四、进程间的通信 

1、进程同步:协调进程间的相互制约关系,使他们按照预期的方式执行的过程。

  • 直接相互制约关系(同步):进程间的合作,比如管带通讯
  • 间接相互制约关系(异步):进程排斥性的访问共享资源,比如过独木桥

2、临界资源:多个进程需要互斥访问的共享资源(打印机、磁带机)

  • 临界区:进程中对对临界资源实施操作的那段代码叫做临界区,若能保证多个进程互斥地访问自己的临界区就可实现互斥访问。
  • 互斥临界区原则:空闲即进、忙则等待、有限等待、让权等待

3、信号量机制:(P操作:wait原语,进程等待)(V操作:signal原语,唤醒等待进程)

  • PV操作是操作系统提供的具有特定功能的原语,实现了资源的互斥使用
  • 整型信号量:违背让全等待,会发生忙等
  • 记录信号量:进程进入阻塞状态,不会发生忙等

4、信号量重点

  • 互斥信号量:互斥信号量初值为1

  • 同步信号量:同步信号量初值为0

  • 信号量初值等于资源数,当n个进程共享x台打印机时,信号量范围为-(n-x)~x。

  • 信号量小于0表示没有可用资源,其绝对值表示阻塞队列中等待该资源的进程数。

一、PV操作与信号量 

2、管程和线程

一、管程

1、管程:由代表共享资源的数据结构和一组过程(进行PV操作的函数)组成的管理程序(封装)。(特殊的软件模块)(实现进程同步的工具)

2、管程的组成:

  • 局部管程内部的共享数据结构
  • 对该数据结构进行操作的一组过程
  • 管程内共享数据的初始化语句

3、管程的特征:

  • 局部于管程的数据只能被局部与管程的过程访问
  • 一个进程只有通过调用管程内的过程(函数)才能进入管程访问共享数据
  • 每次仅允许一个进程在管程内执行某个内部过程

二、线程

1、线程:进程的轻型实体,是一系列活动按事先预定好的顺序依次执行的过程(是一条执行路径,不能单独存在,必须包含在进程中),是一系列指令的集合(提高OS的并发性)(OS运算调度的最小单位)

2、线程的属性:

  • 轻型实体
  • 独立调度和分配的基本单位
  • 可并发执行:一个线程可以创建和撤销另一个线程
  • 共享进程资源:线程基本不拥有自己的资源,只拥有运行中必不可少的资源(如:PC、寄存器、栈,但可共享进程全部资源)。

3、进程调度

1、调度方式:

  • 可剥夺式调度:立即暂停当前进程,分配处理机给高优先级进程(原则:优先权、短进程优先、时间片原则)
  • 不可剥夺式调度:必须等待进程运行完方可释放占用CPU(缺点:适用于批处理系统,不适用分时/实时系统)

2、调度算法:

1、先来先服务(FCFS):按到达顺序执行(非剥夺式调度)

  • 有利于长作业,有利于CPU繁忙作业(充分利用资源)
  • 不利于短作业,不利于I/O繁忙作业(耗时,其他饥饿)

2、短作业优先(SJF):所需时间最短的优先(剥夺式调度)

  • 平均等待时间最少,长作业周转时间增加,估计时间不准,不能完成迫切任务

3、优先级调度(SPA):优先级最高的先调度(剥夺式调度)

  • 优先级设置原则:系统>用户,交互性>非交互型,I/O型>计算机
  • 低优先级可能出现饥饿

4、时间片轮转(RR):剥夺式调度,由时钟中断控制

  • 按进程到达优先队列的顺序,轮流分配时间片执行
  • 公平,响应快,适用于分时系统
  • 时间片决定因素:系统响应时间、队列进程数量、系统处理能力

5、多级反馈队列调度:集前几个优点,相当于(SPA+RR)(剥夺式)

  • 相对公平、快速响应、短作业优先、周期时间短

4、死锁

一、死锁的定义:

多个进程由于竞争资源而造成的阻塞现象,若无外力作用这些进程将无法继续前进。→(造成:资源的浪费,系统的崩溃)。产生的原因如下:

  • 系统资源的竞争
  • 进程推进顺序非法

二、死锁产生的必要条件(4个同时产生)

  • 互斥条件:共享资源的排它性访问
  • 请求保持条件:保持当前资源时,请求另一个资源
  • 不剥夺条件:访问该共享资源时不会被其他进程剥夺
  • 循环等待条件:存在共享资源的循环等待链

三、死锁的预防

  • 破坏互斥条件(但不是所有资源都可改成共享)
  • 破坏剥夺条件(但实现复杂,代价高,原进程无法推进)
  • 破坏请求保持条件(但资源浪费、利用率低)
  • 破坏循环等待条件(到限制新设备增加,限制用户编程)

四、死锁的预防

安全性算法→银行家算法(与死锁预防相比,增加利用率,也增加系统的开销)

五、死锁的检测→(死锁定理)

  • ▭→◯:表示请求资源,◯ →▭:表示分配资源

六、死锁的解除:即死锁发生后的解除方法

  • 资源剥夺
  • 撤销进程
  • 进程回报

三、存储管理(⭐⭐⭐)

存储管理目的:解决多个用户共同使用主存的问题

  • 多层结构:(寄存器——CPU)(高速缓存、主存储器、硬件缓存——主存)(固态磁盘、可移动存储介质——辅存)

1、分区存储管理

1、分区存储管理:把主存的用户划分成若干个区域,每个区域分配给一个用户使用,并限定它们只能在自己的区域中运行。

  • 按划分方式分为:固定分区、可变分区、可重定向分区

2固定分区:(一种静态分区方式)在系统生成时已将主存划分成若干个分区,每个分区的大小可不等;(OS通过主存分配情况表管理主存)

  • 缺点:已分配区中存在未用空间,程序不完全与分区大小相等,造成空间的浪费。

3、可变分区:(一种动态分区方式)存储空间的划分是在作业装入时进行的,故分区的个数可变,分区的大小刚好等于作业的大小。(OS通过已分配表、未分配表管理主存)

  • 可变分区分配包括两种管理表格:已分配表,记录已分配分区的情况;未分配表,记录未分配区的情况。
  • 请求和释放分区算法:最佳适应算法找到最接近用户需求的分区),最差适应算法(转入最大的空的分区),首次适应算法(低地址开始的第一个空白区),循环首次适应算法(刚分配的空白区的下一个空白区)。

4、可重定位分区是解决碎片问题简单而行之有效的方法

  • 基本思想是:移动所有已分配好的分区,使之成为连续区域。(会导致地址发生变化会产生地址重定位问题)

5、分区保护的目的是防止未经核准的用户访问分区。分区保护有两种方式:

  • 上界/下界寄存器保护
  • 基址/限长寄存器保护:

2、分页存储管理

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

分页存储管理:第一次访问页表得到物理地址,第二次存取数据(两次访问内存)

  • 页:将一个进程的地址空间划分成为若干个大小相同的区域
  • 块:将主存空间划分成与页相同大小的若干物理块
页号(P)(12—31)页内偏移量(W)(0—11)

1、地址结构:(组成:页号+页内地址(页内偏移量)=偏移量)

  • 地址长度为32位。其中0~11位为页内地址,即每页大小为4KB,12~31位为页号,即最多允许2^20页存在。

2、页表:(实现→页号到地址块号的映射)(每个页在页表中占一个表项,记录程序中的某表在内存中对应的物理块号)

  • 物理地址:(页号→块号)+偏移量
  • 页号:逻辑地址/页面长度→P=A>>(n位)
  • 偏移量:逻辑地址%页面长度→W=A&(L-1)

3、地址变换机构:利用页表将逻辑地址转换成物理地址

  • 页表寄存器:用来存放页表的起始地址和页表长度
  • 页表管理中地址空间是一维的,页表太大会降低内存利用率

4、快表: 存放访问最频繁的少数活动页的页号及相关信息。快表是将页表存于Cache中;慢表是将页表存于内存上

  • 匹配成功:取块号+偏移量→形成地址
  • 匹配失败:访问主存页表,并同步到快表

3、分段、段页式存储管理

一、分段存储管理

31             段号S              16 15              段内地址d                       0

1、分段式存储管路:用户进程的地址空间进行划分,各段长度不等(允许一个作业最长64个段,每段最大长度为64KB)

2、段表

  • 组成:段号、段长、基址
  • 实现:从逻辑段到物理主存的映射

3、地址变换机构:在系统中设置段表寄存器,用于存放起始地址和段表长度。

4、分页和分段的区别:(相同:都采用离散分配方式)

  • 页是信息的物理单位,段是信息的逻辑单位
  • 分页是一维空间,分段是二维空间
  • 分段更容易信息共享和保护

二、段页式存储管理 

1、段页存储管理:结合分段、分页的优点,客服两者的缺点

  • 原理:先将用户程序分成若干段,在把每个段分成若干页,并把每个段赋予一个段名。

2、管理方式:(先分锻再分页,1个进程→一个段表,一个段表项→一个页表,一个页表→多个物理块)。

  • 段表起始+段号→段表项
  • 页表起始+页号→页表项
  • 内存块号+页内地址→物理地址
  • 如果段表长度>段号→未越界

4、虚拟存储管理

1、虚拟存储器:将一个作业的部分内容装入主存便开始启动运行,其余部分暂时留在磁盘上,需要时再装入,有效地利用主存空间(扩大主存容量)。

2、局部性原理

  • 时间局部性:(原因:程序中存在大量循环操作)
  • 空间局部性:(原因:程序顺序执行)

3、虚拟存储器的实现(特性:离散性、多次性、对换性、虚拟性)

  • 虚拟存储器具有请求调入功能和置换功能,其逻辑容量由主存和外存容量之和以及CPU可寻址的范围决定的。
  • 三种实现方式:请求分页系统、请求分段系统、请求段页式系统

4、缺页中断和一般中断的区别:

  • 缺页中断在指令周期执行期间产生和处理中断信号。而一般中断是在一条指令执行完,下一条指令开始执行前检查和处理中断信号。
  • 发生缺页中断时,返回到被中断指令的开始重新执行该指令。而一般中断是返回到下一条指令执行。
  • 一条指令在执行期间是返回到下一条指令执行。

5、页面置换算法:请求分页系统的核心问题是选择合适的置换算法。

  • 最佳页面置换算法
  • 最近最少使用算法
  • 先进先出置换算法

1、 最佳页面置换算法

2、 最近最少使用算法

3、 先进先出置换算法

四、设备管理(⭐⭐⭐)

1、设备管理:(管理I/O操作的设备、设备控制器、I/O处理机等)

  • 在计算机系统中,将负责处理管理设备和输入/输出的机构称为I/O系统
  • I/O系统的组成:设备、控制器、总线、I/O软件

2、设备分类

  • 按数据组织分类:块设备、字符设备
  • 按设备的功能分类:输入、输出、存储、网络联网、供电设备
  • 按资源分配角度分类:独占、共享、虚拟设备
  • 按数据传输速率分类:低速、中速、高速设备

3、CPU硬件架构图

3、管理设备的目标和任务:提高设备利用率,提供方便统一界面

  • 任务:保证在多道程序下,当多个进程使用设备时,按一定的策略分配和管理各种设备,控制设备的各种操作,完成I/O设备与主存之间的数据交换。
  • 功能:动态掌握并记录设备状态、设备分配和释放、缓冲管理、实现物理I/O设备的操作,提供设备使用的接口,访问和控制、I/O缓冲调度。

4、I/O软件目标:设备独立性和统一性

  • I/O设备管理软件一般分为4层(由下至上):中断处理程序、设备驱动程序、设备无关系统软件、用户级软件

5、设备管理采用的相关技术: 

1、通道技术:使数据传输独立于CPU,使CPU从繁琐的I/O工作中解脱出来

  • 根据信息减缓方式不同,通道分为:字节多路通道、数组选择通道、数组多路通道

2、直接存储访问方式(DMA方式):只需CPU在启动和结束时参与,其余不需CPU干涉,由DMA直接执行完成。

3、缓冲技术:提高外设利用率,尽可能使外设处于忙碌状态(分为:硬件缓存、软件缓存)引入缓存的原因:

  • 缓和CPU与I/O设备间速度不匹配的矛盾
  • 减少对CPU的中断频率,放宽对中断响应时间的限制
  • 提高CPU和I/O设备间的并行性

4、Spooling技术: 缓和CPU高速性与I/O设备低速性的矛盾(脱机输入输出技术)。Spooling技术课可将一台物理I/O设备虚拟为多台逻辑设备,同时允许多个用户共享一台I/O设备(常见为多个电脑共享一台打印机)。Spooling组成:

  • 输入井和输出井
  • 输入缓存和输出缓存
  • 输入进程和输出进程
  • 井管理程序

6、单缓冲区——时间=(max(T,C)+M)×n+C

7、双缓冲区——时间=max(T,C+M)×n+M+C

五、文件管理(⭐⭐)

1、文件管理:(目的:管理外存储器上的信息,使用户高效、快捷、方便)

  • 文件:以计算机硬件为载体的存储在计算机上的集合

2、文件的逻辑结构:从用户角度看到的文件组织形式。

  • 无结构的流式文件:在处理前每个记录长度可知(以字节为单位,没有具体结构)(顺序访问,采用穷举法访问)
  • 有结构的记录型文件:长度为定长和不定长两类

3、文件的物理结构:文件在物理存储设备上的存放方法。

  • 连续结构(顺序结构):只知道文件起始物理地址块号和文件长度,方便地进行文件存取(顺序表)
  • 链式结构(串联结构):只知道文件的第一个物理块号,按链表指针查找整个文件(链表)
  • 索引结构:利用索引表,将逻辑上连续的文件信息,存放在不连续的物理上。

(0-9号为直接索引)(10号为一级间接索引)(11号为二级间接索引)(12号为三级间接索引)

①、文件的连续结构

②、文件的链式结构

③、文件的索引结构

4、文件目录:由文件控制块组成,专门用于文件检索  

一、文件控制块(FCB):记录了系统文件所需的全部信息

  • 基本信息类:文件名、文件物理地址等
  • 存取控制信息类:文件的存取权限等
  • 使用信息类:有关文件操作信息类、日期类等

二、目录结构:

  • 一级目录:(线性结构)优点:结构简单。缺点:查找速度慢,不允许重名,不便于文件共享。
  • 二级目录:(文件目录和用户及目录组成)。优点:检索素的快,解决重命名问题。缺点:不便于共享文件。
  • 多级目录:(树形目录结构)DOS和UNIX均采用

5、文件属性

一:R(只读文件)A(存档文件)S(系统文件)H(隐藏文件)

  • 文件名的组成:驱动器号(盘符)\路径\非文件名
  • 绝对路径:从盘符开始的路径
  • 相对路径:从当前开始的路径

二:文件存取的方法:读写文件存储器上的一个物理块方法

  • 顺序读取、随机读取、按键读取

6、文件存储空间的管理

  • 空闲区表:适用于连续文件结构
  • 空闲块链法:由空闲物理块构成的一个链表
  • 成组连接法:分成若干组,每组100个空闲块,每组的第一个空闲块记录下一组的全部信息(栈结构)。
  • 位示图法:建立一张二维位示图,用0和1表示空闲和占有(位示图的大小由磁盘空间的大小决定)。

六、作业管理(⭐⭐)

作业管理:由程序、数据、作业说明书组成(作业是系统为完成一个用户的计算任务所做的工作总和)

1、作业控制

  • 脱机控制:无需人工干预
  • 联机控制:需要人工干预

2、作业状态及转换

3、作业控制块和作业后备队列

  • 作业控制快:(JCB)记录与作业有关的各种信息登记表(作业后备队列由若干个JCB组成)

4、作业调度算法:先来先服务(FCFS)、短作业优先(SJF)、响应比优先(HRN)、优先级调度算法、均衡调度算法

5、性能衡量指标:用平均周转时间或平均带权周转时间衡量

6、用户界面:(用户接口、人机界面)实现用户与计算通信的软件和硬件的总额。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大小胖虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值