第三章 用户接口与作业管理用户如何把自己的请求告诉计算机计算机接到用户请求后如何处理,如何为用户服务
3.1 概述
3.1.1 程序的启动和结束例 子,
程序的执行 ( 启动和结束 )
硬件知识:
程序开始执行的两个前提条件
程序已装入内存
程序计数器 PC:该程序在内存的入口地址五种启动程序执行的方式第一种方式:命令方式命令提示符下打入程序名和参数,回车
c>,$,%
命令解释程序 ( 命令解释器,作业管理程序,作业控制程序,SHELL)
command.com ( 根目录下 )
SHELL ( BSH,CSH,KSH… )
在 Windows中,命令方式是以窗口菜单显示和鼠标操作来体现的开机 命令提示符出现 打入命令打回车程序首指令执行程序尾指令执行下一个命令提示符出现
(在前一个命令提示符的下一行首)
命令方式的程序启动第二种方式:批处理方式
.BAT 文件例子:启动中文环境需要多条命令:
装入字库启动主程序装入汉字输入法
AUTOEXEC.BAT
将若干条命令放在一个文件中,在提示符后打入该文件的名字,由计算机自动连续执行该文件的一组命令以命令方式启动执行批文件操作系统调入批文件,读进其中第一条命令装入并启动该命令要执行的程序该程序执行完毕回到操作系统,
操作系统从该批文件中读下一条命令批方式下的装入启动过程编辑(输入,修改)源程序 编译连接运行成功编辑(输入,修改)另一源程序是否典型的作业步一个作业另一个作业第三种方式,EXEC方式
在一个程序中运行另一个程序
返回原来的程序
“父”程序执行 exec调用操作系统实现 exec的装入(建立进程)、
启动(或转调度子程序或返回)
“子”程序执行回到操作系统,进行子程序结果处理工作,并将结果信息返回“父”程序
“父”程序继续执行
E
X
E
C
方式的过程执行完毕第 四 种 方 式,
由硬件装入程序和启动程序执行早期计算机:用户把装有可执行目标程序的纸带 ( 或卡片 ) 安装到纸带 ( 或卡片 ) 输入机上;按机器面板上的一个特定按钮 (,装入程序并启动执行,) ;
硬件将纸带上的内容顺序读入内存,直至纸带上的一个特殊的程序结束标记为止;然后硬件开始从内存零地址处执行程序第五种方式:自启程序
自己装入自己,并启动自己开始执行的程序
自启程序由两部分组成
引导程序和程序主体引导程序例如,ROM中放一个简单原始的引导程序,
开机时硬件自动从 ROM中该引导程序的起始地址开始执行它由引导程序装入启动程序主体用户程序存放在外存上,其自含的引导程序顺序放在存储介质的开始位置将该存储介质放到相应的联机输入装置上以某种硬操作方法通知计算机需执行自启程序硬件将上述引导程序读入内存并将控制权传给它引导程序将用户主体程序读入内存并将控制权传给它自启程序装入与启动的过程程序的结束
– 正常结束:程序按自身的逻辑有效地完成预定功能后结束
– 异常结束:发生了某些错误而导致程序在没有完成预定功能时提前结束正常结束的结束处理工作
– 返回父程序并返回结果信息
– 释放所用资源 ( 空间,设备,记录使用情况,记帐等 )
非正常结束的结束处理工作
– 应包括正常结束时所做的处理工作
– 找出错误原因并报告给用户
3.1.2 用户与操作系统的接口
1,程序级接口用户在程序中通过一系列的系统调用向操作系统提出服务请求
2,作业级接口操作系统为用户对作业运行全过程的控制提供的功能
(1) 联机接口 ( 交互式 )
由一组命令向操作系统提出请求 。 用户在终端上输入命令,系统立即解释并执行该命令,完成用户的要求,然后返回终端或控制台;用户可输入下一条命令,
如此反复直到作业完成
(2) 脱机接口
在批处理系统中,用户通过作业控制语言 ( JCL) 向系统提出对作业控制要求
OS向用户提供一组作业控制语言,用户用这种语言书写作业说明书,然后将程序,数据和作业说明书一齐交给系统操作员
脱机用户不能直接干预系统
3.1.3 作业的基本概念
1.作业用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称作业:程序,数据,作业说明书
2,作业步一般情况下,一个作业可划分成若干个部分,每个部分称为一个作业步 。 在作业运行期间,各作业步之间存在着相互联系,往往上一个作业步的结果作为下一个作业步的输入
3,作业流一次有一批作业进入系统,并在操作系统控制下,一个接一个地进行处理
3.1.4 作业管理的任务
作业进入
作业调度
作业控制
作业退出
3.2 批处理系统的作业管理
(常用 SPOOLing技术)
基本原理:
系统把作业处理的全过程划分为相对独立的部分,一部分为输入流,一部分为处理流,一部分为输出流主 机输入井输出井硬盘
3.2 批处理系统的作业管理作业输入,
作业从输入介质上进入系统,并加以组织,在磁盘上形成一个后备作业的过程作业输出,
将输出井上的运行结果送外设 (输出设备 )
作业处理:
作业调度挑选一部分作业投入运行
作业控制完成具体进程的执行,解释执行作业说明书,结果送输出井
3.2.1 作业进入作业从输入设备进入系统,并加以组织,形成一个后备作业的过程
1.作业的组成作业 =程序 +数据 +作业说明书作业说明书:
一个独立于程序的文件,刻画了用户对作业的基本描述,以及用户对作业处理的控制要求
是用作业控制语言书写的
2,作业控制语言是一种高级语言
3,输入井在磁盘上开辟的一块空间,用于存放后备作业,包括程序,数据,作业说明书,作业控制块
4.作业控制块 ( Job Control Block-JCB)
作业存在的唯一标志
是系统为管理作业所设置的一个数据结构
存放了管理和控制作业所必需的信息
JCB主要内容,
作业的描述信息:
如作业名,用户名,用户帐号,调度信息 ( 作业优先级别 ),资源需求,作业进入系统时间,作业估计运行时间,作业开始处理时间,作业完成时间,作业状态等 。
作业的存储信息:
输入井地址,输出井地址作业说明书信息:
5,预输入过程第一步:
作业说明书经外部设备进入内存,操作系统对它进行分析,从其中抽取有关内容,填写后备作业 JCB,然后把作业说明书以文件的形式存入输入井,并将文件名填入 JCB
第二步:
把作业体 ( 程序和数据 ) 调入输入井,
填写 JCB有关内容第三步:把 JCB存入输入井,插入到后备作业队列
( 以上三个步骤由预输入进程完成 )
6,预输入进程预输入进程完成作业的输入,组织和建立工作是一个系统进程,一经创建就等待输入设备上的信号,由系统操作员发信号,唤醒该进程投入运行其工作方式为等待人工启动
3.2.2 作业调度
1.作业调度根据一定的原则,从输入井的后备作业队列中选择适当的作业,为它分配内存等资源,并将其调入内存投入运行 。
又称高级调度,远程调度
2,调度原则公平,合理,使用户满意提高系统资源利用率,如提高系统吞吐量
3.作业调度算法
(1)先来先服务 ( FCFS)
按照作业进入系统的先后次序进行调度,先进入系统者先调度优点:实现简单,公平缺点:没考虑资源利用率和作业的特殊性
(2)短作业优先( SJF)
选择运行时间最短的作业投入运行优点:
易于实现,强调了资源的充分利用,
保证了系统的最大吞吐量 ( 单位时间里处理作业的个数 )
缺点:
不公平,会造成长作业长期等待结论:
假设系统中所有作业同时到达,可以证明采用 SJF能得到最短的作业平均周转时间思考:证明以上结论优先选择响应比最高的作业投入运行响应比:作业周转时间 /作业估计运行时间作业周转时间 =作业进入系统等待时间
+作业估计运行时间
(3)最高响应比优先( HRF)
该算法是 FCFS和 SJF的结合,克服了两种算法的缺点优点,公平,吞吐率大缺点,增加了计算,增加了开销
(4) 基于优先数的作业调度算法选择优先级高的作业投入运行
(5) 资源搭配算法
(均衡型作业调度算法 )
把作业分类,作业调度从不同类型作业中去调度作业根据作业对资源要求分类,
I/O 型
CPU 型均衡型
4,性能衡量指标
(1)作业平均周转时间 T
(Ti为每个作业的周转时间; tc作业完成时刻; ts作业进入系统时刻 )
(2)平均带权周转时间 W
( Ti为每个作业的周转时间; tr为作业实际运行时间 )
T是衡量不同调度算法对同一个作业流的性能
W是同一调度算法对不同作业流的性能衡量作业 进入时间 估计运行时间 (分钟)
J O B 1 8,0 0 120
J O B 2 8,5 0 50
J O B 3 9,0 0 10
J O B 4 9,5 0 20
例:单道环境下四个作业,它们进入系统的时间如下:
(1)给出 FCFS,SJF下的作业执行次序
(2)给出 FCFS,SJF下的作业平均周转时间和带权平均周转时间例:
作业 进入时间估计运行时间
(分钟)
S JF 完成时刻
FC FS 完成时刻
JO B 1 8,0 0 12 0 10,00 10,0 0
JO B 2 8,5 0 50 1 1,20 10,5 0
JO B 3 9,0 0 10 10,1 0 1 1,00
JO B 4 9,5 0 20 10,3 0 1 1,20
FCFS,T= ( 120+120+120+90 ) / 4
=112.5
SJF,T=( 120+150+70+40) /4=95
FCFS,W=( 120/120 + 120/50 +120/10
+90/20) /4=4.975
SJF,W=( 120/120 + 150/50 + 70/10
+40/20) /4=3.25
作业:
两道环境下,四个作业,它们进入系统的时间如下:
系统采用短作业优先作业调度算法,
作业被调度运行后不再退出,但当一新作业投入运行后,可按照作业运行时间长短调整作业执行的次序,
请给出上述四个作业的执行时间序列,及计算出平均周转时间及带权平均周转时间作业 进入时间 估计运行时间 (分钟)
J O B 1 1 0,0 0 30
J O B 2 1 0,0 5 20
J O B 3 1 0,1 0 5
J O B 4 1 0,2 0 10
作业:两道环境下四个作业
5.作业调度进程按一定的作业调度算法从后备作业队列中取一个 JCB,对该 JCB进行修改,
形成一个运行 JCB,然后为该作业分配资源 。 并将该作业的运行 JCB交给作业控制进程
( 是一个系统进程,和预输入进程构成了生产者 ——消费者关系 )
5.2.3 作业控制(负责控制作业运行)
作业控制进程:主要负责控制作业的运行,具体解释执行作业说明书的每一个作业步,并创建子进程来完成相应步骤
( 是一个系统进程,和作业调度进程构成生产者 ——消费者关系 )
5.2.4 作业退出
把输出结果送到输出设备上 ( 启动缓输出进程完成 )
回收各种资源缓输出进程(脱机):
从输出井上将结果输出是一个系统进程,创建后等待被唤醒,
一旦作业完成,则唤醒该进程
3.2.5 作业状态及转换作业状态;进入状态;后备状态;运行状态;退出状态 。
作业说明书原程序
.,,
数据输入设备预输入进程 输出井缓输出进程输出设备运行就绪等待作业调度进程输入井进入状态 后备状态 运行状态 退出状态作业控制进程系统把作业处理全过程分为相对独立的部分,一部分为输入,由预输入进程完成;另一部分为输出,由缓输出进程完成;另一部分由作业调度和作业控制来完成,处理部分若从输入部分输入的话,改为从输入井输入数据;如果向外设输出,改为向输出井某一部分去输出
3.2.6 SPOOLing 系统工作原理
(Simultaneously Peripheral
Operation On Line )
3.3 交互式系统的作业管理
3.3.1 概述命令接口的基本任务
1,解释操作系统命令语言中的命令,
将命令传送到系统以便执行
2,接受系统来的信息,以响应语言的形式提呈给用户联机用户与交互式命令接口
使用者用输入装置,以各种操作方法向计算机发出命令,请求各种操作
系统收到命令请求之后,将控制转向命令解释系统,对该命令进行解释执行,
完成指定功能
系统等待新的命令输入交互式命令的接口通常较复杂,包含功能结构,可能问题的处理办法,
如各种约定,前端处理,求助功能,
命令日志,命令注解,宏命令及命令组等交互式控制灵活方便,可以随时进行各种处理,排除问题,方便调试,
但系统利用率低联机命令接口:
一组联机命令,终端处理程序,
命令解释程序
3.3.2 命令接口的操作方式与结构直接命令处理
直接命令用命令处理程序来实现
对命令进行判别,分类,翻译,解释,并按照命令参数的要求与功能,
调用系统相应过程实现不同的实现方式:
作为操作系统的一个组成部分
作为操作系统的一个独立程序模块
作为操作系统下的一个可置换的普通程序终端命令处理在多用户环境下的终端处理界面,可采用间接性终端处理程序结构 。 用户不直接面对主机系统,而是通过某种输入输出设备与主机进行通信 。 用户通过键盘,
鼠标等装置,通过视频终端把信息输入系统,在终端屏幕上输出文本和图像 。
这里的处理活动中,除了命令处理程序外,系统还要有一个终端处理程序对终端进行控制和管理终端处理程序:
接收用户从终端上打入的字符字符缓冲,暂存所接收的字符回送显示屏幕编辑特殊字符处理直接影响命令接口的问题
( 1) 回送 ( ),用户输入一个字符时,
要回送到终端上 。 某种情况下又不需回送 。 在远程情形下,回送由终端处理程序处理,不用远程通信
( 2) 缓冲 ( ),有时输入字符先于程序处理,可以用缓存暂存等方法
( 3) 字符转换 ( ),如大小写,不同编码方式的转换
( 4) 行缓冲 ( )
( 5) 中止字符 ( )
( 6) 命令预告 ( )
3.3.3 命令语言目的:规定由操作系统执行的一系列操作命令结构:
( 命令前缀 ) 命令名 ( 命令参数 ) ( 命令选项 )
命令前缀:命令的特殊性
命令参数:命令在执行前所需的资源,文件和数据
命令选择:指明命令的目标,路径,
方向,范围等典型命令实例:
( 1) UNIX系统:
who
ls -l
( 2) DOS系统
dir c:\
( 3) VAX/VMS
run mypro
3.3.4 命令的种类与功能基本命令
最不可少的命令
显示文件目录,路径和内容
复制,更名或删除
建立,编辑程序,文本和数据
不同的语言编译和连接程序
显示系统或用户环境的信息批处理命令针对脱机用户操作和大量顺序操作功能而设计批处理命令可以是专门的命令,也可是系统的基本命令;还有有关的语法结构,循环,分支,转移,判别等,枸成一套特殊的命令语言宏命令一类组合命令,某些方面类似于批处理命令,但有严格格式 。 宏命令其中可包含若干命令,类似于宏语句
MACRO mycmd
[命令集 … ]
MACRO END
命令的附加功能命令的附加功能用以扩大命令的功能性,选择性,适应性 。 包括:
( 1) 参数与变量位置变量关键字变量
( 2) 命令通配符
( 3) 重定向
( 4) 管道与过滤器
3.3.5 命令文件许多命令接口允许用户提前写出命令并存入文件,且称为命令文件命令文件提供了一种把一系列命令组装成文件的方法,然后用文件名作为命令名执行另外一系列命令好的高效命令有如下特点:
如同标准命令一样接受参数和变量,
并可如宏变量一样在文本中进行替换
允许在命令文件中以嵌套形式调用其它命令文件
允许参数来自终端的命令文件本身
允许命令执行显示到终端,存入文件或送入打印机
允许命令加入注释
出错时允许用户干预,并在适当位置恢复命令文件的执行命令文件可把输入传给程序命令文件可有循环,分支,转移等程序语言的特征
3.3.6 命令设计
命令设计是操作系统各模块设计中重要的,也是困难的一环
命令解释和处理程序也是操作系统中重要的程序模块
3.3.7 实现
1.用户进程对终端进行控制,即登录管理
OS提供监控程序 ( monitor),不断检查系统终端,一旦发现某个终端打开,在终端上显示必要信息,要求用户注册 ( 给出用户名,口令 ),
看其是否合法,合法则为终端生成用户进程,然后,用户进程作业不断接收命令为用户服务
2.用户管理为每个用户建立一个帐号,并记录这个用户的主要信息,如用户名,口令,这些信息存放在系统文件内 。
当用户登录时,系统将用户打入信息与该文件进行比较,若匹则为合法用户,并为其创建用户进程,其标志:提示符
3.子进程,(UNIX)中用 FORK系统调用创建一个子进程
4.后台命令
5.保护机制
3.4 系统调用系统调用与命令使用方式不同,形式相同系统调用是嵌入到程序中使用,命令是交互式使用汇编程序例子:打印 5个字符方法 1:调用 DOS功能
MOVE A,PARA1
MOVE B,PARA2
INT 21H
方法 2:用 OUT语句直接打印
L1,MOVE A,I
IN ADDR1,B
OR B,BS
JNC L1
OUT ADDR2,A
RET
I/O设备的硬件接口,一般由四种寄存器 ( 地址,数据,状态,控制 )
或其子集组成,任一程序中若要使用 I/O设备来输出数据或接受输入,
必须通过对这四种寄存器读写的 I/O
机器指令进行而使用 INT的程序段则简单许多 。 程序员不再需要与接口寄存器打交道,
只需一个简单的调用即可汇编程序例子 2:读写硬盘文件内容
MOVE DX,OFFSETBUFF
MOVE CX,BYTE
MOVE BX,HANDLE
MOVE AH,3FH
INT 21H
磁盘读写的例子:更复杂原因,
A,磁盘的控制和状态接口寄存器比打印机的复杂的多,而且还有地址接口寄存器
B,通常一个外存存储介质上可以存放多个文件,随着文件的建立,删除和拷贝在不停地变化,每个文件的长度随着其内容的变化而不停地变化高级语言例子:打印 5个字符
char buff[4]=“abcde”;
for(i=4;i>=0;i--)
print(buff[i]);
高级语言例子:
读硬盘文件 f1的第 10到 20个字节
seek(fd,10,0);
read(fd,buff,11);
...
...
A= A+1
printf(.,,)
B=B+A
( 1)源程序段
INT.
.
.
.
.
.
(2)printf目标代码
INT
A=A+1
B=B+A
...
...,..
...
IN
OUT
...
(3)程序段编译产生的可执行代码
(4)操作系统可内部代码嵌入后该系统调用的操作系统内部实现代码凡是与硬件相关,与应用无关的工作,
都通过操作系统程序来完成用户程序函数操作系统每个操作系统都提供几百种系统调用,
包括:外存文件与目录的读写,各种 I/O设备的使用,在程序中启动另一个程序,查询和统计系统资源使用情况等等用户程序中对操作系统的调用称为系统调用 ( system call)
实际上系统调用语句本身是硬件提供的 ( 机器指令 ),但其所调用的功能是操作系统提供的 。 每种机器的机器指令集中都有一条系统调用指令 ( 又称访管指令 )
INT指令的执行过程:
将 PC与 PSW入栈? 根据该指令的参数将内存中断向量表的相应位置的内容读入? 执行操作系统内部代码
IRET指令的执行过程:
以栈顶内容置 PSW和 PC?
系统调用方式 ( INT) 与程序中一般的调用方式的相同点和不同点:
改变指令流程
重复执行和公用
改变指令流程后需要返回原处
同一程序中不包含被调用代码
转向的地址是活的:地址不写在程序中,不同的调用地址不同
返回地址是活的:不同的调用返回的地址不同
是安全接口:可随意进入被调用方系统调用是动态调用,程序中不包含被调用代码,好处:
( 1) 用户程序长度缩短
( 2) 当 OS升级时,调用方不必改变系统调用方式的调用地址和返回地址都是不固定的,系统调用指令中不包含调用地址,只包含功能号,是按功能号 ( 在可执行目标程序中 )
调用的 。 在操作系统内部,由系统调用处理程序通过系统调用分支表
( OS的一个数据结构 ) 将功能号转换为相应的指令地址
.
.
.
功能号 地址显 示打 印读文件
.
.
.
.
.
.
.
.
.
OS的系统调用分支表
OS代码显示打印读文件
OS
INT.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
用户程序系统调用返回指令中不包括返回地址,
通过栈保存和弹出返回地址系统调用返回地址不固定,因为用户程序在不同的地方调用 OS
安全接口:
INT指令和 IRET指令的执行过程中,
要处理程序状态字 PSW,INT指令中要保存用户程序的老 PSW,并根据中断向量表设置新 PSW; IRET指令中要在返回用户程序前恢复用户程序的老 PSW
其目的:目态,管态的管理系统态与用户态的转换,是由系统在
INT指令与 IRET指令内部自动完成的,
而没有用一条单独的专门指令 。 这样可以有效地防止在系统态下执行用户程序有两种可能性:
被调用代码是专门为该软件编制,即基于模块划分或仅限于本软件范围内的公用或重复使用 ( 没有问题 )
被调用代码来自公用软件 ( 函数库 )
CALL调用方式是静态调用,被调用代码与调用代码在同一程序之内
CALL调用方式,其调用地址是固定的,包含在调用语句中;返回地址是不固定的,在程序执行过程中通过栈的实现来保存和弹出返回地址
CALL指令的内部实现过程:
返回地址压栈 ( 即该 CALL指令所在的地址 )? 将该 CALL指令中所含的地址 ( 即被调用代码所在地址 ) 送入 PC
RET指令的内部实现过程:
从栈顶弹出返回地址送入程序计数器 PC
其它如 jump,jnc,LOOP指令也如此
3.5 操作系统的安装与启动操作系统怎样开始运行怎样形成一种系统操作环境怎样从程序的顺序执行转换到支持程序的并发执行
3.5.1 操作系统的引导和装入两种方式:
独立引导 ( bootup)
辅助下装 ( download)
独立引导方式:大多数系统采用,操作系统的核心文件存储在系统本身的存储设备中,由系统自己将操作系统核心程序读入内存并运行,最后建立一个操作环境步骤:
(1)系统加电,执行系统初启程序
(2)执行初启程序,对系统硬件和配置进行自检,保证系统没有硬件错误
(3)从硬盘中读入操作系统初启文件,
并将控制权交给该程序模块
(4)执行操作系统初启程序,完成系统环境配置和操作系统初始化工作
(5)继续读入其余的操作系统文件,逐个执行相应的系统程序,完成操作系统各种功能模块的装入,完善操作系统的操作环境,做好程序并发执行的准备
(6)等待用户请求和用户作业的输入,
经过操作系统调度后并发执行辅助下装方式:操作系统的主要文件并不放在系统本身的存储设备中,
而是在系统启动后,执行下装操作,
从另外的计算机系统或者主机系统中将操作系统常驻部分传送到该计算机中,使它形成一个操作环境优点:可以节省较大的存储空间,下装的操作系统也并非是全部程序代码,只是常驻部分或者专用部分,
当这部分操作系统出现问题和故障时,可以再请求下装
3.5.2 系统配置与初始化操作系统的引导是一个从程序的顺序执行到并发执行的过程,只有在操作系统初始化完成后,才能建立这样一个环境步骤:
(1)关掉系统中断,以保证系统的顺利引导
(2)对当前的系统运行环境进行检查,
对系统的配置进行认定,并保存检测的结果,作为系统的初始配置条件
(3)进行操作系统的初始化初始化工作:
根据操作系统设计时定义的全局参数,在内存中建立操作系统工作时所必需的数据结构和各种记录表格,
并且根据当前系统的环境配置情况,
填写相应的表格和结构,设定它们的初始条件,参数和状态
* 在初始化过程中,最重要的是建立有关进程的所有数据结构,如建立
PCB表,建立相应的进程队列,并且按照系统设计时的全局参数
* 其次,操作系统根据检查得到的数据获得自由存储空间的容量,并依此作为存储分配的基数之一 。 同时建立存储管理的若干数据结构,如自由空间队列,分配空间队列等,
获得待分配的自由空间的地址
* 然后,分别建立系统设备和文件系统的控制结构和相应表格,并填写好设备的初始条件,状态和类型,
建立好访问文件系统的各种索引表格接着,对 PCB表和几个进程队列进行初始化 。 此时,可以建立一个空进程 ( NULL),或者把执行的这个程序本身作为第一个进程如果系统有实时时钟控制,还需对时钟控制逻辑进行初始化操作系统初始化完成后,系统给出系统版本提示和系统信息,开放系统中断 。 此时,若无其它进程,系统执行空进程,进入循环等待用户敲击键盘,将会产生键盘中断,
从而引起对命令的解释,生成新的进程,引起进程调度 。 用户通过命令或者程序与操作系统交互,完成用户作业 。 如果是分时系统或者采用时间片调度,每当时间片到,系统产生中断,也引起新的进程调度需要注意的问题:
A.系统初启引导过程不属于操作系统,
有初启过程转入操作系统初始化程序才进入了操作系统模块
B.初启引导程序没有通过,不再进入系统初始化,系统出错提示用户重启或停机
C.初始化程序开始要建立大量的数据结构,所有系统全局变量都在此过程中建立并定位
D.对数据结构的初始化和赋初值是根据系统设计的目标和规范拟定而进行的,尤其是对 PCB表的初始化,这些初始值的设置才构成并发运行的基础
E.在操作系统初始化过程中不允许发生中断,因此必须关闭中断,初始化完成再打开中断,从而进入并发环境
F.初启引导过程和初始化过程中的程序都是顺序执行的,但一旦初始化完成并开放中断,当下一个时间片到来或者中断发生就进入了程序的并发执行 。 这才是顺序到并发的分界点
G.若处于并发环境,没有多个进程或多道程序等待,此时运行空进程代码,或者进入一个无限循环,或者运行待机程序,或者运行安全检测程序等,直到有并发程序进入,引起调度切换