210 likes | 389 Views
操作系统 Operating System. 教学目的. 介绍操作系统的三种接口,了解操作系统提供的命令,以及系统功能调用的实现。. 本章重点:. 掌握操作系统提供的接口. 本章难点:. 系统功能调用的实现. 7.1 用户接口. 1 作业级接口 这类接口是系统为用户在作业一级请求操作系统服务而设置的,用户可利用这类接口组织作业的工作流程并控制作业的运行。这类接口又分为联机接口和脱机接口。 (1) 联机接口 是由一组键盘操作命令组成,这种作业控制方式灵活方便,用户可以根据运行情况随时干预自己的作业,但是,系统的资源利用率不太高。
E N D
教学目的 • 介绍操作系统的三种接口,了解操作系统提供的命令,以及系统功能调用的实现。
本章重点: • 掌握操作系统提供的接口
本章难点: • 系统功能调用的实现
7.1 用户接口 • 1 作业级接口 这类接口是系统为用户在作业一级请求操作系统服务而设置的,用户可利用这类接口组织作业的工作流程并控制作业的运行。这类接口又分为联机接口和脱机接口。 (1)联机接口是由一组键盘操作命令组成,这种作业控制方式灵活方便,用户可以根据运行情况随时干预自己的作业,但是,系统的资源利用率不太高。 又可分为命令方式与图形界面。 (2)脱机接口由一组作业控制命令(或称作业控制语言)组成,供脱机用户使用。主要用于批处理方式操作系统,其优点是作业的操作过程由系统自动调度或由系统操作员干预,因而系统资源利用率高,系统运行作业的效率高。其不足是用户与系统隔离,由于用户不能干预他自己作业的运行,使用户作业的调试周期增长。
7.2程序级接口 系统调用是操作系统提供给软件开发人员的唯一接口,开发人员可利用它使用系统功能。OS核心中都有一组实现系统功能的过程(子程序),系统调用就是对上述过程的调用。 1)系统调用的基本概念 【算态与管态】 计算机系统中的程序可分为系统程序与用户程序两类。处理器运行系统程序的状态称为管态、特权状态或系统状态;运行用户程序的状态为算态、目态或用户态。通常在程序的状态字中设置。
【特权指令与访管指令】 特权指令是一类只能在管态下而执行的特殊机器指令。常见有以下几类: • 传送程序状态字指令。 • 启动、测试和控制外设指令。 • 存取特殊寄存器指令。 访管指令是用户在程序中用来调用操作系统提供的子功能集合。其中每一个子功能称为一个系统调用命令,也称为一条广义指令(若干条机器指令构成,用以完成特定功能的一段程序)。主要功能: • 实现从算态到管态的改变; • 在算态下由操作系统代替用户完成其请求; • 操作系统工作完成后由管态返回算态。
2)系统调用 为了保证OS不被用户程序破坏, 不允许用户程序直接访问OS的系统程序和数据, 只能用系统调用访问。用户在程序中调用操作系统提供的子功能称为系统调用。 • 是特殊的过程调用, 由特殊的机器指令(广义指令)实现。 • 系统调用指令还将系统转入管态。 系统调用是操作系统提供给编程人员的唯一接口,利用系统调用, 动态请求和释放系统资源, 完成与硬件相关的工作以及控制程序的执行等。
3)系统调用与一般过程调用的比较 【相同点】: 改变指令流程,转去执行公用程序段。 【不同点】: • 一般过程调用,调用程序和被调用程序都运行在相同状态(管态或算态);而系统调用, 调用程序在算态, 被调用程序在管态。 • 一般过程调用时不涉及系统状态转换,直接转向被调用过程; 而系统调用时涉及系统状态的转换, 不允许由调用过程直接转向被调用过程, 要先通过软中断机制由用户态转换为核心态, 在OS 核心分析后, 再转向相应的系统调用处理子程序。
4、系统调用类型:系统的功能分为两部分: (1) 系统自身所需要的。(2) 作为服务提供给用户的。 Linux系统调用的类型: 1)进程控制类系统调用: 创建和终止进程. 等待子进程结束.获得和设置进程属性.执行一个可执行文件(覆盖调用者).进程暂停. 2)进程通讯类系统调用: 消息传递方式:打开连接/接收连接,发送/接收消息; 共享存储区方式:建立存储区,建立连接,读/写存储区 3)文件管理类系统调用: 创建和删除文件打开和关闭文件.读/写文件.移动读/写指针.改变文件属性.共享的连接和去连接,建立目录. 4)信息维护类系统调用: 设置和获得系统时间.获得进程时间.设置文件访问和修改时间.获得当前系统名称串,标准名,在网络中的名称
5、系统调用的实现过程 需要有一个类似于硬件中断处理的处理机构(陷入硬件机构)。当用户使用操作系统调用时,产生一条相应的指令,处理机在执行到该指令时发生相应的中断,并发出有关的信号给该处理机构,该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能。
被中断程序 中断处理 程序 中断点 【中断和陷入硬件机构】 (1)中断是CPU对系统发生的某(外部)事件的响应。 (2) 陷入(内中断,捕获)是由CPU内部事件引起的中断 如: 非法指令、地址越界、溢出、电源故障等。 陷入由执行现行指令引起,中断则与现行指令无关。 还可以把由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令),或软中断指令。从中断的观点看, 引起中断的事件就是系统调用本身。
(3) 每个系统调用都对应一个事先给定的功能号。 在陷入指令中必须包括对应系统调用的功能号,而且,还带有传给陷入处理机构和内部处理程序的有关参数。 (4)中断和陷入向量 必须为系统调用功能的各子程序编造陷入(中断)向量表,每个表目由入口地址和处理机状态字PSW两个字组成;陷入处理机构把陷入指令包含的功能号与入口地址表项相对应,执行对应的子程序。 (5) 保护和恢复现场: 在进入系统调用之前,在系统栈保护处理机现场。 在系统调用结束之后要恢复处理机现场。
系统调用的处理过程 用户程序 陷入处理机构 系统子程序 A0 A1 Ai An 入口表 Sub0 (1)转系统态 保护现场 (2)取系统调 用功能号 并寻找子 程序入口 system call A0 A1 Ai An Sub1 Subi (3)恢复现场 返回 Subn
3、图形用户接口(GUI) • 在命令行方式下,用户与操作系统的交互要求用户记忆命令格式。 • 在图形用户接口方式下,用户可利用鼠标对屏幕上的图标进行操作,完成与操作系统的交互,从而减少记忆内容,方便用户使用。它的技术基础是高分辩显示器和鼠标。 • 窗口系统(window system)的特点 • 窗口系统的图形元素及其状态
窗口系统的特点 • 利用图形元素表示功能:将各种图形元素显示在屏幕上,用户可以通过操纵图形元素(如菜单、图标)来执行相应的功能。 • 同屏多窗口与并发进程相对应:屏幕上同时显示多个窗口;一个进程可以对应一个或多个窗口;窗口动态创建、改变、撤销。 • 输入方式:鼠标指针点击(或其他定位设备)和键盘输入;通常是即时交互一致的图形元素风格可方便用户学习和使用:如按钮、滚动条。 【优点】:操作直观,可与多个进程交互,便于进行多媒体处理。简而言之:交互的并发性好、传递信息量大。
窗口系统的图形元素及其状态 【窗口(window)】:屏幕上的矩形区域 • 包括:标题条(title bar)、边框(border)、窗口角(corner)、系统菜单框(system menu box)、最大化/最小化按钮(maximize/minimize)、滚动条(scroll bar)等 • 状态:当前/非当前窗口(active/inactive)——接受输入,最大化/最小化/恢复原大小(restore),窗口的前后遮盖——Z轴,焦点(focus)——接受键盘输入(而非鼠标) 【图标(icon)】:一个小图象(如32x32或64x64 pixel),通常供鼠标指针点击。通过不同的图标可以标识不同的对象。如:可执行程序、最小化的窗口、文件——动画图标
窗口系统的图形元素及其状态 【鼠标指针(mouse pointer)】:鼠标指针通常对应屏幕上的光标(cursor)。 • 光标在屏幕上只有一个,在不同屏幕位置可以呈现不同形状,可以独立于鼠标来直接操纵光标。 • 鼠标点击:左键/右键/中键,单击(click)/双击(double-click),拖曳/拖放; 【按钮(button)】:鼠标点击或按回车键/空格键时执行相应功能;提供单项或多项选择,如RadioButton和CheckButton;当前按钮及其切换。 【菜单(menu)】:临时窗口,菜单条(menu bar)、弹出式菜单、下拉式菜单(上下文相关菜单) 【对话框(dialog box)】:临时窗口,显示提示信息(message)或填写用户设置。
课堂练习7.1 脱机用户接口是配置在A 操作系统中的,它是由B 所组成,联机用户接口是由一组C 所组成,而程序接口则是由一组D 所组成。 A:(1)微机; (2)批处理; (3)分时; (4)实时。 B、C、D: (1)系统调用; (2)库函数; (3)键盘命令; (4)作业控制语言。 A:(2) B:(4) C:(3) D:(1)
本节重点 1)掌握作业组织和控制的概念,熟悉作业调度算法。 2)掌握系统调用的概念(广义指令)、特点以及与普通过程调用的区别。
第七章 作业 *1.什么是系统调用,说明系统调用的特点及其过程。 2.假定在一个处理机上执行以下五个作业, 作业号 1 2 3 4 5 到达时间 0 2 4 6 8 运行时间 3 6 4 5 2 当分别采用FCFS、SJF(短作业优先)和HRRN(响应比高者优先)三种调度算法时,作业的调度次序以及各个作业的平均周转时间及平均带权周转时间是多少?