您好,欢迎访问三七文档
第2章操作系统用户界面2.1简介2.2一般用户的输入输出界面2.3命令控制界面2.4Linux与Windows的命令控制界面2.5系统调用2.6Linux与Windows的系统调用用户使用,系统管理操作系统为用户提供的编程接口和命令控制接口。1.操作系统的命令控制接口及与其相关的作业控制和管理概念。2.系统调用与编程接口。3.操作系统用户界面示例。2.1简介两类用户:1.使用和管理计算机应用程序的用户(用户和管理员用户)----命令控制界面2.程序开发人员----系统调用2.2一般用户的输入输出界面2.2.1作业(job)的概念。从用户的角度,可以从逻辑上抽象地(并非精确地)描述作业的定义.从系统的角度,则可以定义出作业的组织形式。作业:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。一般来说,每一个作业步产生下一个作业步的输入文件。作业的组成:由程序、数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。在批处理系统中,作业是抢占内存的基本单位。批处理系统以作业为单位把程序和数据调入内存以便执行。说明:作业的概念一般用于早期批处理系统和现在的大型机、巨型机系统中,对于广为流行的微机和工作站系统,人们一般不太使用作业的概念。2.2.2作业组织作业由三部分组成,即程序、数据和作业说明书。一个作业可以包含多个程序和多个数据集,但必须至少包含一个程序。否则将不成为作业。作业中包含的程序和数据完成用户所要求的业务处理工作。作业说明书则体现用户的控制意图。由作业说明书在系统中生成一个称为作业控制块(jobcontrolblock,JCB)的表格。图2.2作业说明书的主要内容主要用在批处理系统2.2.3一般用户的输入输出方式1.联机输入输出方式2.脱机输入输出方式3.直接耦合方式。大容量的公用存储器4.SPOOLING系统(外围设备同时联机操作)图2.45.网络联机方式2.3命令控制界面操作系统为用户提供两个接口界面。一个是系统为用户提供的各种命令接口界面。用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。另一个接口是系统调用。编程人员使用系统调用来请求操作系统提供服务。操作系统的命令控制界面就是用来组织和控制作业运行的。使用操作命令进行作业控制的主要方式有两种。脱机方式:用户将作业的执行顺序和出错处理方法一并以作业控制说明书的方式或命令文件方式提交给系统,由系统按照作业说明书或命令文件中所规定的顺序控制作业执行。特点:执行过程中,用户无法干涉,只能等待作业正常执行结束或出错停止之后查看执行结果或出错信息,以便修改作业内容或控制过程。批处理方式联机控制方式不要求用户填写作业说明书,系统只为用户提供一组键盘或其他操作方式的命令。用户使用系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。工作过程:用户在系统给出的提示符下敲入特定的命令,系统在执行完该命令后向用户报告执行结果;然后,用户决定下一步的操作。如此反复,直到作业执行结束。与脱机控制方式相比,联机控制方式的命令种类要丰富得多。这些命令可大致分为以下几类:(1)环境设置。(2)执行权限管理。(3)系统管理。(4)文件管理。(5)编辑、编译、链接装配和执行。(6)通信。(7)资源要求。图形界面:Windows系列,UNIX系列的操作系统,它们的命令控制界面都是由多窗口的按钮式图形界面组成。在这些系统中,命令已被开发成一条条能用鼠标点击而执行的简单的菜单或小巧的图标。而且,用户也可以在提示符的提示下用普通字符方式输入各种命令。未来?计算机系统的命令控制界面将会越来越方便和越来越拟人化。2.4Linux与Windows的命令控制界面2.4.1Linux的命令控制界面Linux的命令有9类:系统维护及管理:date,setenv文件操作及管理:ls,find进程管理:kill,at,fork磁盘及设备管理:df,du,mount用户管理:adduser,userdel文档操作:csplit,sort网络通信:netstat,ifconfig程序开发:cc.linkXWindows管理:startx,XE86Setup1.Linux系统与UNIX系统在用户界面上完全兼容2.向用户开放源代码程序。3.Linux系统一经推出,就得到了广大用户和计算机厂商的青睐,迅速地形成了一个与Windows系列操作系统相抗衡的自由软件联盟。目前,已有许多计算机厂商宣布支持Linux操作系统。Linuxshell交互型命令解释程序组成:1.命令或其他shell程序2.位置参数3.变量及特殊字符4.表达式比较5.控制流语句6.函数例子mkdirbackup创建子目录forfilein‘ls’循环建立当前目录下do所有文件的备份cp$filebackup/$fileif[$-ne0]thenecho“copy$fileerror”fidone2.4.2Windows的命令控制界面命令解释器部分cmd.exe系统信息:time,date,mem,systeminfo系统操作:shutdown,runas,taskkill文件系统:copy,del,mkdir网络通信:ping,netstat,route窗口交互部分2.5系统调用系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。系统调用大致可分为如下几类:(1)设备管理。该类系统调用被用来请求和释放有关设备、以及启动设备操作等。(2)文件管理。对文件的读、写、创建和删除等。(3)进程控制。进程是一个在功能上独立的程序的一次执行过程。进程控制的有关系统调用包括进程创建、进程执行、进程撤消、执行等待和执行优先级控制等。(4)进程通信。该类系统调用被用在进程之间传递消息或信号。(5)存储管理。包括调查作业占据内存区的大小、获取作业占据内存区的始址等。(6)线程管理。包括线程的创建、调度、执行、撤销等。系统调用即执行事先编制好的实现这些功能的子程序或过程。(是操作系统程序模块的一部分,且不能直接被用户程序调用)问题:编程人员给定了系统调用名和参数之后是怎样得到系统服务的呢?需要中断处理机构完成。当用户使用系统调用时,产生一条相应的指令,处理机在执行到该指令时发生相应的中断,并发出有关信号给该处理机构。该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能。1.陷阱(trap)处理机构:在系统中为控制系统调用服务的机构。2.每个系统调用都对应一个事先给定的功能号,例如0,1,2,3等。在陷阱指令中必须包括对应系统调用的功能号。3.每个系统调用子程序有入口地址表,每个入口地址都与相应的系统子程序名对应起来。然后,由陷阱处理程序把陷阱指令中所包含的功能号与该入口地址表中的有关项对应起来,从而由系统调用功能号驱动有关系统子程序执行。图2.5系统调用的处理过程系统调用的参数传递:1.由陷阱指令自带参数。缺点:一条陷阱指令的长度有限。陷阱指令只能自带极有限的几个参数进入系统内部。2.通过使用有关通用寄存器来传递参数。缺点:寄存器长度较短,无法传递较多的参数。3.在系统调用较多的系统中,在内存中开辟专用堆栈区来传递参数。系统发生访管中断或陷阱中断时,为了让用户程序不直接访问系统程序,反映处理机硬件状态的处理机状态字PSW中的相应位要从用户执行模式转换为系统执行模式。这一转换在发生访管中断时由硬件自动实现。一般把处理机在用户程序中执行称为用户态,而把处理机在系统程序中执行称为系统态。2.6Linux与Windows的系统调用2.6.1Linux系统调用6类:1.设备管理:申请,释放,设备I/O和重定向,设备属性获取及设置,逻辑上连接和释放设备2.文件系统操作:建立,删除,打开,关闭,读写,设置属性3.进程控制:终止进程,执行,创建,设置属性4.存储管理:申请和释放内存5.管理用:设置日期时间,设置系统数据6.通信:建立和断开通信,发送和接收消息等例子#includefcntl.h#includesys/stat.h#defineSIZE1voidfilecopy(char*infile,char*outfile){charbuffer[SIZE];intIn_fh,Out_fh,Count;if((In_fh=open(Infile,O_RDONLY))==-1printf(“OpeningInfile”);if((Out_fh=open(Outfile,(O_WRONLY|O_CREAT|O_TRUNC),(S_IRUSR|S_IWUSR))==-1)printf(“OpeningOutfile”);while((Count=read(In_fh,Buffer,sizeof(Buffer)))0)if(write(out_fh,Buffer,Count)!=Count)printf(“Writingdate”);if(Count==-1)printf(“Readingdate”);close(“In_fh”);close(“Out_fh”);}2.6.2windows的系统调用动态链接库DLL,应用编程接口API5类1.窗口管理类2.图形设备接口类3.系统服务类4.国际特性类5.网络服务类本章小结操作系统的用户界面。命令控制界面编程界面操作系统的命令控制界面正从早期的脱机控制方式(批处理系统)和联机控制方式(分时系统)向多窗口、菜单、按钮以及声控等图形化多媒体方式变化。命令控制界面的革命与进步是操作系统最显著的变化之一。系统调用是操作系统提供给编程人员的唯一接口。编程人员通过系统调用使用操作系统内核所提供的各种功能。系统调用的执行不同于一般用户程序的执行。系统调用执行是在核心态下执行系统子程序,而用户程序则是在用户态下执行。一般来说,操作系统提供的系统调用越多,功能也就越丰富,系统也就越复杂。作业2.5操作系统为用户提供哪些接口?它们的区别是什么?2.7什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么区别?2.8简述系统调用的实现过程。2.10LINUX操作系统为用户提供哪些接口?试举例说明。P365,7,8,10
本文标题:武科大操作系统概要
链接地址:https://www.777doc.com/doc-3607768 .html