1、用户工作环境用户工作环境用户工作环境用户工作环境运行一个应用程序的过程运行一个应用程序的过程运行一个应用程序的过程运行一个应用程序的过程操作系统用户界面操作系统用户界面操作系统用户界面操作系统用户界面系统功能调用系统功能调用系统功能调用系统功能调用1操作系统的用户接口操作系统的用户接口主要内容主要内容用户工作环境用户工作环境操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境2将操作系统的必要部分装入主存并对系统进行初始化工作,最终使系统处于命令接收状态。操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境1.用户工作环境的形成用户工作环境的形成(1)系统提供各种硬件、软件资源
2、系统提供各种硬件、软件资源(2)设计并提供使用方便的命令集合设计并提供使用方便的命令集合(3)将将OS装入计算机并初始化,形成可供使用的工作环境装入计算机并初始化,形成可供使用的工作环境2.操作系统的初启操作系统的初启(1)(1)系统引导的任务系统引导的任务系统引导的任务系统引导的任务3OS核心文件存储在系统本身的存储设备中,由系统自己将OS核心程序读入主存并运行,建立一个操作环境。适用于微机和大多数系统适用于微机和大多数系统OS主要文件不放在系统本身的存储设备中,在系统启动后执行下装操作,从另外的计算机系统中将操作系统常驻部分传送到该计算机中,使它形成一个操作环境。适用于多计算机系统、由主控
3、机与前端机构成的系统以适用于多计算机系统、由主控机与前端机构成的系统以 及分布式系统。及分布式系统。现场独立引导方式现场独立引导方式(滚雪球方式滚雪球方式)辅助下装方式辅助下装方式(2)(2)系统引导的方式系统引导的方式系统引导的方式系统引导的方式操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境4 初始引导初始引导系统加电;执行初始引导程序,对系统硬件和配置进行自检,保证系统没有硬件错误;从硬盘中读入操作系统引导程序,并将控制权交给该程序模块。引导程序执行引导程序执行引导程序执行,将操作系统核心文件读入内存,并将控制交给核心的初始化程序。(3)(3)独立引导方式独立引导方式独立引导
4、方式独立引导方式 (滚雪球方式滚雪球方式滚雪球方式滚雪球方式)的过程的过程的过程的过程操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境5 核心初始化核心初始化 初始化系统数据结构及参数初始化系统数据结构及参数系统加电建立进程有关的数据结构;获得自由存储空间的容量,建立存储管理的数据结构 ;建立系统设备和文件系统的数据结构;初始化时钟。系统初始化系统初始化完善OS的操作环境,装载命令处理程序(或图形用户界面),并初始化;在多用户系统中,为每个终端建立命令解释进程,使系统处于命令接收状态。操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境6 Linux系统是以滚雪球的方式启动
5、系统是以滚雪球的方式启动 加电或复位 BIOS的启动 Boot Loader OS初始化 系统加电或复位系统加电或复位对主存中所有的数据清零,对内存进行校验,若无错,CS:IP BIOS入口。(4)Linux(4)Linux系统初启系统初启系统初启系统初启操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境7 BIOS启动启动 在ROM中的引导程序放在固定位置:FFFF:0000 CPU从这里开始执行。上电自检;对硬件设备进行检测和连接,并将测得的数据送入BIOS数据区;从盘中读入Boot Loader(引导程序)。从硬盘启动时,读入零柱面零磁道1扇区MBR(Master Boot R
6、ecord),将控制权交Boot Loader。Loader(引导程序引导程序)功能:将OS读入内存,并将控制权交给OS的初始化程序。操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境8 系统核心初始化系统核心初始化(Setup.s)Setup的工作的工作检查调入内存中的代码检查调入内存中的代码;获取内存容量信息,设置设备模式;获取内存容量信息,设置设备模式;屏蔽中断,准备进入保护模式;屏蔽中断,准备进入保护模式;设置中断描述符表设置中断描述符表(idt),全局描述符表,全局描述符表(gdt);控制权交给;控制权交给 Heads。Heads的工作的工作对中断向量表作准备工作;对中断向
7、量表作准备工作;检查检查CPU类型;类型;调用调用Setup_paging进行页面初始化;进行页面初始化;调用调用main.c中的中的Start_kernel()。操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境9 Start_kernel()的工作的工作对与对与CPU、内存等最基本硬件相关部分进行初始化;、内存等最基本硬件相关部分进行初始化;对中断向量表进行初始化;对中断向量表进行初始化;为进程调度程序作准备;为进程调度程序作准备;设置基准时钟;设置基准时钟;内核的内存分配;内核的内存分配;对文件系统进行初始化;对文件系统进行初始化;建立建立init进程。进程。init进程对每一
8、个联机终端建立“getty”进程,getty在终端上显示“login”,等待用户登录。操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境10所谓系统生成,就是指为了满足物理设备的约束和需要的系统功能,通过组装一批模块来产生一个清晰的、使用方便的操作系统的过程。2.系统生成系统生成(1)(1)什么是系统生成什么是系统生成什么是系统生成什么是系统生成根据硬件部件确定系统构造的参数,编辑系统模块的参数,并且连接系统模块成为一个可执行的程序。(2)(2)系统生成的内容系统生成的内容系统生成的内容系统生成的内容操作系统的用户接口操作系统的用户接口用户工作环境用户工作环境应用程序的处理应用程序的
9、处理操作系统的用户接口操作系统的用户接口应用程序的处理应用程序的处理111.处理应用程序的步骤处理应用程序的步骤 (1)(1)编辑编辑编辑编辑 建立一个新文件,或对已有的文件中的错误进行修改。(2)(2)编译编译编译编译 将源程序翻译成浮动的目标代码。操作系统的用户接口操作系统的用户接口应用程序的处理应用程序的处理 (3)(3)连接连接连接连接 主程序和其他所需要的子程序和例行程序连接装配在一 起,使之成为一个可执行的、完整的主存映像文件。(4)(4)运行运行运行运行 将主存映像文件调入主存,启动运行,得出计算结果。12编译器或汇编器目标模块源程序其他目标模块主存中运行动态装入的系统库编译时间
10、编译时间连接装配时间连接装配时间动态链接加载运行时间运行时间连接装配程序主存映像文件应用程序处理步骤示意图应用程序处理步骤应用程序处理步骤操作系统的用户接口操作系统的用户接口应用程序的处理应用程序的处理132.连接类型连接类型 (1)(1)静态连接静态连接静态连接静态连接 一个源程序经编译后,生成一个可重定位的目标模块,并 产生内部符号表和外部符号表,供连接程序(Link)使用。内部符号表内部符号表本模块可以被其他程序调用的入口点。外部调用表外部调用表本模块要调用的外部的程序模块名。操作系统的用户接口操作系统的用户接口应用程序的处理应用程序的处理14 连接需要做的工作连接需要做的工作将各模块连
11、接成为一个整体;构造全程符号表,在其中填写模块的逻辑地址;查找各程序段的外部调用表,填入对应调用函数的地址。静态连接的缺点静态连接的缺点静态连接将所需的外部函数链接到目标文件中形成为一个可执行文件。若多个应用程序都调用了同一个库中的外部函数,那么,多个应用程序的目标文件中都会包含这个外部函数对应的代码。操作系统的用户接口操作系统的用户接口应用程序的处理应用程序的处理15(2)(2)动态连接动态连接动态连接动态连接 动态连接不需要将外部函数链接到目标文件中。而是在应 用程序中需要调用外部函数的地方作记录,并说明要使用 的外部函数名和引用入口号。形成函数调用链表形成函数调用链表 所需支持所需支持
12、DLL(动态链接库动态链接库)当 Windows的装载程序将应用程序和DLL装入主存后,装 载程序会遍历函数调用链表,将DLL中函数在主存的入口 (段:偏移)填入链表中的每个结点。操作系统的用户接口操作系统的用户接口应用程序的处理应用程序的处理用户接口用户接口操作系统的用户接口操作系统的用户接口用户接口用户接口161.什么是操作系统的用户界面什么是操作系统的用户界面 操作系统的用户界面(或称接口)是操作系统提供给用户与计 算机打交道的外部机制。用户能够借助这种机制和系统提供 的手段来控制用户所在的系统。操作系统的用户接口操作系统的用户接口用户接口用户接口 操操 作作 系系 统统用户通过操作系统
13、使用计算机示意图172.操作系统提供的用户界面操作系统提供的用户界面 (1)(1)操作界面操作界面操作界面操作界面 (命令接口命令接口命令接口命令接口)用户使用操作界面来组织工作流程和控制程序的运行。(2)(2)系统功能服务界面系统功能服务界面系统功能服务界面系统功能服务界面 (程序接口程序接口程序接口程序接口)用户程序在其运行过程中,使用系统功能调用来请求操作 系统的服务。操作命令:操作命令:作业控制语言 键盘命令 图形界面 操操 作作 系系 统统系统功能调用系统功能调用操作系统提供的用户接口示意图操作系统的用户接口操作系统的用户接口用户接口用户接口183.操作命令与操作系统类型的关系操作命
14、令与操作系统类型的关系 (1)作业控制语言作业控制语言 批处理操作系统批处理操作系统 (2)键盘命令键盘命令 分时操作系统分时操作系统 个人计算机操作系统个人计算机操作系统 (3)图形用户界面图形用户界面 分时操作系统分时操作系统 个人计算机操作系统个人计算机操作系统 实际操作系统实际操作系统:MS-DOS Windows Linux(UNIX)提供什么样的用户界面提供什么样的用户界面?操作系统的用户接口操作系统的用户接口用户接口用户接口194.实例操作系统提供的用户界面实例操作系统提供的用户界面 (1)MS-DOS 键盘命令键盘命令 系统功能调用系统功能调用 (2)Windows 图形用户界
15、面图形用户界面 系统功能调用系统功能调用 (3)Linux(UNIX)键盘命令键盘命令(XWindow)系统功能调用系统功能调用操作系统的用户接口操作系统的用户接口用户接口用户接口系统功能调用系统功能调用操作系统的用户接口操作系统的用户接口系统功能调用系统功能调用201.什么是系统功能调用什么是系统功能调用(1)(1)操作如何为用户提供服务操作如何为用户提供服务操作如何为用户提供服务操作如何为用户提供服务 操作系统提供实现各种功能的例行子程序。操作系统提供实现各种功能的例行子程序。应应用用程程序序 i 系统调用系统调用 中中 央央处理机处理机存储器存储器外外 部部设设 备备应应 用用程程 序序
16、计算机系统部件计算机系统部件系统功能调用示意图操作系统的用户接口操作系统的用户接口系统功能调用系统功能调用21(2)(2)如何调用操作服务功能如何调用操作服务功能如何调用操作服务功能如何调用操作服务功能 采用统一进管方式采用统一进管方式 系统提供系统提供 访管指令、访管中断访管指令、访管中断 显示一个显示一个字符串字符串读文件读文件 应用程序应用程序 j read();操作系统统功能模块操作系统统功能模块 访管指令访管指令(自愿进管指令自愿进管指令)svc n svc 表示机器访管指令的操作码记忆符,表示机器访管指令的操作码记忆符,n为地址码为地址码(功能号功能号)系统功能调用示意图操作系统的
17、用户接口操作系统的用户接口系统功能调用系统功能调用22 访管中断访管中断 当处理机执行到访管指令时发生中断,该中断称为访管中当处理机执行到访管指令时发生中断,该中断称为访管中 断,它表示正在运行的程序对操作系统的某种需求。断,它表示正在运行的程序对操作系统的某种需求。操作系统提供实现各种功能的例行子程序,其中的每一个功能对应访管 指令的一个功能号。例如:svc 0 显示一个字符显示一个字符 svc 1 打印一个字符串打印一个字符串 (3)(3)什么是系统调用什么是系统调用什么是系统调用什么是系统调用系统功能调用是用户在程序一级请求操作系统服务的一种系统功能调用是用户在程序一级请求操作系统服务的
18、一种手段,它是带有一定功能号的手段,它是带有一定功能号的“访管指令访管指令”。其功能是由操。其功能是由操作系统中的程序完成的,即由软件方法实现的。作系统中的程序完成的,即由软件方法实现的。操作系统的用户接口操作系统的用户接口系统功能调用系统功能调用234.系统调用的实现系统调用的实现 a1a0ai例行子程序例行子程序入口地址表入口地址表A+0A+1A+i保护现场;保护现场;取取 i 值;值;按按i 值转移;值转移;恢复现场;恢复现场;访管中断访管中断处理程序处理程序 svc i 用户程序用户程序+ASub mam例行子程序例行子程序Sub 0Sub 1Sub ia0a1ai系统调用的执行过程操作系统的用户接口操作系统的用户接口系统功能调用系统功能调用第第3章章 操作系统的用户接口操作系统的用户接口小结小结操作系统的用户接口操作系统的用户接口小结小结24用户程序的步骤以及个步骤之间的关系静态连接和动态链接的区别操作系统提供哪两个接口,使用场合举例说明实际操作系统的用户界面系统调用的概念及实现方法操作系统的用户接口操作系统的用户接口小结小结