第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章 操作系统的用户界面
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,从而使输入 井中的作业进入作业等待队列,等待作业调用程序选中 后进入内存。

操作系统用户界面.ppt

操作系统用户界面.ppt

**** 2.2 一般用户的输入输出界面
2.2.4 JCB的建立 ***************** 在系统把作业信息输入到外存输入井之后,还要根据作
业说明书内容和有关作业信息在外存中的位置等建立作业控 制块JCB。
JCB包含了系统对作业进行管理所必须的信息。即:作 业名、作业估计执行时间、优先数、作业建立时间、作业说 明书文件名、程序语言类型、内存要求、外设要求、作业状 态、以及作业在外存中的存储地址等。
首先讨论操作系统的命令控制接口及与其相关的作业控制 和管理概念,然后介绍系统调用与编程接口,最后介绍操作系 统用户界面示例。
2.1 简介
用户界面是操作系统的重要组成部分。用户界面负责用 户和操作系统之间的交互。即用户通过用户界面向计算机系 统提交服务需求,计算机通过用户界面向用户提供用户所需 要的服务。
作业进入内存处于执行状态并不意味着该作业立即占据处 理机,作业处于执行状态只是表示该作业作为一道程序进入内 存参与对CPU和其他资源的竞争。
**** 2.2 一般用户的输入输出界面
从系统的角度看,JCB表的数量是一个常数,建立一个作 业的过程实质上是在输入了有关信息之后申请分得和填写一 张空白的JCB表的过程。
第 2 章 操作系统用户界面
2.1 简介 2.2 一般用户的输入输出界面 2.3 命令控制界面 2.4 Linux 与 Windows 的命令控制界面 2.5 系统调用 2.6 Linux 和 Windows 的系统调用 本章小结 习题
第 2 章 操作系统用户界面
本章主要从用户使用和系统管理两方面出发, 讨论操作系 统为用户提供的编程接口和命令控制接口。
作业说明书的主要内容如图2.2 所示。 一般来说,作业说明书方式主要用在批处理系统中,且 各计算机厂家都对自己的系统定义有各自的作业说明书的格式 和内容。 另外,在微机系统和工作站系统中,人们常用批处理文 件或 shell程序方式编写作业说明书。

操作系统用户界面资料课件

操作系统用户界面资料课件

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

操作系统用户界面

操作系统用户界面
• 操作命令与系统调用关系(补充)
操作命令在执行后需转换为相应的系统调用函数去 完成相应的任务。
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章用户界面

.long SYMBOL_NAME(sys_unlink)
/* 10 */
.long SYMBOL_NAME(sys_execve)
.long SYMBOL_NAME(sys_chdir)
.long SYMBOL_NAME(sys_time)
.long SYMBOL_NAME(sys_mknod)
.long SYMBOL_NAME(sys_chmod)
2.1 操作系统提供的用户界面
用户界面也称为用户接口,是操作系统提供给 用户与计算机打交道的外部机制,用户借助这种 机制来使用和控制计算机系统。用户界面是操作 系统中直接与用户交互的平台,是操作系统功能 中不可忽略的一个重要的组成部分,其优劣直接 关系到操作系统是否能够得到用户的青睐,是评 价操作系统性能的重要指标之一。
2024/3/10
9
2.1.2 系统调用界面
所谓系统调用,就是用户在程序中调用操作系统 所提供的一些子功能。它是一种特殊的过程调用,这 种调用通常是由特殊的机器指令实现的。这些服务程 序以系统功能模块或函数的形式提供给用户,在用户 程序中凡是涉及到对系统资源的请求、控制、使用等 与系统资源有关的操作,都可以在程序中需要的地方 提出请求,由操作系统的服务程序来完成。
2024/3/10
13
2.2.1 系统调用的类型
系统调用一般包括以下几种类型: 1.有关设备管理的系统调用:
用户使用这些系统调用实现对设备的读写和控制等。 比如系统调用read、write可以用来对指定设备进行读写; open、close可以用来打开和关闭指定的设备等等。 2.有关进程控制的系统调用:
2024/3/10
20
2.2.3 系统调用与子程序调用的区别

第2章 操作系统用户界面

第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的命令控制界面
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


2.5 系统调用

