中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn Fall 2013 第一讲 绪论 (part II) 中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn Fall 2013.

Slides:



Advertisements
Similar presentations
1 计算机软件考试命题模式 计算机软件考试命题模式 张 淑 平 张 淑 平. 2  命题模式内容  组织管理模式 − 命题机构和人员组成 − 命题程序  试卷组成模式.
Advertisements

高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
高级服务器设计和实现 1 —— 基础与进阶 余锋
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
计算机操作系统 伍 俊 明 yue 计算机工程学院 伍俊明.
淄博信息工程学校 ZIBOIT&ENGINEERING VOCATONAL SHCOOL 02 认识虚拟局域网 计算机网络技术专业.
实用操作系统概念 张惠娟 副教授 1.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Oracle数据库 Oracle 子程序.
中央广播电视大学计算机课程 操 作 系 统. 中央广播电视大学计算机课程 操 作 系 统 1、《操作系统》教材 2、《操作系统实验》教材 3、操作系统课程录像 15讲 主编/主讲:孟庆昌 中央电大出版社出版 课程使用的媒体 1、《操作系统》教材 2、《操作系统实验》教材 3、操作系统课程录像.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
计算机基础知识 丁家营镇九年制学校 徐中先.
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
北京移动(中国移动的子公司)是中国主要的无线运营商之一。中国移动做为无线市场的开拓者,拥有中国70%的无线通信市场,也是世界上第二大的无线提供商,北京移动拥有上亿的手机用户,支持60多个国家的漫游业务。 为北京移动创造的价值 … 优秀的性能,支持了庞大的用户群 标准化了系统接口 加强了系统的灵活性.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
Erlang emulator 实现分析 2007/10.
Online job scheduling in Distributed Machine Learning Clusters
逆向工程-汇编语言
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
动态规划(Dynamic Programming)
CPU结构和功能.
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
SOA – Experiment 2: Query Classification Web Service
1.3 计算机软件系统 计算机系统组成:计算机硬件和计算机软件 计算机软件分两大类:系统软件和应用软件 系统软件: 应用软件
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
VisComposer 2019/4/17.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
第1课 操作系统概论 本次课介绍如下知识: 1.1操作系统简介 什么是操作系统 操作系统的发展历史 1.2操作系统的运行环境 计算机系统的基本硬件结构 CPU的组成 输入/输出结构 存储结构 系统保护.
进程概念.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
信号量(Semaphore).
核探测与核电子学国家重点实验室 中国科学技术大学近代物理系 王照琪
iSIGHT 基本培训 使用 Excel的栅栏问题
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
临界区问题的硬件指令解决方案 (Synchronization Hardware)
OpenStack vs CloudStack
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
第二节 C语言的特点.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
Google的云计算 分布式锁服务Chubby.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
本节内容 SEMAPHORE 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn Fall 2013 第一讲 绪论 (part II) 中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn Fall 2013

内容提要 操作系统的定义、设计目标、作用和层次模型 操作系统的发展动力和发展过程 操作系统的特征、主要功能和服务 操作系统的抽象模型和体系结构

内容提要 操作系统的定义、设计目标、作用和层次模型 操作系统的发展动力和发展过程 操作系统的特征、主要功能和服务 操作系统的抽象模型和体系结构

操作系统的特征 一、并发: 并行 vs. 并发 程序 vs. 进程 并行是指两或多个事件在同一时刻发生。 并发是两或多个事件在同一时间间隔内发生。 程序 vs. 进程 程序:静态实体; 进程:系统中能独立运行并作为资源分配的基本单位。是动态实体。引入线程后,独立运行的单位变为线程。

并发和共享是操作系统的两个最基本的特征。 系统中资源可供内存中多个并发执行的进程共同使用 互斥共享 VS. 同时访问 互斥共享:一段时间只允许一个进程访问该资源 同时访问:微观上仍是互斥的 临界资源:在一段时间内只允许一个进程访问的资源 并发和共享是操作系统的两个最基本的特征。

虚拟 通过某种技术把一个物理实体变为若干个逻辑上的对应物。若n是某一物理设备所对应的虚拟的逻辑设备数,则虚拟设备的速度必然是物理设备速度的1/n。 异步 运行进度不可预知。

操作系统的主要功能 处理机管理 存储器管理 设备管理 信息(文件)管理 人机接口

处理机管理 多道环境下,处理机的运行及分配都是以进程为单位,因此处理机管理可归结为进程管理。 一、进程控制 二、进程同步 创建/撤消进程 迁移进程状态 一般由进程控制原语完成 二、进程同步 为使多个进程有条不紊地运行,应建立同步机制。 包括进程互斥/同步,次序协调。

三、进程通信 源于进程合作,如:输入进程、计算进程、打印进程相互间有信息传递 类型: 直接通信:进程A发message,进程B收message 间接通信: 进程A发message到中间实体(如mailbox),进程B从中间实体收message

四、作业与进程调度 作业调度: 为作业分配必要资源,调入内存建立进程,并使之进入就绪队列。 进程调度: 从就绪队列中选出进程,分配CPU,使之运行。 调度算法: FCFS、优先权等

