操作系统的用户接口 第3章 操作系统的用户接口.

Slides:



Advertisements
Similar presentations
高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
Advertisements

Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第三节 会计电算化岗位及其权限设置的基本 要求 概 念 会计电算化岗位
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
实用操作系统概念 张惠娟 副教授 1.
Oracle数据库 Oracle 子程序.
计算机软件技术基础 操作系统(2).
第三章 用户界面 (一) 用户工作环境 (二) 操作系统的用户界面 (三) 系统功能调用 (四)Linux系统功能调用的实现.
计算机基础知识 丁家营镇九年制学校 徐中先.
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Hadoop I/O By ShiChaojie.
OpenMP简介和开发教程 广州创龙电子科技有限公司
網路安全技術 – 期末報告 A 高名勳 指導教授:梁明章 老師.
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
走进编程 程序的顺序结构(二).
辅导课程六.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第17章 网站发布.
动态规划(Dynamic Programming)
ENS 10.1安装配置指南 王俊涛 | SE.
CPU结构和功能.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
Windows 7 的系统设置.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
作業系統 第三章 作業系統結構.
第二章 登录UNIX操作系统.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
实验一 体验Nachos下的并发程序设计 陈毅东 2006年春.
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
项目二:HTML语言基础.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
iSIGHT 基本培训 使用 Excel的栅栏问题
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 导出表 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
24 or 1024? PWN Jawbone Up24 手环.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
入侵检测技术 大连理工大学软件学院 毕玲.
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
Presentation transcript:

操作系统的用户接口 第3章 操作系统的用户接口

操作系统的用户接口——主要内容 用户工作环境 运行一个应用程序的过程 操作系统用户界面 系统功能调用 1

操作系统的用户接口——用户工作环境 用户工作环境

1. 用户工作环境的形成 2. 操作系统的初启 (1) 系统引导的任务 操作系统的用户接口——用户工作环境 (1) 系统提供各种硬件、软件资源 (2) 设计并提供使用方便的命令集合 (3) 将OS装入计算机并初始化,形成可供使用的工作环境 2. 操作系统的初启 (1) 系统引导的任务 将操作系统的必要部分装入主存并对系统进行初始化工 作,最终使系统处于命令接收状态。 2

(2) 系统引导的方式 操作系统的用户接口——用户工作环境 ① 现场独立引导方式(滚雪球方式) OS核心文件存储在系统本身的存储设备中,由系统自己将 OS核心程序读入主存并运行,建立一个操作环境。 适用于微机和大多数系统 ② 辅助下装方式 OS主要文件不放在系统本身的存储设备中,在系统启动后 执行下装操作,从另外的计算机系统中将操作系统常驻部 分传送到该计算机中,使它形成一个操作环境。 适用于多计算机系统、由主控机与前端机构成的系统以 及分布式系统。 3

(3) 独立引导方式 (滚雪球方式) 的过程 操作系统的用户接口——用户工作环境 ① 初始引导 系统加电; 执行初始引导程序,对系统硬件和配置进行自检,保证系统没有硬件错误; 从硬盘中读入操作系统引导程序,并将控制权交给该程序模块。 ② 引导程序执行 引导程序执行,将操作系统核心文件读入内存,并将控制交给核心的初始化程序。 4

获得自由存储空间的容量,建立存储管理的数据结构 ; 建立系统设备和文件系统的数据结构 ; 初始化时钟。 ④ 系统初始化 操作系统的用户接口——用户工作环境 ③ 核心初始化 初始化系统数据结构及参数 系统加电建立进程有关的数据结构 ; 获得自由存储空间的容量,建立存储管理的数据结构 ; 建立系统设备和文件系统的数据结构 ; 初始化时钟。 ④ 系统初始化 完善OS的操作环境,装载命令处理程序 (或图形用户界面),并初始化; 在多用户系统中,为每个终端建立命令解释进程,使系统处于命令接收状态。 5

(4) Linux系统初启 操作系统的用户接口——用户工作环境 Linux系统是以滚雪球的方式启动 加电或复位 → BIOS的启动 → Boot Loader → OS初始化 ① 系统加电或复位 对主存中所有的数据清零,对内存进行校验,若无错, CS:IP → BIOS入口。 6

