软件设计师-操作系统基本原理

操作系统-概述

功能:
1.管理系统的硬件,软件,数据资源
2.控制程序运行
3.人机之间的接口
4.应用软件与硬件之间的接口

管理职能:
1.进程管理(进程的状态,前趋图,PV操作,死锁问题)
2.存储管理(段页式存储)
3.文件管理(索引文件,位示图)
4.作业管理
5.设备管理(虚设备与Spooling技术)

进程管理——进程的状态

在这里插入图片描述
就绪状态:除了CPU,其他资源都已准备好
等待状态:除了CPU,还缺其他的资源

进程管理——前趋图

表示一系列活动的先后约束关系

在这里插入图片描述

进程管理——进程的同步与互斥

同一资源被多个进程使用的关系。
互斥:如千军万马过独木桥

例如:单缓冲区和多缓冲区的情况

进程管理——PV操作
  • 临界资源:各进程间需要互斥方式对其进行共享的资源。如打印机,磁带机等
  • 临界区:每个进程中访问临界资源的那段代码称为临界区
  • 信号量:是一种特殊的变量
    例如:
    P操作和V操作,
    P(S) 表示 执行 S=S-1
    V(S)表示执行S=S+1
    在这里插入图片描述
    这时P操作可以看作是执行一个进程,相当于是占用一个资源。
    V操作看作是释放一个进程,相当于是增加一个资源。
进程管理——死锁问题

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

例:系统有三个进程:A,B,C。这3个进程都需要5个系统资源。则系统至少有多少个资源,则不可能发生死锁。

死锁的预防和避免。
死锁的预防:打破四大条件

  • 互斥:
  • 保持和等待:进程各自占用了部分资源,都处于等待缺资源状态。
  • 不剥夺:系统不会把已经分配给某个进程的资源剥夺掉,分配给某个进程。
  • 环路等待:多个进程间互相等待其他进程占用的资源,形成了一个环路。
    死锁的避免:
  • 有序资源分配法
  • 银行家算法
进程管理——死锁问题之银行家算法

银行家算法:分配资源的原则
1.当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
2.进程可以分期请求资源,但请求的总数不能超过最大需求量。
3.当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。

存储管理——分区存储组织

引:某计算机系统的内存大小为128k,采用可变分区分配方式进行内存分配,当前系统的内存分块情况如下图所示,现有作业4申请内存9k,几种不同的存储分配算法在分配中,会产生什么样的结果讷?
1.首次适应法:选择找到的适合程序运行空间需求的第一块空间。
2.最佳适应法:选择的空间适合程序选择尽可能小的空间进行分配。
3.最差适应法:选择的空间适合的空间尽可能大的空间进行分配。
4.循环首次适应法:把空间连成一个环状,在首次适应法上做修改。
注意:内存在使用结束后会被系统回收,供其他新的作业使用。

存储管理——段页式存储组织

1.页式存储
一张页表(页号和块号)
相当于是存入的索引和对应的内存地址
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销,可能产生抖动现象(频繁重新分配表的索引)

例如:逻辑地址=页号+物理地址
(物理地址长度也就是相应页面大小所对应的2的幂)
页面大小为4k时,对应的物理地址长度为12位

2.段式存储
段表(包含段号和段长和段内地址)
从表面上看和页式存储类似,
实际上是段式存储对段内的空间进行了分段处理,不同的段号依次对应不同的空间大小。
优点:多道程序共享内存,各段程序修改互不影响。
缺点:内存利用率低,内存碎片浪费大。

3.段页式存储
段页式存储结合了段式存储和页式存储两种存储模式。
(先分段后分页)
段表:段号+状态+页表大小+页表始址 + 页表:页号+状态+存储块的物理地址
优点:空间浪费小,存储共享容易,能动态链接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。

存储管理——快表

块表是一块小容量的相联存储器(Associative Memory),由高速缓存器组成,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。
(快表式放在Cache中,慢表是放在内存中。)

存储管理——页面置换算法

1.最优(Optimal,OPT)算法(理想算法,在发生之后决定应该怎么进行淘汰,得出最优的淘汰算法)
2.随机(RAND)算法
3.先进先出(FIFO)算法:有可能产生“抖动"。例如,432143543215序列,用3个页面,比4个缺页要少
4.最近最少使用(LRU)算法:不会”抖动“

例:缺页中断:指令只会存在一个缺页中断,数据会存在两次缺页中断。

文件管理:索引文件结构

索引节点(在一个索引文件中可以同时存在多种索引)
三级简介索引(一般为13个节点)——二级简介索引——一级间接索引——直接索引——>物理盘块
二级简介索引(一般为12个节点)——一级间接索引——直接索引——>物理盘块
一级间接索引(一般为11个节点)——直接索引——>物理盘块
直接索引(一般为10个节点)——>物理盘块

操作系统——文件和树形目录结构

文件属性

  • R为只读文件属性
  • A为存档属性
  • S为系统文件
  • H为隐藏文件
    文件名的组成
  • 驱动器号
  • 路径
  • 主文件名
  • 扩展名

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

文件管理——空闲存储空间的管理
  • 空闲区表发(空闲文件目录)
  • 空闲链表法
  • 位示图法(-----重点-----)
    位示图(bitmap)又叫位图,它的最小单元是一个bit。每个bit有两种取值1或0。
    是利用二进制的一位来表示磁盘中的一个盘块的使用情况,“1”表示盘块被使用,“0”表示未使用。
  • 成组链接法
设备管理——数据传输控制方式

程序控制方式(由被称为程序查询方式,最为低级,CPU介入最多的机制)
程序中断方式
DMA方式(又称为直接存取控制装置,有一个DMA控制器直接进行管理外设和内存中的数据交换,CPU只在开始时介入)
通道(略)
输入输出处理机(略)

设备管理——虚设备与SPOOLING技术

思考:A,B,C,D共用一台打印机X,要进行打印资料时,很容易出现”打印机正在使用“!如何处理该问题?
SPOOLING技术,开辟了缓冲区,将要输入和输出的内容给缓存起来。(解决了外设低俗,内部处理器高速的不匹配问题)

微内核操作系统

本质:操作系统内核特别小

  • 单体内核
  • 微内核
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MelanceXin

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

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

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

打赏作者

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

抵扣说明:

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

余额充值