程序员面试-操作系统-作业

来源:互联网 发布:手机摄影师调色软件 编辑:程序博客网 时间:2024/06/04 00:52

操作系统-作业

2 作业

2.1 作业的基本概念

作业是用户在一次算题过程中或者一个事务处理过程中要求计算机系统所做工作的总和。它是用户向计算机系统提交一项工作的基本单位。为理解方便,我们可以将作业看作是一个要求计算机处理的任务。具体表现形式为程序。一个作业通常由若干个程序构成。
作业步:一个作业可以看成是由若干个独立的步骤组成的,我们称这些相对独立的步骤为“作业步”:

job => 输入 => 后备 => 执行 => 完成
作业输入作业注册作业调度作业终止

作业的输入输出方式:
a) 脱机输入/输出(人工干预):主机与输入/输出机可并行工作。
b) 联机输入/输出:CPU要分心,且CPU与I/O设备的速度相差悬殊,若输入输出过程完全由CPU控制,会对CPU资源造成很大的浪费。
c) Spooling 系统:即外围设备同时联机操作,实现联机方式下的主机和外围设备的同时工作,又称为假脱机。

Spooling技术:缓和系统CPU与磁盘速度不匹配的矛盾。虚拟性是操作系统四大特征之一,如果说“多道程序技术是将一台物理CPU虚拟为多台逻辑CPU,从而允许多个用户共享一台主机。”那Spooling技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备。同样允许多个用户共享一台物理I/O设备。
条件:
+ 必须建立在具有多道程序功能的OS上;
+ 应有高速随机外存的支持(磁盘)
组成部分:
+ 输入井和输出井(磁盘上)
+ 输入缓冲区和输出缓冲区(内存中开辟)
+ 输入进程SPi 和输出进程 SPo。
特点:
+ 提高了I/O速度
+ 将独占设备变为共享设备
+ 实现了虚拟设备的功能

2.2 作业注册:

作业控制块JCB

    JCB是系统为管理作业设置的一个数据结构,是系统中作业存在的唯一标志。

    JCB里面记录有与作业相关的信息,只有当作业退出系统时,才能被撤销。

JCB内容:

    标识信息:作业名、用户名、账号

    状态信息:提交、后备、执行、就绪、等待完成

    调度参数:优先级

    资源需求量:

 

2.3 作业调度:

 

2.4 作业调度算法

单道批处理系统

1) FCFS(先来先服务):优点:简单、公平。缺点:周转时间长,吞吐量小,不利于短作业。

2) SJF(最短作业优先算法):优点:降低作业平均周转时间,提高吞吐量。缺点:对长作业不利,出现饥饿现象。

3) HRP(高响应比优先算法):是FCFS和SJF的折中。


优点:既照顾了短作业,也考虑到了长作业,能够克服长作业的“饥饿”,是一种折中算法
缺点:计算略微复杂。
1:系统在10:00同时发现有两个作业在后备队列中等待调度,其相关信息如下:
1) 作业1: 9:00到达,需要运行60分钟
2) 作业2: 9:50到达,需要运行20分钟。
问:分别按FCFS、SJF、HRP算法进行调度,哪个作业会被优先选择?

FCFS: 作业1
SJF: 作业2
HRP:
   作业1:
   作业2:

多道批处理系统作业调度算法

特点:一次可以选择多个作业同时执行(并发)

作业调度性能分析:

1) CPU利用率:尽量上外设和CPU同时工作来提高CPU利用率

2) 吞吐量:单位时间内CPU完成作业的数量(短作业优先最高)

3) 周转时间:评价批处理系统的性能指标

Ji的提交时间Tii 执行时间Tri 完成时间 Toi则
周转时间 Ti=Toi - Tii
周转系数 Wi=Ti/Tri
平均周转时间
平均周转系数:
例:假设一个“两道”作业批处理系统,现有4个作业提交时间和执行时间如下所示:

 

2.5程序级接口

 

访管指令

在算态下执行的一条特殊的指令,但是不是特权指令。当编译程序中有需要操作系统服务的要求时,编译程序就会在目标程序中安排一条“访管指令”,并设置一些参数。访管指令就能引起“访管中断”,使得程序“自愿进管”。Catx中又称为“陷阱指令(trap)”。
功能:
1)能够是处理器从算态进入管态
2)操作执行完后,从管态回到算态,使用户程序接着执行。

特权指令

操作系统中有一些CPU指令是非常危险的,如果滥用,会导致系统崩溃。如:停机、置PSW中断(开、关、屏蔽中断)、输入输出指令等。这类指令只能在管态下运行,不能在算态下运行。

系统调用的实现过程(UNIX)

系统功能调用:
就是用户在程序中使用“访管指令”调用由OS提供的子功能集合,其中每一个子功能称为一个系统调用命令,也叫广义指令(由一系列更为底层的指令构成)。

原创粉丝点击