二、操作系统知识

2.1操作系统概述

  • 操作系统的作用:通过资源管理提高计算机系统的效率,改善人机界面向用户提供友好的工作环境
  • 操作系统的特征:并发性、共享性、、虚拟性、不确定性
  • 操作系统的功能:进程管理、存储管理、文件管理、设备管理、作业管理
  • 操作系统的分类:批处理操系统、分时操作系统(轮流使用cpu工作片)、实时操作系统(快速响应)、网络操作系统、分布式操作系统(物理分散的计算机物联系统)、微机操作系统、嵌入式操作系统
  • 计算机启动的基本流程:bios->主引导记录->操作系统

2.2进程的组成和状态

  • 进程的组成:进程控制款PCB(唯一标志)、程序(描述进程要做什么)、数据(存放进程执行时所需数据)
  • 进程基础的状态是左下图中的三态图,正胡思系统自动控制时只有三种状态,而下右图中的五态,是多了两种状态:静止就绪和静止阻塞,需要人为的操作才会进入对应状态,活跃就绪即就绪,活跃阻塞即等待

        

 

  • 当人为干预后,进程将被挂起,进入进制状态,此时,需要人为激活,才能恢复到活跃状态,之后的本质还是三态图

2.3前趋图

  • 前趋图:用力啊表示那些任务可以并行执行,那些任务之间有顺序关系,具体如下图:

      

 

  • 可知,ABC可以并行执行,但是必须ABC都执行完后,才能执行D,这就确定了两点,任务间的并行、任务间的先后顺序

2.3进程资源图

  • 进程资源图:用来表示进程和资源之间的分配和请求关系,如下图所示:

     

 

  • P代表进程,R代表资源,R方框中有几个圆球就表示有几个这种资源,在图中,R1指向P1,表示R1有一个资源已经分派给了P1,P1指向R2,表示P1还需要请求一个R2资源才能执行
  • 阻塞节点:某进程所请求的资源一斤全部分配完毕,无法获取所需资源,改进程被阻塞无法继续。P2
  • 费阻塞节点:某进程所请求的资源还有剩余,可以分配给改进程继续运行,p1,p3
  • 当一个进程资源图中所有进程都是阻塞节点,即进入死锁状态

2.4同步与互斥

  • 互斥:某资源(即临界资源)在同一之间内只能由一个任务单独使用,使用时需要加锁,使用完后解锁才能本其他任务使用,如打印机
  • 同步:多个任何无可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独活共享的问题,如自行车和汽车
  • 临界资源:各进程间需要以互斥方式对其进行访问的资源
  • 临界区:指进程中对临界资源实施操作的那段程序,本质是一段程序代码
  • 互斥信号量:对临界字眼采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1
  • 同步信号量:对共享资源的访问控制,初值一般是共享支援的数量

2.5信号量操作

  • P操作:申请资源,S-s-1,若S>0,则执行P操作的进程继续执行,若S<0,则置改进程为阻塞状态(因为无可用资源),并将其插入阻塞队列
  • V操作:释放资源,S=S+1,若S<0,则执行V操作的进程继续啊执行,若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续

    

 

  • 经典问题:生产者和消费者的问题
  • 三个信号量:互斥信号量S0(仓库独立权使用),同步信号量S1(仓库空闲个数),同步信号量S2(仓库商品个数)

     

2.6死锁

  •  当一个进程在等待永远不可能发生的事情,就会产生死锁,若系统中有多个进程处于死锁状态,就会造成系统死锁
  • 死锁产生的四个必要条件:资源互斥、每个进程占有资源并等待其他资源、系统不能剥夺进程资源、进程资源图是一个环路
  • 死锁预防:采用某种策略限制并发进程对于资源的请求,破坏死锁产生的四个条件之一,使系统任何时刻都不满足死锁的条件
  • 死锁避免:一般采用银行家算法,就是提前计算出一条不会死锁的资源分派方法,才分配资源,否则不分派资源,相当于借贷,考虑对方还得起才借钱,提前考虑好以后,就可以避免死锁
  • 死锁检测:允许死锁产生,但系统定时运行一个检测死锁的程序,若检测到系统中发生死锁,则设法加以解除
  • 死锁解除:即死锁发生后的解除方法,如墙绘剥夺资源,撤销进程等
  • 死锁计算问题:系统内有N个进程,每个进程需要R个资源,那么发生死锁的最大资源为N(R-1),不发生死锁的最小资源数为N*(R-1)+1

2.7线程

  • 传统的进程有两个属性:可拥有资源的独立单位,可独立调度和分配的基本单位
  • 引入线程后,线程是独立调度的最小单位,进程是拥有资源的最小单位,线程可以共享进程的公共数据、全局变量、代码、文件等资源,但不能共享线程独有的资源,如线程的栈指针等标识数据

2.8页式存储管理

  • 将进程空间分为一个个页,假设每个页大小为4K,同样的将系统的物理空间分为一个个4k大小的物理块(页幁号),这样,每次将需要运行的逻辑页装入物理块中,运行完再装入其他需要运行的页,就可以分批次运行完进程,而无需将整块逻辑空间全部装入物理内存中

     

  • 优点:利用率高、碎片小、分派及管理简单
  • 缺点:增加了系统开销,可能产生抖动现象

