2018-11-7

2018/11/7

设某类资源有5个,由3个进程共享,每个进程最多可申请()个资源而使系统不会死锁。

  • 解如下:因为共有3个进程,5个资源,进程数小于资源数,则不会发生死锁的公式为
    ①最多申请资源数=资源总数/进程数(可以整除的条件下)
    ②最多申请资源数=(资源总数/进程数)+1(不可以整除的条件下)
    所以本题用②的计算方式,得出结果为5/3+1=2

RAID磁盘阵列

虚拟存储只能基于非连续分配技术,容量由CPU的寻址范围决定的。

文件分为两大类:

  • 有结构文件(即记录式文件)
  • 无结构文件(即流式文件)。
  • 大量的数据结构和数据库采用有结构文件,大量的源程序,可执行程序,库函数等采用无结构文件 其长度以字节为单位,对流式文件的访问是利用读写指针来指出下一个要访问的字符。
  • 有结构的文件分为定长和不定长两类
  • 定长又分为:定长记录 变长记录两种
  • 变长记录文件根据文件组织方式的不同又分为:顺序文件,索引文件,索引顺序文件

ext2格式跟ext3格式區別 inode

动态优先数算法是指:

  • 在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。不会“饥饿”

Bash参数

  • $# 是传给脚本的参数个数
  • $0 是脚本本身的名字
  • $1 是传递给该shell脚本的第一个参数
  • $2 是传递给该shell脚本的第二个参数
  • $@ 是传给脚本的所有参数的列表
  • $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
  • $$ 是脚本运行的当前进程ID号
  • $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

特权指令:

  • 特权指令有以下几种:

1)允许和禁止中断,控制中断禁止屏蔽位

2)在进程间切换处理

3)存取用于主存保护的寄存器

4)执行I/O操作

5)停止一个中央处理器的工作

6)清理内存

7)设置时钟

8)建立存储键

9)加载PSW

临界区是指进程中访问共享资源的那段代码

可重入代码--不能自身修改的代码

  • 若一个 程序或 子程序可以安全的被 并行执行,则称其为 可重入( reentrant或re-entrant)的;即,当该子程序正在运行时,可以再次进入并执行它。若一个函数是可重入的。
  • 则该函数:
    • 不能含有 静态(全局)非常量数据。
    • 不能返回静态(全局)非常量数据的地址。
    • 只能处理由调用者提供的数据。
    • 不能依赖于单实例模式资源的锁。
    • 不能调用不可重入的函数。
  • 多'用户/对象/进程 优先级'以及 多进程一般会使得对可重入代码的控制变得复杂。
  • 同时,IO代码通常不是可重入的,因为他们依赖于像磁盘这样共享的、单独的资源。
MOV R0,addr ;把地址addr处的内存数据放入寄存器R0中
  • 有缺页异常的可能,故而可能变为内核态

页表

  • 作用:实现从页号到物理块号的地址映射
  • 存储页表的作用:是记录内存页面的分配情况

进程和程序的区别:

  • 进程是程序的一次执行过程,进程是动态的,程序是静态的
现有一个容量为10GB的磁盘分区,磁盘空间以簇(Cluster)为单位进行分配,簇的大小为4KB,若采用位图法管理该分区的空闲空间,即用一位(bit)标识一个簇是否被分配,则存放该位图所需簇的个数为 。
  • 簇的总数为10GB/4KB=2.5M,用一位标识一簇是否被分配,则整个磁盘共需要2.5M位,即需要2.5M/8=320KB,则共需要320KB/4KB=80个簇。

