第2章 操作系统用户界面
合集下载
第二章 操作系统用户界面

作业说明书包含:作业的基本描述、作业控 制描述和资源要求描述。体现用户的控制意 图。
图2.2 作业说明书的主要内容
2.2.3 一般用户的输入输出方式
联机输入输出方式
脱机输入输出方式 直接耦合方式
SPOOLING系统
网络联机方式
联机输入输出方式
用户和系统通过交互会话来输入作业。
外围设备直接和主机连接。由主机直接控制输入输 出;I/O与作业处理不能并行。降低了CPU效率 一台主机可以连接一台或多台外围设备。在单台设 备和主机相连接进行作业输入输出时,由于外围设 备的输入输出速度远远低于CPU处理速度,有可能 造成CPU资源的浪费。
联机作业控制的命令种类
环境设置 执行权限管理 系统管理 文件管理 编辑、编译、链接装配、执行命令 通信 资源要求
2.3 命令控制界面
现代操作系统,大都提供联机控制方式和批 处理方式。 批处理方式:指传统的作业控制语言编写的 作业说明书方式,也指那些把不同的交互命 令按一定格式组合后的命令文件方式。
陷阱处理机构、陷阱指令
必须为实现各种系统调用功能的子程序编造 入口地址表,每个入口地址都与相应的系统 子程序名对应。
由陷阱处理程序把陷阱指令中所包含的功能 号与该入口地址表中的有关项对应起来,从 而由系统调用功能号驱动有关系统子程序执 行。
陷阱处理机构、陷阱指令
在进入系统调用处理之前,陷阱处理机构要 保存处理机现场。在系统调用处理结束之后, 陷阱处理机构还要恢复处理机现场。
2.6 Linux与Windows的系统调用
2.6.1 Linux的系统调用
图2.2 作业说明书的主要内容
2.2.3 一般用户的输入输出方式
联机输入输出方式
脱机输入输出方式 直接耦合方式
SPOOLING系统
网络联机方式
联机输入输出方式
用户和系统通过交互会话来输入作业。
外围设备直接和主机连接。由主机直接控制输入输 出;I/O与作业处理不能并行。降低了CPU效率 一台主机可以连接一台或多台外围设备。在单台设 备和主机相连接进行作业输入输出时,由于外围设 备的输入输出速度远远低于CPU处理速度,有可能 造成CPU资源的浪费。
联机作业控制的命令种类
环境设置 执行权限管理 系统管理 文件管理 编辑、编译、链接装配、执行命令 通信 资源要求
2.3 命令控制界面
现代操作系统,大都提供联机控制方式和批 处理方式。 批处理方式:指传统的作业控制语言编写的 作业说明书方式,也指那些把不同的交互命 令按一定格式组合后的命令文件方式。
陷阱处理机构、陷阱指令
必须为实现各种系统调用功能的子程序编造 入口地址表,每个入口地址都与相应的系统 子程序名对应。
由陷阱处理程序把陷阱指令中所包含的功能 号与该入口地址表中的有关项对应起来,从 而由系统调用功能号驱动有关系统子程序执 行。
陷阱处理机构、陷阱指令
在进入系统调用处理之前,陷阱处理机构要 保存处理机现场。在系统调用处理结束之后, 陷阱处理机构还要恢复处理机现场。
2.6 Linux与Windows的系统调用
2.6.1 Linux的系统调用
第2章操作系统的用户界面

