Chapter3用户界面_第1页
Chapter3用户界面_第2页
Chapter3用户界面_第3页
Chapter3用户界面_第4页
Chapter3用户界面_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

操作系统的用户界面,操作系统的用户界面,系统生成和系统初启应用程序的处理用户界面系统功能调用,操作系统的用户界面主要内容,1.系统生成什么是系统生成所谓系统生成,就是指为了满足物理设备的约束和需要的系统功能,通过组装一批模块来产生一个清晰的、使用方便的操作系统的过程。系统生成的内容根据硬件部件确定系统构造的参数,编辑系统模块的参数,并且连接系统模块成为一个可执行的程序。系统生成过程中需确定的信息,操作系统的用户界面系统生成和系统初启,2.操作系统的初启系统引导的任务操作系统以文件的形式(可执行的目标代码)存储在某种存储介质中。系统引导也叫系统初启,其任务是将操作系统的必要部分装入主存并对系统进行初始化工作,最终使系统处于命令接收状态。系统引导的三个阶段初始引导核心初始化系统初始化,操作系统的用户界面系统生成和系统初启,系统引导的方式独立引导方式(滚雪球方式)OS核心文件存储在系统本身的存储设备中,由系统自己将OS核心程序读入主存并运行,建立一个操作环境。适用于微机和大多数系统,辅助下装方式OS主要文件不放在系统本身的存储设备中,在系统启动后执行下装操作,从另外的计算机系统中将操作系统常驻部分传送到该计算机中,使它形成一个操作环境。适用于多计算机系统、由主控机与前端机构成的系统以及分布式系统。,操作系统的用户界面系统生成和系统初启,3.独立引导方式(滚雪球方式)的过程初始引导系统加电;执行初始引导程序,对系统硬件和配置进行自检,保证系统没有硬件错误;从硬盘中读入操作系统引导程序,并将控制权交给该程序模块。引导程序执行引导程序执行,将操作系统核心文件读入内存,并将控制交给核心的初始化程序。,操作系统的用户界面系统生成和系统初启,核心初始化初始化系统数据结构及参数系统加电建立进程有关的数据结构;获得自由存储空间的容量,建立存储管理的数据结构;建立系统设备和文件系统的数据结构;初始化时钟。系统初始化完善OS的操作环境,装载命令处理程序(或图形用户界面),并初始化;在多用户系统中,为每个终端建立命令解释进程,使系统处于命令接收状态。,操作系统的用户界面系统生成和系统初启,4.Linux系统初启Linux系统是以滚雪球的方式启动加电或复位BIOS的启动BootLoaderOS初始化系统加电或复位对主存中所有的数据清零,对内存进行校验,若无错,CS:IPBIOS入口。,操作系统的用户界面系统生成和系统初启,BIOS启动在ROM中的引导程序放在固定位置:FFFF:0000CPU从这里开始执行。上电自检;对硬件设备进行检测和连接,并将测得的数据输入到BIOS数据区;从盘中读入BootLoader(引导程序)。从硬盘启动时,读入零柱面零磁道1扇区MBR(MasterBootRecord),将控制权交BootLoader,Loader(引导程序)功能:将OS读入内存,并将控制权交给OS的初始化程序。,操作系统的用户界面系统生成和系统初启,系统核心初始化(由Setup.S、Head.S和start_kernel()依次执行来完成)Setup.S的工作检查调入内存中的代码;获取内存容量信息,设置设备模式;屏蔽中断,准备进入保护模式;设置中断描述符表(idt),全局描述符表(gdt);控制权交给Head.S。Head.S的工作对中断向量表作准备工作;检查CPU类型;调用Setup_paging进行页面初始化;调用main.c中的Start_kernel()。,操作系统的用户界面系统生成和系统初启,start_kernel()的工作对与CPU、内存等最基本硬件相关部分进行初始化;对中断向量表进行初始化;为进程调度程序作准备;设置基准时钟;内核的内存分配;对文件系统进行初始化;建立init进程。init进程对每一个联机终端建立“getty”进程,getty在终端上显示“login”,等待用户登录。,操作系统的用户界面系统生成和系统初启,1.作业与作业步作业计算机系统按指定步骤对初始数据进行处理并得到计算结果的加工工作。作业步加工工作中的一个步骤称为作业步。2.作业处理步骤编辑建立一个新文件,或对已有的文件中的错误进行修改。编译将源程序翻译成浮动的目标代码。,操作系统的用户界面应用程序的处理,连接主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的、完整的主存映像文件。运行将主存映像文件调入主存,启动运行,得出计算结果。作业步之间的关系每个作业步运行的结果产生下一个作业步所需要的文件;一个作业步能否正确地执行,依赖于前一个作业步是否成功地完成。,操作系统的用户界面应用程序的处理,3.连接类型静态连接一个源程序经编译后,生成一个可重定位的目标模块,并产生内部符号表和外部调用表,供连接程序(Link)使用。内部符号表本模块可以被其他程序调用的入口点。外部调用表本模块要调用的外部的程序模块名。,操作系统的用户界面应用程序的处理,连接需要做的工作将各模块连接成为一个整体;构造全程符号表,在其中填写模块的逻辑地址;查找各程序段的外部调用表,填入对应调用函数的地址。静态连接的缺点静态连接将所需的外部函数链接到目标文件中形成为一个可执行文件。若多个应用程序都调用了同一个库中的外部函数,那么,应用程序的目标文件中都包含了这个外部函数对应的代码。,操作系统的用户界面应用程序的处理,动态链接动态链接不需要将外部函数链接到目标文件中。而是在应用程序中需要调用外部函数的地方作记录,并说明要使用的外部函数名和引用入口号。形成函数调用链表所需支持DLL(动态链接库)当Windows的装载程序将应用程序和DLL装入主存后,装载程序会遍历函数调用链表,将DLL中函数在主存的入口(段:偏移)填入链表中的每个结点。,操作系统的用户界面应用程序的处理,1.什么是操作系统的用户界面操作系统的用户界面(或称接口)是操作系统提供给用户与计算机打交道的外部机制。用户能够借助这种机制和系统提供的手段来控制用户所在的系统。,操作系统的用户界面用户界面,2.操作系统提供的用户界面操作界面(命令接口)用户使用这个操作界面来组织工作流程和控制程序的运行。系统功能服务界面(程序接口)用户程序在其运行过程中,使用系统功能调用来请求操作系统的服务。,操作命令:作业控制语言键盘命令图形界面,系统功能调用,操作系统的用户界面用户界面,3.操作命令与操作系统类型的关系作业控制语言批处理操作系统键盘命令分时操作系统个人计算机操作系统图形用户界面分时操作系统个人计算机操作系统,实际操作系统:MS-DOSWindowsLinux(UNIX)提供什么样的用户界面?,操作系统的用户界面用户界面,4.实例操作系统提供的用户界面MS-DOS键盘命令系统功能调用Windows图形用户界面系统功能调用Linux(UNIX)键盘命令图形用户界面(X-Window)系统功能调用,操作系统的用户界面用户界面,1.系统功能调用的定义,操作系统如何为用户提供服务操作系统提供实现各种功能的例行子程序。,操作系统的用户界面系统功能调用,应用程序如何调用操作服务功能?,采用统一进管方式系统提供访管指令、访管中断,访管指令(自愿进管指令)svcn其中,svc表示机器访管指令的操作码记忆符,n为地址码(功能号),操作系统的用户界面系统功能调用,访管中断当处理机执行到访管指令时就发生中断,该中断称为访管中断,它表示正在运行的程序对操作系统的某种需求。,操作系统提供实现各种功能的例行子程序,其中的每一个功能对应访管指令的一个功能号。举例如下:svc0显示一个字符svc1打印一个字符串,什么是系统调用系统功能调用是用户在程序一级请求操作系统服务的一种手段,它是带有一定功能号的“访管指令”。其功能是由操作系统中的程序完成的,即由软件方法实现的。,操作系统的用户界面系统功能调用,系统调用与一般的函数调用的不同点系统调用是通过中断方式转向相应子程序的,它工作在核心态(即特权方式);而一般函数调用,仅仅是在用户态下的地址转移。,系统调用与一般的过程调用的相同点改变指令流程重复执行和公用改变指令流程后需要返回原处,操作系统的用户界面系统功能调用,操作系统的用户界面系统功能调用,2.系统功能调用的实现,3.Linux系统功能调用的类型,进程控制创建一进程(fork)结束进程(exit)等待子进程结束(wait)执行一个文件(exec)文件操纵创建文件(creat)打开文件(open)关闭文件(close)读文件(read)写文件(write),进程通信获消息队列(msgget)发送消息(msgsend)接收消息(msgrcv)系统维护设置时间(stime)获得时间(time)获得进程和子进程时间(times)设置文件访问和修改时间(utime)获得当前unix系统的名称(uname),操作系统的用户界面系统功能调用,4.Linux系统功能调用的过程在Linux系统中,系统调用是通过中断实现的;当执行了int0 x80指令而发生的软件中断;系统自动将用户态切换为核心态来处理该事件,执行自陷处理程序(系统调用处理程序);中断处理结束,系统将返回用户态。有很多个系统调用,中断处理程序如何知道调用的是哪一个?,操作系统的用户界面系统功能调用,解决方法,把系统调用进行编号。形成一张“系统调用表”。需要调用open()时,先把open()的编号5放在ax寄存器中,再发生中断。中断处理程序根据ax查表,得知需要调用的是open()。,操作系统的用户界面系统功能调用,系统功能调用图示,操作系统的用户界面系统功能调用,系统功能调用的例getuid系统调用过程,操作系统的用户界面系统功能调用,比如有这样一段程序open();

温馨提示

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

评论

0/150

提交评论