第1章操作系统的基本概念

上传人:今*** 文档编号:107561915 上传时间:2019-10-20 格式:PPT 页数:54 大小:1.29MB
返回 下载 相关 举报
第1章操作系统的基本概念_第1页
第1页 / 共54页
第1章操作系统的基本概念_第2页
第2页 / 共54页
第1章操作系统的基本概念_第3页
第3页 / 共54页
第1章操作系统的基本概念_第4页
第4页 / 共54页
第1章操作系统的基本概念_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《第1章操作系统的基本概念》由会员分享,可在线阅读,更多相关《第1章操作系统的基本概念(54页珍藏版)》请在金锄头文库上搜索。

1、,嵌入式操作系统原理,东软IT人才实训中心,Copyright 2008 By Neusoft Group. All rights reserved,引言,嵌入式操作系统(RTOS)早期情况: 只有硬件系统的“裸机”,没有操作系统作为开发平台。 RTOS商业软件价格昂贵,而且大部分不提供源码。 早期MCU存储资源有限,容不下RTOS本身的开销。 随着半导体技术的发展,嵌入式系统的存储容量也逐渐增加,RTOS的使 用也随之越来越普及;而且开源的实时操作系统越来越多。 学习操作系统的必要性: 软件的系统设计、架构设计必不可少 。 学习操作系统对于修正系统相关的疑难Bug必不可少 。 学习操作系统对

2、于深入了解计算机知识必不可少 。 如何学好本门课程: 多看源码,多做练习;理论与实践相结合,知行合一。 本课程学习目标: 理解uC/OS-II内核,掌握在uC/OS-II环境下并发程序设计思想。,课程结构,第一章:操作系统的基本概念,目标: 本章旨在向学员介绍操作系统基本概念,通过本章的学习,学员应该掌握如下知识: 操作系统概述 常用的操作系统 操作系统常用的数据结构 操作系统基本概念,学时:3.0学时 教学方法:讲授ppt点评案例分析,为什么要学习C/OS-II,对于初学者,从C/OS-II开始是个明智的选择。 1、提供源代码和详尽的注释; 2、可移植性强:大部分源码采用C语言编写,与微处理

3、 器硬件相关的部分用汇编语言编写; 3、可固化、可裁剪; 4、具有主流嵌入式操作系统的一些通用功能:多任务调 度管理、任务间的通信机制(信号量、事件标志、消 息邮箱等)、内存管理、中断管理等; 5、可以学习实时系统的一些C编程技巧;也是学习数据 结构应用的好例子。,软件与硬件接口,图 应用软件与操作系统,1. 1 操作系统概述,操作系统是一种为应用程序提供服务的系统软件,管理计算机系统资源,是一个完整计算机系统的有机组成部分。 从层次来看,操作系统位于计算机硬件之上,应用软件之下。所以也把它叫做应用软件的运行平台。,1.1.1 操作系统的作用,OS在计算机应用程序与计算机硬件系统之间,屏蔽了计

4、算机硬件工作的一些细节,并对系统中的资源进行有效的管理。 通过提供对硬件操作的抽象模型,使应用程序员可以相对容易的使用计算机的硬件资源,得以在一个友好的平台上进行应用程序的设计和开发,大大地提高了应用程序的开发效率。,计算机硬件,汇编语言编写的 硬件抽象层,高级语言的接口,应用软件,操作系统,OS从用户的角度来看,它就是一大堆函数(API和系统函数),用户可以调用(普通调用或系统调用)它们来对系统资源进行操作。,1.1.2 操作系统的分类,时 间 先 后,批处理操作系统服务于一系列作业(job),一个作业是将程序和数据按预先确定的次序结合在一起,并可以提交给系统的一个组织单位。,1.1.2 操

5、作系统的分类(续),监 控 程 序,操 作 系 统,实时操作系统,分时操作系统,多道批处理操作系统,时 间 先 后,实时操作系统是我们介绍的重点,1. 2 实时系统概述,实时系统与非实时系统的本质区别就在于实时系统中的任务以及对外部事件的响应都有时间限制。,任务的时间限制有两种:一种是启动时间的限制,如按一定周期启动执行,称为周期性任务;而随机启动执行的任务称为非周期性任务。另一种时间限制为执行时间的限制,即要求任务在规定时间内完成处理内容。,因为总体来说实时系统是事件驱动的,因此对外部事件响应的时间限制指的是:能对来自外界的作用和信号在限定的时间范围内作出响应。,从实时系统的应用来看实时操作

6、系统可以分为两种:一般实时操作系统和嵌入式实时操作系统。,1. 2 实时系统概述,1.2.1 实时系统的特点,一般实时操作系统 应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、应用一致的环境。,嵌入式实时操作系统 应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过一体化编程和交叉开发来完成的。嵌入式实时操作系统具有规模小(一般在几K-几十K 内)、可固化、实时性强(在毫秒或微秒数量级上)的特点 。,1.2.2 实时系统外部过程分类,按外部过程的要求划分,对于软实时系统来说,未能实时完成处理的结果,仅仅是带来了额外的代价,且通常这种代价能够被接受

