操作系统期末复习

2022Fall NJUT

各类处理机调度算法的原理、缺点以及解决办法;
  1. FCFS
    既可用于作业调度,也可用于进程调度

    ad:有利于长作业,不利于短作业;有利于CPU繁忙型作业(科学计算),不利于I/O繁忙型(事务处理) (因为是非抢占)

  2. 短作业(进程)优先算法 SJF
    ad:平均周转时间最短
    dis:对长作业不利,可能饿死;
    ​ 未考虑作业的紧迫性;
    ​ 作业时间根据用户估计而定,不一定真能做到短作业优先。

  3. 高优先权优先调度算法
    purpose:照顾紧迫型作业。
    适用于批处理的作业调度,多操作系统的进程调度,实时系统。

    • 静态优先权
      ​ ad:简单易行,系统开销小
      ​ dis:优先权低的作业可能长期得不到调用(饿死)

    • 动态优先权
      ​ ad:可以获得更好的调度性

    • 抢占式

    • 非抢占式
      ​ ad:满足紧迫作业的要求,用于实时系统,批处理系统,分时系统

    • 高响应比优先调度算法
      ​ 是动态优先权
      ​ ad:综合了FCFS和SJF优点,既考虑公平性,又考虑平均周转时间。
      ​ dis:增加系统开销,每次调度都要计算响应比。

  4. 基于时间片轮转调度算法

    • 时间片轮转
      小的时间片有利于短作业,但是频繁发生中断,进程上下文切换,增加系统开销。
      长的时间片,退化为FCFS算法,无法满足交互式用户需求。

    • 多级反馈队列调度算法
      满足各种类型进程的需要

四种I/O控制方式的区别;ch5 p26

调度准则

  • 面向用户
    1. 周转时间短
    2. 响应速度快
    3. 截止时间
    4. 优先权、
  • 面向系统
    1. 系统吞吐量
    2. 处理及利用率
    3. 各类资源均衡利用
  1. 程序I/O
    忙-等,I/O控制器循环测试I/O状态,CPU忙等。

  2. 中断驱动I/O
    CPU发出指令后,做其他事,与I/O并行

  3. 直接存储器访问DMA
    以数据块为I/O单位,提高CPU与I/O设备的并行操作程度。

  4. I/O通道控制方式
    以一组数据块位单位,实现CPU,通道,I/O三者的并行操作。

分页方式和分段方式的区别;ch4 p63
  1. 页是信息的物理单位,分页是为了提高内存利用率,满足系统的需要;
    段是逻辑单位,是为了满足用户的需要。

  2. 页的大小固定且由系统决定,系统中只能有一种大小的页;
    段的长度不固定,决定于用户编写的程序。

  3. 分页的地址空间是一维的,是单一的线性地址空间。
    分段的作业地址空间是二维的,即需要给出段名和段内地址。

各种文件基本操作的内容及其目的;
  1. 创建文件

  2. 系统为新文件分配必要的外存空间;在文件目录中为其建立目录项。目录项中应包含文件名及其在外存的地址等属性。

  3. 删除文件

    找到删除文件的目录项,使之成为空项;回收文件所占的存储空间。

  4. 读文件

    先查找目录,找到指定的目录项,从中得到被读文件的外存地址和文件读指针。

  5. 写文件

    查找目录,找到指定的目录项,再利用目录中的写指针进行写操作。

  6. 打开

    将指明文件的属性包括文件在外存上的物理位置从外存中拷贝到内存中打开文件表的一个表目中,将表目的编号(索引号)返回给用户。

  7. 关闭

    从打开文件表中把该文件对应的表目删除。

能够分析作业调度和进程调度的调度过程,能够分析每个作业的开始、完成时间并计算周转时间;
掌握主要的页面置换算法(FIFO、LRU、时钟置换),能够分析请求分页管理方式的页面置换过程;ch4 p91
如何计算逻辑地址到物理地址的转换;

