new-ch1-13操作系统提供的服务和用户接口_第1页
new-ch1-13操作系统提供的服务和用户接口_第2页
new-ch1-13操作系统提供的服务和用户接口_第3页
new-ch1-13操作系统提供的服务和用户接口_第4页
new-ch1-13操作系统提供的服务和用户接口_第5页
已阅读5页,还剩30页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.3操作系统提供的效力和用户接口 1.3.1 操作系统提供的根本效力 1.3.2 操作系统提供的用户接口 1.3.3 程序接口与系统调用 1.3.4 操作接口与系统程序.1.3.1操作系统提供的根本效力 创建程序 执行程序 数据I/O 信息存取 通讯效力 错误检测和处置 还具有另外一些功能:资源分配,统计, 维护。 .操作系统提供的用户接口(1) 用户和操作系统间的两种接口 系统调用 操作命令或 JCL 操 作 系 统 裸 机(操作接口)(程序接口).操作系统提供的用户接口(2)程序接口又称运用编程接口APIApplication Programming Interface,允许运转程序调用

2、操作系统的效力和功能。程序接口由一组系统调用System Call)组成,用户程序运用“系统调用就可获得操作系统的底层效力,运用或访问系统的各种软硬件资源。.操作系统提供的用户接口(3)在程序设计言语(如C言语)中,往往提供与各系统调用对应的库函数,运用程序可经过对应的库函数来运用系统调用,库函数的目的是隐藏访管指令细节,使系统调用更象过程调用,但普通地说,库函数属于用户程序而非系统程序。 操作系统为用户提供系统调用也出于平安和效率思索,使得用户态程序不能自在地访问内核关键数据构造或直接访问硬件资源。.操作系统提供的用户接口(4) UNIX/Linux系统程序、库函数、系统调用的分层关系 操作

3、系统(进程管理、存储管理、文件管理、设备管理等) 规范库函数(翻开、封锁、读、写、创建、撤销等) 规范系统程序(适用程序)(汇编、编译、编辑、Shell等) 用户用户接口库函数接口系统调用接口 硬件 (处置器、存储器、磁盘、打印机、终端等)用户态核心态.操作系统提供的用户接口(5)操作接口又称作业级接口,操作系统为用户提供的操作控制计算机任务和提供效力手段的集合,通常有操作控制命令、图形操作界面(命令)、以及批处置系统提供的作业控制言语(命令)等等。.操作系统提供的用户接口(6) Windows支持API的三个组件: Kernel包含了多数操作系统函数,如内存管理、进程管理; User集中了窗

4、口管理函数,如窗口创建、撤销、挪动、对话等相关函数; GDI提供画图函数、打印函数。 Windows将三个组件置于动态链接库DLL中。 .操作系统提供的用户接口(7) Win32API和UNIX/Linux系统调用粗略对应关系 UNIX/Linux Win32 阐明fork CreatProcess 创建进程 waitpid WaitForSingleObject 等待进程终止open/close CreatFile/CloseHandle 创建或翻开/封锁文件read/write ReadFile/WriteFile 读/写文件lseek SetFilePointer 挪动文件指针mkdir

5、/rmdir Creat/Remove Directory 建立/删除目录stat GetFileAttributesEx 获得文件属性. 1.3.3 程序接口与系统调用系统调用(1)系统调用的分类进程和作业管理:文件操作: 设备管理: 内存管理: 信息维护:通讯:.系统调用(2) 2.系统调用的实现要点 一. 是编写系统调用途置程序; 二. 是设计一张系统调用入口地址表,每个入口地址都指向一个系统调用的处置程序,有的系统还包含系统调用自带参数的个数; 三. 是堕入处置机制需开辟现场维护区,以保管发生系统调用时的处置器现场。 .系统调用(3)系统调用的处置过程 System Call用户程序A

6、0SUB0SUB1SUBiSUBnA1AiAn系统调用途置子程序取系统功能号找入口地址表相应入口地址终了处置恢复现场A0A1AiAn维护CPU现场堕入指令系统调用堕入机构入口地址表.系统调用(4)系统调用的参数传送一是由访管指令或堕入指令自带参数, 直接参数 间接参数二是经过CPU的通用存放器传送参数,或 在内存的一个块或表中存放参数,其首地址送入存放器,实现参数传送。三是在内存中开辟公用堆栈区域传送参数。.系统调用(5)传送参数的一种方法 系统调用8的处置子程序操作系统X: 参数LOAD AddR XSystem Call 8X从表X取参数存放器.系统调用(6)Linux系统调用 Linux

7、系统调用由两部分组成: 中心函数 是实现系统调用功能的(内核)代码。 接口函数 是提供应运用程序的API,以库函数方式存在Linux的lib.a中。.系统调用(7) Linux系统调用控制程序的功能 (1)取系统调用号,检验合法性; (2)建立调用堆栈,维护现场信息; (3)根据系统调用号定位中心函数地址; (4)根据通用存放器内容,从用户栈中取入口参数; (5)中心函数执行,把结果前往运用程序; (6)执行退栈操作,判别调度程序scheduler能否要被执行。.系统调用(8)系统调用与过程(函数) 调用的区别一 是调用方式二 是被调用代码的位置 三 是提供方式四 是调用的实现 .1.3.4

