版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章
操作系统接口教学目的:
OS向用户提供“用户与操作系统的接口”,该接口支持用户与OS之间进行交互,该接口分为命令接口和程序接口两类。掌握用户与OS接口可使用户更全面掌握OS使用。教学要求:熟悉用户与操作系统的两类接口:命令接口和程序接口。了解MS-DOS、WINDOWS98和UNIX的接口。2023/12/71(一)用户与操作系统的接口
用户接口
用户接口是计算机系统与用户之间进行交互作用和通信的通路。对绝大多数用户而言,一个计算机系统的可接受性在很大程度上取决于这个用户接口。用户接口分为命令接口和程序接口两类。1。命令接口命令接口是籍助于在用户和操作系统之间提供高级通信来控制一组程序的处理。这个接口之所以称命令接口,是因为用户可以通过打入或在作业中发出一系列命令,告诉OS执行那些功能。这一类接口是用于作业控制的,其中又分联机用户接口和脱机用户接口。2023/12/72
联机用户接口:联机用户接口也叫交互式用户接口,它用于联机作业控制,它是由一组键盘操作命令组成。交互式用户接口交互方式又分成二类,一类是字符方式终端命令,提供面向流的通信,如MS-DOS。另一类是图形方式,提供“对话框”、“图标”、“菜单”等图形用户接口(GUI)如Windows。
脱机用户接口也称批处理用户接口,它用于脱机作业控制。脱机作业控制又分为作业控制卡和作业说明书两种方式。2023/12/73用户接口-1作业控制卡方式是指用户将其操作意图,用控制语言提供的有关作业控制命令穿孔在若干卡片上,以控制作业的运行的一种形式。用户按照要求将作业控制卡插入到作业卡片叠的适当位置上。系统分批读入这些卡片后开始运行,并按照这些控制卡的信息,指挥和控制作业的运行,这些作业控制卡是早期的一种作业控制方式。作业说明书也是用作业控制语言来表达用户对作业控制意识的,在形式上同用高级编程语言编制的程序相似。相对于作业控制卡分散的缺点它具有集中、便于修改、灵活等优点。美国1905机GEOGE语言是典型的高级算法的作业控制语言。2023/12/74用户接口-22。程序接口程序接口是OS为正要运行的程序提供服务并与之通信的一个设施,它供所有的用户程序使用,也供OS的其它组成部分,特别是命令处理程序使用。当一个程序正在执行时,程序接口接受对系统服务及资源申请,并与OS的资源管理程序进行通信。这个程序接口主要由系统调用组成。2023/12/75
系统调用是用户在程序中调用OS所提供的一些子功能模块,它是一种特殊的过程调用。用户程序运行在用户态下,它通过软件中断进入核心,调用系统过程(子模块),运行在核心态,返回后仍在用户态下运行。用户程序系统调用从功能上分可包括进程管理、文件管理、信息维护、设备I/O管理等几方面。系统调用过程大体上分成以下三步:设置系统调用号和参数;系统调用命令的一般处理;系统调用命令处理程序做具体处理。2023/12/76(2)MS-DOS的接口1. MS-DOS层次模块结构
MS-DOS采用层次模块结构,它有三个层次模块和一个引导程序组成。这三个模块是命令处理程序(COMMAND.COM)、文件系统(MS-DOS.SYS)和输入输出系统。其中基本输入输出系统又由驻在ROM中的基本输入输出系统BIOS和系统盘上的BIOS接口模块(IO.SYS)两部分组成。引导程序在盘引导区中。三个模块的层次关系如图所示。(返1)
INT10-INT1AINT21用户程序
键盘命令命令处理程序
文件系统
输入输出系统2023/12/77(二)、命令接口1)命令接口在操作系统与计算机用户之间提供易于理解的双向通信机制基本任务:解释命令,传送命令以便执行接收系统信息,提交给用户(以响应语言的形式)包括:一组联机命令,终端处理程序,命令解释程序交互式命令的接口复杂含功能结构,可能问题的处理,如各种约定、前端处理、命令日志、命令注解、宏命令及命令组等2023/12/78命令接口-1命令接口由命令处理器来实现命令处理器的实现方式:(a)作为OS的一个部分如,OS/MVT或VAX/VMS(b)作为OS的一个独特模块,能方便地修改或替换如,RT-11或CP/M(c)作为一易于被替换的普通程序如,UNIX操作系统(d)在某些系统中,可能用专门设计的命令接口替代标准的命令接口如,多用户UNIX,用户可有不同命令接口2023/12/792)终端处理程序用户与操作系统的通信通过一个输入/输出装置来实现I/O装置是显示终端和键盘输入通过键盘:在有的系统中,可通过指示装置(例如鼠标)输入系统输入呈现在显示屏幕上,一次显示若干正文行(某些系统中,提供图形显示功能)不管哪种I/O方式,终端装置是由终端处理程序管理和控制2023/12/710终端处理程序-1终端处理程序提供的输入输出方式对整个用户命令接口有重大影响,也确定了用户与其应用程序之间的通信方式终端处理程序必须作为用户接口的一个组成部分来考虑即,直接影响命令接口的一些问题须由终端处理程序解决2023/12/711终端处理程序-2直接影响命令接口的一些问题a)回送显示(Echoing)通常,每从键盘打入一个字符,终端处理程序回送响应的字符到显示屏上有时用户要求其显示一个不同的字符或不显示(例如,用户键入口令时)对于通过远程通信线路访问的终端,可能需要抑制这种回送委托给远程终端实现回送显示2023/12/712终端处理程序-3(b)提前打入(Typeahead)
假定输入字符在一程序准备处理它们之前打入,则由“提前打入进程”把它们保存在缓冲区中缓冲区容量是有限,当其存满后,再有输入时,或者漏掉,或者将破坏缓冲区原有的内容(c)字符变换有些情况下,需要对打入的字符进行代码变换如,把小写字母转换成大写字母,或者反之2023/12/713终端处理程序-3d)行缓冲打入的字符在送到程序前,由终端接口保存,直到整个命令行打入为止为用户提供了校验、编辑,甚至取消命令的机会(e)中断字符(BreakCharacters)
多数交互式命令接口可以接受一些称为中断字符的特殊字符,并立即采取相应的行动如,在许多系统中,同时打入CTRL-C键,立即终止当前程序执行,并使命令处理程序重新初始化2023/12/7143)命令解释程序对命令有两种处理方法:(a)由命令解释程序直接处理在没有创建子进程功能的系统中终端命令通常由对应的命令解释程序处理在这种系统中,只有一个进程对应一个终端用户(b)由子进程代为处理在具有创建子进程功能的系统中,对于较为单纯的命令,如列目录,拷贝文件等,命令解释程序本身便能完成,此时由命令解释程序直接处理对较复杂命令,如对于C源程序进行编译,命令解释程序本身不能处理,此时创建一个子进程,并由该子进程运行C编译程序2023/12/7154)命令语言命令语言规定由OS执行的一系列操作在一般的命令语言中,用户通过打入称为命令行的一行指令来规定每一个动作每一命令行以命令开始,它标识所要执行的操作大多数命令是用运行一个程序来执行所请求的操作多数命令行中要给出一些参数,每一命令语句实际上是带有参数的一个过程调用2023/12/716命令语言-1一种命令语言通常提供几类命令:(1)系统访问命令 登录命令,如,login等 撤离命令,如,logout等(2)文件管理命令(3)编辑、编译和执行命令(4)询问命令(5)操作员专用命令2023/12/717命令语言-2命令行:规定由操作系统执行的一系列操作命令行:一行可有一个或多个命令,每次一行,包含一个或多个命令。shell给出提示符时可输入,以回车键提交。如:“ls-a-l”列出当前目录文件列表;"gunzipmp1.tar.gz;tar-xvfmp1.tar;\rm-r-fmp1.tar"为解压缩后再展开。命令格式:一个命令可有命令参数,格式包括选项/开关(option/switch)或参数(argument)。如UNIX系统:cp-rdoc/tmp--argv[0],argv[1],...(含子目录的文件复制:/tmp为目标地址)2023/12/718命令语言-3命令分类:内部命令和外部命令内部命令:直接由shell本身完成,功能简单、使用频繁;如:DOS的copy命令。外部命令:运行相应的可执行文件,在使用时加载。如:DOS的xcopy命令命令简化:利用参数替换可简化命令输入,通配符(?,*)用于匹配一组文件名如:UNIX的cp命令:当前目录上有两个"1.tar"和"2.tar"时,"cp*.tar/tmp"等同于"cp1.tar/tmp;cp2.tar/tmp"2023/12/719命令语言-4命令的附加功能命令的附加功能用以扩大命令的功能性、选择性、适应性。包括:(1)参数与变量位置变量关键字变量(2)命令通配符(3)重定向(4)管道与过滤器2023/12/720(三)图形用户接口GUI命令行方式:要求用户记忆命令格式图形用户接口方式:用户可利用鼠标对屏幕上的图标进行操作,完成与操作系统的交互,从而减少记忆内容,方便用户使用。图形用户接口的技术基础:高分辩显示器和鼠标2023/12/7211)窗口系统(windowsystem)的特点利用图形元素表示功能:将各种图形元素显示在屏幕上,用户可以通过操纵图形元素(如菜单、图标)来执行相应的功能同屏多窗口与并发进程相对应:屏幕上同时显示多个窗口;一个进程可以对应一个或多个窗口;窗口动态创建、改变、撤销交互的并发性好、传递信息量大输入方式:鼠标指针点击(或其他定位设备)和键盘输入;通常是即时交互一致的图形元素风格可方便用户学习和使用:如按钮、滚动条2023/12/722
2)窗口系统的图形元素及其状态窗口:屏幕上的矩形区域包括:标题条、边框、窗口角、系统菜单框、最大化/最小化按钮、滚动条等状态:当前/非当前窗口--接受输入,最大化/最小化/恢复原大小,窗口的前后遮盖--Z轴,焦点--接受键盘输入(而非鼠标)桌面和墙纸图标:一个小图象(如32x32或64x64pixel),供鼠标指针点击。不同的图标可以标识不同的对象。如:可执行程序、最小化的窗口、文件--动画图标2023/12/723窗口系统的图形元素及其状态-1鼠标指针:鼠标指针通常对应屏幕上的光标光标在屏幕上只有一个,在不同屏幕位置(上下文)可以呈现不同形状,可以独立于鼠标来直接操纵光标鼠标点击:左键/右键/中键,单击/双击,拖曳/拖放按钮:鼠标点击或按回车键/空格键时执行相应功能,如menubutton;提供单项或多项选择,如radiobutton和checkbutton;当前按钮及其切换菜单:临时窗口,菜单条、弹出式菜单、下拉式菜单(上下文相关菜单)对话框:临时窗口,显示提示信息(message)或填写用户设置2023/12/7243)窗口管理器(windowmanager):
形成统一的使用风格处理窗口的普遍特性,如:窗口的大小、位置(窗口的标题条、边框、控制菜单框)--窗口中由应用程序管理的部分称为"客户区(clientarea)"协调各窗口间的相互关系,如:窗口之间的前后遮盖关系,桌面2023/12/725(四)系统调用系统调用:用户在程序中调用操作系统所提供的一些子功能这是特殊的过程调用,由特殊的机器指令实现(每种机器的机器指令集中都有一条系统调用指令——访管指令)这条指令将系统转入管态系统调用是一个低级过程,只能由汇编语言直接访问系统调用是操作系统提供给编程人员的唯一接口利用系统调用,动态请求和释放系统资源完成与硬件相关的工作以及控制程序的执行等每个操作系统都提供几百种系统调用2023/12/7261)系统调用简介系统调用的例子-1汇编程序例子:打印5个字符
方法1:调用DOS功能
MOVEA,PARA1MOVEB,PARA2
INT21H2023/12/727系统调用简介-1系统调用的例子-2方法2:用OUT语句直接打印
L1:MOVEA,IINADDR1,BORB,BSJNCL1
OUTADDR2,ARET2023/12/728系统调用简介-2I/O设备的硬件接口一般由四种寄存器(地址,数据,状态,控制)或其子集组成任一程序中若要使用I/O设备来输出数据或接受输入必须通过对这四种寄存器读写的I/O机器指令进行2023/12/729系统调用简介-3系统调用的例子-3汇编程序例子2:读写硬盘文件内容
MOVEDX,OFFSETBUFFMOVECX,BYTEMOVEBX,HANDLEMOVEAH,3FH
INT21H2023/12/730系统调用简介-4系统调用的例子-4磁盘读写的例子:更复杂原因:
A、磁盘的控制和状态接口寄存器比打印机的复杂的多,而且还有地址接口寄存器
B、通常一个外存存储介质上可以存放多个文件,随着文件的建立、删除和拷贝在不停地变化,每个文件的长度随着其内容的变化而不停地变化2023/12/731系统调用简介-5系统调用的例子-5高级语言例子:打印5个字符
charbuff[4]=“abcde”;for(i=4;i>=0;i--)
print(buff[i]);高级语言例子:读硬盘文件f1的第10到20个字节
seek(fd,10,0);
read(fd,buff,11);2023/12/732系统调用简介-6
......A=A+1printf(...)B=B+A(1)源程序段2023/12/733系统调用简介-6(续)
INT......INTA=A+1B=B+A............INOUT...嵌入后该系统调用的操作系统内部实现代码(2)printf目标代码(3)程序段编译产生的可执行代码(4)操作系统内部代码2023/12/734系统调用简介-7凡是与硬件相关、与应用无关的工作,都通过操作系统程序来完成用户程序函数操作系统2023/12/7352)系统调用的处理过程需要有一个类似于硬件中断处理的处理机构。当用户使用系统调用时,产生一条相应的指令。处理机在执行到该指令时发生相应的中断,并发出有关的信号给该处理机构,该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能2023/12/736系统调用的处理过程-1在系统中为控制系统调用服务的机构称为陷入(TRAP)或异常处理机构相对应,把由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令)在操作系统中,每个系统调用都对应一个事先给定的功能号,例如0、1、2、3等,称为系统调用功能号(在陷入指令中必须包括对应系统调用的功能号有些陷入指令中,还带有传给陷入处理机构和内部处理程序的有关参数)2023/12/737系统调用的处理过程-1(续)必须为实现系统调用功能的子程序编造入口地址表每个入口地址与相应的系统调用执行程序名对应陷入处理程序把陷入指令包含功能号与入口地址表有关项对应,驱动有关子程序执行在系统调用处理结束之后,用户程序需利用系统调用返回结果继续执行保护现场:进入系统调用处理前,陷入处理机构还需保存处理机现场在系统调用处理结束之后,要恢复处理机现场,现场被保护在特定的内存区或寄存器中。2023/12/738用户程序陷入处理机构系统子程序
systemcall
入口地址表
(1)保护处理现场(2)取系统调用功能号并寻找子程序入口(3)返回A0A1Ai
AnA0A1AiAnSub0Sub1SubiSubn系统调用的处理过程2023/12/739read(fd,buffer,nbytes)系统调用处理过程-22023/12/7403)参数传递过程问题怎样实现用户程序和系统程序间的参数传递?常用的3种实现方法:由陷入指令自带参数:陷入指令的长度有限的,且还要携带系统调用功能号,只能自带有限的参数通过有关通用寄存器来传递参数:这些寄存器应是系统程序和用户程序都能访问,由于寄存器长度较短,从法传递较多的参数大多在内存中开辟专用堆栈区来传递参数2023/12/7414)系统调用的分类系统功能可分为两部分系统自身所需要的作为服务提供给用户的OS的系统调用:进程控制类系统调用文件操作类系统调用进程通信类系统调用设备管理类系统调用信息维护类系统调用2023/12/7425)系统调用与一般过程调用比较系统调用方式(INT)与程序中一般的调用方式的相同点:改变指令流程重复执行和公用改变指令流程后需要返回原处系统调用方式(INT)与程序中一般的调用方式的不同点:2023/12/743系统调用与一般过程调用比较-1运行在不同的系统状态
一般过程调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态系统调用:调用程序在用户态,被调用程序在系统态状态的转换一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程通过软中断机制先由用户态转换为核心态在OS核心分析后,转向相应的系统调用处理子程序2023/12/744系统调用与一般过程调用比较-2返回问题一般过程调用在被调用过程执行完后,返回调用过程抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍有最高优先级,则返回到调用进程执行否则,引起重新调度,让优先级最高的进程优先执行。此时,系统把调用进程放入就绪队列嵌套或递归调用对系统调用,一般不允许在同一个进程中发生嵌套或递归(不同进程可以重入同一个系统调用)2023/12/745系统调用与一般过程调用比较-3
进入方式不同利用int或trap指令进行系统调用;利用call或jmp指令进入普通的过程调用CALL指令的内部实现过程返回地址压栈(即该CALL指令所在的地址)将该CALL指令中所含的地址(即被调用代码所在地址)送入PCRET指令的内部实现过程从栈顶弹出返回地址送入程序计数器PC2023/12/746系统调用与一般过程调用比较-4系统调用是动态调用,而CALL调用方式是静态调用a.同一程序中不包含被调用代码系统调用是动态调用,程序中不包含被调用代码,好处:(1)用户程序长度缩短(2)当OS升级时,调用方不必改变2023/12/747系统调用与一般过程调用比较-5b.系统调用方式的调用地址和返回地址都是不固定的系统调用指令中不包含调用地址,只包含功能号是按功能号(在可执行目标程序中)调用的。在操作系统内部由系统调用处理程序通过系统调用分支表(OS的一个数据结构)将功能号转换为相应的指令地址2023/12/748系统调用与一般过程调用比较-6...功能号地址显示打印读文件.........OS的系统调用分支表OS代码显示打印读文件OS用户程序INT..................2023/12/749系统调用与一般过程调用比较-7系统调用返回指令中不包括返回地址,通过栈保存和弹出返回地址系统调用返回地址不固定,因为用户程序在不同的地方调用OSCALL调用方式是静态调用,被调用代码与调用代码在同一程序之内。CALL调用方式,其调用地址是固定的,包含在调用语句中;返回地址是不固定的(同一子程序可能被不同处多次调用),在程序执行过程中通过栈的实现来保存和弹出返回地址2023/12/750系统调用与一般过程调用比较-8
INT指令和IRET指令的执行过程中要处理程序状态字PSW。INT指令中要保存用户程序的老PSW,并根据中断向量表设置新PSW。IRET指令中要在返回用户程序前恢复用户程序的老PSW。系统态与用户态的转换由系统在INT指令与IRET指令内部自动完成没有用一条单独的专门指令。好处:有效地防止在系统态下执行用户程序2023/12/751(五)操作系统接口实例1)MS-DOS层次模块结构
MS-DOS采用层次模块结构,它有三个层次模块和一个引导程序组成。这三个模块是命令处理程序(COMMAND.COM)、文件系统(MS-DOS.SYS)和输入输出系统。其中基本输入输出系统又由驻在ROM中的基本输入输出系统BIOS和系统盘上的BIOS接口模块(IO.SYS)两部分组成。引导程序在盘引导区中。三个模块的层次关系如图所示。
INT10-INT1AINT21用户程序
键盘命令命令处理程序
文件系统
输入输出系统1、MS-DOS的接口2023/12/752MS-DOS的接口-12)MS-DOS的命令接口—-键盘命令选盘命令:<盘符><CR>例如:A:控制键和编辑键:例如:Ctrl+Alt+Del系统复位键;<F1>复制字符键等。内部命令:它是OS内部提供的OS功能子模块的命令,例如Dir显示目录命令等。外部命令:它是存在磁盘上完成某功能可执行文件、需要时调入内存执行的命令,它有以下几种类型。扩展名为.com文件是可执行的二进制代码文件。扩展名.exe文件是可执行浮动二进制代码文件。扩展名为.bat文件是批处理文件,批处理文件中可包含内部命令、外部命令以及一些特殊的批处理文件命令。2023/12/753MS-DOS的接口-23)MS-DOS程序接口程序员通过软件中断和系统调用使用MS-DOS提供的功能。用文件系统模块提供的功能-INT21HMS-DOS文件系统子功能模块的功能是系统调INT21,它是字符I/O高级方式,它独立于硬件且与其它操作系统兼容。它包括设备管理、文件管理、目录管理等功能。用输入输出系统模块提供的功能--INT10H-INT1AHMS-DOS的输入输出系统模块提供的功能调用是INT10H-INT1AH。其中INT10H调用显示驱动程序,INT16H调用键盘驱动程序,INT17H调用打印机驱动程序,INT13H调用磁盘I/O驱动程序。2023/12/754MS-DOS的接口-3下面以5.6.1节说明INT13系统调用的过程。l 调用号送寄存器AHmovAH,02l 置入口参数almovAL,01BxmovBx,200CxmovCx,0001Dxmovdx,0080l 调用INT13INT3l 执行-g=100l 分析出口参数-d3be3fe观察分区表2023/12/7552、WINDOWS98的接口1)Windows98用户界面结构
Windows98使用新的32位的用户界面,提供统一的工具来浏览网络,局域网及Internet信息。这些包含了一些桌面工具,包括网络邻居,可选择的活动桌面接口,可选择的频道接口。Windows98基本组件结构中用户界面的细框图如下图所示。这些工具同其它的基于Win32的、基于Win16的、以及基于MS-DOS的应用程序在同一结构层次上运行。所有的应用程序及工具可以从壳层提供的公用控制中得到好处,例如公用对话框、目录树形显示和列表显示等。用户接口工具(网络邻居等)进程指示、工具、使用对话框、列表显示、树形显示等2023/12/756WINDOWS98的接口-12)Windows98命令接口――图形用户接口(GUI)GUI的基本元素有:窗口:是指屏幕上的一块矩形区域,应用程序(包括文挡)可通过窗口向用户展示系统所能提供的各种服务及其需要用户输入的信息,用户可通过窗口去查看和操纵应用程序和文挡。窗口由标题拦、垂直、水平滚动条、控制按钮、最大化、最小化按钮、还原按钮、关闭按钮等组成。图标:它是代表一个应用程序或文件的一个小图象,它也是最小化窗口,通过对图标的操作可激活相应的程序(选择它在前台运行)和启动应用程序。2023/12/757WINDOWS98的接口-2菜单:用户在窗口中对应用程序所能执行的各种操作是以菜单的形式提供的。菜单一般是由菜单名和若干菜单项所组成。每一菜单项通常都对应于相关的命令或功能。用户可用鼠标或键盘在菜单中选择一菜单项,来向系统提出相应的服务请求,当用户选择某菜单项时,有时便出现弹出菜单和下拉式菜单。对话框:它是在桌面上的带有标题条和控制菜单的一个临时窗口,又称为对话窗口。其主要用途是系统可通过对话框提示用户输入与任务有关的信息,或向用户提供可能需要的信息。对话框由文本框、列表框、命令按钮、单选按钮和复选按钮组成。
2023/12/758WINDOWS98的接口-33)Win32应用程序接口――API在Windows中,定义了一系列程序(应用程序接口Win32API),提供OS服务这个接口(部分)支持Win95以后的Windows版本Win32API调用的种类非常多,以千计算在Windows中不可能分辨出哪些是系统调用(被内核执行),哪些是用户空间的库调用事实上,一个Windows版本中的系统调用也许在另一个Windows版本中会在用户空间执行由于图形子系统在内核中运行(在某些Windows版本中),它们也是系统调用,否则是库调用2023/12/759WINDOWS98的接口-4编写Windows应用程序,除了用到常规编程语言的库函数和数据结构外,还需使用由WindowsSDK提供的适用于Windows应用程序的特殊库函数及和各种数据结构、语句、文件结构,所有这些内容构成了Windows应用程序设计接口(API)。可以把API视作一个有各类工具的集合,如果使用得当,这些工具开发出来的Windows应用程序,可适当用各种类型的计算机(PC机)。Windows应用程序可以充分利用API提供的各种特征。这些特征是:几个应用程序共享显示器、内存、键盘、鼠标和系统计时器,应用程序之间的数据变换与设备无关的图形功能;多任务;动态链接。2023/12/760WINDOWS98的接口-5WindowsAPI函数可分为窗口管理接口函数、图形设备接口(GDI)函数和系统服务接口函数等三类函数。窗口接口函数包括创建、移动和修改窗口函数;建立、修改菜单,获得菜单项状态等功能的函数;建立系统输出的函数;消息管理和处理的函数等。图形设备接口函数包括了Windows应用程序中执行与设备无关的图形操作所需的各类函数,这些操作包括在几种输出设备上画各种类型的线条、文字和位映射图象的函数。系统服务接口函数包括GDI支持多任务而提供的函数,涉及多任务和内存管理函数。2023/12/7613、UNIX(LINUX)系统调用1)进程控制fork系统调用创建新的子进程格式:intfork()
fork调用返回时,系统中已有两个用户级环境完全相同的进程在在,这两个进程从fork调用中得到的返回值不同,其中子进程得到的返回值为零,父进程得到的返回值是新创建子进程的进程标识号。exec系统调用格式:(六种)
intexecl(path,arg0,arg1,…,argn,(char*)0)char*path,*arg0,*arg1,…,*argn;exec调用进程的正文段被指定的目标文件的正文段所覆盖,其属性的变化方式与fork成功后从父进程那里继承属性的方式几乎是一样的。系统中绝大多数命令都是通过exec来执行的,不但shell进程所创建的子进程使用它来执行用户命令,shell进程本身和它的祖先进程也是用exec来启动执行的。2023/12/762UNIX(LINUX)系统调用-1exit系统调用终止进程执行格式:voidexit(status)intstatus;参数status是调用进程终止时传递给其父进程的值。如调用进程还有子进程,则将其所有子进程的父进程改为1号进程。wait系统调用等待子进程暂仃或终止格式:intwait(stat_loc)intwait((int*)0)intstat_loc;
wait调用将调用进程挂起,直到该进程收到一个被其捕获的信号或者它的任何一个子进程暂仃或终止为止。如果wait调用之前已有子进程暂仃或终止,则该调用立即返回。2023/12/763UNIX(LINUX)系统调用-22)文件基本操作creat系统调用创建普通文件格式:#include<sys/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论