下面是计算逻辑地址到物理地址的转换的一般步骤:

  1. 确定逻辑地址的格式:逻辑地址通常由两部分组成,即段地址和偏移地址。段地址用于定位数据所在的内存段,偏移地址则是该数据在内存段中的偏移量。
  2. 获取段表项:操作系统会为每个进程维护一个段表,其中记录了每个段的基址、界限等信息。因此,通过逻辑地址中的段地址,可以在段表中查找到对应的段表项。
  3. 检查段界限:在获取段表项后,需要检查逻辑地址的偏移地址是否超过了该段的界限。如果超过了界限,则表示访问的地址越界,需要引发异常并终止进程。
  4. 计算物理地址:如果逻辑地址未越界,则可以通过段表项中的基址和逻辑地址中的偏移地址计算出物理地址。
  5. 访问内存:得到了物理地址后,CPU 可以直接访问物理内存中的数据。

需要注意的是,在实际计算过程中,有些系统可能采用了更加复杂的地址转换方式,例如分页机制、虚拟内存等。具体的实现方式会根据不同的系统而有所不同。

分析内存访问的过程,计算访问时间;

寻道时间Ts+旋转延迟时间TT+传输时间Tt

计算文件访问过程中访问的磁盘块数;

在文件访问过程中,操作系统需要将文件从磁盘读取到内存中。为了实现这个过程,操作系统需要访问磁盘上的多个磁盘块。计算文件访问过程中访问的磁盘块数,可以根据以下几个因素来确定:

  1. 文件系统的类型:不同的文件系统采用的存储结构不同,因此文件访问过程中访问的磁盘块数也会有所不同。
  2. 文件的大小:文件大小越大,访问的磁盘块数也就越多。
  3. 磁盘块的大小:磁盘块的大小也会影响文件访问过程中访问的磁盘块数。
  4. 磁盘读取策略:操作系统可能采用不同的磁盘读取策略,例如预读取(Read Ahead)和延迟写入(Lazy Write)等。这些策略也会影响访问的磁盘块数。

举个例子,如果我们要访问一个 1 GB 大小的文件,而磁盘块的大小为 4 KB,那么访问的磁盘块数大约为:

1 GB / 4 KB = 262,144

实际情况可能会更复杂,因为操作系统需要读取文件的元数据、目录信息等内容,同时可能还需要进行一些磁盘寻道和旋转等操作。但这个简单的计算可以给我们一个大概的估算。

用信号量解决进程同步问题;
分析进程运行的各个状态;

就绪,执行,阻塞

引入挂起:

活动就绪,静止就绪,执行,活动阻塞,静止阻塞

PV操作基本概念、原理,掌握信号量机制应用。

S.value的初值表示系统中某类资源的数目。——资源信号量。

P(wait):

对信号量S的每次wait操作,意味着进程请求一个该类临界资源,因此描述为S.value=S.value-1;当S.value<0时,表示该类资源已分配完,因此进程应调用block原语进行自我阻塞,放弃处理机,并插入到信号量链表S.L(阻塞队列)中。可见该机制遵循了“让权等待”准则。此时,S.value的绝对值(S.value为负值)表示在该信号量链表中已阻塞进程的数目

V(signal):

对信号量S的每次signal操作,表示进程释放一个该类临界资源,因此描述为S.value=S.value+1;当加1后仍是S.value<=0,表示在该信号量链表中仍有等待该资源的进程被阻塞,因此,应调用wakeup原语,将第一个等待的进程唤醒。

  1. 利用信号量实现进程互斥,mutex
  2. 实现前驱关系
多级反馈队列调度算法内容和设计思路。

设置多个就绪队列,并为各个队列赋予不同的优先级:第一个队列优先级高,依次递减。

算法赋予各个队列中进程执行时间片的大小也各不相同,在优先权愈高的队列中,为每个进程所规定的执行时间片就愈小。如,第二个队列的时间片要比第一个队列的时间片长一倍,……

