科目一:信息系统综合知识——3.操作系统知识

3.1 操作系统概述

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

3.2 进程管理

3.2.1 进程的组成和状态

  • 进程:进程控制块PCB(唯一标志)、程序、数据
  • 三态(系统自动控制时只有三种状态):
    三态图

3.2.2 前驱图

  • 任务的并行执行、顺序关系
    前驱图

3.2.3 进程资源图

  • 进程和资源之间的分配和请求关系。
    进程资源图
  • P1拥有一个R1资源,P1缺一个R2资源;
  • P2拥有一个R2资源,P2缺一个R1资源;
  • P3拥有一个R1、一个R2资源,P3缺一个R2资源。
  • 阻塞节点:某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续,如P2.
  • 非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行,如上图P1、P3。
  • 当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态。

3.2.4 同步与互斥

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

3.2.5 信号量操作

  • P操作:申请资源;S=S -1;若S>=0,则执行P操作的进程继续执行(S:资源个数);若S<0,则该进程为阻塞状态,插入阻塞队列(S:等待的进程数量)。
  • V操作:释放资源;S=S+1;若S>0,则执行V操作的进程继续执行;若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。

经典问题:生产者和消费者的问题

  • 三个信号量:互斥信号量S0(仓库独立使用权)、同步信号量S1(仓库空闲个数)、同步信号量S2(仓库商品个数)。
  • 生产者流程:生产一个商品S,P(S0)、P(S1),将商品放入仓库中,V(S2)、V(S0)。
  • 消费者流程:P( S0)、P(S2),取出一个商品,V(S1)、V(S0)。

3.2.6 死锁

当一个进程在等候永远不可能发生的事件时,就会产生死锁,若系统中有多个进程处于死锁,就会造成系统死锁。

死锁产生的四个必要条件:

  • 资源互斥
  • 每个进程占有资源并等待其他资源
  • 系统不能剥夺进程资源
  • 进程资源图是一个环路

预防死锁:采用某种策略限制并发进程对于资源的请求,破坏死锁产生的四个条件之一,使系统任何时候都不满足死锁条件。

避免死锁:一般采用银行家算法来避免。银行家算法,提前计算出一条不会死锁的资源分配算法,才分配资源,否则不分配资源。

检测死锁:允许死锁产生,但系统定时运行一个检测死锁的程序,若检测到系统中产生死锁,则设法加以解除。

解除死锁:即死锁发生后的解除方法,如强制剥夺资源,撤锁进程等。

死锁计算问题:系统中有n各进程,每个进程都需要R各资源,那么其发生死锁的最大资源数为n*(R-1),其不发生死锁的最小资源数为n*(R-1)+1.

3.2.7 线程

进程属性:拥有资源的最小单位、可独立调度和分配的基本单位。

引入线程,线程是独立调度的最小单位,线程可以共享进程的公共数据、全局变量、代码、文件等资源,但不能共享线程独有的资源,如线程的栈指针等标识数据。

3.3 存储管理

3.3.1 页式存储管理

每次将需要运行的逻辑页装入物理块中,运行完再装入其他需要运行的页。
页式存储管理
高级语言使用逻辑地址;运行状态,内存中使用物理地址。
优点:利用率高,碎片小(只在最后一个页中有碎片),分配及管理简单。
缺点:增加了系统开销,可能产生抖动现象。

3.3.2 页面置换算法

缺页:需要执行的页不在内存物理块中,需要从外部调入内存。缺页数越多,系统效率越低。
最佳置换算法OPT:未来最长时间内不被访问的页面置换。(理论上的,实际无法实现)
先进先出置换算法FIFO:抖动现象,分配页数越多,缺页率可能越高。
最近最久未使用置换算法LRU:程序局部性原理。

3.3.3 快表

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

快表将页表存于Cache中,慢表将页表存于内存中。
慢表需要访问两次内存才能取出页,快表访问一次Cache和一次内存,因此快表更快。

3.3.4 段式存储管理

将进程空间分为一个个段,每段由段号和段内地址,与页式存储不同的是,每段物理大小不同,分段是根据逻辑整体分的。

地址表示:(段号,段内偏移),其中段内偏移不能超过该段号对应的段长,否则发生越界错误,而此地址对应的真正内存地址应该是:段号对应的基地址+段内偏移。

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

3.4 文件管理

3.4.1 文件结构

计算机系统中采用的索引文件结构:
索引文件结构
系统中有13个索引节点,0-9为直接索引,每个索引节点存放的是内容,设每个物理块大小为4KB,则可存4KB * 10=40KB的数据。
10号索引节点为一级间接索引节点,大小为4KB,存放的是物理盘块的地址,每个地址占4B,则有1024个地址,对应1024个物理盘,可存1024 * 4KB=4098KB数据。
二级索引节点相似,可存1024 * 1024 * 4KB数据。

3.4.2 树形文件目录

相对路径:是从当前路径开始的路径。
绝对路径:是从根目录开始的路径。

全文件名=绝对路径+文件名
树形结构主要区别相对路径和绝对路径。

3.4.3 空闲存储空间管理

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

3.5 设备管理

3.5.1 设备的分类

  • 按数据组织方式分类:块设备、字符设备。
  • 按资源分配方式分类:独占设备、共享设备、虚拟设备。
  • 按数据传输速率分类:低速设备、中速设备、高速设备。

3.5.2 I/O软件层次结构

  • 用户进程(I/O请求、I/O应答)
  • 设备无关软件
  • 设备驱动程序
  • 中断处理程序
  • 硬件

3.5.3 输入输出技术

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

在一个总线周期结束后,CPU会响应DMA请求,开始读取数据,CPU响应程序中断方式是在一条指令结束时,区分指令执行结束和总线周期结束。

3.5.4 虚设备和Spooling技术

一台实际的物理设备,例如打印机,在同一时间内只能由一个进程使用,其他进程只能等待,且不知道什么时候打印机空闲,此时外设工作效率降低。

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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值