2.9页面置换算法

  • 最优算法:OPT,理论上的算法,无法实现,是在进程执行后进行的最佳效率计算,用来让其他算法比较差距,原理是选择未来最长时间内不被访问的页面置换,这样可以保证未来执行的都是马上要访问的
  • 先进先出算法:FIFO,先调入内存的页先被置换淘汰,会产生抖动现象,即分配的页数越多,缺页率可能越多
  • 最近最少使用:LRU,在最近的过去,进程执行过程中,过去最少使用的页面被置换淘汰,根据拒捕性原理,这种方式效率高,且不会产生抖动 

2.10快表

  • 是一块小容量的相联存储器,由快速存储器组成,接内容访问,速度快,并且可以从硬件上保证内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号
  • 快表示将页表存与Cache中,慢表示将页表存与内存上
  • 因此慢表需要访问两次内存才能去除页,而快表示访问一次cache和一次内存,因此更快

2.11段式存储管理

  • 将进程空间分为一个个段,每段也有段号和段内地址,与页式存储不同的是,每段物理大小不同,分段是根据逻辑整体分段的
  • 地址表示:(段号 段内偏移);其中段内偏移不能超过该段号对应的段长,否则越界错误,而次地址对应的真正内存地址应该是:段号对应的基地址+段内偏移

     

 

  • 优点:程序逻辑完整,刘改互不影响
  • 缺点:内存利用率低,内存碎片浪费

2.12段页式存储管理

  • 对进程空间先分段,后分页
  • 优点:空间浪费小,存储共享容易,能动态连接
  • 缺点:优越管理软件的增加,复杂性和开销也增加,执行速度下降

      

 

  • 优点:程序逻辑完整,修改互不影响
  • 缺点:内存利用率低,内存碎片浪费大

2.13文件结构

  • 文件索引结构

       

 

  • 系统中有13个索引节点,0-9为直接索引,即每个索引节点存放的是内容,假设每个物理盘大小为4KB,可存4KB*10=10KB数据
  • 10号索引节点为一级间接索引节点,大小为4KB,存放的并非直接数据,而是链接到直接物理盘块的地址,假设每个地址占4B,共有1024个地址,对应1024个物理盘,可存1024*4KB=1098KB数据
  • 二级索引节点类似,直接盘存放一级地址,一级滴啊之再存放物理盘块地址,而后链接到存放数据的物理盘块,容量又扩大了一个数量级,为1024*1024*4KB

2.14树形文件目录

  • 相对路径:是从当前庐江开始的路径
  • 绝对路径:是从根目录开始的路径
  • 全文件名=绝对路径+文件名,绝对路径和相对路径是不加最后的文件名的,只是单纯的路径序列
  • 树形结构主要是区分相对路径和绝对路径

     

 

 2.15空间存储空间管理

  • 空闲取表示法:将所以空闲空间整合成一张表,即空闲文件目录
  • 空闲链表法:将所有空闲空间链接成一个链表,根据需要分配
  • 组成链接法:既分组内又链接成链表,是上述两种方法的综合
  • 位示图法:对每个物理空间用一位标识,为1则使用,为0则空闲,形成以张位示图

2.16设备管理

  • 设备的分类方式
  • 按数据组织分类:块设备、字符设备
  • 资源分配角度分类:独占设备、共享设备、虚拟设备
  • 数据传输速度分类:低速设备、中速设备
  • 告诉设备
  • I/O软件层次结构

 2.17输入输出技术

  • 程序控制方式:cpu主动查询外设是否完成数据传输,效率极低
  • 程序中断方式:外设完成数据传输后,向CPU发送中断,等待cpu处理数据,效率相对较高,使用与键盘灯实时性较高的场景
  • 中断响应时间是指从发出中断请求到开始进入中断处理程序,中断处理时间指的是从中断处理开始到中断处理结束,中断向量提供中断服务程序的入口地址,多级中断嵌套,使用堆栈来保护断点和现场
  • DMA方式(直接主存存取):cpu只需要完成必要的初始化等操作,数据传输的整个过程都由DMA控制器来完成,在主存和外设之间建立直接的数据通路,效率很高,适用于硬盘灯高速设备
  • 在一个总线周期结束后,cpu会响应DMA请求开始读取数据,cpu响应程序中断方式请求是在一条指令执行结束时,区分指令执行结束和总线周期结束

2.18虚设备和SPOOLING技术

  • 引入SPOOLING技术,就是在外设上建立两个数据缓冲区,分别称输入和输出,这样。无论多少进程,都可以共用这一台打印机,只需要将打印命令发出,数据就会排队存储在缓冲区中,打印机会自动按顺序打印,实现了物理外设的共享,使得每个进程都感觉使用一个打印机,这就是物理设备虚拟化

 

posted on 2021-07-19 16:10  丝瓜123  阅读(253)  评论(0编辑  收藏  举报