存储管理 目的:方便用户使用,且提高存贮器利用率 一、内存分配 二、内存保护 静态分配: 动态分配:作业在内存中可移动 需内存分配的数据结构及内存分配和回收功能 二、内存保护 例:设置上、下界寄存器,每条指令进行越界检查(一般是硬件实现)

四、内存扩充 三、地址映射 地址范围 地址 逻辑空间 逻辑地址(相对地址) 物理空间 物理地址(绝对地址) 地址范围 地址 逻辑空间 逻辑地址(相对地址) 物理空间 物理地址(绝对地址) 四、内存扩充 利用虚存技术,从逻辑上扩充内存容量 系统应有:请求调入/置换功能以支持虚存技术

设备管理功能 任务:提高I/O利用率和速度,方便用户 一、缓冲管理 二、设备分配 缓冲区:用来解决CPU-I/O矛盾,如:CPU快则应多创建缓冲区。 二、设备分配 包括:设备,设备控制器,I/O通信的分配和回收

三、设备处理 四、设备独立性和虚拟设备 指控制设备进行实际的操作,包括读、写等以及向CPU发中断。 设备处理/驱动程序应能根据用户的I/O请求,自动地构成通道程序。 四、设备独立性和虚拟设备 独立性,即program与设备无关性,使program易于重定向,增加了可移植性。 虚拟设备

文件管理的功能 任务:方便用户,提供安全性 一、文件存贮空间的管理 例:文件系统根据文件长度自动分配连续或离散的扇区,并提供“一句柄”表示该文件。 二、目录管理 使用户按名存取,提高速度。 三、文件的读、写管理和存取控制(即保护)

用户接口 二、程序接口 三、图形接口 一、命令接口 1.联机用户接口 2.脱机(批处理用户接口) 由一组“命令”集组成,分为联机和脱机用户接口 1.联机用户接口 由一组键盘操作命令及命令解释程序所组成 2.脱机(批处理用户接口) 用JCL写作业说明书 二、程序接口 系统调用 高级语言的库函数 三、图形接口 如 win的copy文件,采用“拖”来完成,生动,不需记忆

操作系统提供的服务 操作系统的各种功能,最终要封装成“服务”的形式提供给用户 一、操作系统的公共服务类型 装载并运行程序 提供各种I/O操作 提供文件系统及文件操作 提供通信服务 提供差错检测服务

二、操作系统提供服务的最基本方式——系统调用 三、系统调用的类型 进程控制类 文件操作类 设备管理类 通信类,例如消息传送机制 信息维护类,例如日期信息、系统信息等

内容提要 操作系统的定义、设计目标、作用和层次模型 操作系统的发展动力和发展过程 操作系统的特征、主要功能和服务 操作系统的抽象模型和体系结构

传统操作系统的抽象模型 传统的进程模型 线程模型

进程模型 进程这一术语,最初是在20世纪60年代初期,在麻省理工学院(MIT)的MULTICS系统和IBM公司的CTSS/360系统中引入的 现代操作系统都以进程(Process)为单位来分配包括处理机、内存、I/O等在内的各种资源,以实现对计算机系统的并发控制机制。 围绕进程而展开的工作主要包括进程管理、进程控制、进程同步、进程间通信以及进程调度等

进程的地址空间 进程描述符及其上下文 地址空间中的代码、数据和堆栈等内容决定了一个进程所能执行的任务 包括程序指针、堆栈指针以及其他硬件寄存器 决定了一个进程的当前执行情况。

进程调度 调度是操作系统实现处理机并发控制的关键。 调度中最能体现进程模型本质的核心功能是进程切换 调度算法仅仅被用来决定在什么时机、切换到哪个进程上。 最常见的调度算法包括 时间片轮转调度、 基于优先级的可抢占或不可抢占调度 一些实时调度算法 等等

进程间通信机制 用于进程之间交换信息 也是进程之间进行通信的唯一途径。 就模型而言,进程之间实现通信必须有进程调度机制的介入。 常见的进程间通信机制包括 信号、 信号量、 管道、 消息队列、 套接字。

线程模型 线程模型从进程模型发展而来。 线程是指令在进程地址空间中的执行轨迹 将进程的执行上下文从进程描述符中分离出来,就得到了线程的概念。 在线程模型中,进程可以是单线程的,也可以是多线程的。 传统进程模型中的进程可以看成是单线程的。

根据是否跨越进程边界,进程/线程在管理、控制、同步、通信和调度上有了两个层次,即 任何一个线程都属于某个进程。 根据是否跨越进程边界,进程/线程在管理、控制、同步、通信和调度上有了两个层次,即 进程内部 和进程之间。 通常,现代操作系统在大多数情况下仍然是不区分这两种情况的 例外: 进程内部的线程之间可以通过进程地址空间直接共享某些数据,而不必采用传统的进程间通信机制。