7、。,软实时 系统,硬实时 系统,对于硬实时系统来说,未能实时完成处理是坚决不允许的,它往往导致致命危害。如刹车系统、制导系统。,1.2.3 实时系统响应时间分类,按系统响应时间划分,强实时 系统,一般实时系统,弱实时系统,响应时间在 100ms、 10ms、ms或 ms级以下,响应时间在 s、10s以下,响应时间在 10s以上或更长, 随负载变化,1.2.4 实时系统软件结构分类,按软件结构划分,轮循 系统,initialize() app1_task() if (condition_1) action_1(); if (condition_2) action_2(); if (conditi

8、on_n) acition_n(); CPU开销大,适合较慢速的简单系统,Check for Input,Do Something,事件驱动系统,前后台系统,多任务系统,多处理器系统,1.2.5 前后台系统,中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。,1.2.6 多任务系统,简单地说,就是能用一个处理器 并发(注意,不是同时! ) 地运行多个任务(程序)的计算机管 理系统。,并发:由同一个

9、处理器轮换地运行多个任务。或者说是由多个 任务轮流地占用处理器这个资源。 且在占用这个资源期间,并不一定能够把程序运行完毕。,并发过程 示意图,处理器如何进行程序的切换?,1.2.7 使用实时操作系统的必要性,嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。使用实时操作系统主要有以下几个因素: 嵌入式实时操作系统提高了系统的可靠性。 提高了开发效率,缩短了开发周期。 嵌入式实时操作系统充分发挥了CPU处理多任 务潜力。,1.2.8 实时操作系统的

10、优缺点,优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。,缺点:但是,使用嵌入式实时操作系统还需要额外的ROM/RAM开销,25%的CPU额外负荷,以及内核的费用。,1. 3 常见的嵌入式操作系统 - 嵌入式LINUX,uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux从Linux 2.0/2.4内核派生而来,沿

11、袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。,1. 3 常见的嵌入式操作系统 - WINCE,Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的Windows 95。Windows CE的图形用户界面相当出色。Win CE具有模块

12、化、结构化和基于Win32应用程序接口以及与处理器无关等特点。Win CE不仅继承了传统的Windows图形界面,并且在Win CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C+等)、使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。,1. 3 常见的嵌入式操作系统 - VxWorks,1. 3 常见的嵌入式操作系统 uITRON,TRON是指“实时操作系统内核(The Real-time Operating system Nucleux)”,它是在1984年由东京大学的Sakamura博士提出的,目的是为

13、了建立一个理想的计算机体系结构。通过工业界和大学院校的合作,TRON方案正被逐步用到全新概念的计算机体系结构中。 uITRON是TRON的一个子方案,它具有标准的实时内核,适用于任何小规模的嵌入式系统,日本国内现有很多基于该内核的产品,其中消费电器较多。目前已成为日本事实上的工业标准。,1. 3 常见的嵌入式操作系统 uC/OS-II,C/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用ANSI C写的,使其可以方便的移植并支持大多数类型的处理器。C/OS-II通过了联邦航空局(FAA)商用航行器认证。自1992年问世以来,C/OS-II已经被应

14、用到数以百计的产品中。C/OS-II占用很少的系统资源,并且在高校教学使用是不需要申请许可证。,图 嵌入式操作系统组成,1. 4 操作系统体系结构,思考:嵌入式系统任务的典型结构,由于嵌入式系统完成的是对一个装置或设备的控制任务,任务的功能相对固定,因此在一般情况下系统支持的典型任务是一个无限循环结构,C语言任务结构如下: void mytask(void *pdata) for(;) 用户编写的代码; 从任务的代码来看,任务实质上就是一个返回为void的函数,并在函数无限循环中完成用户的工作。,1. 5 操作系统常用的数据结构 数组,数组 1、同一数据类型数据的集合; 2、占用连续内存空间;

15、 3、每个元素都有一个唯一编号; 4、数组名是个常地址。,uchar a10,a0,a1,a2,a3,a9,a,a+1,使用上的特点: 1、分类存放; 2、检索速度快且恒定; 3、缺点:占用连续空间大,a+2,a+3,a+9,应用:记录同类事物的表,位图是数组的一种特殊应用,应用:登记表,1. 5 操作系统常用的数据结构 位图,1. 5 操作系统常用的数据结构 结构体,1。不同数据类型数据的集合; 2。占用连续内存空间;,struct Student char age; char*name; char sex; ;,使用上的特点: 1。用来描述同一事物的不同属性; 2。Struct Stude

16、nt stu10检索速度快且恒定;,1. 5 操作系统常用的数据结构 链表,struct Student Student*next char age; char*name; char sex; ;,1。不同数据类型数据的集合; 2。对同类代码进行统一管理,不占用连续内存空间。,1. 5 操作系统常用的数据结构 链表,struct Student Student*next char age; char*name; char sex; ;,使用上的特点: 1。空间上不连续(不需要大量的连续存储空间); 2。检索耗费的时间不固定;,应用:存放大量的较大的表,类似档案柜,1. 5 操作系统常用的数据结构 队列,按照先进先出 的规则组织的数据结构 可以用数组也可以用链 表来实现,应用:主要用于对象的排队,1. 5 操作系统常用的数据结构 堆栈,按照先进后出 规

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号