操作系统原理-第二章 用户界面
第二章 操作系统用户界面
图2.2 作业说明书的主要内容
2.2.3 一般用户的输入输出方式
联机输入输出方式
脱机输入输出方式 直接耦合方式
SPOOLING系统
网络联机方式
联机输入输出方式
用户和系统通过交互会话来输入作业。
外围设备直接和主机连接。由主机直接控制输入输 出;I/O与作业处理不能并行。降低了CPU效率 一台主机可以连接一台或多台外围设备。在单台设 备和主机相连接进行作业输入输出时,由于外围设 备的输入输出速度远远低于CPU处理速度,有可能 造成CPU资源的浪费。
联机作业控制的命令种类
环境设置 执行权限管理 系统管理 文件管理 编辑、编译、链接装配、执行命令 通信 资源要求
2.3 命令控制界面
现代操作系统,大都提供联机控制方式和批 处理方式。 批处理方式:指传统的作业控制语言编写的 作业说明书方式,也指那些把不同的交互命 令按一定格式组合后的命令文件方式。
陷阱处理机构、陷阱指令
必须为实现各种系统调用功能的子程序编造 入口地址表,每个入口地址都与相应的系统 子程序名对应。
由陷阱处理程序把陷阱指令中所包含的功能 号与该入口地址表中的有关项对应起来,从 而由系统调用功能号驱动有关系统子程序执 行。
陷阱处理机构、陷阱指令
在进入系统调用处理之前,陷阱处理机构要 保存处理机现场。在系统调用处理结束之后, 陷阱处理机构还要恢复处理机现场。
2.6 Linux与Windows的系统调用
2.6.1 Linux的系统调用
操作系统用户界面.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程序方式编写作业说明书。
教学课件第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.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)保护 处理机现场 (2)取系 统调用功能 号并寻找子 程序入口 (3)返回 A0 A1 … Ai … … An
系统子程序 sub0 sub1 … subi … …
A0 A1 Ai An
System call …
…
subn
系统调用的处理过程
系统调用参数的传递:
(2) 另一类是程序开发人员(需要使用操作系统所提 供的编程功能开发新的应用程序,完成用户所要求的 服务)。 操作系统为普通用户、管理员用户以及编程人员 用户提供不同的用户界面。 操作系统为普通用户、管理员用户提供的界面由 一组以不同形式表示的操作命令组成——命令控制界 面。 操作系统为编程人员提供的界面是系统调用。不 同操作系统提供不同的系统调用。
三、命令控制界面的发展:
近年来,命令控制界面的人机交互方式 发生了革命性变化。无论是Windows系列, 还是UNIX系列的操作系统,它们的命令控制 界面都是由多窗口的按钮式图形界面组成。 在这些系统中,命令已被开发成一条条能用 鼠标点击而执行的简单的菜单或小巧的图标。 而且,用户也可以在提示符的提示下用普通 字符方式输入各种命令。用声音控制的命令 控制界面也已逐步开发出来。计算机系统的 命令控制界面将会越来越方便和越来越拟人 化。
第2章 操作系统用户界面
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 命令控制界面
操作系统原理-第二章操作系统用户界面
2.3 作业的建立
4、SPOOLING系统 (1)概念
通过共享型设备来模拟独占型设备的动作,使独占型设备 成为共享型设备,提高设备的利用率和系统的效率,这种 设备被称为虚拟设备。
27
2.3 作业的建立
4、SPOOLING系统 (2)结构图
输入装置 通
外存
通 输出装置
输入装置
道
输入井 输出井
道
用户可以通过( )两种方式来使用计算机。
A 命令方式和函数方式 B 命令方式和系统调用方式 C 命令方式和文件管理方式 D 设备管理方式和系统调用方式
提交
48
*** 用户接口
图形用户接口
(Linux)
49
*** 用户接口
(文本命令界面接口)
(Linux文字)
50
*** 用户接口
图形用户接口(资源管理器)
6
*** 作业(JOB)的基本概念
3、 作业(从系统角度) (1)作业= 程序+数据(作业体)+作业说明书(作业控制 语言) (2)在批处理系统中,作业是抢占内存的基本单位,即以 作业为单位将程序和数据调入内存。
7
*** 作业(JOB)的基本概念
4 作业说明书 体现用户的控制意图 它由作业控制语言(JCL)编写 内容组成 作业基本情况、作业控制、作业资源要求的描述
中的作业进入作业等待队列,等待作业调用程序选中后进 入内存。
31
2.3 作业的建立
4. SPOOLING系统
(4)作业和进程状态转换
数据 数据
进入状态
在高速共享设 在高速备上共上享设备 后备状态 运行状态
退出状态
源程序 作业 说明书
作业控制进程
操作系统02操作系统用户界面
有输入数据的后援存储器拿到主机的高速外
围设备上和主机连接,从而在较短的时间内
完成作业的输入工作。
脱机输入解决了快速输入输出问题,提高 了主机的资源利用率,但脱机输入需要用
户进行干预或进行一定的操作,存在灵活
性差的缺点,即遇到紧急任务需要处理
时,无法直接交给主机以便优先处理。
3. 直接耦合方式
把主机和外围低档机通过一个公用的
础。当用户需要把在计算机网络中某一台主
机上输入的信息传送到同一网中另一台主机 上进行操作或执行时,就构成了网络输入方 式。
2.3 命令控制界面接口
命令行界面(command-line interface, CLI):采用文本命令,并用一定的方法 输入。
批界面:其中控制这些命令和命令的指 令被输入文件中,通过执行文件来实现。 如:图形用户界面(graphical user interface,GUI)
该表格登记该作业所要求的资源情况、预计 执行时间和执行优先级等。从而,操作系统 通过该表了解到作业要求,并分配资源和控 制作业中程序和数据的编译、链接、装入和 执行等
图 2-2 作业说明书的主要内容
作业的建立
两个子过程:
(1)必须把该作业所包含的全部程序和数 据输入到计算机的外存或辅存(作业的输入) (2)作业注册程序在系统中为该作业申 请建立一个相应的作业控制块 JCB(控制块的建立) 作业控制块和作业之间具有一一对应关系。
• 系统调用是用户在程序中调用操作系统所提 供的一些子程序。 • 系统调用是操作系统提供给编程人员的唯一 接口
系统调用分为如下几类:
(1) 设备管理。
(2) 文件管理。
(3) 进程控制。 (4) 进程通信。 (5) 存储管理。 (6) 线程管理。
操作系统的用户界面
第2章 操作系统的用户界面
(3)通信 )
终端作业被录入后, 终端作业被录入后,就可以通过终端打入各种控制 作业的命令和从终端输入作业的程序和数据。 作业的命令和从终端输入作业的程序和数据。属于 通信这一步的键盘命令是比较丰富的, 通信这一步的键盘命令是比较丰富的,一般有以下 几类: 几类: )编译、连接装配和运行。 (1)环境设置。 (5)编译、连接装配和运行。 )环境设置。 )输入数据。 (2)系统管理。 (6)输入数据。 )系统管理。 )操作方式转换。 (3)文件管理。 (7)操作方式转换。 )文件管理。 )申请资源。 (4)编辑修改。 (8)申请资源。 )编辑修改。
1.作业控制语言 .
在脱机工作方式下系统提供作业控制语言 ( JCL,Job Control Language), 它既可以写 , ) 成操作说明书的形式, 成操作说明书的形式,也可穿孔成为作业控制卡 的形式(前者较多地为批处理系统所采用) 的形式(前者较多地为批处理系统所采用)。 操作系统根据作业申请表来分配作业所需 的资源并注册该作业;通过作业说明书( 的资源并注册该作业;通过作业说明书(或作业 控制卡)对作业实施运行控制。 控制卡)对作业实施运行控制。一般在批处理系 统中都提供JCL语言。 语言。 统中都提供 语言
。
第2章 操作系统的用户界面
(3)动态优先级调度算法 )
当几个作业几乎同时进入后备队列时, 当几个作业几乎同时进入后备队列时 , 短 作业的优先级高,它先被调度执行。 作业的优先级高,它先被调度执行。但随着时间 的推移,长作业的优先级逐渐增大, 的推移,长作业的优先级逐渐增大,长作业就可 能在后进入后备队列的短作业之前被操作系统调 度执行。 度执行。 分析动态优先级调度算法, 分析动态优先级调度算法 , 可以认为该算 法既照顾了短作业, 法既照顾了短作业,又不会使长作业长期得不到 服务,从而实现了一种良好的折中。 服务,从而实现了一种良好的折中。
第2章 操作系统用户界面
2.3 命令控制界面
脱机方式 用作业控制语言书写作业说明书,将程序、数 据和作业说明书一起提交给系统;用户无法干涉作 业的运行。 联机方式 用系统提供的操作命令和系统会话,交互地控 制作业的执行和管理计算机系统;用户可以控制作 业的运行。不同的操作系统命令的种类、条数等是 不同的。
2.4 Linux与Windows的命令控制界面
处理机状态切换:在用户程序执行过程中,当执行系 统调用时处理机状态由用户态切换到核心态;当系统 调用执行完毕,返回到用户程序前,处理机状态又从 核心态转换回用户态。
图2.7系统调用的处理过程
系统调用(总结)
用陷阱机构执行的系统调用与普通函数调用是不同的:
现场保护工作不完全相同,普通函数调用只需保护返回地址即可,而 系统调用除了保护返回地址外,还要保护PSW。 普通函数调用不会改变PSW,它执行时的处理机状态为用户态,不能 执行特权指令。而利用陷阱机构调用中断处理程序则会自动调换PSW。 从而使系统调用运行于核心态,也就可以执行特权指令。 在返回时,陷阱机构又会自动把PSW进行切换,使返回用户程序执行 时,处理机状态又回到用户态,当然,在返回前也会恢复现场。
2.4.2 Windows的命令控制界面
图2.6相互调用批处理示例
2.5系统调用
为什么需要系统调用
什么是系统调用:系统调用是操作系统提供给编程人员的唯 一接口。是操作系统提供程序的一部分。 系统调用的分类:
设备管理:用来请求和释放、启动、停止设备等。 文件管理:包括对文件的读、写、创建、删除等。 进程控制:进程的创建、执行、撤销、优先级调整等。 进程通信:进程之间的消息和信号传递。 存储管理:申请、释放内存及作业要求内存和地址等。 线程管理:线程的创建、调度、执行、撤销等。
第02章 操作系统用户界面
几个问题??? 几个问题???
???
用户界面
主要内容
2.1 作业的基本概念
定义 作业步——作业 作业——作业流 作业步 作业 作业流 作业控制方式: 作业控制方式:批处理和交互式
2.3 命令控制界面
一般用户和管理员用户
2.5 系统调用
编程人员
2.1作业的概念 作业的概念 2.1.1作业(JOB)的定义 作业( 作业 )
操作系统原理
Principles of Operating System
前情回顾: 前情回顾:操作系统概述
1. 地位: 地位: 2. 定义:五种视角(软件、资源管理、用户接口、 定义:五种视角(软件、资源管理、用户接口、 虚拟机、作业组织) 虚拟机、作业组织) 3. 操作系统的发展: 操作系统的发展:
作业: 作业:把用户要求计算机系统处理的一个计 算问题称为作业。 算问题称为作业。 作业的组成: 作业的组成: 完整的用户程序-问题求解的算法描述。 完整的用户程序 问题求解的算法描述。 问题求解的算法描述 数据-程序加工的对象。 数据 程序加工的对象。 程序加工的对象 作业说明书-程序和数据按照什么样的数据要 作业说明书 程序和数据按照什么样的数据要 求使之执行。 求使之执行。
作业步: 作业步:每一个相对独立的加工步骤业流:若干作业按照次序合成一批
1. 作业的基本概念
典型的作业步
库函数 动态库函 数 子程序 源程序 输入数据
编译
目标 程序 段
连接装配
目标 程序
运行
计算结果
2.3 命令控制界面
命令集合: 命令集合:组织和控制作业的执行 或者管理计算机系统 脱机控制方式 联机控制方式
2.5 系统调用
第2章操作系统用户界面
2.3 命令控制界面
联机控制方式
采用人机对话方式来控制作业运行,及时交互 由一组命令及命令解释程序组成,也称命令接口 一般可提供如下的一种或几种方式:
命令行方式 菜单方式 命令文件方式
联机控制方式
命令行方式
通过控制台终端,打入操作系统提供的命令来控制自
己的作业的运行 各操作系统命令从格式到功能都不尽相同 通常的命令格式: COMMAND argl,arg2,…,argn <CR> 命令类型: 环境设置、权限管理、系统管理、文件管理等 该方式繁琐,难记,但用起来快捷便利、十分灵活
一转换在发生访管中断时由硬件自动实现。 系统调用语句本身是硬件提供的(机器指令), 但其所调用的功能是操作系统提供的。每种机 器的机器指令集中都有一条系统调用指令
2.2.2 作业组成
作业说明书体现用户的控制意图,在系统中生成 一个作业控制块JCB(Job Control Block)的表格 作业控制块是作业管理中最主要的数据结构,是 作业存在系统的唯一标志。作业控制块保存了系 统对作业进行管理的全部信息 操作系统是根据JCB来对作业进行控制和管理的。 例如,当OS进行作业调度的时候,它要访问作业 控制块的信息,从中找出作业标识、作业状态等 信息;在作业输出时,要从JCB中找到输出井的 地址等信息。 JCB要包括如下信息:
是操作系统提供给编程人员的唯一接口,用户
在程序中使用系统调用请求操作系统的服务。 例如,在程序中要求显示某个子目录,这时就 不能让正在运行的程序退出,然后发出“DIR” 命令。这就要求在程序中能直接使用“DIR”命 令,这种直接使用操作系统命令的功能称为系 统调用。
3. 系统调用
计算机操作系统原理-第二章用户界面知识点汇总及习题
第二章用户界面2.1 知识点汇总1、作业及作业步图2-1 作业及作业步2、系统调用:用户程序中对操作系统的调用称为系统调用。
使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。
独立程序:不需要操作系统帮助的程序(包括程序的启动和结束)非独立程序:需要操作系统帮助的程序图2-2 系统调用的执行过程系统调用的特点:(1)系统调用指令是由硬件决定的(即:CPU中的中断向量表)。
CPU的指令集中都有一条系统调用指令,又称访管指令但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。
因此:同一种计算机上的不同操作系统,系统调用指令是相同的。
同一操作系统,在不同的计算机上,系统调用指令是不同的。
(2)系统调用是动态连接的静态连接:程序在编译时,将被调用的程序嵌入到自身中。
如:库函数调用动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。
如:动态连接库(dynamic link library,DLL),系统调用。
由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。
(3)系统调用的调用地址和返回地址不是固定的。
系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。
返回地址,由用户程序中系统调用指令的位置决定。
(4)安全接口在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。
执行系统调用时,进入系统态。
从系统调用中返回用户程序时,进入用户态。
状态切换的目的:某些特权指令只能在系统态下执行。
一些地址,只能在系统态下访问。
从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。
中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。
第二章操作系统用户界面
• 平均带权周转时间W 平均带权周转时间W
(Ti为每个作业的周转时间;tr为作 Ti为每个作业的周转时间;tr为作 为每个作业的周转时间 业实际运行时间) 业实际运行时间)
例:单道环境下四个作业,它们进入系统的时间如下: 单道环境下四个作业,它们进入系统的时间如下:
作业 JOB1 JOB2 JOB3 JOB4 进入时间 8:00 8:50 9:00 9:50 估计运行时间(分钟) 估计运行时间(分钟) 120 50 10 20
• 有通道处理:输入/输出由主机和通道来承担。 有通道处理:输入 输出由主机和通道来承担 输出由主机和通道来承担。 处理
假脱机(spooling, Simultaneously Peripheral Operation On 假脱机 Line):系统把作业处理的全过程划分为相对独立的三个部 : 输入流、 输入流 处理流和输出流。 分--输入流、处理流和输出流。 网络:在网络上一台机器进行作业输入 输出, 输入/输出 网络:在网络上一台机器进行作业输入 输出,在另一台主 机上运行; 机上运行;
• 作业调度
挑选一部分作业投入运行
• 作业控制
完成具体进程的执行,解释执行作业说明书, 完成具体进程的执行,解输入设备进入系 并加以组织, 统,并加以组织,形成 (1)作业的组成 一个后备作业的过程 作业=程序+数据+ 作业=程序+数据+作业说明书 作业说明书: 作业说明书:
作业输入方式
• 无通道处理方式: 无通道处理方式: 处理方式
联机(降低了 效率):由主机直接控制输入/输出 联机(降低了CPU效率):由主机直接控制输入 输出;I/O 效率):由主机直接控制输入 输出; 不能并行。 与作业处理不能并行 与作业处理不能并行。 脱机(人工干预): ):通过磁带或磁盘在外围处理机与主机 脱机(人工干预):通过磁带或磁盘在外围处理机与主机 之间交换作业( 人工移动);用于主机不太快的情况。 );用于主机不太快的情况 之间交换作业(需人工移动);用于主机不太快的情况。 直接耦合: 直接耦合:通过共享外存在外围处理机与主机之间交换作 用于高速主机。 业;用于高速主机。
第2章 操作系统用户界面
课后自学
学习Linux系统的安装 学习Linux系统的基本配置。
学习Linux系统的基本命令操作。
系统调用接口
系统调用的执行过程
系统调用的处理步骤 首先,将处理机状态由用户态转为系统态;之后,由硬
件和内核程序进行系统调用的一般性处理,即首先保护被中
断进程的CPU环境,将处理机状态字PSW、程序计数器PC、 系统调用号、用户栈指针以及通用寄存器内容等,压入堆栈;
然后,将用户定义的参数传送到指定的地方保存起来。
系统调用接口
特权指令与CPU运行状态
特权指令指只能由操作系统使用的指令。
用户态:也称常态、目态、外壳态,即 CPU执行 用户程序,不允许执行特权指令。 系统态:也称特态、管态、核心态,即CPU执行 系统程序,可执行所有指令。
系统调用接口
系统调用与一般过程调用的比较
相同点:
2. 文件操纵类系统调用
(1) 创建和删除文件。
(2) 打开和关闭文件。
(3) 读和写文件。
3. 进程通信类系统调用 在OS中经常采用两种进程通信方式,即消息传递方式 和共享存储区方式。当系统中采用消息传递方式时,在通 信前, 必须先打开一个连接。为此,应由源进程发出一条
打开连接的系统调用open connection, 而目标进程则应利用
其次,是分析系统调用类型,转入相应的系统调用处理 子程序。 最后,在系统调用处理子程序执行完后,应恢复被中断 的或设置新进程的CPU现场,然后返回被中断进程或新进程,
继续往下执行。
系统调用的类型
1. 进程控制类系统调用 (1) 创建和终止进程的系统调用。 (2) 获得和设置进程属性的系统调用。 (3) 等待某组织
第4讲 第2章 操作系统用户界面
操作系统提供的用户界面
系统功能调用 操作命令:
作业控制语言
键盘命令 图形界面
操 作 系 统
★
二、操作命令
操作命令的类型可分为: 作业控制语言 :用于批处理操作系统 键盘命令:用于分时操作系统和个人计算 机操作系统 图形用户界面 :用于分时操作系统和个人 计算机操作系统
★
用户界面的例子: DOS 键盘命令 系统功能调用 Windows 98 图形用户界面 系统功能调用 unix系统(linux) 键盘命令 系统功能调用 图形用户界面 ★
终端作业的控制
终端用户在终端上控制作业的执行分为四个 阶段: 1. 终端的连接 任何一个终端用户要使用终端时必须使自 己的终端设备与计算机系统在线路上接通,近 程终端是直接接在计算机系统的通道上,所以, 当终端设备加电后,终端就与系统连接上了。 远程终端是借助于租用专线或交换线连到计算 机系统上。
系统资源系统命令操作功能以图标表示操作系统为用户提供两个接口界面系统调用编程人员使用系统调用来请求操作系统提供服务例如申请和释放资源控制程序的执行过程各种命令接口界面用户利用这些操作命令来组织和控制作业的执行或管理计算机系统联机控制方式不同于脱机控制方式它不要求用户填写作业说明书系统只为用户提供一组键盘或其它操作方式的命令
操作系统内必须有事先编制好的实现这些功能的子
程序或过程,为了保证操作系统程序不被用户程序破坏,
一般操作系统都不允许用户程序访问操作系统的系统程
序和数据。 编程人员给定了系统调用命令和参数之后是怎样得 到系统? 调用时,产生一条相应的指令,处理机在执行到该 该处理机构在收到了处理机发来的信号后,启动相关的
当处理机执行到访管指令时就发生中断,称为访 管中断。它表示当前运行程序对操作系统的某种服务请 求。★
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章用户界面2.1 知识点汇总1、作业及作业步图2-1 作业及作业步2、系统调用:用户程序中对操作系统的调用称为系统调用。
使用户程序通过简单的调用,来实现一些硬件相关,应用无关的工作,从而简化了用户程序。
独立程序:不需要操作系统帮助的程序(包括程序的启动和结束)非独立程序:需要操作系统帮助的程序图2-2 系统调用的执行过程系统调用的特点:(1)系统调用指令是由硬件决定的(即:CPU中的中断向量表)。
CPU的指令集中都有一条系统调用指令,又称访管指令但系统调用具体实现的功能由操作系统决定(即:操作系统中的,系统调用分支表,及系统调用代码)。
因此:同一种计算机上的不同操作系统,系统调用指令是相同的。
同一操作系统,在不同的计算机上,系统调用指令是不同的。
(2)系统调用是动态连接的静态连接:程序在编译时,将被调用的程序嵌入到自身中。
如:库函数调用动态连接:程序在执行的过程中,执行到调用指令时,才连接到被调用的程序并执行。
如:动态连接库(dynamic link library,DLL),系统调用。
由于操作系统是动态连接的,所以,缩短了用户程序,使用户程序和操作系统提供的系统调用功能相互独立。
(3)系统调用的调用地址和返回地址不是固定的。
系统调用的地址,由系统启动装载操作系统时,存放系统调用代码的位置决定,每次开机都可能存放在不同的位置上。
返回地址,由用户程序中系统调用指令的位置决定。
(4)安全接口在执行系统调用和从系统调用中返回时,要分别保存和恢复程序状态字PSW,并设置PSW中的系统态/用户态标志位,进行系统态和用户态的切换。
执行系统调用时,进入系统态。
从系统调用中返回用户程序时,进入用户态。
状态切换的目的:某些特权指令只能在系统态下执行。
一些地址,只能在系统态下访问。
从而限制了用户程序不能随意地进入操作系统区域,读写操作系统的内部代码,也限制了用户程序不能随意进入其它用户程序的区域。
中断:是指计算机在执行程序的过程中,当遇到需要立即处理的事件时,立即暂停当前正在运行的程序,转去执行有关服务程序,处理完后自动返回原程序。
发生中断的原因:系统调用,程序异常,IO事件完成,时间片结束,等等。
可以归结为两大方面,一任务间切换的时候发生中断,二由用户态进入系统态时发生中断。
中断的执行过程:保存现场,将PSW等现场信息放入堆栈中,然后转去相应的中断处理程序。
中断结束返回时,恢复现场,从堆栈中取出PSW等现场信息。
继续执行原程序。
2.2 例题解析【例2.2.1】操作系统向用户提供了哪几类接口?答:操作系统向用户提供了两类接口:一类是命令接口,另一类是程序接口。
用户利用命令接口提供的操作命令来组织和控制作业的执行,按命令接口对作业控制方式不同,又可以将命令接口分为联机命令接口和脱机命令接口;用户还可以利用程序接口提供的一组系统调用来请求并获得操作系统服务,程序接口在用户编制程序的时候使用。
今年来,为了方便用户的使用,又出现了图形接口。
【例2.2.2】试说明作业和进程的状态,并说明引起状态转换的典型原因。
答:作业的状态有提交状态、后备状态、运行状态和完成状态。
当一个作业还未进入算机系统内之前,用户正在向系统提交作业时所处的状态叫做提交状态。
送入计算机并由操作系统将其存放在磁盘上以后,系统为这个作业建立一个作业控制块,并把它插入到后备队列中等待调度运行。
此时,这个作业所处的状态称为后备状态。
当这个作业被作业调度程序选中,并为它分配了必要的资源,建立了一组相应的进程之后,这个作业就由后备状态变为运行状态。
进程有三种状态:就绪状态、执行状态和阻塞状态。
刚建立的进程处于就绪状态;就绪状态的进程被进程调度程序选中,获得处理机运行,此时的状态称为执行状态;对于执行状态的进程,当它使用完分配给它的时间或被更高优先权的进程剥夺处理机后,又回到就绪状态,等待下次调度;进程在执行中若发生了某些事件而暂时无法执行下去,如有输入输出请求并等待输入输出完成,则进入阻塞状态;当引起进程阻塞的事件消失时,如输入输出完成,进程由阻塞状态变为就绪状态,重新获得被调度的资格。
当作业正常运行结束或因发生错误而异常结束时,作业进入完成状态。
此时,由操作系统将作业控制块从当前作业队列中删除,并收回其所占用的资源。
【例2.2.3】作业和进程有什么区别和联系?答:作业通常是指用户在一次计算过程中或者一次事物处理过程中要求计算机系统所作的工作的集合,包括用户程序、所需的数据及命令等。
进程是具有独立功能的可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。
作业和进程之间的区别和联系如下:1、作业是用户向计算机提交的任务实体,而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。
2、一个作业可以由多个进程组成,且一个作业至少由一个进程组成。
3、作业的概念主要用在批处理系统中,而进程的概念则用在所有的多道程序系统中。
2.3习题2.3.1 选择题1.操作系统提供给程序员的接口是( )A 进程B 系统调用C 库函数D 系统调用和库函数2. 用户在程序中试图读某文件的第100个逻辑块,使用操作系统的()接口A 系统调用B 图形用户接口C 原语D 键盘命令3.在下列语言中属于脱机作业控制语言的是()A 作业控制语言B 汇编语言C 会话式程序设计语言D解释BASIC4.用户使用操作系统通常有三种手段,它们是终端命令,系统调用命令和()A 计算机高级命令B 宏命令C 作业控制语言D 汇编语言5.用户要在程序一级获得系统帮助,必须通过()。
A.进程调度B.作业调度C.键盘命令 D .系统调用6.用户的应用程序和应用系统是通过( )提供的支持和服务来使用系统资源完成其操作的。
A 点击鼠标B 键盘命令C 系统调用D 图形用户界面7. 用户可以通过()两种方式来使用计算机。
A 命令方式和函数方式B 命令方式和系统调用方式C 命令方式和文件管理方式D 设备管理方式和系统调用方式8.系统调用的目的是()。
A. 请求系统服务B. 终止系统服务C. 申请系统资源D. 释放系统资源9. 系统调用是由操作系统提供的内部调用,它()。
A. 直接通过键盘交互方式使用B. 只能通过用户程序间接使用C. 是命令接口中的命令使用D. 与系统的命令一样10.操作系统内核与用户程序、应用程序之间的接口是()。
A. shell 命令B. 图形界面C. 系统调用D. C 语言函数11.当CPU执行操作系统代码时,称处理机处于()。
A 执行态B 目态C 管态D 就绪态12.为了便于用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,该接口又可进一步分为()。
A 联机用户接口和脱机用户接口B 程序接口和图形接口C 联机用户接口和程序接口D 脱机用户接口和图形接口2.3.2 填空题1. 用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合称为_____。
2.所谓系统调用,就是用户在程序中调用______所提供的一些子功能。
2.2.3 简答题1. 脱机命令接口和联机命令接口有什么不同?2.处理机为什么要区分核心态和用户态两种操作方式?什么情况下进行两种方式的转换?3.简述系统调用与过程调用有什么相同和不同点。
4. 区别概念:操作命令与系统调用5. 简述系统调用的实现过程6. 命令接口和图形用户接口分别有什么优缺点?7. 何谓脱机I/O和联机I/O?2.4 习题解答要点2.4.1 选择题1.B2. A3. A4. C5.D6. C7.B8. A9. B 10.C 11.C 12.A2.4.2 填空题1. 作业2.操作系统2.4.3 简答题1.脱机命令接口是OS提供给批处理作业用户的作业控制语言。
批处理用户不能直接与自己的运行作业进行交互,只能向系统提供用作业控制语言编写的作业说明书,并委托系统按作业说明书中的作业控制命令,来对它们的作业进行控制和管理联机命令接口则不要求用户填写作业说明书,此时,系统将向用户一组键盘命令或其他操作方式的命令,用户可通过这些命令来交互地控制自己程序的运行,并获得操作系统的服务。
2. 为了保护操作系统不受破坏,通常将CPU的执行方式分为两种:核心态和用户态。
在核心态,允许执行CPU的指令全集,而在用户态,只能执行非特权指令,从而使系统得到保护。
当用户希望得到操作系统服务时,使用系统调用命令。
这样,当CPU执行到系统调用时,CPU的执行方式就由用户态变为核心态,执行用户希望的服务。
完成服务后,在返回用户程序之前,CPU的执行状态再变为用户态,继续执行用户程序。
3. 相同点:执行都改变指令的流程;都可以重复执行和共享调用;允许嵌套调用。
区别:(1)运行在不同的系统状态。
一般过程调用,其调用程序和被调用程序都运行在相同的状态:核心态或用户态。
系统调用中,调用程序运行在用户态,被调用程序运行在核心态。
用户态向核心态转变时,通过陷入指令实现。
(2)进入方式不同。
一般的过程调用不涉及系统状态的转换,由调用程序直接通过调用语句转向调用过程。
系统调用,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程,必须通过软中断机制先由用户态转换为核心态。
(3)返回问题一般过程调用在被调用过程执行完后,将直接返回到调用过程继续执行;系统调用,如果系统采用抢占调度方式,则在被调用过程执行完后,必须先对系统中所有要求运行的进程做优先分析。
只有当调用进程仍具有最高优先权时,才返回到调用进程继续执行;否则,将引起重新调度。
4. 操作命令是提供给普通用户使用的与操作系统的接口方式,其目的是便于用户利用利用这种接口方式组织和控制作业的执行。
系统调用是操作系统向编程人员提供的请求操作系统服务和使用设备时的一种接口。
操作系统调用命令对应操作系统提供服务的一些子程序。
用户通过这些称为特殊指令的命令来调用这些子程序,已取得操作系统的服务。
5.系统调用是操作系统提供给软件开发人员的惟一接口,开发人员可利用它使用系统功能。
OS核心中都由一组实现系统功能的过程(子程序),系统调用是对上述过程的调用。
因此,系统调用直观上像一个黑箱子,对用户屏蔽操作系统的具体动作而只提供有关的功能。
为了实现系统调用,系统设计人员还必须为实现各种系统调用功能的子程序编造入口地址表,每个入口都与相应的系统子程序名对应起来。
然后,由陷阱处理程序把陷进指令中所包含的功能号与该入口地址表中的有关项对应起来,从而有系统调用功能号驱动有关系统子程序执行。
由于在系统调用处理结束后,用户程序还需利用系统调用的返回结果继续执行,因此,在进入系统调用处理前,陷阱处理机构还需保存处理机现场。
再者,在系统调用处理结束后,陷阱处理机构还要恢复处理机现场。
在操作系统中,处理机的现场一般被保护在特定的内存区或寄存器中。