操作系统的体系结构 软件体系结构(Software Architecture)对软件系统的构造具有指导性的作用。 Bass在2003年关于软件体系结构的定义: “软件体系结构是一种系统结构,该结构包括软件元素、元素的外部可视属性、元素之间的关系”。 因此,OS体系结构包含如下几个方面: OS的功能模块是如何组成的,即采用什么样的软件元素? OS的功能模块的哪些信息/属性是相互可见的? OS的功能模块之间是如何互操作的?

操作系统体系结构的发展历程 无结构,或者说简单结构 单一内核结构 模块化结构 层次式 微内核和第二代微内核 混合内核 外核

简单结构的操作系统 操作系统发展初期 操作系统功能模块和用户应用程序混杂在一起,在同一个地址空间上运行,模块之间可以相互任意调用, 受到硬件性能、软件水平的限制 没有清晰的体系结构 操作系统功能模块和用户应用程序混杂在一起,在同一个地址空间上运行,模块之间可以相互任意调用, 例如:MS-DOS、早期的UNIX系统以及一些早期的或者小型的嵌入式系统。

随着硬件平台在性能上、数量上、种类上以及对操作系统的支持上的发展,操作系统的结构有了新的发展 单一内核结构 随着硬件平台在性能上、数量上、种类上以及对操作系统的支持上的发展,操作系统的结构有了新的发展 系统调用使得操作系统与用户应用程序隔离开来; 随着操作系统的功能越来越多、模块之间的调用关系也越来越复杂 形成了单一的、体积庞大的操作系统内核 这种结构被称为单一大内核(Monolithic Kernel)结构。 用户应用只能通过中断、异常、系统调用的方式使用操作系统提供的服务 用户应用程序之间通过进程间通信机制进行通信。

模块化结构 随着软件开发技术的发展,单一大内核结构的操作系统逐渐采用了模块化设计方法 常见的例如:UNIX类 模块之间定义了很好的以函数调用的形式提供的接口 在一定程度上提高了操作系统的可维护性。 常见的例如:UNIX类

层次结构 为减少OS各模块之间紧密依赖和相互调用的关系,特别是消除循环调用现象,实现有序调用 在层次结构的操作系统内核中, 系统由若干层次构成,每一层都建立在其下的一层之上 最底层是硬件裸机,最高层则是应用程序。 每一层均公布一定的接口给外层访问,每个层次内部的数据和操作对其他层都是不可见的。 根据每一层内部各模块之间是否存在调用关系,层次结构进一步被划分为 全序的操作系统,如1968年Dijkstra等开发的THE系统 半序的操作系统,如多伦多大学的SUE操作系统。

微内核结构 Richard Rashid在CMU开发Mach时提出了微内核思想 微内核仅仅提供进程管理、线程管理、内存管理、通信和I/O服务等基本功能 其他的功能,诸如文件系统、窗口管理器、WEB服务等都被定义在核外,作为用户态(服务)进程运行 进程之间只能基于消息传递机制通信 又称为客户机/服务器结构,后来成为分布式操作系统最常使用的一种结构

典型的微内核(又称第一代微内核)有Mach、Minix、QNX等。 微内核结构的优点: 良好的兼容性、扩充性、灵活性、移植性、可靠性和网络支持 微内核存在一个致命的效率问题: 与系统组件之间的基于消息传递的通信效率远低于对单一大内核中相应系统功能原语的调用效率 典型的微内核(又称第一代微内核)有Mach、Minix、QNX等。

第二代微内核 解决微内核设计性能问题的一条思路是 对微内核的进程间通信机制加以改进以优化其性能。 由此产生了第二代微内核系统 L4。

混合内核 混合内核是解决微内核设计性能问题的另一个方法 但这种方法削弱了微内核思想在系统的扩充性、灵活性和可靠性等方面所带来的优点 即扩大微内核并把一些关键的服务程序和驱动程序重新加入到内核中去, 如Windows NT 4.0把图形系统重新加入内核以提高性能。 但这种方法削弱了微内核思想在系统的扩充性、灵活性和可靠性等方面所带来的优点

外核( Exokernel ) Exokernel提出了外核的概念,它试图将操作系统接口降低到硬件层 在外核结构中,内核只用来负责简单的申请、释放并复用硬件资源,而将内存映射、I/O和复杂的线程包等所有在传统操作系统内核中提供的抽象都转移到用户空间,以库的形式提供,用户程序通过调用库的形式实现对硬件资源的直接访问。 外核结构可以看成是微内核结构的一种极端形式

操作系统体系结构小结 从上述OS体系结构的发展过程中可以看出: 除了简单结构以外,操作系统中都存在一个内核 核外的程序通过中断、异常、系统调用的方式访问内核中提供的服务; 内核内部模块之间采用函数调用的形式直接调用(不论接口定义是否良好); 操作系统提供给核外的程序的抽象是进程/线程 包括用户应用和外放到核外运行的操作系统功能模块 进程/线程之间通过进程间通信机制进行通信;

本课内容回顾 操作系统的特征、主要功能和服务 操作系统的抽象模型和体系结构

作业 操作系统最基本的两个特征是什么? 什么是操作系统的体系结构,有哪些?