对硬件设备进行检测和连接,并将测得的数据送入BIOS数据区; 操作系统的用户接口——用户工作环境 ② BIOS启动 在ROM中的引导程序放在固定位置:FFFF:0000 CPU从这里开始执行。 上电自检; 对硬件设备进行检测和连接,并将测得的数据送入BIOS数据区; 从盘中读入Boot Loader (引导程序)。 从硬盘启动时,读入零柱面零磁道1扇区MBR (Master Boot Record),将控制权交Boot Loader。 ③ Loader(引导程序) 功能:将OS读入内存,并将控制权交给OS的初始化程序。 7

操作系统的用户接口——用户工作环境 ④ 系统核心初始化( Setup.s) Heads的工作 Setup的工作 检查调入内存中的代码 ; 获取内存容量信息,设置设备模式; 屏蔽中断,准备进入保护模式; 设置中断描述符表 (idt),全局描述符表 (gdt);控制权交给 Heads。 Heads的工作 对中断向量表作准备工作; 检查CPU类型; 调用Setup_paging进行页面初始化; 调用main.c中的Start_kernel()。 8

init进程对每一个联机终端建立“getty”进程,getty在终端 操作系统的用户接口——用户工作环境 Start_kernel()的工作 对与CPU、内存等最基本硬件相关部分进行初始化; 对中断向量表进行初始化; 为进程调度程序作准备; 设置基准时钟; 内核的内存分配; 对文件系统进行初始化; 建立init进程。 init进程对每一个联机终端建立“getty”进程,getty在终端 上显示“login”,等待用户登录。 9

2. 系统生成 (1) 什么是系统生成 (2) 系统生成的内容 操作系统的用户接口——用户工作环境 所谓系统生成,就是指为了满足物理设备的约束和需要的 系统功能,通过组装一批模块来产生一个清晰的、使用方 便的操作系统的过程。 (2) 系统生成的内容 根据硬件部件确定系统构造的参数,编辑系统模块的参 数,并且连接系统模块成为一个可执行的程序。 10

操作系统的用户接口——应用程序的处理 应用程序的处理

1. 处理应用程序的步骤 (3) 连接 (4) 运行 操作系统的用户接口——应用程序的处理 (1) 编辑 1. 处理应用程序的步骤 (1) 编辑 建立一个新文件,或对已有的文件中的错误进行修改。 (2) 编译 将源程序翻译成浮动的目标代码。 (3) 连接 主程序和其他所需要的子程序和例行程序连接装配在一 起,使之成为一个可执行的、完整的主存映像文件。 (4) 运行 将主存映像文件调入主存,启动运行,得出计算结果。 11

操作系统的用户接口——应用程序的处理 应用程序处理步骤 编译器或 汇编器 目标 模块 其他目 标模块 主存中 运行 编译时间 连接装配时间 源程序 其他目 标模块 主存中 运行 动态装入 的系统库 编译时间 连接装配时间 动态链接 加载 运行时间 连接 装配程序 主存映 像文件 应用程序处理步骤示意图 12

2. 连接类型 (1) 静态连接 操作系统的用户接口——应用程序的处理 一个源程序经编译后,生成一个可重定位的目标模块,并 2. 连接类型 (1) 静态连接 一个源程序经编译后,生成一个可重定位的目标模块,并 产生内部符号表和外部符号表,供连接程序 (Link)使用。 ① 内部符号表 本模块可以被其他程序调用的入口点。 ② 外部调用表 本模块要调用的外部的程序模块名。 13

构造全程符号表,在其中填写模块的逻辑地址; 查找各程序段的外部调用表,填入对应调用函数的地址。 ④ 静态连接的缺点 操作系统的用户接口——应用程序的处理 ③ 连接需要做的工作 将各模块连接成为一个整体; 构造全程符号表,在其中填写模块的逻辑地址; 查找各程序段的外部调用表,填入对应调用函数的地址。 ④ 静态连接的缺点 静态连接将所需的外部函数链接到目标文件中形成为一个 可执行文件。若多个应用程序都调用了同一个库中的外部 函数,那么,多个应用程序的目标文件中都会包含这个外 部函数对应的代码。 14

(2) 动态连接 操作系统的用户接口——应用程序的处理 用程序中需要调用外部函数的地方作记录,并说明要使用 的外部函数名和引用入口号。 动态连接不需要将外部函数链接到目标文件中。而是在应 用程序中需要调用外部函数的地方作记录,并说明要使用 的外部函数名和引用入口号。 ———— 形成函数调用链表 所需支持 —— DLL (动态链接库) 当 Windows的装载程序将应用程序和DLL装入主存后,装 载程序会遍历函数调用链表,将DLL中函数在主存的入口 (段:偏移)填入链表中的每个结点。 15