为系统调用服务的机构称为陷阱(trap)处理机 构。由系统调用引起处理机中断的指令称为陷 阱指令(访管指令)。在操作系统中,每个系统 调用都对应一个事先给定的功能号,例如0,1, 2,3等。在陷阱指令中必须指定系统调用的功 能号和有关参数。 每个系统调用的功能由一个或多个子程序完成, 每个子程序有一个入口地址,陷阱处理程序根 据入口地址表调用相应的子程序完成系统调用 的功能。

2.2 一般用户的输入输出界面

作业说明书的主要内容
2.2 一般用户的输入输出界面
2.2.3 一般用户的输入输出方式


1. 联机输入输出方式 外围设备直接和主机相连。例如:键盘、鼠标、 显示器、打印机等。 2. 脱机输入输出方式 用户通过联机方式把数据或程序输入到后援存 储器上,例如U盘、移动硬盘,然后把存有输 入数据的后援存储器连接到主机。可以在较短 的时间内完成作业的输入工作。
2.4 Linux与Windows的命令控制界面


不同命令可以进行组合形成新命令:
Command1 & Command2 用来分隔一个命令行 中的多个命令;

Command1 && Command2 Command1运行成功 时,才运行Command2;
Command1 || Command2 时,才运行Command2。 Command1运行失败
2.2 一般用户的输入输出界面
5.网络联机方式

以上述几种输入输出方式为基础,通过计 算机网络中某一台设备或主机对计算机网 络中另一台主机进行输入输出操作时,就 构成了网络联机方式。
2.3 命令控制界面

命令控制界面是操作系统提供给用户使用 的命令接口或系统调用。

命令控制界面主要有两种:图形窗口界 面和字符界面。
例:使用Linux提供的系统调用,编写一个程序, 实现文件复制的功能。
#include <fcntl.h> #include <sys/stat.h> #define SIZE 1 void filecopy(char *infile,char *outfile) { char buffer[SIZE]; int In_fh,Out_fh,Count; if ((In_fh=open(Infile,O_RDONLY))==-1) printf(“Opening infile failure”);
Shell命令格式: 命令名 [选项] 参数1 参数2... (1)参数变量的表示方法: $0:表示执行的程序名;$1-$9:表示传给程序的第 1个--第9个参数;${大于9的数字}:表示第10个、11 个参数.....; (2)特殊变量的表示方法: $#:表示参数变量的个数;$*:表示所有的参数变 量,$@:表示所有参数变量的值;$?:最近一个执行 过的命令的返回值。 对整数进行比较 [ int1 -eq int2 ]:相等为真; [ int1 -ne int2 ]:不相等为真 [ int1 -gt int2 ]:int1>int2为真 [ int1 -lt int2 ]:int1<int2为真 注:各选项之间用空格隔开

2.2 一般用户的输入输出界面
DMA控制器

DMA(Direct Memory Access ) ,即直接存 储器存取,是一种快速传送数据的机制。 DMA数据传送可以从适配卡到内存、从内存 到适配卡或从一段内存到另一段内存。每台 微机的主板上都有DMA控制器,外部设备的 适配器上的ROM(如光盘驱动控制器上的ROM) 存储了DMA程序,DMA程序启动后,DMA控制 器就可以脱离CPU,独立完成数据传送。
((Out_fh=open(Outfile,(O_WRONLY|O_CREAT |O_TRUNC),(S_IRUSR|S_IWUSR))==-1) printf(“Opening outfile failure”); while ((Count=read(In_fh,Buffer,sizeof(Buffer)))>0) if (write(Out_fh,Buffer,Count)!=Count) printf(“Writing data error”); if (Count==-1) printf(“Reading data error”); close(In_fh); close(Out_fh); }
第2章 操作系统用户界面
主要内容:
1、一般用户的输入输出界面
2、命令控制界面 3、系统调用
2.1 简,用户 界面负责用户和操作系统之间的交互。 用户通过用户界面向计算机系统提交服务请 求,计算机通过用户界面向用户提供服务。 操作系统为普通用户、管理员以及程序员提 供不同的用户界面:为普通用户和管理员提 供了操作命令,为程序员提供了系统调用。
2.2 一般用户的输入输出界面

3. 直接耦合方式
直接耦合方式把主机和外围机通过一个公用的大 容量外存直接耦合起来,从而省去了在脱机输 入中那种依靠人工干预来传递后援存储器的过 程。

