版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.3操作系统提供服务和用户接口
1.3.1操作系统提供基本服务1.3.2操作系统提供用户接口1.3.3程序接口与系统调用1.3.4操作接口与系统程序操作系统提供的服务和用户接口第1页1.3.1操作系统提供基本服务
•创建程序•执行程序•数据I/O
•信息存取
•通信服务
•错误检测和处理
还含有另外一些功效:资源分配,统计,保护。
操作系统提供的服务和用户接口第2页操作系统提供用户接口(1)
用户和操作系统间两种接口系统调用
操作命令或JCL
操作系统
裸机(操作接口)(程序接口)操作系统提供的服务和用户接口第3页操作系统提供用户接口(2)
程序接口又称应用编程接口API(ApplicationProgrammingInterface),允许运行程序调用操作系统服务和功效。程序接口由一组系统调用(SystemCall))组成,用户程序使用“系统调用”就可取得操作系统底层服务,使用或访问系统各种软硬件资源。操作系统提供的服务和用户接口第4页操作系统提供用户接口(3)
在程序设计语言(如C语言)中,往往提供与各系统调用对应库函数,应用程序可经过对应库函数来使用系统调用,库函数目标是隐藏访管指令细节,使系统调用更象过程调用,但普通地说,库函数属于用户程序而非系统程序。
操作系统为用户提供系统调用也出于安全和效率考虑,使得用户态程序不能自由地访问内核关键数据结构或直接访问硬件资源。操作系统提供的服务和用户接口第5页操作系统提供用户接口(4)UNIX/Linux系统程序、库函数、系统调用分层关系
操作系统(进程管理、存放管理、文件管理、设备管理等)
标准库函数(打开、关闭、读、写、创建、撤消等)
标准系统程序(实用程序)(汇编、编译、编辑、Shell等)
用户用户接口库函数接口系统调用接口
硬件(处理器、存放器、磁盘、打印机、终端等)用户态核心态操作系统提供的服务和用户接口第6页操作系统提供用户接口(5)操作接口又称作业级接口,操作系统为用户提供操作控制计算机工作和提供服务伎俩集合,通常有操作控制命令、图形操作界面(命令)、以及批处理系统提供作业控制语言(命令)等等。操作系统提供的服务和用户接口第7页操作系统提供用户接口(6)Windows支持API三个组件:•Kernel包含了多数操作系统函数,如内存管理、进程管理;•User集中了窗口管理函数,如窗口创建、撤消、移动、对话等相关函数;•GDI提供画图函数、打印函数。Windows将三个组件置于动态链接库DLL中。
操作系统提供的服务和用户接口第8页操作系统提供用户接口(7)
Win32API和UNIX/Linux系统调用粗略对应关系
UNIX/LinuxWin32说明forkCreatProcess创建进程
waitpidWaitForSingleObject等候进程终止open/closeCreatFile/CloseHandle创建或打开/关闭文件read/writeReadFile/WriteFile读/写文件lseekSetFilePointer移动文件指针mkdir/rmdirCreat/RemoveDirectory建立/删除目录statGetFileAttributesEx取得文件属性操作系统提供的服务和用户接口第9页
1.3.3程序接口与系统调用
系统调用(1)系统调用分类进程和作业管理:文件操作:设备管理:内存管理:信息维护:通信:操作系统提供的服务和用户接口第10页系统调用(2)
2.系统调用实现关键点
一.是编写系统调用处理程序;二.是设计一张系统调用入口地址表,每个入口地址都指向一个系统调用处理程序,有系统还包含系统调用自带参数个数;三.是陷入处理机制需开辟现场保护区,以保留发生系统调用时处理器现场。
操作系统提供的服务和用户接口第11页系统调用(3)
系统调用处理过程
SystemCall用户程序A0SUB0SUB1SUBiSUBnA1AiAn……系统调用处理子程序取系统功效号找入口地址表对应入口地址结束处理恢复现场A0A1…Ai…An保护CPU现场陷入指令系统调用陷入机构入口地址表操作系统提供的服务和用户接口第12页系统调用(4)
系统调用参数传递一是由访管指令或陷入指令自带参数,直接参数间接参数二是经过CPU通用存放器传递参数,或在内存一个块或表中存放参数,其首地址送入存放器,实现参数传递。三是在内存中开辟专用堆栈区域传递参数。操作系统提供的服务和用户接口第13页系统调用(5)
传递参数一个方法
系统调用8处理子程序操作系统X:参数LOADAddRXSystemCall8X从表X取参数存放器操作系统提供的服务和用户接口第14页系统调用(6)
Linux系统调用
Linux系统调用由两部分组成:
•关键函数是实现系统调用功效(内核)代码。
•接口函数是提供给应用程序API,以库函数形式存在Linuxlib.a中。操作系统提供的服务和用户接口第15页系统调用(7)
Linux系统调用控制程序功效
(1)取系统调用号,检验正当性;
(2)建立调用堆栈,保护现场信息;
(3)依据系统调用号定位关键函数地址;
(4)依据通用存放器内容,从用户栈中取入口参数;
(5)关键函数执行,把结果返回应用程序;
(6)执行退栈操作,判别调度程序scheduler是否要被执行。操作系统提供的服务和用户接口第16页系统调用(8)
系统调用与过程(函数)调用区分
一是调用形式二是被调用代码位置三是提供方式四是调用实现
操作系统提供的服务和用户接口第17页1.3.4操作接口与系统程序(1)操作接口又称作业(或功效)级接口,是操作系统为用户操作控制计算机工作和提供服务伎俩集合,通常可借助操作控制命令、图形操作界面(命令)、以及作业控制语言(命令)等来实现。
操作系统提供的服务和用户接口第18页操作接口与系统程序(2)
1.
作业控制方式操作系统提供联机作业控制方式和脱机作业控制方式两个作业级接口,使用伎俩为操作命令:
•操作控制命令
•作业控制语言(命令)
操作系统提供的服务和用户接口第19页联机用户接口—操作控制命令
•命令行方式
•批命令方式
•图形化方式
操作系统提供的服务和用户接口第20页批命令方式(1)
在使用操作命令过程中,有时需要连续使用多条命令;有时需要屡次重复使用若干条命令;有时需要选择地使用不一样命令可用批命令实现。操作系统提供的服务和用户接口第21页批命令方式(2)
批命令实现思想
•要求尤其文件扩展名,用户先把一系列命令组织在该文件中,一次建立,屡次执行。
•操作系统支持命令文件使用一套控制子命令,可写出带形式参数批命令文件。这么批命令文件可执行不一样命令序列,增强命令接口处理能力。操作系统提供的服务和用户接口第22页UNIXShell(1)Shell是交互型命令解释程序,也是命令级程序设计语言解释系统,比如,Myrun文件包含:
cat$1/*显示文件*/cc$1/*编译源程序*/mva.out$2/*把目标程序改为$2*/$2/*运行$2*/执行cshmyrunprog1.cprog,将对源程序prog1.c进行显示和编译,把目标程序更名为prog并运行。操作系统提供的服务和用户接口第23页UNIXShell(2)
另一个UNIXShell例子从/user/user1/fei文件中,利用循环控制语句找出含单词:process、thread信息行。其Shell程序feipro为
foridogrep$i/user/usr1/feidone执行cshfeiproprocessthread依次打印出含process和thread信息行。操作系统提供的服务和用户接口第24页MS-DOS操作系统批文件
test.bat是查找某文件是否存在批文件:
echooffifexist%1gotolab1echo%1notfound!gotolab2:lab1echo%1isfound!:lab2用户键入命令:testwps.exe执行批文件,若找到文件显示wps.exeisfound!;否则显示wps.exenotfound!操作系统提供的服务和用户接口第25页脱机用户接口—作业控制语言
•批处理接口:作业控制语言JCL(JobControlLanguage)
•用户使用JCL语句,把运行意图(需要对作业进行控制和干予)写在作业说明书上,将作业连同作业说明书一起提交给系统
•批处理作业调度执行过程,系统调用JCL语句处理程序或命令解释程序操作系统提供的服务和用户接口第26页IBM
JCL一个例子//HAROLDJOB,WILSON,MSGLEVEL=(2,0),PRTY=6,CLASS=b//COMPEXECPGM=IEYFORT//SYSPRINTDDSYSOUT=A//SYSINDD*.<SourceProgramCard>./*//GOEXECPGM=FORTLINK//SYSPRINTDDSYSOUT=A//FTOTF001DDUNIT=SYSCP//GOSYSINDD*.<DataCard>./*//操作系统提供的服务和用户接口第27页2.
命令解释程序
命令解释程序主要功效是:接收和执行下一条用户从键盘输入命令。当新批作业被开启,或新交互型用户登录时,系统就自动地执行命令解释程序,它负责读入控制卡或命令行,并作出对应解释和执行。操作系统提供的服务和用户接口第28页命令解释程序实现两种方式
一个是它本身包含了命令执行代码。
另一个是由专门“系统程序”
实现,本身不含命令处理代码,也不进行处理,仅仅把这条命令对应命令文件装入内存执行。
操作系统提供的服务和用户接口第29页命令解释程序处理过程
系统开启命令解释程序,输出命令提醒符,等候键盘中止。用户打入命令并按回车换行,申请键盘中止。CPU响应后,控制权交给命令解释程序,它读入命令缓冲区内容,分析命令、接收参数。若为简单命令马上转向命令处理代码执行。不然查找命令处理文件,装入主存,传递参数,将控制权交给其执行。命令处理结束后,再次输出命令提醒符,等候下一条命令。操作系统提供的服务和用户接口第30页系统程序(1)系统程序又称标准程序或实用程序(Utilities),虽非操作系统关键,但却必不可少,为用户程序开发、调试、执行、和维护处理带有共性问题或执行公共操作,操作系统以外部操作命令形式向用户提供系统程序。它功效和性能很大程度上反应了操作系统功效和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江大学医学院附属第四医院细胞治疗中心招聘备考题库含答案详解(完整版)
- 2026新疆玛纳斯县第一中学面向社会引进高层次教学人才备考题库及答案详解一套
- 2026西藏那曲嘉黎县邮政分公司招聘6人备考题库及答案详解1套
- 2026河南省医学科学院王宁利院士团队招聘工作人员备考题库及完整答案详解1套
- 2026江苏南通文化艺术中心管理有限公司招聘劳务派遣人员1人备考题库及答案详解(历年真题)
- 2026江西中医药大学第二附属医院编制外招聘9人备考题库(第三批)含答案详解(突破训练)
- 2026陕西西安碑林区柏树林社区卫生服务中心招聘备考题库及答案详解(基础+提升)
- 2026浙江宁波市海曙区人才科技发展有限公司招聘政府机关单位编外人员3人备考题库含答案详解(模拟题)
- 2026四川成都市简阳市人力资源社会保障信息中心招聘编外人员4人备考题库及答案详解一套
- 2026甘肃陇南徽县众乔医院招聘备考题库及答案详解(名师系列)
- 2025年中央纪委国家监委驻中国国家铁路集团有限公司招聘笔试参考题库附带答案详解
- 《公路波纹钢结构涵洞标准图集》(征求意见稿)
- 企业并购的机遇与挑战分析
- 射线检测专业知识考试题库(含答案)
- 2024年全国统一高考数学试卷(理科)甲卷含答案
- 湖北省襄阳市2023-2024学年小升初语文试卷(含答案)
- 黑龙江省建筑工程施工质量验收标准(建筑地面工程)
- 第八课 良师相伴 亦师亦友
- 2023年南京市中考历史试题及答案
- 《公共政策评估》课件
- 350种中药饮片功能主治
评论
0/150
提交评论