《嵌入式操作系统》教学课件01.ppt
《《嵌入式操作系统》教学课件01.ppt》由会员分享,可在线阅读,更多相关《《嵌入式操作系统》教学课件01.ppt(139页珍藏版)》请在三一文库上搜索。
1、Bed,Embedded Operating System,En,Em,ded,嵌入式操作系统,Embedded Operating System,两个问题,全球最大的软件公司 Microsoft(微软) 最重要的软件产品(立家之本) 操作系统(Windows) 全球第二大的软件公司 Oracle(甲骨文) 最重要的软件产品(立家之本) 数据库(Oracle),课程形式,课堂教学、习题课 课后作业 上机实验,第一章 操作系统基础,关于操作系统,加深对使用的操作系统的理解,有利于深入编程;用户为了开发应用程序必须与操作系统打交道 编程时借鉴操作系统的设计思想和算法(比如插件开发、微内核) 操作系
2、统中所用的许多概念和技巧可以推广应用到其他领域 存在人们意识不到的大量“操作系统”(如:嵌入式系统家电、手机) 设计操作系统或者修改现有的系统 选择购买操作系统:因为我们并不总使用Windows 2000/XP,操作系统涉及到计算机科学很多领域,计算机体系结构/硬件 软件设计 程序设计语言 数据结构 算法 网络 学习核心技术并能在其他地方应用 操作系统是目前最复杂的软件系统之一,抽象,操作系统具有一种魔力(magic) 提供了无限的CPUs 无限的内存 单一全球计算能力 等等,思维方式的学习,课程的地位及特点,课程的特点 实践性强(从实践总结出原理) 涉及面广(并行程序,性能问题,结构问题,程
3、序方法论,软件工程等等) 错综复杂:纵横交错,如何学好本课程,1、理论学习 2、实验、实习 3、源代码分析、参与(Linux) 4、培养分析问题、解决问题的基本能力,重点参考书,1、任哲等,嵌入式操作系统基础,北京航空航天大学出版社,2、本课程课件,3、参考书,操作系统基础 屠立德 屠祁 清华大学出版社 现代操作系统 陈向群等译 机械工业出版社 操作系统 吴企渊 梁燕 清华大学出版社 计算机操作系统 徐甲同等 西安电科大出版社 操作系统教程 孟庆昌 西安电科大出版社 计算机操作系统教程 张尧学 史美林 清华大学出版社 计算机操作系统教程 周长林 左万历 高等教育出版社 Windows 操作系统
4、原理 尤晋元、史美林 机械工业出版社 Operating Systems Principles Lubomir Bic 清华大学出版社,第一节 操作系统的概念,计算机系统,操作系统在计算机系统的地位,计算机硬件,操作系统,实用程序,应用程序,操作系统设计者,程序员,终端用户,操作系统是一个系统软件,它管理计算机系统中的软件和硬件资源,在计算机硬件和用户之间起到一个接口作用。,操作系统的定义,定义:用以控制和管理计算机硬件和软件资源、合理地组织计算机的工作流程以及方便用户使用计算机的程序的集合。 这个定义具有以下三个方面的含义: 1、操作系统统一控制和管理计算机系统所拥有的硬件和软件资源,使之可
5、以得到更加有效合理的利用。 2、操作系统能合理地组织计算机系统的工作流程,增强系统的处理能力。 3、操作系统提供了用户与裸机之间的接口,使用户更方便地使用计算机。,两个简单有趣的定义,1、购买“操作系统”时,零售商所装的所有东西。 2、一直运行在计算机上的程序,二、操作系统的特征,1、并发性,2、共享性,3、异步性/随机性,4、虚拟性,二、操作系统的特征,1、并发性,并发性是指在计算机系统中同时存在有多个程序,从宏观上看,这些程序是同时向前推进的。 单CPU环境下,并发程序是在CPU上交替运行的。用户程序与用户程序;用户程序和操作系统程序之间并发执行。 在多处理器环境下,多个程序的并发特征,就
6、不仅在宏观上是并发的,而且在微观(即在处理机一级)上也是并发的。,但是,不论是什么计算环境,我们所指的并发都是在一个操作系统的统一指挥下的并发。,2、共享性,是指操作系统程序与多个用户程序共享系统中的各种资源。,并发和共享是操作系统两个最基本的特性,它们互为依存。 1、资源的共享是由于程序的并发执行而引起的,若系统不允许程序并发执行,自然就不存在资源共享问题。 2、若系统不能对资源共享实施有效管理,必然会影响到程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率地下。,3、随机性/异步性,操作系统的运行是在一个随机的环境中运行的,即用户不能对所运行的程序的行为以及硬
7、件设备的情况做任何的假定。我们无法知道一个运行着的程序会在什么时候做什么事情,也无法知道一个设备什么时候向处理器发出中断请求,因此我们也无法知道操作系统正处于什么样的状态之中。,它是把物理上的一个实体变成逻辑上的多个对应物,或者把物理上的多个实体变成逻辑上的一个对应物的技术。 多道程序设计中的CPU Spooling技术 窗口技术 时分/频分多路物理信道 虚拟存储器,4、虚拟性,计算机的逻辑结构,三、操作系统的功能,从功能即资源管理的观点看,操作系统的主要任务就是管理计算机系统的资源。,操作系统的功能和目标,处理机管理(进程管理) 存储器管理(内存管理) 设备管理 文件管理 作业管理,操作系统
8、的功能和目标,一、处理机管理(进程管理),进程管理主要是对处理机进行管理。CPU是计算机中最宝贵的硬件资源。为了提高CPU的利用率,操作系统采用了多道程序技术。当一个程序因等待某一条件而不能运行下去时,就把处理机占用权转交给另外一个可运行程序。或者,当出现了一个比当前运行的程序更重要的可运行程序时,后者应能抢占CPU。 为了描述多道程序的并发执行,就引入了进程的概念。通过进程管理协调多道程序之间的关系,解决处理机实施分配策略,使CPU资源得到最充分的利用。 正是由于操作系统对处理机管理策略的不同,从而呈现在用户面前的就是具有不同性质的操作系统,例如批处理方式、分时处理方式和实时处理方式等。,二
9、、内存管理,内存 内存是现代计算机系统操作的中心,内存是可以被CPU和I/O设备所共同访问的数据的仓库。 一个程序要执行的话,它必须先映射成绝对地址并装入内存。,存储器管理主要管理内存资源。它包括以下几点: 1)内存分配:在内存中除了操作系统、其他系统软件外,还有一个或多个用户程序,操作系统要解决分配问题,使其互不冲突。 2)存储保护:由于系统中有多个程序,要保证他们之间互部干扰,保证用户程序不破坏系统程序。 3)内存扩充:当用户作业所需要的内存量超过计算机系统所提供的实际内存容量时,就要把内存和外存结合起来,为用户提供一个比实际内存大的多的虚拟存储器。,类似于仓库管理,三、设备管理,四、文件
10、管理,系统中的信息资源(程序和数据)是以文件的形式存放在外存储器上的,需要时再将其装入。文件管理的任务就是有效支持文件存储、检索修改,解决文件共享、保密和保护,以方便用户安全、方便地访问文件。,五、作业管理/用户接口,1)程序级:提供一组广义指令供用户程序调用。,2)作业级:提供一组控制操作指令供用户去组织、控制自己的作业执行。,基本任务:使用户合理调度运行用户作业,不同角度看到的操作系统,操作系统,第二节 操作系统视角,打开计算机,首先跳入眼帘的是什么? 要拷贝一个文件,具体的拷贝操作是谁完成的? 你需要知道文件存放在何处吗? 柱面、磁道、扇区描述什么? 数据的搬动过程怎样进行 繁琐留给自己
11、,简单留给用户 操作系统穿上华丽的外衣图形界面 操作系统穿上朴素的外衣字符界面,认识操作系统从使用者的角度看,拷贝命令的C语言实现片断,inf=open(“/floppy/TEST”,O_RDONLY,0); out=open(“/mydir/test”,O_WRONLY,0600); do l=read(inf,buf,4096); write(outf,buf,l); while(l); close(outf); close(inf);,认识操作系统从程序开发者的角度看,认识操作系统从所处位置看,操作系统是其它所有用户程序运行的基础。,#include main() printf(“ He
12、llo worldn”) ,用户告诉操作系统执行test程序 操作系统通过文件名找到该程序 检查其类型,检查程序首部,找出代码和数据存放的地址 文件系统找到第一个磁盘块 操作系统建立程序的执行环境 操作系统把程序从磁盘装入内存,并跳到程序开始处执行,该程序的执行过程简述如下:,操作系统检查字符串的位置是否正确 操作系统找到字符串被送往的设备 操作系统将字符串送往输出设备窗口系统确定这是一个合法的操作,然后将字符串转换成像素 窗口系统将像素写入存储映像区 视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕) 显示器发射电子束。你在屏幕上看到Hello world。,从中看到什么,认识操作系
13、统从程序执行看,从操作系统设计者的角度看 操作系统的设计目标是什么? 尽可能地方便用户使用计算机 让各种软件资源和硬件资源高效而协调地运转起来。 计算机的硬件资源和软件资源各指什么? 假设在一台计算机上有三道程序同时运行,并试图在一台打印机上输出运算结果,必须考虑哪些问题 ? 从操作系统设计者的角度考虑,一个操作系统必须包含以下几部分 操作系统接口 CPU管理 内存管理 设备管理 文件管理,认识操作系统从设计者角度看,操作系统是计算机系统中的一个系统软件,是一些程序模块的集合它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务
14、功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效、顺畅地运行。,操作系统的演变 单道批处理系统 串行执行预先组织好的一组任务 提高了系统效率 。 多道批处理系统 可以交错运行多个程序 再次提高系统效率。 分时系统 将处理器的运行时间分成数片,均分或依照一定权重派发给系统中的用户使用 快速响应,操作系统的发展,硬件角度下的操作系发展轨迹,硬件角度下的操作系统发展轨迹,分析 在硬件的性价比较低的时候,操作系统设计追求什么? 在硬件性价比越来越高后,操作系统的设计开始追求的目标是什么? 计算机开始普及后,操作系统的设计开始追求? 从第三代到第四代计算机,操作系统的发展逐渐摆脱追
15、随硬件发展的状况 ,形成自己的理论体系 进入第四代系统后,分布式系统和多处理器系统虽然极大的扩充了操作系统理论,但系统结构并没有变化,只是各功能模块得以进一步完善。,操作系统的发展,硬件角度下操作系统发展的分析,软件角度下的操作系统发展轨迹,分析 程序设计理论约束着操作系统设计。操作系统的发展滞后于计算机语言的发展,从结构化设计到对象化设计,操作系统总是最后应用新编程理论的软件之一。 至今操作系统对于是否需要彻底对象化(即微内核化),还处于徘徊时期,仍在探索单内核与微内核的最佳结合方式。 人机交互技术主要是为用户考虑,这是对操作系统设计进行的变革。 以Linux为代表的开源软件的出现,打破了带
16、有神秘色彩的传统的封闭式开发模式。,软件角度下的操作系统发展轨迹分析,讲究效率的单模块操作系统,进程管理,内存管理,设备管理,文件管理,模块之间可以互相调用的单模块结构,讲究效率的单模块操作系统,模块之间直接调用函数,除了函数调用的开销外,没有额外开销。 庞大的操作系统有数以千计的函数 复杂的调用关系势必导致操作系统维护的困难,追求简洁的微内核操作系统,客户进程,进程服务器,内存服务器,文件服务器,微内核,追求简洁的微内核操作系统,内核与各个服务器之间通过通信机制进行交互,这使得微内核结构的效率大打折扣。 内核发出请求,服务器做出应答 为各个服务器模块的相对独立性,使得其维护相对容易,历史悠久
17、的Unix,在MULTICS(1969) 的肩上(MIT,Bell Lab,GE) 研制者Ken Thompson和Dennis M. Ritchie(Bell Lab) 在Unix的诞生还伴有C语言呱呱落地 Unix是现代操作系统的代表:安全、可靠、强大的计算能力,历史悠久的Unix,UNIX的两大体系: System : 具有Bell Lab的血统 BSD 4.3: 伯克利版的,TCP/IP协议诞生于此 Unix的商业化是一把双刃剑,自由而奔放的黑马Linux,诞生于学生之手 成长于Internet 壮大于自由而开放的文化,Linux之父-Linus Torvalds,芬兰、赫尔辛基大学、
18、1990 起始于写两个进程 然后写驱动程序、文件系统、任务切换程序,从而形成一个操作系统邹形,Linux得以流行的原因之一 遵循POSIX标准,POSIX 表示可移植操作系统接口(Portable Operating System Interface) POSIX是在Unix标准化过程中出现的产物。 POSIX 1003.1标准定义了一个最小的Unix操作系统接口 任何操作系统只有符合这一标准,才有可能运行Unix程序,Linux的肥沃土壤GNU,GNU 是 GNU Is Not Unix 的递归缩写,是自由软件基金会的一个项目 。 GNU 项目产品包括 emacs 编辑器、著名的 GNU C
19、 和 Gcc编译器等,这些软件叫做GNU软件。 GNU 软件和派生工作均适用 GNU 通用公共许可证,即 GPL(General Public License ) Linux的开发使用了众多的GUN工具,GPL开源软件的法律,GPL 允许软件作者拥有软件版权 但GPL规定授予其他任何人以合法复制、发行和修改软件的权利。,Linux系统或发布版,符合 POSIX 标准的操作系统内核、 Shell 和外围工具。 C 语言编译器和其他开发工具及函数库 X Window 窗口系统 各种应用软件,包括字处理软件、图象处理软件等。,开放与协作的开发模式,世界各地软件爱好者集体智慧的结晶 提供源代码,遵守G
20、PL。 经历了各种各样的测试与考验,软件的稳定性好。 开发人员凭兴趣去开发,热情高,具有创造性。,几个流行的版本,Slackware linux RedHat linux Debian linux FreeBSD Madarke linux Turbo linux 红旗linux,Linux内核,Linus领导下的开发小组开发出的系统内核 是所有Linux 发布版本的核心 内核开发人员一般在百人以上,任何自由程序员都可以提交自己的修改工作。 采用邮件列表来进行项目管理、交流、错误报告 有大量的用户进行测试,正式发布的代码质量高,整个系统的核心内核,硬件,系统调用接口,应用 程序进程1,应用 程
21、序进程2,应用 程序进程3,Linux内核,用户进程,内核子系统,系统调用,整个系统的核心内核,用户进程运行在Linux内核之上的一个庞大软件集合。 系统调用内核的出口,用户程序通过它使用内核提供的功能。 Linux内核操作系统的灵魂,负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络上接收和发送数据包等等。 硬件包括了Linux安装时需要的所有可能的物理设备。例如,CPU、 内存、硬盘、网络硬件等等。,内核子系统,内核子系统,进程调度控制着进程对CPU的访问。 内存管理允许多个进程安全地共享主内存区域 虚拟文件系统隐藏各种不同硬件的具体细节,为所有设备提供统一的接口。 网络提供了对各
22、种网络标准协议的存取和各种网络硬件的支持。 进程间通信(IPC) 支持进程间各种通信机制,包括共享内存、消息队列及管道等。,Linux内核版本树,0.01 Linux(第一版),0.13版 | 产品化版本 实验版本 1.0.0 1.1.0(1.0.0的拷贝) 1.0.X(修改) 1.1.X(增加新功能,进行测试) 1.1.95(成为1.2.0),内核源代码结构,第三节 操作系统的分类,根据操作系统在用户界面的使用环境和功能特征的不同,操作系统一般可分为三种基本类型,即批处理系统、分时系统和实时系统。 随着计算机体系结构的发展,又出现了嵌入式操作系统、个人操作系统、网络操作系统和分布式操作系统。
23、,单用户操作系统,多用户操作系统,批处理系统,分时操作系统,实时操作系统,1、批处理操作系统(Batch Processing),批处理操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户作业组成一批作业,输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。,优点:作业流自动化;效率高;吞吐率高。,缺点:无交互手段;调试程序困难。,分时操作系统的工作方式是:一台主机连接了若干终端,每个终端有一个用户在使用。用户交互地向系统提出命令请求,系统采用时间片轮转法方式处理服务请求,并通过交互方式在终端上向
24、用户显示结果。,分时系统具有多路性、交互性、“独占”性和及时性的特征:,多路性:宏观上看多人同时使用一个CPU;,交互性:用户根据系统响应结果进一步提出新请求;,“独占”性:用户感觉不到计算机为其他用户服务;,及时性:系统对用户提出的请求及时响应。,2、分时操作系统,3、实时操作系统,实时操作系统是指计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。,目前有三种典型的实时系统:过程控制系统、信息查询系统和事务处理系统。,1) 计算机用于生产过程控制时,要求系统能现场实时采集数据,并对采集的数据进行及时处理,进而能自动地发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式操作系统 嵌入式 操作系统 教学 课件 01
链接地址:https://www.31doc.com/p-2968896.html