1、第二章 操作系统用户界面,掌握作业的定义、作业的状态转换图。掌握一般用户的输入输出方式。了解Linux和Windows下的命令控制界面及几个常用命令。了解操作系统为用户提供的接口类型及何时采用何种接口。了解Linux和Windows下系统调用的类型。,本章重点:,2.1 简介2.2 一般用户的输入输出界面2.3 命令控制界面2.4 Linux与Windows的命令控制界面2.5 系统调用2.6 Linux和Windows的系统调用2.7 小结,2.1 简介,1. 用户界面:是操作系统的重要组成部分。负责用户和操作系统之间的交互。,即用户通过用户界面向计算机系统提交服务请求;计算机通过用户界面向
2、用户提供所需要的服务。,2. 用户: 使用和管理计算机系统的用户普通用户:使用计算机的应用服务,以解决实际的应用问题,例如事务处理、过程控制等。管理员用户:负责计算机和操作系统的正常和安全运行程序开发人员:使用操作系统提供的编程功能开发新的应用程序,3. 操作系统为不同用户提供不同的用户界面。普通用户、管理员用户:操作命令程序员:系统调用,不同操作系统为用户提供的命令集合不同(copy,cp)、表现形式不同(字符、图形),2.2 一般用户的输入输出界面,2.2.1 作业的定义,用户上机的步骤:,编辑,编译,链接,运行,库目标代码,目标程序,源程序,可执行程序,多次重复,作业的定义(一)(用户)
3、:,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。作业是由不同的顺序相连的作业步组成。,作业步:在一个作业的处理过程中相对独立的工作。每一个作业步产生下一个作业步的输入。,作业的定义(二)(系统),作业,=,程序,+,数据,+,作业说明书,+,作业控制块(JCB),批处理系统中,作业是抢占内存的基本单位,也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。,终端作业(交互式作业)批处理作业(脱机工作),2.2.2 作业的分类,终端作业(联机作业控制):这种方式是为终端用户提供的,这种方式中OS提供了键盘命令,用户使用这些命令自行控制。批处理作业(脱机作业控制):系统提供
4、作业控制语言JCL,用户用JCL将作业说明书写出来。OS根据用户的作业说明书,对作业进行控制,2.2.3 作业的控制一、作业控制方式,1. 脱机作业控制:又称为作业的自动控制,用户把源程序+数据+控制意向交上去由系统控制作业的运行。,2. 联机作业控制:又称为作业的直接控制。,即采用人,机会话的方式来控制作业的运行。,JCB包含的信息:作业名、作业的估计执行时间、优先数、作业建立时间、作业说明书、文件名、程序语言类型、内存要求、外设要求、作业状态、作业在外存中的存储地址。JCB的建立就是申请一个空白的JCB表,填入相应信息,如果没有空白的JCB表,则作业创建失败。,二、作业控制块的建立,2.2
5、.4 作业的组织,批处理作业 :将程序 、数据、作业说明书以文件的形式写出,作业的操作说明书包括:,作业基本情况描述:用户名、作业名、使用的语言名、允许的最大处理时间等作业控制描述:控制方式、操作顺序、出错处理等作业资源要求描述:要求处理时间、内存空间、外设类型和数量、处理机优先级、库函数或实用程序等,一、终端作业,系统管理员建立用户说明文件PROFILE,注销,注册,login,执行,logout,调键盘命令解释程序,2.2.5 作业流程,二、批处理作业,submit,输入设备,输出设备,键盘,作业调度程序,作业终止程序,输出程序,OS中输入程序 作业注册程序,后备状态,运行状态,完成状态,
6、又称为预输入方式。为了解决单台设备造成CPU资源浪费的问题而引入的,利用低档个人计算机作为外围设备进行输入处理,将作业输入到后援存储器上,将装有输入作业的后援存储器连接到主机的高速外围设备上与主机相连。,联机输入方式:,2.2.6 一般用户的输入输出方式,有五种方式:,特点:一台主机可以连接一台或多台外设,这些设备可以是键盘、鼠标、显示器、光电笔、打印机等。,在交互式系统中,用户和系统通过交互会话来输入作业,外围设备直接与主机相连。,脱机输入方式:,特点:以牺牲低档机为代价,需要用户干预,灵活性差(遇到紧急任务时无法直接拿到主机上)。,直接耦合方式:把主机和多台外围低档机通过公用的大容量外存直
7、接耦合起来。 特点:成本高(大容量存储器、低档微机),既保留了脱机输入方式快速的特点,又避免了脱机方式下人工干预的缺点。SPOOLONG系统:多台外围设备通过通道或DMA和主机与外存连接起来。作业的输入输出由主机中的操作系统控制网络输入方式:以以上几种输入方式为基础,通过网络把一台主机上的信息输入到另一台主机上。,主机,存储器,低档PC机,低档PC机,存储器,低档PC机,存储器,主机,存储器,低档PC机,低档PC机,存储器,低档PC机,存储器,主机,存储器,低档PC机,低档PC机,存储器,低档PC机,存储器,主机,存储器,低档PC机,低档PC机,存储器,低档PC机,存储器,主机,存储器,低档P
8、C机,低档PC机,存储器,低档PC机,存储器,主机,公用存储器,低档PC机,低档PC机,通道,输出装置,主机系统,输出装置,通道,通道,输入装置,输入装置,外存输入井 输出井,输入管理 输出系统模块 模块,2.3 命令控制界面,用户接口:计算机系统与其用户之间进行交互作用的通路。,用户接口分,命令接口,程序接口,联机用户接口,脱机用户接口,内部命令,外部命令,:由一组系统调用来完成。,作业语句JOB(作业)。内容:账号、作业类别、时间限制、存储空间要求、优先级、注释执行语句(EXEC)DO(数据定义语句):定义数据文件说明语句;/COMMENTS分隔语句;/COMMENTSEOJ作业结束语句。
9、,批处理用户使用JCL (Job Control Language),环境设置命令:改变用户的位置、执行路径 执行权限命令:改变用户的访问权限 系统管理命令:增加、减少用户;开机、关机、计时收费 文件管理命令:管理和控制终端用户的文件 编辑、编译、链接和执行命令 通信命令:主机与远程终端之间的呼叫、连接、中断 资源要求命令:申请资源,联机用户使用键盘操作命令,命令语句种类,2.4Linux与Windows的命令控制界面,2.4.1 Linux的命令控制界面,键盘命令X WindowShell程序,安装Linux操作系统,自己学会使用单机版linux,可以使用图形用户界面。分区的文件格式是Ext
10、2或ext3参见:www.kde.orgwww.gnome.org,一、Linux界面简介,mkdir backupfor file in lsdo cp $file backup /$file if $? -ne 0 then echo copying $file error fidone,(1)系统维护及管理:date,setenv(2)文件操作及管理命令:ls,find(3)进程管理命令:kill(4)磁盘及设备管理:mount,df,du(5)用户管理命令:adduser,userdel(6)文档操作命令:sort(7)网络通信命令:ifconfig,netstat(8)程序开发命令:
11、cc,link(9)X Window管理命令:startx等用户命令通常放在/usr/sbin, /usr/bin,/sbin,/bin下,主要包括9类命令,Shell命令,二、Linux基本命令,(一)注册与注销,1.注册:注册有双重目的 检验用户的使用权限 让Linux系统为你设置环境Login:password:注册通过之后出现提示符$,这时用户可以输入shell命令使用系统,2. 注销当用户完成自己的工作之后,应退出系统,这时就应该进行注销,Linux系统注销有两种方式:,$后打入logout 打入ctrl+D注销后系统出现login:,(二)基本SHELL命令,1. pwd (显示当
12、前工作目录)格式:pwd功能:显示当前工作目录的完整路径名。例: $pwd /user/user01,2. ls (显示目录内容)格式:ls 参数功能:请求系统将目录的内容列表输出。,说明: 命令行中没指定目录时,列当前,若不给任何参数,则按列输出。 通配符的使用同DOS通配符, 常用参数: -a 以ASCII码顺序排列显示全部内容,包括隐含文件“.”和“.” -x 横向显示文件及目录名,用空格分隔 -m 横向显示文件及目录名,用逗号分隔 -r 反顺序显示 -l 每行显示一个文件目录的长列表信息 -s 以每块512字节为单位列出,第一列给出所占用的块数 -t 按时间顺序显示,根据每个文件修改的
13、日期排列,最新修改的文件最先显示,例:$ ls xbin dev etc lib aaa bbb userusr sss,$ ls d bin dev etc lib user usr,$ ls ldrwxrwxr-x 1 s1 bin 256 may 18 1996 /bin/a1drwxrwxr-x 2 s3 bin 128 apr 26 1996 /bin/aadrwxrwxr-x 1 s2 bin 90 jun 20 1996 /bin/a2-rw-rw-r- 1 s2 bin 64 may 18 1997 /bin/b1-rw-rw-r- 1 s3 bin 96 feb 10 199
14、6 /bin/yy,方式: d 目录文件 b 块特别文件 c 字符特别文件 p 先进先出文件 - 普通文件,存取特性:r 可读文件(可以查看目录)w 可写文件(可以在该目录下建立文件和目录)x 可执行文件(可以进入该目录及其子目录),链接数:相同副本数,链接数,用户名,组名,大小,日期,文件名,3. mkdir 格式: mkdir 目录名 功能:建立用户目录,说明:一次可以建立一个或多个目录。每个目录建立后,自动建立两个隐含文件“ .”和“.”,前者表示当前子目录,后者表示当前子目录的上一级目录。,例:创建子目录d1 $ mkdir d1$ mkdir d2 dz$ ls,4. cd(改变当前
15、工作目录)格式:cd 目录名功能:将指定目录作为当前工作目录,说明:目录名缺省时返回到用户主目录。,例:$ pwd/dz/user1$ cd d1,5. rmdir(删除子目录) 格式:rmdir 功能:删除指定子目录,说明:一个目录在被删除之前应为空目录。,例:删除子目录d1 $ rmdir d1,6. date(设置或显示系统日期)格式:date功能:设置或显示系统时间,说明:普通用户只能显示日期,超级用户可以设置日期 。,7. rm格式: rm 选择项 文件1 文件2,文件3 .,功能:删除一个或多个文件 。,说明: 选择项:,-r 对目录和子目录进行递归删除 -i 当删除无写权文件时交
16、互式删除 -f 无条件删除指定的所有文件,例:递归删除目录d1及其子目录 $ rm -r d1,例:删除文件a3 $ rm a3,例:交互式删除当前目录下的所有文件 $ rm -i *,8. cp格式1:cp -i 文件1,文件2. 目标文件,功能:(1) 拷贝一个文件到另一个文件,(2)拷贝一个或多个文件到一个目录下,要求目标目录事先建立。,格式2:cp -ir 目录1 目录2,例:将文件a1复制到另一个文件abf1中 $ cp a1 abf1,功能:(3) 拷贝一个目录到另一个目录下,说明:-i 拷贝时进行确认是否覆盖已存在的目标文件(identify)-r 递归拷贝,用于将一个目录拷贝到
17、另一个目录下(recursion ),例:将文件a1, a2, a3, a6拷贝到目录d21下 $ cp a1 a2 a3 a6 d21 $ cp -ir d1 d2,9. man格式:man ,功能:显示指定命令的联机帮助,10. mv格式:mv -f 文件1 文件2 . 目标文件,功能:重新命名或重新分配一个或多个文件,说明:,(1) 将文件改名 $mv a1 a8,(2) 将目录改名 $mv u1 u8,2.4.2 Windows的命令控制界面,键盘命令GUI,安装Windows操作系统,自己学会使用windows,可以使用图形用户界面,尝试使用字符界面。分区的文件格式是FAT32或者N
18、TFS参见:HTTP:/WWW.MICROSOFT.COM,一、Windows界面简介,(1)系统信息命令:date,SystemInfo(2)系统操作命令:shutdown,taskkill(3)文件系统命令:copy,del,mkdir(4)网络通信命令:ping,netstat,主要包括4类命令,批处理文件,二、Windows基本命令,1. cd (显示当前工作目录)格式:cd功能:显示当前工作目录的完整路径名。例: C:aaacdC:aaa,2. dir (显示目录内容)格式:dir 参数功能:请求系统将目录的内容列表输出。,说明: 命令行中没指定目录时,列当前目录下的文件。 支持通配
19、符,即:*代表任意一个字符串,?代表任意一个字符,3. md 格式: md 目录名 功能:建立用户目录,说明:每个目录建立后,自动建立两个隐含文件“ .”和“.”,前者表示当前子目录,后者表示当前子目录的上一级目录。,例:创建子目录d1 c:md d1c: md d2,4. cd(改变当前工作目录)格式:cd 目录名功能:将指定目录作为当前工作目录,说明:输入cd时返回到根目录。,例:C:aaacdC:aaaC:aaacdC:,5. del(删除文件或子目录) 格式:del 功能:删除指定文件或子目录,说明:(1)一个目录在被删除之前应为空目录。(2)文件名部分支持通配符。,6. date(设
20、置或显示系统日期)格式:date功能:设置或显示系统时间,7. copy格式:copy 源文件 目标文件,2.5系统调用,系统调用是属于程序接口的范畴,程序接口的职责是:装入并创建一个准备开始运行的程序(进程)为程序异常终止给出适当的响应。,一、什么是系统调用,系统调用:通过访管指令对OS核心程序所做的调用。系统调用程序:被调用的核心程序叫系统调用程序。,访管指令又叫系统调用命令,如C语言中fopen()函数。而open()是系统调用;在DOS中int13是系统调用。,通过系统调用命令中断现行程序,进而转去执行相应的子程序,以完成系统功能;完成后,控制又返回到发出系统调用的命令之后的一条命令,
21、被中断的程序将继续执行。,系统调用的流程,用户程序,系统调用,调用,系统功能,返回,用户程序,目态,管态,可以嵌套,用户程序,系统功能,系统功能,系统调用,系统调用,目态,管态,管态,系统调用的流程图,二、系统调用的执行过程,保护现场”信息:把系统调用命令的编号等信息, 放入约定的存储单元。根据系统调用的编号、访问系统调用入口表。 找到相应子程序的入口地址,然后转去执行系统 调用程序。恢复”现场”并把系统调用的返回参数或参数区首址 放入指定的通用寄存器中以供用户程序使用。,2.6Windows和Linux下的系统调用,一、Linux下的系统调用,1.Linux下系统调用的构成Linux下的系统
22、调用由两部分组成:核心函数和接口函数,设备管理类系统调用:申请设备、释放设备、I/O重定向、设备属性获取及设置、逻辑上连接和释放设备 文件系统操作类系统调用:建立文件、打开文件、关闭文件、读写文件、删除文件等进程控制类系统调用:终止或异常终止进程、创建、撤销、获取进程属性等。存储管理类系统调用:申请和释放内存管理类系统调用:获取和设置日期及时间等通信类系统调用:建立或断开通信连接等,2.Linux下系统调用 的分类,二、Windows下的系统调用,1. Windows下系统调用的使用方式Windows下的系统调用被编写成不同的库函数放入动态链接库DLL中,这些库函数构成了Windows操作系统
23、提供给程序员的编程界面,该界面称为应用编程接口API,窗口管理类:完成创建和使用窗口、提示用户输入等功能,包括按钮、光标、对话框等 图形设备接口类:完成在显示器、打印机等设备上生成图形化的输出结果,例如:GDI函数、Color函数等系统服务类:完成访问计算机资源及底层OS特性等功能,例如:内存管理、进程管理、线程管理、文件管理等国际特性类:帮助用户编写国际化应用程序,主要包括Unicode和字符集函数和输入方法编辑器函数等网络服务类:帮助网络上个计算机创建和管理共享资源的链接,例如:Windows网络函数、Socket、NetBios、Net等,2. Windows下系统调用 的分类,27 小结,用户界面定义、用户的分类、用户界面的分类及适用范围作业的定义、分类、控制、组织作业的状态及转换一般用户的输入输出方式用户接口的分类Window和Linux的用户接口类型系统调用的定义及执行流程Windows和Linux下的系统调用,