下一页
第2章 操作系统的用户界面
5.键盘命令建立用户程序及分时系统作业调度
(1)呼叫 (2)联接 (3)通信 (4)退出
下一页
第2章 操作系统的用户界面
(1)呼叫
当终端用户想从终端打入命令或输入信息时,他 首先要进行呼叫,例如通过类似电话拨号的方式 进行呼叫。当呼叫成功后,用户就可以从终端的 键盘上打入各种命令输入到计算机系统,即开始 第二步——联接。
下一页
第2章 操作系统的用户界面
(2)联接
呼叫成功后,计算机即和终端联上,于是计算机应在终 端设备上输出引导信息,以告诉用户终端设备与系统联 上了。这时,用户应打入一条“录入命令”,向系统申 请录入一个作业。一般录入命令应给出以下参数:用户 名、作业名、口令、资源需求等。系统接到录入命令后, 将检查口令、资源需求等。在符合时,就允许录入。当 用户从终端上看到允许录入的信息后,就知道这个终端 作业被接受了,从而就进入第三步——通信。 下一页
第2章 操作系统的用户界面
(3)通信
终端作业被录入后,就可以通过终端打入各种控制 作业的命令和从终端输入作业的程序和数据。属于 通信这一步的键盘命令是比较丰富的,一般有以下 几类:
(1)环境设置。 (5)编译、连接装配和运行。 (2)系统管理。 (6)输入数据。 (3)文件管理。 (7)操作方式转换。 (4)编辑修改。 (8)申请资源。
下一页
第2章 操作系统的用户界面
3.作业调度的性能指标
对于批处理系统,作业调度的原则体现在一个指标,即 各作业的平均周转时间上,如设i作业的周转时间为 Ti=Tci-Tsc;Tci,Tsc分别为作业的完成时间和作业的提交 时间,则平均周转时间为:J=(∑Ti)/n;对这个公式涉 及的n个作业,相对于长作业,对J值的影响大,而短作 业对J值的影响小。为了增加短作业对J值的影响,引入 平均带权周转时间的概念。平均带权周转时间定义为: W=(∑Ti/tri)/n;tri 作业的运行时间。一般认为J、W越 小,系统对作业的吞吐量越大,系统的性能越高。
第2章 操作系统的用户界面
5.键盘命令建立用户程序及分时系统作业调度
(1)呼叫 (2)联接 (3)通信 (4)退出
下一页
第2章 操作系统的用户界面
(1)呼叫
当终端用户想从终端打入命令或输入信息时,他 首先要进行呼叫,例如通过类似电话拨号的方式 进行呼叫。当呼叫成功后,用户就可以从终端的 键盘上打入各种命令输入到计算机系统,即开始 第二步——联接。
下一页
第2章 操作系统的用户界面
(2)联接
呼叫成功后,计算机即和终端联上,于是计算机应在终 端设备上输出引导信息,以告诉用户终端设备与系统联 上了。这时,用户应打入一条“录入命令”,向系统申 请录入一个作业。一般录入命令应给出以下参数:用户 名、作业名、口令、资源需求等。系统接到录入命令后, 将检查口令、资源需求等。在符合时,就允许录入。当 用户从终端上看到允许录入的信息后,就知道这个终端 作业被接受了,从而就进入第三步——通信。 下一页
第2章 操作系统的用户界面
(3)通信
终端作业被录入后,就可以通过终端打入各种控制 作业的命令和从终端输入作业的程序和数据。属于 通信这一步的键盘命令是比较丰富的,一般有以下 几类:
(1)环境设置。 (5)编译、连接装配和运行。 (2)系统管理。 (6)输入数据。 (3)文件管理。 (7)操作方式转换。 (4)编辑修改。 (8)申请资源。
下一页
第2章 操作系统的用户界面
3.作业调度的性能指标
对于批处理系统,作业调度的原则体现在一个指标,即 各作业的平均周转时间上,如设i作业的周转时间为 Ti=Tci-Tsc;Tci,Tsc分别为作业的完成时间和作业的提交 时间,则平均周转时间为:J=(∑Ti)/n;对这个公式涉 及的n个作业,相对于长作业,对J值的影响大,而短作 业对J值的影响小。为了增加短作业对J值的影响,引入 平均带权周转时间的概念。平均带权周转时间定义为: W=(∑Ti/tri)/n;tri 作业的运行时间。一般认为J、W越 小,系统对作业的吞吐量越大,系统的性能越高。
第二章 操作系统用户界面