操作系统的用户接口——用户接口 用户接口

1. 什么是操作系统的用户界面 操作系统的用户接口——用户接口 操 操作系统的用户界面 (或称接口) 是操作系统提供给用户与计 用户通过操作系统使用计算机示意图 1. 什么是操作系统的用户界面 操作系统的用户界面 (或称接口) 是操作系统提供给用户与计 算机打交道的外部机制。用户能够借助这种机制和系统提供 的手段来控制用户所在的系统。 16

2. 操作系统提供的用户界面 (1) 操作界面 (命令接口) 操作系统的用户接口——用户接口 操 作 系 统 操作命令: 作业控制语言 键盘命令 图形界面 系统功能调用 操作系统提供的用户接口示意图 2. 操作系统提供的用户界面 (1) 操作界面 (命令接口) 用户使用操作界面来组织工作流程和控制程序的运行。 (2) 系统功能服务界面 (程序接口) 用户程序在其运行过程中,使用系统功能调用来请求操作 系统的服务。 17

3. 操作命令与操作系统类型的关系 (1) 作业控制语言 ─ ─ 批处理操作系统 (2) 键盘命令 ─ ─ 分时操作系统 操作系统的用户接口——用户接口 3. 操作命令与操作系统类型的关系 (1) 作业控制语言 ─ ─ 批处理操作系统 (2) 键盘命令 ─ ─ 分时操作系统 个人计算机操作系统 (3) 图形用户界面 ─ ─ 分时操作系统 实际操作系统: MS-DOS Windows Linux (UNIX) 提供什么样的用户界面? 18

4. 实例操作系统提供的用户界面 操作系统的用户接口——用户接口 (1) MS-DOS ─ ─ 键盘命令 系统功能调用 4. 实例操作系统提供的用户界面 (1) MS-DOS ─ ─ 键盘命令 系统功能调用 (2) Windows ─ ─ 图形用户界面 (3) Linux (UNIX) ─ 键盘命令 (XWindow) 19

操作系统的用户接口——系统功能调用 系统功能调用

1. 什么是系统功能调用 (1) 操作如何为用户提供服务 操作系统的用户接口——系统功能调用 操作系统提供实现各种功能的例行子程序。 应 用 1. 什么是系统功能调用 应 用 程 序 i 系统调用 中 央 处理机 存储器 外 部 设 备 应 用 程 序 计算机系统部件 系统功能调用示意图 (1) 操作如何为用户提供服务 操作系统提供实现各种功能的例行子程序。 20

(2) 如何调用操作服务功能 操作系统的用户接口——系统功能调用 ① 采用统一进管方式 —— 系统提供 访管指令、访管中断  显示一个 字符串 读文件 应用程序 j read( ); 操作系统统功能模块 系统功能调用示意图 ① 采用统一进管方式 —— 系统提供 访管指令、访管中断 ② 访管指令 (自愿进管指令) svc n svc 表示机器访管指令的操作码记忆符,n为地址码 (功能号) 21

(3) 什么是系统调用 操作系统的用户接口——系统功能调用 ③ 访管中断 断,它表示正在运行的程序对操作系统的某种需求。 当处理机执行到访管指令时发生中断,该中断称为访管中 断,它表示正在运行的程序对操作系统的某种需求。 操作系统提供实现各种功能的例行子程序,其中的每一个功能对应访管 指令的一个功能号。例如: svc 0 显示一个字符 svc 1 打印一个字符串   (3) 什么是系统调用 系统功能调用是用户在程序一级请求操作系统服务的一种 手段,它是带有一定功能号的“访管指令”。其功能是由操 作系统中的程序完成的,即由软件方法实现的。 22

4 . 系统调用的实现 操作系统的用户接口——系统功能调用 a1 a0 ┇ ai 例行子程序 入口地址表 A+0 A+1 A+i Sub m am 例行子程序 Sub 0 Sub 1 Sub i ┇ a0 a1 ai 保护现场; 取 i 值; 按i 值转移;  恢复现场; 访管中断 处理程序  svc i 用户程序 + A 系统调用的执行过程 23

操作系统的用户接口——小结 第3章 操作系统的用户接口 小结

操作系统的用户接口——小结 用户程序的步骤以及个步骤之间的关系 静态连接和动态链接的区别 操作系统提供哪两个接口,使用场合 举例说明实际操作系统的用户界面 系统调用的概念及实现方法 24