操作系统调度算法总结

  • 常见的批处理作业调度算法:
    • 先来先服务调度算法(FCFS):就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满意,因为短作业等待处理的时间可能比实际运行时间长得多。
    • 短作业优先调度算法(SPF):就是优先调度并处理短作业,所谓短是指作业的运行时间短。而在作业未投入运行时,并不能知道它实际的运行时间的长短,因此需要用户在提交作业时同时提交作业运行时间的估计值。
    • 最高响应比优先算法(HRN):FCFS可能造成短作业用户不满,SPF可能使得长作业用户不满,于是提出HRN,选择响应比最高的作业运行。响应比=1+作业等待时间/作业处理时间。
    • 基于优先数调度算法(HPF):每一个作业规定一个表示该作业优先级别的整数,当需要将新的作业由输入井调入内存处理时,优先选择优先数最高的作业。
    • 均衡调度算法,即多级队列调度算法
  • 基本概念:
    作业周转时间(Ti)=完成时间(Tei)-提交时间(Tsi)
    作业平均周转时间(T)=周转时间/作业个数
    作业带权周转时间(Wi)=周转时间/运行时间
    响应比=(等待时间+运行时间)/运行时间
  • 进程调度算法
    • 先进先出算法(FIFO):按照进程进入就绪队列的先后次序来选择。即每当进入进程调度,总是把就绪队列的队首进程投入运行。
    • 时间片轮转算法(RR):分时系统的一种调度算法。轮转的基本思想是,将CPU的处理时间划分成一个个的时间片,就绪队列中的进程轮流运行一个时间片。当时间片结束时,就强迫进程让出CPU,该进程进入就绪队列,等待下一次调度,同时,进程调度又去选择就绪队列中的一个进程,分配给它一个时间片,以投入运行。
    • 最高优先级算法(HPF):进程调度每次将处理机分配给具有最高优先级的就绪进程。最高优先级算法可与不同的CPU方式结合形成可抢占式最高优先级算法和不可抢占式最高优先级算法。
    • 多级队列反馈法:几种调度算法的结合形式多级队列方式。
  • 空闲分区分配算法
    • 首先适应算法:当接到内存申请时,查找分区说明表,找到第一个满足申请长度的空闲区,将其分割并分配。此算法简单,可以快速做出分配决定。
    • 最佳适应算法:当接到内存申请时,查找分区说明表,找到第一个能满足申请长度的最小空闲区,将其进行分割并分配。此算法最节约空间,因为它尽量不分割到大的空闲区,其缺点是可能会形成很多很小的空闲分区,称为“碎片”。
    • 最坏适应算法:当接到内存申请时,查找分区说明表,找到能满足申请要求的最大的空闲区。该算法的优点是避免形成碎片,而缺点是分割了大的空闲区后,在遇到较大的程序申请内存时,无法满足的可能性较大。
  • 虚拟页式存储管理中的页面置换算法
    • 理想页面置换算法(OPT):这是一种理想的算法,在实际中不可能实现。该算法的思想是:发生缺页时,选择以后永不使用或在最长时间内不再被访问的内存页面予以淘汰。
    • 先进先出页面置换算法(FIFO):选择最先进入内存的页面予以淘汰。
    • 最近最久未使用算法(LRU):选择在最近一段时间内最久没有使用过的页,把它淘汰。
    • 最少使用算法(LFU):选择到当前时间为止被访问次数最少的页转换。
  • 磁盘调度
    • 先来先服务(FCFS)
    • 最短寻道时间优先(SSTF):让离当前磁道最近的请求访问者启动磁盘驱动器,即是让查找时间最短的那个作业先执行,而不考虑请求访问者到来的先后次序,这样就克服了先来先服务调度算法中磁臂移动过大的问题
    • 扫描算法(SCAN)或电梯调度算法:总是从磁臂当前位置开始,沿磁臂的移动方向去选择离当前磁臂最近的那个柱面的访问者。如果沿磁臂的方向无请求访问时,就改变磁臂的移动方向。在这种调度方法下磁臂的移动类似于电梯的调度,所以它也称为电梯调度算法。
    • 循环扫描算法(CSCAN):循环扫描调度算法是在扫描算法的基础上改进的。磁臂改为单项移动,由外向里。当前位置开始沿磁臂的移动方向去选择离当前磁臂最近的哪个柱面的访问者。如果沿磁臂的方向无请求访问时,再回到最外,访问柱面号最小的作业请求。

转载于:https://www.cnblogs.com/eemjwu/p/9921365.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值