作业全部运行完毕,再由外设输出全部数据和信息,称为缓输出
实现了对作业输入、组织调度和输出的统一管理 使外设在CPU直接控制下,与CPU并行工作(假脱机)
第二章 用户接口与作业管理
Spooling技术举例
假设系统中全部打印机采用了虚拟设备技术(即 Spooling技术),当某进程要求打印输出时,输出 Spooling并不是将某台打印机分配给该进程,而是在某 共享设备(磁盘)上的输出井,为其分配一块存储区, 同时为该进程的输出数据建立一个文件,该进程的输出 数据实际上并未从打印机上输出,只是以文件形式输出, 并输出存放在输出井中。
第二章 用户接口与作业管理
Spooling技术举例
这个输出文件实际相当于虚拟的打印机。这些输出井中的文件 形成了一个输出队列,然后调度输出
用户进程并未真正分到打印机, 用户进程被分配的只是共享设备中的一个存储区 在SPOOLING系统中,为了弥补独享设备与共享设 备间数据传输速度的差异,使用缓冲区技术。
2.3 作业的建立 2.3.1 作业输入方式 SPOOLING系统
输入装置
通 道
外 存
通
输出装置
输入装置
道
输入井 输出井
输出装置
通 道 输入管理 输出管理 模块 模块 主机系统
第二章 用户接口与作业管理
工作过程
在系统输入模块收到作业输入请求信号后,输入管理模 块中的读过程将信息从输入装置读入缓冲区; 当缓冲区满时,由写过程将信息写到外存输入井中。读 过程和写过程反复循环,直到一个作业输入完毕。 当读过程读到一个硬件结束标志之后,系统再次驱动写 过程把最后一批信息写入外存,并调用中断处理程序结 束该次输入。 然后,系统该该作业建立作业控制块JCB,从而使输入 井中的作业进入作业等待队列,等待作业调用程序选中 后进入内存。
操作系统用户界面资料课件

显示元素
01
02
03
文本显示
包括各种提示信息、文本 框、标签、按钮等,用于 呈现操作系统中的各种信 息和功能。
图形显示
包括图标、图像、图形界 面等,用于呈现操作系统 中的各种对象和元素。
动画显示
包括各种动态效果和交互 动画,用于增强用户界面 的交互性和体验感。
输入元素
键盘输入
包括字母、数字、符号等 输入,以及快捷键的使用, 用于向操作系统输入数据 和命令。
智能用户界面阶段
总结词
随着人工智能技术的发展,操作系统开始向智能用户界面发展,能够更好地适应用户的需 求和习惯。
详细描述
在智能用户界面阶段,操作系统能够根据用户的行为和习惯进行智能推荐、自动完成等操 作,使用户能够更加高效地完成工作任务。
代表系统
Windows 10、Mac OS X等。
04
操作系统用户界面的基本组成
Windows 10操作系统用户界 面的评估和优化
评估方法
通过用户调查和专家评审, 发现用户对Windows 10操作 系统的任务栏、开始菜单、 通知中心等界面元素存在不 满,建议改进。
优化策略和实例
优化策略
对任务栏和开始菜单进行重新设计,整合常用应用程序和功 能,提供更直观的搜索和导航功能;改进通知中心的信息展 示方式和提醒方式,提高信息获取效率。
功能
操作系统具有进程管理、内存管 理、文件系统管理、用户界面等 功能,以确保计算机系统的稳定 性和安全性。
操作系统的类型
分时操作系统
允许多个用户同时访问计算机 系统,适用于交互式应用和多 任务处理。
网络操作系统
提供网络服务和安全管理的操 作系统,如Windows Server 和Linux等。
操作系统用户界面