8、操作接口与系统程序(1) 操作接口又称作业(或功能)级接口,是操作系统为用户操作控制计算机任务和提供效力的手段的集合,通常可借助操作控制命令、图形操作界面(命令)、以及作业控制言语(命令)等来实现。.操作接口与系统程序(2) 1.作业控制方式 操作系统提供联机作业控制方式和脱机作业控制方式两个作业级接口,运用的手段为操作命令: 操作控制命令 作业控制言语(命令).联机用户接口操作控制命令 命令行方式 批命令方式 图形化方式.批命令方式(1) 在运用操作命令过程中,有时需求延续运用多条命令;有时需求多次反复运用假设干条命令;有时需求选择地运用不同命令 可用批命令实现。. 批命令方式(2)批命令实

9、现思想 规定特别的文件扩展名,用户先把一系列命令组织在该文件中,一次建立,多次执行。 操作系统支持命令文件运用一套控制子命令,可写出带方式参数的批命令文件。这样的批命令文件可执行不同的命令序列,加强命令接口的处置才干。.UNIX的Shell(1)Shell是交互型命令解释程序,也是命令级程序设计言语解释系统,例如, Myrun文件包含: cat $1 /* 显示文件*/ cc $1 /* 编译源程序*/ mv a.out $2 /*把目的程序改为$2*/ $2 /*运转$2*/ 执行 csh myrun prog1.c prog ,将对源程序prog1.c进展显示和编译,把目的程序改名为pro

10、g并运转。.UNIX的Shell(2)另一个UNIX Shell的例子 从/user/user1/fei文件中,利用循环控制语句找出含单词:process、thread信息行。其Shell程序feipro为 for i do grep $i/user/usr1/fei done 执行 csh feipro process thread依次打印出含process和thread的信息行。.MS-DOS操作系统的批文件 testbat是查找某文件能否存在的批文件: echo off if exist %1 goto lab1 echo %1 not found! goto lab2 :lab1 ec

11、ho %1 is found! :lab2 用户键入命令:test wpsexe 执行批文件,假设找到 文 件 显 示 wpsexe is found! ;否 那么 显 示 wps.exe not found!.脱机用户接口作业控制言语 批处置接口:作业控制言语JCL Job Control Language 用户运用JCL语句,把运转意图(需求对作业进展的控制和干予)写在作业阐明书上,将作业连同作业阐明书一同提交给系统 批处置作业的调度执行过程,系统调用JCL语句处置程序或命令解释程序.IBM JCL的一个例子/ HAROLD JOB,WILSON,MSGLEVEL=(2,0),PRTY=6

12、,CLASS=b/ COMP EXEC PGM=IEYFORT/ SYSPRINT DD SYSOUT=A/ SYSIN DD* . . /*/ GO EXEC PGM=FORTLINK/ SYSPRINT DD SYSOUT=A/ FTOTF001 DD UNIT=SYSCP/ GO SYSIN DD* . ./*/.2.命令解释程序命令解释程序的主要功能是:接受和执行下一条用户从键盘输入的命令。当新的批作业被启动,或新的交互型用户登录时,系统就自动地执行命令解释程序,它担任读入控制卡或命令行,并作出相应解释和执行。.命令解释程序实现的两种方式 一种是它本身包含了命令的执行代码。 另一种是由

13、专门的“系统程序 实现,本身不含命令处置代码,也不进展处置,仅仅把这条命令对应的命令文件装入内存执行。 .命令解释程序的处置过程 系统启动命令解释程序,输出命令提示符,等待键盘中断。用户打入命令并按回车换行,恳求键盘中断。CPU呼应后,控制权交给命令解释程序,它读入命令缓冲区内容,分析命令、接受参数。假设为简单命令立刻转向命令处置代码执行。否那么查找命令处置文件,装入主存,传送参数,将控制权交给其执行。命令处置终了后,再次输出命令提示符,等待下一条命令。.系统程序(1)系统程序又称规范程序或适用程序Utilities,虽非操作系统的中心,但却必不可少,为用户程序的开发、调试、执行、和维护处理带

14、有共性的问题或执行公共操作,操作系统以外部操作命令方式向用户提供系统程序。它的功能和性能很大程度上反映了操作系统的功能和性能。 .系统程序(2) 系统程序的分类: 文件管理 形状信息 程序设计言语支持 程序的装入和执行支持 通讯 其它软件工具 .UNIX系统调用系统调用符合可移植操作系统POSIX1003.1规范,每个兼容的UNIX都必需支持它。UNIX的规范系统调用分进程管理、文件管理、设备管理、及形状控制等五十余条,系统调用是软件开发者进入UNIX内核的入口。.UNIX规范函数UNIX提供规范函数,POSIX1003.1规范定义了库过程的集合,组成了规范函数库,其中较重要的是I/O库函数。库函数用汇编言语编写,却可以在C言语中调用,例如C程序可经过执行一个R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论