当一个新进程进入内存后,首先将它放入第一队列的末尾,按 FCFS 原则排队等待调度。当轮到该进程执行时,如它能在该时间片内完成,便可准备撤离系统;如果它在一个时间片结束时尚未完成,便将该进程转入第二队列的末尾,再同样地按 FCFS原则等待调度执行;如果它在第二队列中运行一个时间片后仍未完成,再依次将它放入第三队列,……,如此下去。仅当第一队列空闲时,调度程序才调度第二队列中的进程运行。

几个内存分区分配算法基本原理、优缺点、适用范围。
  • 首次适应算法

  • 循环首次适应

  • 最佳适应算法(找最小)

  • 最坏适应算法(找最大)

    ad:产生碎片几率小,对中小作业有利,查找效率高。

I/O架构;程序I/O 、中断驱动I/O 、DMA 、 I/O通道控制方式基本原理和技术演变思路;
  • 程序I/O

    I/O控制器循环测试I/O状态,CPU忙等,浪费

  • 中断驱动I/O

    CPU和I/O设备并行工作

    pb:以字节为单位,CPU被频繁中断

  • DMA

    以数据块为I/O单位

  • I/O通道

    一次读一组数据块

文件管理基本概念,打开和关闭操作定义和原因。

打开文件——是指系统将指明文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存中打开文件表的一个表目中,并将该表目的编号(或称索引号)返回给用户。

作用:当用户再要求对该文件进行相应操作时,便可利用该索引号向系统提出操作请求。系统可直接利用该索引号到打开文件表中去查找,从而避免了对该文件的再次检索。节省了大量的检索时间,也显著提高了对文件的操作速度。

关闭文件——如果用户已不再需要对该文件操作时,可利用“关闭”系统调用来关闭此文件,OS将会从打开文件表中把该文件对应的表目删除。

索引文件、索引顺序文件、查找速度。

索引文件:通常按照关键字建立一张索引表,并为每个记录设置一个表项,以加快对记录的检索速度,实现直接存取。

​ 优点:随机查找,提高了对文件的查找速度;插入和删除记录很方便。

​ 缺点:每个记录在索引表中都有一个索引项,增加了开销。

索引顺序文件:把文件中所有记录分组,然后为文件建立一张索引表,为每一组记录中的第一个记录设置一个表项,其中含有该记录的键值和指向该记录的指针。

​ ad:结合了顺序文件和索引文件的优点。克服了变长记录的顺序文件不能随机访问、不便于记录的增加与删除的缺点。保留了顺序文件的关键特征。付出的代价较小。

image-20230301212401229

method:在对索引顺序文件进行检索时,首先也是利用用户(程序)所提供的关键字(如A开头的)以及某种查找算法去检索索引表。找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置。再利用顺序查找法去查找主文件,从中找到所要求的记录。

索引顺序文件查找速度,为能检索到具有指定关键字的记录,平均只要查找 根号N 个记录数,检索效率 S 比顺序文件约提高 二分之根号N 倍。

链接分配方法基本原理、优缺点;显式链接(FAT)

def:在采用链接分配时,可通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表,把这样形成的文件称为链接文件。

ad:消除了外部碎片,提高了外存利用率。便于文件动态增长,文件的增、删、改也十分方便。

dis:与连续分配造成的碎片一样,链接分配实际上也会造成很多物理上的碎片。

**FAT:**用于链接文件物理块的指针(块号),显式地存放在内存的一张链接表中,整个磁盘仅一张表。

掌握索引分配,单级索引,多级索引,混合索引

链接分配解决了连续分配存在的问题,但又出现了另外两个问题:不能支持高效的直接存取。 FAT需要占用较大的内存空间。

单级

索引分配方法为每个文件分配一个索引块(表),把分配给该文件的盘块号都记录在索引块中。在建立文件时,其目录项中包含指向索引块的指针。

ad:索引分配支持直接访问。索引分配不会产生外部碎片。文件较大时,优于链接分配。

dis:可能要花费较多的外存空间。每个文件都要一个索引表,小文件仍需分配一个盘块。

多级(主索引,第二级索引)

ad:加快对大型文件的查找速度。

dis:启动磁盘的次数会增加。(要额外查找主索引)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值