行 ❖ SPOOLing系统的特点
2.3 命令控制界面
❖ 命令控制界面组织和控制作业运行 ❖ 脱机控制方式 ❖ 联机控制方式 ❖ 多窗口按钮式图形界面
2.4 Linux与Windows的命令控制界面
2.4.1Linux的命令控制界面
图2.5Redhat Linux 9.0的窗口界面示例
❖ Linux命令主要包括以下9类:
网络通信命令 这些命令可使用&,&&,||,()等组合成新命令 使用:直接在命令行输入
使用批处理 exam1.bat
@echo off mkdir test echo hello pause
图2.6相互调用批处理示例
图2.6相互调用批处理示例
2.5 系统调用
❖ 系统中为控制系统调用服务的机构称为陷阱 处理机构
系统维护及管理命令 文件操作机管理命令 进程管理命令 磁盘及设备管理命令 用户管理命令 文档操作命令 网络通信命令 程序开发命令 X Window管理命令
Windows的2.命4.令2 控W制in界d面o分w为s的:命命令令解控释制器界cm面d.exe和窗口
交互 Cmd命令包括:系统信息命令,系统操作命令,文件系统命令,
主要内容
❖ 简介 ❖ 一般用户的输入输出界面 ❖ 命令控制界面 ❖ Linux和Windows的命令控制界面 ❖ 系统调用 ❖ Linux和Windows的系统调用
2.1 简介
❖ 针对不同的用户,操作系统提供不同的用户界面 ٭普通用户:使用计算机应用服务的命令集合界 面 ٭管理员用户:负责计算机和操作系统的正常与 安全运行的命令集合界面 ٭编程人员 :一组系统调用的集合
2.2 一般用户的输入输出界面
2.3 命令控制界面
❖ 命令控制界面组织和控制作业运行 ❖ 脱机控制方式 ❖ 联机控制方式 ❖ 多窗口按钮式图形界面
2.4 Linux与Windows的命令控制界面
2.4.1Linux的命令控制界面
图2.5Redhat Linux 9.0的窗口界面示例
❖ Linux命令主要包括以下9类:
网络通信命令 这些命令可使用&,&&,||,()等组合成新命令 使用:直接在命令行输入
使用批处理 exam1.bat
@echo off mkdir test echo hello pause
图2.6相互调用批处理示例
图2.6相互调用批处理示例
2.5 系统调用
❖ 系统中为控制系统调用服务的机构称为陷阱 处理机构
系统维护及管理命令 文件操作机管理命令 进程管理命令 磁盘及设备管理命令 用户管理命令 文档操作命令 网络通信命令 程序开发命令 X Window管理命令
Windows的2.命4.令2 控W制in界d面o分w为s的:命命令令解控释制器界cm面d.exe和窗口
交互 Cmd命令包括:系统信息命令,系统操作命令,文件系统命令,
主要内容
❖ 简介 ❖ 一般用户的输入输出界面 ❖ 命令控制界面 ❖ Linux和Windows的命令控制界面 ❖ 系统调用 ❖ Linux和Windows的系统调用
2.1 简介
❖ 针对不同的用户,操作系统提供不同的用户界面 ٭普通用户:使用计算机应用服务的命令集合界 面 ٭管理员用户:负责计算机和操作系统的正常与 安全运行的命令集合界面 ٭编程人员 :一组系统调用的集合
2.2 一般用户的输入输出界面
操作系统用户界面