4. SPOOLING系统 在SPOOLING系统中,多台外围设备通过通道 (或DMA器件)与主机(或外存)连接起来,作 业的输入输出过程由主机的操作系统控制。
2.5 系统调用
系统调用的处理过程

编程人员指定了系统调用名和参数之后是怎样 得到系统服务的呢? 当用户使用系统调用时,产生一条相应的指令, 处理机在执行到该指令时发生相应的中断,并 发出有关信号给陷阱(中断)处理机构。陷阱 处理机构在收到了处理机发来的信号后,启动 相关的处理程序去完成该系统调用所要求的功 能。


2.4 Linux与Windows的命令控制界面

字符命令界面下可以执行 shell 程序,一个 shell程序由6个部分组成:
(1)命令或其他shell程序; (2)位置参数; (3)变量及特殊字符;
(4)表达式比较;
(5)控制流语句,例如while,case等; (6)函数。

shell程序举例:
2.4 Linux与Windows的命令控制界面
新建exam2.bat: @echo off mem > %1\meminfo.txt echo generate memoryinfo ok!
新建exam3.bat: @echo off type %1\*.txt echo type ok!
2.4 Linux与Windows的命令控制界面

2.5 系统调用
2.5 系统调用

处理机的执行状态:用户态、系统态(核心 态)。
处理机在用户程序中执行称为用户态,而把 处理机在系统程序中执行称为系统态。

2.6 Linux和Windows的系统调用
2.6.1 Linux系统调用 Linux提供了6类系统调用: 1.设备管理:申请、释放设备,设置设备的属性。 2.文件系统操作:建立、删除文件,打开、关闭和 读写文件,设置文件的属性。 3.进程控制:进程创建、执行、终止,设置进程的 属性。 4.存储管理:申请和释放内存。 5.管理用:设置日期时间,设置系统数据。 6.通信:建立和断开通信连接,发送和接收消息等。
if
void main(int argc,char *argv[]) { filecopy(argv[1],argv[2]); }
2.6 Linux和Windows的系统调用
2.6.2 Windows系统调用 Windows系统调用被进一步编写成不同的库函数 后放入动态链接库DLL中。 这些库函数构成了Windows操作系统提供给程序 员的编程界面。这个编程界面被称为应用编程 接口API,常用的API函数调用分为5类: 1、窗口管理类 2、图形设备接口(GDI)类 3、系统服务类 4、国际特性类 5、网络服务类
一个查看内存情况的批处理程序exam.bat: @echo off mkdir test call exam2.bat test call exam3.bat test echo call ok! pause
2.5 系统调用

系统调用是操作系统提供给编程人员的唯一接 口。编程人员利用系统调用,在源程序一级动态 请求和释放系统资源,调用系统中已有的系统 功能来完成那些与机器硬件部分相关的工作以 及控制程序的执行速度等。
2.2 一般用户的输入输出界面
通道处理机(通道)

是一个独立于CPU的专管输入输出的处理机, 它控制外设或外存与内存之间的信息交换。

通道有自己的指令,以驱动外设进行读写操 作,但是,这些指令需要CPU执行“启动通道” 的指令后才开始执行。
通道处理机是IBM公司首先提出来的一种I/O处 理机方式。这种方式被广泛用于IBM360、370 等系列机上。


程序的执行结果:
2.4 Linux与Windows的命令控制界面
2.4.2

Windows的命令控制界面
Windows的命令解释器cmd.exe提供了功能强大的 命令行控制界面,Windows的操作命令分为以下4 类:
(1)系统信息: time,date,mem,systeminfo (2)系统操作: shutdown,runas,taskkill (3)文件系统: copy,del,mkdir (4)网络通信: ping,netstat,route
系统调用大致可分为6类:

(1) 设备管理。该类系统调用被用来请求和释放 有关设备、以及启动设备操作等。
(2) 文件管理。对文件的读、写、创建和删除等。
2.5 系统调用
(3) 进程控制。进程是程序的一次执行过程。与 进程控制有关的系统调用包括进程创建、进程 执行、进程撤消、执行等待和优先级控制等。 (4) 进程通信。该类系统调用被用在进程之间传 递消息或信号。 (5) 存储管理。 (6) 线程管理。包括线程的创建、调度、执行、 撤销等。 不同的系统提供不同的系统调用。一般,每个 系统为用户提供几十到几百条系统调用。
相关文档
最新文档