第3章用户界面..ppt_第1页
第3章用户界面..ppt_第2页
第3章用户界面..ppt_第3页
第3章用户界面..ppt_第4页
第3章用户界面..ppt_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

1 第三章用户界面 一 用户工作环境 二 运行一个用户程序的过程 三 操作系统的用户界面 四 系统功能调用 2 一 用户工作环境 一 用户工作环境的形成1 系统要提供各种硬件 软件资源2 设计合理的操作命令3 形成一个可供使用的工作环境将操作系统装入计算机并初始化 例如 分时系统中 每个有用户标识 名字和口令 系统给每个联机的用户分配一个工作区和一个库 各个终端用户能同时作会话处理 获得交互工作环境 3 二 系统生成和系统启动 1 系统生成系统生成是指在一台裸机上 或者安装新的操作系统 安装操作系统的过程 一般情况下 系统生成的工作是由系统程序员来完成的 在系统生成的过程中涉及到机器的硬件配置和操作系统核心参数的设置 还涉及软件系统的版权的问题 在微机上的系统生成用户是可以完成的 比如安装Windows7 Windows8 Mac Linux等 4 1 什么是系统生成所谓系统生成 就是指为了满足物理设备的约束和需要的系统功能 通过组装一批模块来产生一个清晰的 使用方便的操作系统的过程 2 系统生成的内容根据硬件部件确定系统构造的参数 编辑系统模块的参数 并且连接系统模块成为一个可执行的程序 系统生成过程中要确定 CPU类型 主存大小 可用的设备 最大进程数 进程调度策略 缓冲区大小等 5 2 系统初启 系统引导 在系统生成后 用户每次使用机器时必须启动系统 对于大 中 小型计算机来说 系统启动的工作是由系统程序员 或系统管理员来完成的 对于微机来说 是由用户自己完成 1 系统初启的任务把操作系统的必要部分装入主存并使系统运行 最终处于命令接收状态 系统引导分为三个阶段 初始引导 把系统核心装入主存中指定位置 并指定启动地址核心初始化 执行初启子程序 初始化核心数据 系统初始化 为用户系统做准备 6 2 系统引导的方式 两种方式 1 独立引导 bootup 方式 滚雪球方式 OS核心文件存储在系统本身的存储设备中 由系统自己将OS核心程序读入内存并运行 最后建立一个操作环境适用于微机和大多数系统 2 辅助下装 download 方式 OS主要文件不放在系统本身的存储设备中 而是在系统启动后 执行下装操作 从另外的计算机系统中将操作系统常驻部分传送到该计算机中 使它形成一个操作环境 优点 可以节省较大的存储空间适用于多计算机系统 分布式系统 7 3 独立引导方式 滚雪球方式 的过程 1 初始引导 自举 系统加电 硬件负责将ROM中初始引导程序读入主存 执行初始引导程序 对系统硬件和配置进行自检 保证系统没有硬件错误 从硬盘中读入操作系统引导程序 并将控制权交给该程序模块 引导程序执行 将操作系统核心文件读入内存 并将控制交给核心的初始化程序 8 2 核心初始化初始化系统数据结构及参数 建立进程有关的数据结构 获得自由存储空间的容量 建立存储管理的数据结构 建立系统设备和文件系统的数据结构 初始化时钟 3 系统初始化 完善OS的操作环境 装载命令处理程序 或图形用户界面 并初始化 在多用户系统中 为每个终端建立命令解释进程 使系统处于命令接收状态 9 3 实例操作系统的引导过程 1 MS DOS启动 BIOS的初始引导程序 读入系统盘中的引导程序 由引导程序读入操作系统核心程序 IO SYS I O初始化 DOS SYS 文件系统 简单内存初始化 COMMAND COM 简单任务管理 进入命令提符状态C 10 2 Windows系统的引导 打开机器电源 ROM中引导程序运行 装入系统盘中的主引导程序 主引导块程序执行 读入操作系统核心程序 系统初始化的工作 包括系统资源初始状态的设置 系统主要数据结构初始化 引导图形用户界面程序 图形用户界面运行 生成用户的图形用户界面 系统初启工作完成 11 3 UNIX系统初启 磁盘中的引导块 第0块 读入主存 引导块中的程序将核心从文件系统中装入主存 存储空间及其管理机构初始化 与设备有关的初始化 与文件系统有关的初始化 核心页表寄存器与核心数据的初始化 创建0 进程和1 进程 0 永远处于核心态的唯一进程 1 进程创建各终端进程 终端进程运行shell 各用户终端上出现login 12 4 Linux系统初启Linux系统是以滚雪球的方式启动的 加电或复位 BIOS的启动 BootLoader OS初始化 系统加电或复位对内存中所有的数据清零 对内存进行校验 若无错 CS IP BIOS入口 其中 CS为代码段地址 IP为要执行的下一条指令地址 13 BIOS启动在ROM中的引导程序放在固定位置 FFFF 0000CPU从这里开始执行 上电自检 对硬件设备进行检测和连接 并将测得的数据 BIOS数据区 从盘中读入BootLoader 引导程序 从硬盘启动时 读入零柱面零磁道1扇区MBR MasterBootRecord 将控制权交BootLoader 14 BootLoader 引导程序 功能 将OS读入内存 并将控制权交给OS的初始化程序 LILOLILO是一个在Linux环境下编写的引导程序 它可以引导Linux 也可以引导其他操作系统 如Windows 它可以作为Linux分区的引导扇区内的启动程序 也可以放在MBR中完全控制BootLoader的全过程 主要功能 将Linux内核 或其他操作系统分区 读入内存提供一个命令行接口 可由用户选择OS 15 系统核心初始化 Setup s Setup的工作a 检查调入内存中的代码 b 获取内存容量信息 设置设备模式 c 屏蔽中断 准备进入保护模式 d 设置中断描述符表 idt 全局描述符表 gdt 控制权交给Head s Head s的工作a 对中断向量表作准备工作 b 检查CPU类型 c 调用Setup paging进行页面初始化 d 调用main c中的Start kernel 16 Start kernel的工作a 对与CPU 内存等最基本硬件相关部分进行初始化 b 对中断向量表进行初始化 c 为进程调度程序作准备 d 设置基准时钟 e 内核的内存分配 f 对文件系统进行初始化 g 建立init进程 init进程对每一个联机终端建立 getty 进程getty在终端上显示 login 等待用户登录 17 三 运行一个用户程序的过程1 作业计算机系统按指定步骤对初始数据进行处理并得到计算结果的加工过程 2 作业步加工工作中的一个步骤称为作业步 18 3 作业处理步骤 以一个C程序为例 1 编辑建立一个新文件 或对已有的文件中的错误进行修改 2 编译将源程序翻译成浮动的目标代码 3 连接主程序和其他所需要的子程序和例行程序连接装配在一起 使之成为一个可执行的 完整的主存映像文件 4 运行将主存映像文件调入主存 并启动运行 最后得出计算结果 19 4 作业步之间的关系user cuser objuser exe编辑 编译 连接 运行第一个第二个第三个第四个作业步作业步作业步作业步 每个作业步运行的结果产生下一个作业步所需要的文件 一个作业步能否正确地执行 依赖于前一个作业步是否成功地完成 随着操作系统技术的发展 对应程序处理步骤发生了变化 现代操作系统在虚拟存储技术基础上 采用动态链接技术 20 5 连接类型 1 静态连接一个源程序经编译后 生成一个可重定位的目标模块 并产生内部符号表和外部符号表 供连接程序 Link 使用 内部符号表 本模块可以被其他程序调用的入口点 外部符号表 本模块要调用的外部的程序模块名 21 连接时完成的工作 将各模块连接成为一个整体 构造全程符号表 在其中填写模块的逻辑地址 查找个程序段的外部调用表 填入对应调用函数的地址 静态连接的缺点静态连接将所需的外部函数链接到目标文件中形成为一个可执行文件 若多个应用程序都调用了同一个库中的外部函数 那么 应用程序的目标文件中都包含了这个外部函数对应的代码 22 2 动态链接动态链接不需要将外部函数链接到目标文件中 而是在应用程序中需要调用外部函数的地方作记录 并说明要使用的外部函数名和引用入口号 形成函数调用链表 所需支持 DLL 动态链接库 当Windows的装载程序将应用程序和DLL装入内存后 装载程序会遍历形成函数调用链表 将DLL中函数在内存的入口 段 偏移 填入链表中的每个结点 23 三 操作系统的用户界面 24 一 操作系统用户界面的概念1 什么是操作系统的用户界面操作系统的用户界面 或称接口 是操作系统提供给用户与计算机打交道的外部机制 用户能够借助这种机制和系统提供的手段来控制用户所在的系统 25 2 操作系统提供的用户界面 1 操作界面 命令接口 用户使用这个操作界面来组织工作流程和控制程序的运行 2 系统功能服务界面 程序接口 用户程序在其运行过程中 使用系统功能调用来请求操作系统的服务 3 操作界面的分类与发展 作业控制语言 键盘命令 图形化用户界面 26 二 操作命令1 操作命令与操作系统类型的关系 作业控制语言 批处理操作系统 键盘命令 分时操作系统个人计算机操作系统 图形用户界面 分时操作系统个人计算机操作系统 实际操作系统 MS DOSWindowsUNIX Linux 提供什么样的用户界面 27 操作系统提供的用户界面的例子 MSDOS键盘命令系统功能调用Windows系统图形用户界面系统功能调用UNIX系统 linux 键盘命令系统功能调用 28 2 作业控制语言在脱机方式下系统提供作业控制语言 JCL 用于写批处理系统的作业说明书 由作业申请表和操作说明书 作业控制语言是一种命令语言 包括了对作业处理的命令和资源请求命令 3 键盘命令系统为联机用户 交互作用的用户 提供键盘命令 用户通过这一组命令直接控制和干预程序的运行 分时操作系统诞生后 用户可以通过用户终端直接使用计算机 并且可与计算机 对话 这就是所谓的交互式计算机 用户可通过键盘直接向计算机发布各种命令 计算机可接受 执行用户命令 终端与主机通信的过程可以分为注册 通信 注销三步 29 三 操作命令的发展 图形用户界面1 什么是图形化的用户界面图形化用户界面是良好的用户交互界面 它将菜单驱动 图符驱动 面向对象技术等集成在一起 形成一个图文并茂的视窗操作环境 2 图形化的用户界面的特点 所有程序以统一的窗口形式出现 提供统一的菜单格式 系统资源 系统命令 操作功能以图标表示 统一的操作方法 30 四 系统功能调用 如下用户程序段newbase int malloc 10000 sizeof int if newbase exit OVERFLOW 程序段中exit进程终止 程序序结束 1 操作系统如何为用户程序提供服务 操作系统提供实现各种功能的例行子程序 用户程序对这些例行子程序的调用以访管的方式来实现 31 2 访管指令 自愿进管指令 svcnsvc表示机器访管指令的操作码记忆符n为地址码 功能号 3 访管中断当处理机执行到访管指令时就发生中断 该中断称为访管中断 它表示正在运行的程序对操作系统的某种需求 32 系统调用是通过访管指令实现的 在程序中 如果希望请求操作系统的服务 例如 打开一个文件 显示某个目录的内容等 就要执行一条访管指令 系统处理这个中断 即为用户提供相应的服务 或者称响应用户的请求 注意 在汇编程序中是显式地使用访管中断命令trap INT 在高级语言中 C语言 是隐式使用访管指令 不同的操作系统 系统调用实现的具体方法有所不同 但其实质是相同的 每个系统调用对应一个系统调用号 每个系统调用有一个对应的执行程序段 每个系统调用要求一定数量的输入参数和返回值 整个系统有一个系统调用执行程序入口地址表 33 4 什么是系统功能调用操作系统提供实现各种功能的例行子程序 其中的每一个功能对应访管指令的一个功能号 例如 svc0显示一个字符svc1打印一个字符串 系统功能调用是用户在程序一级请求操作系统服务的一种手段 它不是一条简单的硬指令 而是带有一定功能号的 访管指令 它的功能并非由硬件直接提供 而是由操作系统中的一段程序完成的 即由软件方法实现的 34 5 系统功能调用的实现 35 第三章小结1 作业 作业步的概念2 运行一个用户程序的过程3 操作系统提供哪两个接口4 举例说明实际操作系统的用户界面5 什么是系统调用 系统调用的实现过程 36 第二次作业 P45习题21 4 5 10 11P60习题35 6 37 补充题 1 什么是作业 2 作业由

温馨提示

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

评论

0/150

提交评论