• 操作命令与系统调用关系(补充)
操作命令在执行后需转换为相应的系统调用函数去 完成相应的任务。
11
C库函数与系统调用关系
例:Linux下跟踪标准C库函数printf()的实现
步骤一:编写并编译代码 代码编写 #include <stdio.h>int main(void) { printf("hello world"); return 0; } 编译
/* 0 old "setup()" system /* 5 */
17
系统调用与过程(函数)的区别
系统调用:一组用于实现各种系统功能的程序段。 子程序调用:具有特定功能的和逻辑完整性的程序段。
系统调用
子程序调用
系统调用的程序是操作系统的程序,其操作 是针对系统资源的,执行时处理机处于管态 或核态。
如何识别正在运转的程序是内核态程序?
• 程序运行时,处理器态就是程序运行的态。
20
• 复习
作业
21
第2章 操作系统用户界面
1
本章重点
• 用户界面类型 • 系统调用
2
2.1 简介
• 用户界面作用
使用户方便、有效地使用计算机软、硬件。
3
2.2 一般用户的输入输出界面
• 作业的定义与组织(见第4章) • 一般用户的输入输出方式(见第9章)
4
2.3 命令控制界面
• 复习
操作系统功能之一:提供良好的用户界面 用户界面类型
系统调用时会产生中断,并通过中断使CPU 的态由目态转换为管态。
子程序调用的程序是用户的程序,其操作不 涉及系统资源,执行时处理机处于目态。
子程序调用时不会产生中断,CPU的态也不 会改变,都是目态。
操作命令在执行后需转换为相应的系统调用函数去 完成相应的任务。
11
C库函数与系统调用关系
例:Linux下跟踪标准C库函数printf()的实现
步骤一:编写并编译代码 代码编写 #include <stdio.h>int main(void) { printf("hello world"); return 0; } 编译
/* 0 old "setup()" system /* 5 */
17
系统调用与过程(函数)的区别
系统调用:一组用于实现各种系统功能的程序段。 子程序调用:具有特定功能的和逻辑完整性的程序段。
系统调用
子程序调用
系统调用的程序是操作系统的程序,其操作 是针对系统资源的,执行时处理机处于管态 或核态。
如何识别正在运转的程序是内核态程序?
• 程序运行时,处理器态就是程序运行的态。
20
• 复习
作业
21
第2章 操作系统用户界面
1
本章重点
• 用户界面类型 • 系统调用
2
2.1 简介
• 用户界面作用
使用户方便、有效地使用计算机软、硬件。
3
2.2 一般用户的输入输出界面
• 作业的定义与组织(见第4章) • 一般用户的输入输出方式(见第9章)
4
2.3 命令控制界面
• 复习
操作系统功能之一:提供良好的用户界面 用户界面类型
系统调用时会产生中断,并通过中断使CPU 的态由目态转换为管态。
子程序调用的程序是用户的程序,其操作不 涉及系统资源,执行时处理机处于目态。
子程序调用时不会产生中断,CPU的态也不 会改变,都是目态。
第2章 操作系统用户界面

2.4 Linux 和Windows的命令控制界 面2.4.2 Windows的命令控制界面
使用方式: (1)直接在命令行输入命令,如 systeminfo&mem 显示当前系统的属性、配置等,然后显示当前内存 使用情况。 新建exam1.bat (2)使用批处理
@echo off mkdir test echo hello pause
低档PC机
主机
公用存储器 低档PC机 直接耦合方式
2.2 一般用户的输入输出界面 2.2.3 一般用户的输入输出方式
4.SPOOLING系统 又可译为外围设备同时联机操作。 在SPOOLING系统中,多台外围设备通过通道或 DMA器件和主机与外存连接起来。 作业的输入输出过程由主机中的OS控制。OS中 的输入程序包含两个独立过程: 从外部设备把信息读入缓冲区; 写过程,负责把缓冲区的信息送到外存输入井中。 外围设备——各种终端、其他输入设备,如读卡 机等。
# vi file.c # gcc -o file file.c #vi infile (输入需复制的内存) # ./file
#ls
2.6 Linux 和Windows的系统调用 2.6.2Windows的系统调用
系统调用被进一步编写成不同的库函数后放入动 态链接库DLL中。 这些库函数构成了Windows操作系统提供给程序 员的编程界面。这个编程界面被称为应用编程接 口API。 常用的API函数调用分为5类: 窗口管理类 图形设备接口(GDI)类 系统服务类 国际特性类 网络服务类
2.4 Linux 和Windows的命令控制界面 2.4.1 Linux的命令控制界面
第二章(操作系统)

8
返回本节
2.1.3 Windows XP简介
Windows XP的三个版本
Windows XP Home Edition 适用于大多数的家庭和普通用户 Windows XP Professional 适用于商业用户和有一定专业水平的家庭用户 Windows XP 64位Edition 专满足技术性工作站用户的强烈要求而设计 怎样安装xp
第二章 Windows操作系统的使用
本章重点
操作系统的功能 Windows XP的基本操作 文件和文件夹的管理 回收站的使用 程序管理
计算机管理
1
2.1 操作系统的功能与用户界面
操作系统在资源使用者和资源之间充当中间人的角 色,它负责管理、调度、指挥计算机的软硬件资源,使 其协调工作。
ቤተ መጻሕፍቲ ባይዱ
标三个部分,所有的操作都是从桌面开始。
开始菜单
任务栏
桌面图标
返回
12
2.1.4 Windows XP的桌面环境
任务栏
快速启动工具栏 窗口管理区 语言栏
开始按钮
系统提示区
任务一: 任务栏的设置
演示
13
2.1.4 Windows XP的桌面环境
开始菜单
用户帐户 系统工具和文 件管理工具列 表
常用程序列表
磁盘 用户
操作系统
内存
CPU
网络
程序
打印机
返回
2
2.1.1 操作系统的功能
处理器管理
处理器管理主要是对中央处理器(CPU)进行动态管理。 在多个程序运行时,所有的程序都是在处理器中运行得到结果 的,而现在大多的计算机都只有一块CPU,因此处理器管理实 际上是对处理器执行的“时间”管理,即如何将CPU真正合理 分配给每个任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
脱机控制方式利用作业控制语言来编写表示用户控制 意图的作业控制程序,也就是作业说明书。作业控 制语言的语句就是作业控制命令。不同的批处理系 统提供不同的作业控制语言。 联机控制方式不要求用户填写作业说明书,系统只为 用户提供一组键盘或其他操作方式的命令。用户使 用系统提供的操作命令和系统会话,交互地控制程 序执行和管理计算机系统。其工作过程是,用户在 系统给出的提示符下敲入特定的命令,系统在执行 完该命令后向用户报告执行结果;然后,用户决定 下一步的操作。如此反复,直到作业执行结束。凡 是使用过DOS、Windows或UNIX系统的读者, 对联机控制方式都应该是不陌生的。
作业说明书是控制作业执行的依据,显然,只 有批处理系统需要作业说明书。程序语言类型指明该 作业所需要的编译系统和有关的库函数类型等。作业 状态则描述作业生存期的各个阶段。这些阶段是作业 的提交、后备、执行以及完成阶段。从作业输入请求 开始到建立JCB表,作业处于提交状态。在建立JCB 表之后到被作业调度程序选中进入内存,作业在作业 等待队列中处于后备状态。作业进入内存后到执行结 束,处于执行状态。最后,作业执行结束到撤消之间, 作业处于完成状态。作业进入内存处于执行状态并不 意味着该作业立即占据处理机,作业处于执行状态只 是表示该作业作为一道程序进入内存参与对CPU和其 他资源的竞争。
计算机操作系统教程
第2章 操作系统用户界面
2.1 简介 2.2 一般用户的输入输出界面 2.3 命令控制界面 2.4 Linux与Windows的命令控制界面 2.5 系统调用 2.6 Linux和Windows的系统调用 本章小结 习题
本章主要从用户使用和系统管理两方面 出发,讨论操作系统为用户提供的编程接口和 命令控制接口。首先讨论操作系统的命令控制 接口及与其相关的作业控制和管理概念,然后 介绍系统调用与编程接口,最后介绍操作系统 用户界面示例。
作业的输入指将作业的程序、数据和作业说明 书从输入设备(例如键盘)输入到外存,并形成有关初 始信息。必须有外部启动信号,通知系统调用相应的 输入管理程序来负责控制和完成作业的输入工作。 有关作业输入管理程序的详细部分,将在设备 管理和文件系统中讨论。这里需要指出的是,作业输 入管理程序决定了作业的输入方式。再者,与作业输 入过程的启动相似,作业输入过程的结束也必须由用 户给出信号,使得相应设备发出中断信号后结束输入 过程。 后面将讨论作业的输入方式。
2. 脱机输入方式 又称为预输入方式。脱机输入方式利用低档个人计算 机作为外围处理机进行输入处理。在低档个人机上, 用户通过联机方式把作业首先输入到后援存储器, 例如磁盘或磁带上;然后,用户把装有输入数据的 后援存储器拿到主机的高速外围设备上和主机连接, 从而在较短的时间内完成作业的输入工作。
3. 直接耦合方式 保留脱机输入方式的快速输入的优点,又没有脱机输 入方式的人工干预的缺点和具有较强灵活性的输入 方式是直接耦合方式。直接耦合方式把主机和外围 低档机通过一个公用的大容量外存直接耦合起来, 从而省去了在脱机输入中那种依靠人工干预来传递 后援存储器的过程。在直接耦合方式中,慢速的输 入输出过程仍由外围低档机自己管理,而对公用存 储器中的大量数据的高速读写则由主机完成。直接 耦合方式的原理如图2.3所示。
2.2.2 作业组织 如上所述,作业由三部分组成,即程序、数据和作业 说明书。一个作业可以包含多个程序和多个数据集, 但必须至少包含一个程序。否则将不成为作业。作 业中包含的程序和数据完成用户所要求的业务处理 工作。作业说明书则体现用户的控制意图。由作业 说明书在系统中生成一个称为作业控制块(job control block,JCB)的表格。该表格登记该作业 所要求的资源情况、预计执行时间和执行优先级等。 从而,操作系统通过该表了解到作业要求,并分配 资源和控制作业中程序和数据的编译、链接、装入 和执行等。
图2.2 作业说明书的主要内容章
作业说明书主要包含三方面内容,即作业的基本描述、 作业控制描述和资源要求描述。作业基本描述包括 用户名、作业名、使用的编程语言名、允许的最大 处理时间等。而作业控制描述则大致包括作业在执 行过程中的控制方式。资源要求描述包括要求内存 大小、外设种类和台数、处理机优先级、所需处理 时间、所需库函数或实用程序等。作业说明书的主 要内容如图2.2 所示。 一般来说,作业说明书方式主要用在批处理系统中, 且各计算机厂家都对自己的系统定义有各自的作业 说明书的格式和内容。 另外,在微机系统和工作站系统中,人们常用批处理 文件或shell程序方式编写作业说明书。
2.1
简介
计算机系统用户分类 操作系统为普通用户、管理员用户、编程人员提供 不同的用户界面 不同计算机操作系统为用户提供的界面不同 命令控制界面 系统调用
2.2 一般用户的输入输出界面
2.2.1作业的定义 作业是操作系统中一个常见的概念。关于什么 是作业,有两个方面的解释。 一个是从用户角度 看作业,另一个是从系统的角度来看作业。从用户 的角度,可以从逻辑上抽象地(并非精确地)描述 作业的定义,而从系统的角度,则可以定义出作业 的组织形式。
对内存和外设等的要求是该作业对硬件资源 的要求。用户在作业说明书中提出的资源要求称 为静态申请。静态申请有一个资源利用率不高的 问题,现代操作系统较少使用静态申请方式,而 大多采用在执行过程中,由有关系统调用动态申 请和释放资源的方式。这种方式虽然管理较为复 杂,但资源的利用率较高。 作业在外存中的地址指明作业在外存中的位 置,以便系统将该作业调入内存时迅速地找到它。
从系统的角度看,作业则是一个比程序更广的概念。 它由程序、数据和作业说明书组成。系统通过作业 说明书控制文件形式的程序和数据,使之执行和操 作。而且,在批处理系统中,作业是抢占内存的基 本单位。也就是说,批处理系统以作业为单位把程 序和数据调入内存以便执行。 需要说明的是,作业的概念一般用于早期批处理系统 和现在的大型机、巨型机系统中,对于广为流行的 微机和工作站系统,人们一般不太使用作业的概念。
当读过程读到一个硬件结束标志之后,系统再 次驱动写过程把最后一批信息写入外存并调用中断处 理程序结束该次输入。然后,系统为该作业建立作业 控制块JCB,从而使输入井中的作业进入作业等待队 列,等待作业调度程序选中后进入内存。
思考:如何将行式打印机改造成具有SPOOLING功能的打印 机?
将一台独享打印机改造为可供多个用户共享的打印机,是应用SPOOLing 技术的典型实例。具体做法是:系统对于用户的打印输出,但并不真正把 打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将 要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到 请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打 印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。
图2.3 直接耦合输入方式
4. SPOOLING系统 SPOOLING又可译作外围设备同时联机操作。 SPOOLING系统的工作原理如图2.4所示。 在SPOOLING系统中,多台外围设备通过通道或 DMA器件和主机与外存连接起来。作业的输入输 出过程由主机中的操作系统控制。操作系统中的输 入程序包含两个独立的过程,一个过程负责从外部 设备把信息读入缓冲区;另一个是写过程,负责把 缓冲区的信息送到外存输入井中。这里,外围设备 既可以是各种终端,也可以是其他的输入设备,例 如纸带输入机或读卡机等。
2.2.3 作业输入输出方式 作业输入方式可分为5种,即联机输入方式、 脱机输入方式、直接耦合方式、 SPOOLING(Simultaneous Peripheral Operations On-Line)系统和网络输入方式。 1. 联机输入方式 大多用在交互式系统中,用户和系统通过交互会话来 输入作业。外围设备直接和主机相连接。一台主机 可以连接一台或多台外围设备。在单台设备和主机 相连接进行作业输入时,由于外围设备的输入输出 速度远远低于CPU处理速度,有可能造成CPU资源 的浪费。如果使用多台外围设备同时联机输入的话, 则又成为下面将要介绍的SPOOLING系统。
作业的建立
严格地说,在分时系统中,从系统角度来看甚 至没有作业的概念。因此,这里主要介绍批处理系统 的作业建立过程。 建立一个作业必须把该作业所包含的全部程序 和数据输入到计算机的外部辅助存储设备上(简称为 外存或辅存),而且,还要由作业注册程序在系统中 为该作业申请建立起一个相应的作业控制块。作业控 制块和作业之间具有一一对应关系。当一个作业的全 部程序和数据输入到外存且在系统中建立了相应的作 业控制块之后,就说一个作业已经建立起来了。 一个作业的建立过程包括两个子过程,一个是 作业的输入,另一个是作业控制块的建立。
图2.4 SPOOLING系统
通道是一个独立于CPU的专管输入输出的处理 机,它控制外设或外存与内存之间的信息交换。它有 自己的通道指令,以驱动外设进行读写操作。不过, 这些指令需要CPU执行相应的“启动通道”指令发来 启动信号之后才开始执行。DMA方式相似于通道方 式。与通道不同的是,在DMA方式中,信息的传送 方向、信息传送的源地址和目的地址以及传送长度等 都是由CPU控制而不是由DMA器件控制的。 SPOOLING系统的输入方式既不同于脱机方式, 也不同于直接耦合方式。在系统输入模块收到作业输 入请求信号后,输入管理模块中的读过程负责将信息 从输入装置读入缓冲区。当缓冲区满时,由写过程将 信息从缓冲区写到外存输入井中。读过程和写过程反 复一个常数, 建立一个作业的过程实质上是在输入了有关信息 之后申请分得和填写一张空白的JCB表的过程。 由于操作系统中所允许的JCB表中项数是一常数, 因此,当JCB表中各项都已分配出去时,系统无 法为用户建立作业。从而,作业建立过程失败。 另外,由于外存输入井的大小也是有限的。如果 输入井中没有足够的空间存放该作业的话,则作 业的创建仍然是失败的。只有在获得JCB表项和 足够的输入井空间之后,一个作业才可能创建成 功。
图2.1 一般编程过程
在图2.1中,直到编辑为止的各步都可认为是可由人 工独立完成的(尽管也有许多支撑软件存在),但从 编辑输入开始的以下各步却是在用户的要求控制下 由计算机完成。 在一次应用业务处理过程中,从输入开始到输出结束, 用户要求计算机所做的有关该次业务处理的全部工 作称为一个作业。作业由不同的顺序相连的作业步 组成。作业步是在一个作业的处理过程中,计算机 所做的相对独立的工作。一般来说,每一个作业步 产生下一个作业步的输入文件。