实时操作系统基本原理

实时操作系统基本原理
实时操作系统基本原理

实时操作系统原理

1 前后台系统的优缺点

前后台系统的架构用一句话来形容的话,就是一个大的循环,加上中断,就形成了一个整的体系。任务级别的称为后台, 中断是异步事件也称为前台。具体的流程图如下:

可以看到图里面处理了模块功能Task 4之后又返回处理模块功能Task 1,轮询不止。然后中断触发异步事件,一般也支持中断嵌套。

一般的单片机系统大多是采用了此种模式编程,优点是简洁,明了,新手的上手速度很快,特别是专注用来做一件事情的时候,一个while循环基本是无敌的。比如实现一个i2c slave ,完全可以用一个while 来模拟实现一个i2c 的slave 控制器。在操作系统上来模拟一个i2c slave 的话,基本不太可能实现,因为实时系统存在最大关中断的时间。

接下来谈谈前后台系统的缺点,前后台系统面临的一个直接困境是,软件规模大了,很难管理。处理的模块一多的话,实时性也根本难以保障。参照上图举例如下:

优先级高的事件一般在后台系统即任务空间去执行,而对于前后台系统而言一般优先级高的事件都是靠中断去解决,中断运行时间太长,后台任务响应速度很慢。假设来了中断然后需要处理事件Task 4,如果Task 4的处理是最紧迫的,但是当

前cpu 只运行到模块Task 1,这样的话,必须还要承受Task 2和Task3的运行时间延迟,才能轮到Task 4的处理,当模块越多的时候很可能情况更糟糕。这样的话可以看到紧急事件Task 4 的处理在时间上是不恒定的,有违实时系统原理。前后台的超循环设计对于紧急事件只能花大时间在中断内部去解决,但是当一个中断执行时间过长的时候会阻塞其它低优先级的中断的响应,继而造成其它中断数据的丢失。前后台系统还有一个缺点是各任务模块之间是相互独立的,缺乏有效的通讯手段。在一个中大型软件项目中,采用此类方法可以说是一种管理的灾难。

对于一个大while循环,另外一种实现方式是采用基于状态机的编程,往往能简化架构,解决复杂问题,比如目前的实时系统QP操作系统就是采取此种架构。但是状态机有一定的学习曲线,并不是每个人轻易能够掌握的。幸运的是raw os 除了支持传统的实时操作系统特性之外,也支持基于状态机的编程,具体细节请参考相应的章节。

综上所述,前后台的缺点是远大于优点的,所以就需要一个实时操作系统来解决这些缺点。

2 实时操作系统特性

实时操作系统存在的主要原因是用来解决前后台系统的不足,实时操作系统专注于管理任务,一个任务的形式通常是一个无限循环,任务和线程的概念是一致的,只是不同的操作系统叫法不同。实时系统目前在MCU,dsp上得到了广泛的应用。

实时操作系统主要是负责多个任务之间的管理通讯等,这样就形成了多任务的环境。多任务看上去像每个任务在同时运行,但是对于单核cpu来说,同一时刻只能跑一个任务。多任务环境相比前后台系统而言,最大化的利用了cpu效率,因为前后台系统存在空转的情况,但是多任务系统可以在系统空闲的时候跑空闲任务,甚至在空闲任务里实现低功耗的功能。

raw os 可以设置成抢占内核或者非抢占内核,当设置成抢占内核的时候,系统永远运行的是最高优先级的任务。如下图所示:

下面来解释下上图:

(1)低优先级任务运行中,高优先级任务处于等待某一事件中。

(2)中断发生了。

(3)中断里面做了一些简单的事情后,通常是接收硬件数据,也就是完成中断上

半部的事情后,就唤醒高优先任务,来进一步处理数据,比如网卡中断接收数据的处理流程。

(4)中断结束后并不会回去运行低优先级的任务,而是调度运行高优先级。

(5)高优先级任务运行中处理中断中接收的相关数据。

(6)高优先级任务执行完毕,继续等待下一次事件,切换给低优先级任务继续运

行。

一般一个实时系统需要占用5%左右的cpu运行时间,raw os 需要占用一定的rom 和ram, 太低端的单片机比如8051是不推荐跑任何RTOS的。低端芯片主要ram 比较紧缺,通过高度配置后,raw os 的ram占用量只有1K左右。一般通常情况是是4K以下的ram 占有量。低端的单片机强烈建议跑raw os的事件触发系统,

只需要几十个字节的ram,完全可以符合开发需求。

3 如何安排实时操作系统任务优先级

很多实时操作系统书籍都没有明确的阐述如何去安排任务的优先级。任务优先级的安排一般都是架构师去安排,因为这个是一个全局性的战略,必须要做到对不同的任务轻重有别。

在安排任务优先级之前还有一个概念,那就是如何安排任务。

程序在CPU中是以任务的方式在运行,所以我们要将系统的处理框图转化为多任务流程图,对处理进行任务划分。任务划分存在这样一对矛盾:如果任务太多,必然增加系统任务切换的开销;如果任务太少,系统的并行度就降低了,实时性就比较差。在任务划分时要遵循H.Gomma原则:

a. I/O原则:不同的外设执行不同任务;

b.优先级原则:不同优先级处理不同的任务;

c.大量运算:归为一个任务;

d.功能耦合:归为一个任务;

e.偶然耦合:归为一个任务;

f.频率组合:对于周期时间,不同任务处理不同的频率。

以上原则中,不同的外设执行不同任务这个原则尤其显现的重要。比如shell终端会用到串口,这个划分为一个单独的任务。又如网络协议栈会使用到网卡,这个时候协议栈内部会有专门的任务服务网卡。

安排任务的优先级犹如一个公司的老板,如何安排员工的职位。下面是安排任务优先级的一个可能的策略:

首先把系统里有哪些任务全部排列出来,这个是排优先级的基础。

以下是安排任务优先级考虑的两点因素:

1 以任务周期为依据,任务周期越短执行频率越高,优先级越高。

2 根据任务的重要程度,越重要的任务优先级越高。

以上两点有时需要一起综合考虑,因为任务周期越短的任务未必是重要的任务,必须结合第2点综合考虑。

4 实时操作系统主流调度方法

操作系统的调度方法有很多种,这里主要介绍主流的调度算法,像EDF这种调度算法就不表述了。目前几乎所有的商业实时操作系统的调度理论都基于RMS理论.

以下是基于RMS的一些假设理论:

1 各个任务之间没有资源共享,没有忙等,没有mutex, 也没有semaphore.

2 每个任务的最后期限是周期性的。

3 基于优先级抢占的,即高优先级任务一旦就绪的话,会立马抢占低优先级任务。

4 任务优先级的分配原则是,周期越短的任务,优先级越高。

5 任务切换以及纯内核任务的消耗忽略不计对于这个理论模型。

以下的公式是,基于RMS 的一个基础理论:

U 代表了系统的cpu 实际使用率,C 是任务的运行具体时间,T 是周期性的任务最后期限,n是有多少个任务,等式右边是理论上的可实时调度率,可以看到可调度率只和任务的个数有关,任务越多,可实时调度率越少。

可以看到等式右边:

可以看到当任务接近无穷大的时候,可调度率是69%了。从这个公式可以近似任务系统中69%的任务是可以硬实时调度的,即能在最后的期限中完成运行。还有大概31%的任务是非实时的。这样的理论模型在实际应用中是完全可行的。

接下来看一个实际的例子:

假设有3个任务P1, P2, P3,运行的时间以及周期如上图。

根据公式可以算出系统的cpu 使用率。

理论上的可实时调度率为

可以看到0.725 <= 0.77976, 所以这3个任务都是可以硬实时调度的。

RMS理论主要是基于任务优先级的,对于指导分配分配任务的优先级有很大的实战价值,其核心是根据任务的最后期限(deadline)和周期的时间来分配任务优先级。周期越短的任务优先级越高,但是实战中周期越短的任务也不一定是实时性最高的任务,还是要根据应用程序去调整。不管如何这在优先级分配上是一个有趣的开始。

下图是基于raw os系统基于时间片的调度的一个实例:

RR全名叫Round Robin scheduling,是基于同等优先级的时间片调度。请参照上图,上图中有3个任务,他们的优先级都为Y,这3个任务的调度方式都为SCHED_RR,而且都赋予了一定的时间片,每一次定时器的中断都会把正在运行的任务时间减去1。参照上图举例如下:

(1)任务3在运行中。

(3)任务3时间片耗尽后,轮到任务1去运行。

(4)任务1的时间片耗完之后又轮到任务2去运行。

最后又回到任务3去运行。

下图是一开始(1)时刻的任务优先级Y的就绪队列情况:

等到(4)时刻的时候任务优先级的就绪队列情况如下:

可以看到任务3的时间片用完之后,就跑到就绪队列最后去了。但是任务3还是在就绪队列里面。

以上原理基本是基于时间片调度的全部原理了。接下来谈谈基于FIFO 的调度策略。基于FIFO的调度策略也是posix规范所要求的,每一个任务都可以指定是基于时间片的SCHED_RR调度或者基于fifo的SCHED_FIFO调度。需要注意的是SCHED_RR或者SCHED_FIFO调度都是基于任务的同等优先级的调度,不同优先级的任务之间不存在此种形式的调度。

假如有一个优先级Y的就绪队列如下:

可以看到上图中任务1的调度方式为SCHED_FIFO, 只要任务1不放弃cpu的使用权的话,任务2和任务3是永远不能运行的,当任务1阻塞在内核对象上了,比如semaphore, queue, event 等会轮到任务2去运行,或者任务1调用raw_sleep函数也可以轮到任务2去运行。

5 关于raw os 的外围模块

raw os主要专注于设计世界上最前沿的实时操作系统内核,此外还能支持运行一系列著名的开源软件,比如网络协议栈uip以及lwip, fat文件系统fat32,nand文件系统yaffs2等等。目前的支持的GUI为ucgui, 不过ucgui是商业收费的,具体有用户去决定是否使用。值得一提的是这些外围模块全部都能在VC环境下模拟仿真,给用户整个项目的全模拟带来可能性。

6 raw os的系统特性

raw os 提供了标准C代码。内核源码的发布是一个干净的版本,不带任何移植。raw os的标准C代码已经在数十个芯片平台移植并验证。通过此书,用户将学到实时操作原理以及如何有效的使用好raw os。

raw os的api函数具有高度的直观性。用户基本看到raw os的api名字以及参数基本就知道该怎么使用api了。

raw os是可以配置为多任务的抢占的。raw os可以配置为多任务的抢占型内核,系统中永远运行的是最高优先级的任务,最大限度的保障了系统的实时性。

raw os支持系统配置成非抢占系统。非抢占的系统的好处是可以追求系统数据的最大吞吐量,还能提高系统对驱动的容错能力,因为很多时候驱动的错误是驱动设计人员没有完全考虑到系统的抢占的因素引起的,当驱动人员无法完全掌控抢占系统的时候,关掉系统抢占可能是一个很好地选择。

raw os的调度策略主要是基于RMS理论,即基于任务优先级的。任务的优先级数值越小,表明任务的优先级越高,rms 调度策略在无穷任务情况下能保证至少70%的任务是可以完全实时的,即70%的任务都能在最后的期限完成工作。目前的商业用的实时系统都是基于rms理论的。

raw os支持同等优先级任务,主要基于时间片轮调度。raw os允许多个任务跑在同等优先级,当多个同等优先级的任务处于就绪队列中时,raw os会基于时间片调度任务,也就是说每个任务都有一个时间片,时间片消耗完了就插入到就绪队列后面去,轮到下一个任务跑。这个时间片是任务创建的时候由用户来指定,也可以有用户动态去改变。处于运行中的任务也可以放弃自己的时间片,排队到就绪队列的最后去。

超低的系统最大关中断时间。raw os通过把内核临界区关抢占,而不是关中断

的实现方式,并结合一些特殊的技术,成功的把raw os整个系统的最大关中断时间降低到0us, 此技术可以保证响应一些非常快速的中断源。

独具特色的中断下半部。raw os的中断下半部支持task 0 以及workqueue,为实时性更进一步加一层保障。

丰富的内存分配算法。raw os 支持block, byte, slab, page, malloc等内存分配算法。

支持内存保护。raw os在具有MPU的cpu上,诸如cortex-m3, cottex-m4上支持MPU内存保护,此项技术可以使用于医疗等高度安全领域。

状态机级别的协程支持。支持idle任务级别的事件驱动(协程),基于状态机机制(fsm+hsm), 所有idle 级别的事件任务共享一个栈,此项技术可以大大节约ram,适用于资源缺乏却又想使用RTOS的场合。

raw os的所有api在时间上都是可确定性的。时间的可确定性的意思是说,时间是恒定的,实时操作系统不在于快,而在于时间的恒定,稳定性,不会有时间不恒定性的api存在。

raw os的高度可配置性。raw os的所有模块都是可配置性的,在资源上可以多可以少,最小的内核可配置成占用2K以下的代码,几十个字节的ram。可以适应多种项目的应用需求。

raw os的高度可移植性。raw os已经在很多的cpu平台上移植,比如arm 7, arm 9,cortex-m3,cortex-m4,mips32,等等cpu上。未来会有更多的cpu平台支持。

四种实时操作系统特性进行分析和比较

四种实时操作系统特性进行分析和比较 https://www.360docs.net/doc/b012742732.html,2006年11月18日21:55ChinaByte 本文对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux——新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。 近年来,实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域得到广泛的应用,因而越来越引起人们的重视。 基本特征概述 *QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSIX.1 (程序接口)和POSIX.2(Shell和工具)、部分遵循POSIX.1b(实时扩展)。它最早开发于1980年,到现在已相当成熟。 *LynxOS是一个分布式、嵌入式、可规模扩展的实时 操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。它最早开发于1988年。 *RT-Linux是一个嵌入式硬实时操作系统,它部分支持POSIX.1b标准。 *KURT-Linux不是为嵌入式应用设计的,不同于硬(hard)实时/软(soft)实时应用,他们提出“严格(firm)”实时应用的概念,如一些多媒体应用和ATM网络应用,KURT是为这样一些应用设计的“严格的”实时系统。 体系结构异同 实时系统的实现多为微内核体系结构,这使得核心小巧而可靠,易于ROM固化,并可模块化扩展。微内核结构系统中,OS服务模块在独立的地址空间运行,所以,不同模块的内存错误便被隔离开来。但它也有弱点,进程间通信和上下文切换的开销大大增加。相对于大型集成化内核系统来说,它必须靠更多地进行系统调用来完成相同的任务。 *QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。 *LynxOS目前还不是一个微内核结构的操作系统,但它计划使用所谓的“Galaxy”技术将其从大型集成化内核改造成微内核,这一技术将在LynxOS 3.0中引入。新的28Kb微内核提供以下服务:核心启动和停止、底层内存管理、出错处理、中断处理、多任务、底层同步和互斥支持。

RTOS实时操作系统(Real Time Operating System)

John Lee 20:27:07 上次讲到了 RTOS 的抢占机制对事件响应能力提高的帮助,避免了事件的丢失。 John Lee 20:27:07 上次讲到了 RTOS 的抢占机制对事件响应能力提高的帮助,避免了事件的丢失。小道(569198569) 20:27:39 老师辛苦 John Lee 20:27:45 但光依靠 RTOS 的抢占机制,并不能做到完全不丢失事件,只是从一定程度上降低了丢失事件的机率。 丶砖家(1361439207) 20:28:16 LEE 丶砖家(1361439207) 20:28:14 好复杂呀 John Lee 20:28:54 上次的这个图: John Lee 20:30:20 是没有丢失事件了,但如果我们把 E2 的第 3 个事件提前一些: John Lee 20:32:30 对于这样情况,RTOS 提供了一些带有通信功能的同步对象,可以让应用程序构造软件缓冲机制,来保持突发事件。 John Lee 20:33:19 关于具体的实现方法,要等到我们学习完了 RTOS 同步机制和各种同步对象后,才能讨论。

John Lee 20:34:24 除此之外,还有其它一些系统设计时,需要仔细考虑的问题: 中断处理时间到底多长合适? 等待设备事件产生,是否一定要用中断? 如何划分任务? 如何确定合适的调度算法? 是否需要任务优先级? 静态优先级能不能满足要求? 系统节拍的频率多少合适? 如何选则合适的同步对象? DsPower小灰灰(108430786) 20:35:56 对这就是我的问题 wei(34103820) 20:36:02 John Lee 20:36:07 这些问题,都留到我们学习完 RTOS 后,再来讨论。 小道(569198569) 20:36:23 wei(34103820) 20:36:02 遵守纪律 John Lee 20:36:39 现在讨论,很多同学没有基础,晕的。 John Lee 20:37:12 我们继续学习《嵌入式系统的实时概念》。 DsPower小灰灰(108430786) 20:38:13 支持老师 DsPower小灰灰(108430786) 20:38:14 雪狼(982332664) 20:38:55 我都晕乎了 John Lee 20:40:01 我们上次停下来的地方,是: 4.4.5 调度算法。

实时操作系统报告

实时操作系统课程实验报告 专业:通信1001 学号:3100601025 姓名:陈治州 完成时间:2013年6月11日

实验简易电饭煲的模拟 一.实验目的: 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,基于多任务的模式的编程方法。锻炼综合应用多任务机制,任务间的通信机制,内存管理等的能力。 二.实验要求: 1.按“S”开机,系统进入待机状态,时间区域显示当前北京时间,默认模式“煮饭”; 2.按“C”选择模式,即在“煮饭”、“煮粥”和“煮面”模式中循环选择; 3.按“B”开始执行模式命令,“开始”状态选中,时间区域开始倒计时,倒计时完成后进入“保温”状态,同时该状态显示选中,时间区域显示保温时间; 4.按“Q”取消当前工作状态,系统进入待机状态,时间区域显示北京时间,模式为当前模式; 5.按“X”退出系统,时间区域不显示。 6.煮饭时长为30,煮粥时长为50,煮面时长为40. 三.实验设计: 1.设计思路: 以老师所给的五个程序为基础,看懂每个实验之后,对borlandc的操作有了大概的认识,重点以第五个实验Task_EX为框架,利用其中界面显示与按键扫描以及做出相应的响应,对应实现此次实验所需要的功能。 本次实验分为界面显示、按键查询与响应、切换功能、时钟显示与倒计时模块,综合在一起实验所需功能。 2.模块划分图: (1)界面显示: Main() Taskstart() Taskstartdispinit() 在TaskStartDispInit()函数中,使用PC_DispStr()函数画出界面。

(2)按键查询与响应: Main() Taskstart() 在TaskStart()函数中,用if (PC_GetKey(&key) == TRUE)判断是否有按键输入。然后根据key 的值,判断输入的按键是哪一个;在响应中用switch语句来执行对应按键的响应。 (3)切换功能: l计数“C”按 键的次数 M=l%3 Switch(m) M=0,1,2对应于煮饭,煮粥,煮面,然后使用PC_DispStr()函数在选择的选项前画上“@”指示,同时,在其余两项钱画上“”以“擦出”之前画下的“@”,注意l自增。 四.主要代码: #include "stdio.h" #include "includes.h" #include "time.h" #include "dos.h" #include "sys/types.h" #include "stdlib.h" #define TASK_STK_SIZE 512 #define N_TASKS 2 OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; OS_STK TaskStartStk[TASK_STK_SIZE]; INT8U TaskData[N_TASKS];

物联网操作系统的必备特性

物联网操作系统的必备特性 物联网所带来的机遇与挑战都是空前的。要抓住机遇,迎接挑战,是否拥有最佳的操作系统做为基础是极为关键的问题。 那么,物联网环境对操作系统提出了哪些不同于以往的需求?产品开发商采用怎样的操作系统,拥有哪些特征或技术,最有可能在物联网的发展中把握先机?基本上,今后的RTOS 不仅必须具备传统的实时性、确定性和可靠性,还必须提供高度互联、全面安全、远程管理等物联网环境所要求的全新能力。最近,风河公司推出了VxWorks7,对这套在嵌入式领域主导多年的RTOs(实时操作系统)进行了再次创新,其目标正是“物联网市场已达 实时操作系统 (The RTOS for thelnternet of Things) ”。实时性依然是物联网操作系统的必备特性 实时操作系统( RTOS,RealTimeOperation System)是指能够在确定的时间对内部或者外部的事件做出正确的响应。在实时操作系统中,进程执行结果的正确与否不仅与逻辑运算或数学计算结果的正确性相关,而且与得出这个正确结果的时间有关。也就

是说,在实时系统 中,如果一个进程的运算结果虽然 是正确的,但是由 于它完成的时间超出了给定的最后期限,那么这个结果就是毫无意义的。 例如汽车中使用的气囊。当报告车辆碰撞的传感器通知CPu 后,操作系统应快速地发出打开气囊的任务,并且不允许任何其他非实时处理进行干扰,晚一秒钟展开气囊比没有气囊的情况更糟糕,这就是一个典型的实时系统。 通常认为,实时操作系统要求速度非常快。但实际上,实时操作系统强调的不仅仅是速度,而是时间关系的次序和确定性。例如,一条货轮在码头等待各地的卡车运来货物之后装船运往海外,规定好了离港启航的时间。那么,如果有一辆卡车在货轮离港时间之后才把货物运到了码头,逻辑上它虽然完成了陆地货运任务,但已经没有任何意义了。货车行驶速度和气囊打开速度当然不可相提并论,但就它与货轮配合的时间顺序而言具有同样都是实时系统,都必须要满足的是时序确定性,而跟速度有多快不一定相关! 再例如,如果使用足够高性能的CPU,Windows 可以提供非常快的速度。但是,当某些后台任务正在运行时,有时候响应会变得非常漫长,以至于某一个简单的读取文件的任务也会很长时间无响应。并不是说Windows 不够

操作系统原理复习题库完整

计算机操作系统期末复习题 声明:本题库容仅供参考 注:1-简单2-一般3-较难4-难 第一部分操作系统基本概念 一、选择题(选择最确切的一个答案,将其代码填入括号中) 1、操作系统是一种()。 A、应用软件 B、系统软件 C、通用软件 D、工具软件 答案-1:B 2、计算机系统的组成包括()。 A、程序和数据 B、处理器和存 C、计算机硬件和计算机软件 D、处理器、存储器和外围设备 答案-1:C 3、下面关于计算机软件的描述正确的是()。 A、它是系统赖以工作的实体 B、它是指计算机的程序及文档 C、位于计算机系统的最外层 D、分为系统软件和支撑软件两大类 答案-2:B 4、财务软件是一种()。 A、系统软件 B、接口软件 C、应用软件 D、用户软件 答案-2:C 5、世界上第一个操作系统是()。 A、分时系统 B、单道批处理系统 C、多道批处理系统 D、实时系统 答案-1:B 6、批处理操作系统提高了计算机的工作效率,但()。 A、系统资源利用率不高 B、在作业执行时用户不能直接干预 C、系统吞吐量小 D、不具备并行性 答案-3:B 7、引入多道程序的目的是()。 A、为了充分利用主存储器 B、增强系统的交互能力

C、提高实时响应速度 D、充分利用CPU,减少CPU的等待时间 答案-3:D 8、在多道程序设计的计算机系统中,CPU()。 A、只能被一个程序占用 B、可以被多个程序同时占用 C、可以被多个程序交替占用 D、以上都不对 答案-2:C 9、多道程序设计是指()。 A、有多个程序同时进入CPU运行 B、有多个程序同时进入主存并行运行 C、程序段执行不是顺序的 D、同一个程序可以对应多个不同的进程 答案-3:B 10、从总体上说,采用多道程序设计技术可以()单位时间的算题量,但对每一个算题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要()。 A、增加减少 B、增加延长 C、减少延长 D、减少减少 答案-4:B 11、允许多个用户以交互使用计算机的操作系统是()。 A、分时系统 B、单道批处理系统 C、多道批处理系统 D、实时系统 答案-2:A 12、下面关于操作系统的叙述正确的是()。 A、批处理作业必须具有作业控制信息 B、分时系统不一定都具有人机交互功能 C、从响应时间的角度看,实时系统与分时系统差不多 D、由于采用了分时技术,用户可以独占计算机的资源 答案-3:A 13、操作系统是一组()。 A、文件管理程序 B、中断处理程序 C、资源管理程序 D、设备管理程序 答案-1:C 14、现代操作系统的两个基本特征是()和资源共享。 A、多道程序设计 B、中断处理 C、程序的并发执行 D、实现分时与实时处理 答案-1:C 15、()不是操作系统关心的主要问题。 A、管理计算机裸机

实时操作系统 期末报告

实时操作系统期末总结报告 一、实时操作系统的概述 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。 1.1.实时操作系统的相关概念 (1)实时操作系统的定义 实时操作系统是保证在一定时间限制内完成特定功能的操作系统。例如人驾驶的汽车中的系统,需要一个比较稳定的实时操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,比如汽车不能很快的识别人的操作指令,那么它可能造成严重的事故(如:汽车的瞬时刹车;公交车,它能准确的报站,这其实就是一个实时操作系统的具体体现;其次,车上的GPS导航仪,其实质也是一个比较精确实时操作系统的产物,如果不能实时,那么导航仪将失效,结果不能正确的指导司机驾驶的方向,同时这种实时操作系统的及时性必须达到一定的程度:ms级)。一些实时操作系统是为特定的应用

设计的,另一些是通用的。一些通用目的的操作系统称自己为实时操作系统。但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或IBM的OS/390有实时系统的特征。这就是说,即使一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。 (2)实时操作系统中的一些重要的概念 代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入; 资源:任何为任务所占用的实体; 共享资源:可以被一个以上任务使用的资源; 任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任 务都是一个无限的循环,每个任务都处在以下五个状态下:休眠 态,就绪态,运行态,挂起态,被中断态; 任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任 务的栈中重新装入CPU的寄存器,并开始下一个任务的运行; 内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核和可剥夺型内核; 调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法; (3)及时性 关于实时操作系统的及时性,我将从如下两个方面进行介绍:实时操作系统的时间限和实时操作系统的应用相关。 时间限:对一些实时性要求较高的系统,它们要求的时间限一般是毫秒级(ms),但是通常的实时操作系统,一般是秒级(s)或是在

批处理 分时 实时操作系统的特点

批处理、分时、实时操作系统的特点 一、批处理系统的特点 1、多道:在内存中同时存放多个作业,一个时刻只有一个作业运行,这些作业共享CPU和外部设备等资源。 2、成批:用户和他的作业之间没有交互性。用户自己不能干预自己的作业的运行,发现作业错误不能及时改正。 3、批处理系统的目的是提高系统吞吐量和资源的利用率。 二、分时系统的特点 1、同时性,计算机系统能被多个用户同时使用; 2、独立性:用户和用户之间都是独立操作系统的,在同时操作时并不会发生冲突,破坏,混淆等现象; 3、及时性:系统能以最快的速度将结果显示给用户; 4、交互作用性:用户能和电脑进行人机对话。 三、实时操作系统的特点 1、高精度计时系统 计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。

2、多级中断机制 一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。 3、实时调度机制 实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是, [3] 处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

计算机操作系统简单介绍

计算机操作系统简单介绍 操作系统的种类繁多,依其功能和特性分为分批处理操作系统、分时操作系统和实时操作系统等;依同时管理用户数的多少分为单用户操作系统和多用户操作系统;适合管理计算机网络环境的网络操作系统。 1)微机操作系统随着微机硬件技术的发展而发展,从简单到复杂。Microsoft 公司开发的DOS是一单用户单任务系统,而Windows操作系统则是一多户多任务系统,经过十几年的发展,已从Windows 3.1发展Windows NT、Windows 2000、Windows XP、Windows vista、Windows 7和Windows 8等等。它是当前微机中广泛使用的操作系统之一。Linux是一个源码公开的操作系统,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大,已被越来越多的用户所采用,是Windows操作系统强有力的竞争对手。 2)语言处理系统 人和计算机交流信息使用的语言称为计算机语言或称程序设计语言。计算机语言通常分为机器语言、汇编语言和高级语言三类。如果要在计算机上运行高级语言程序就必须配备程序语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。翻译的方法有两种:一种称为“解释”。早期的BASIC源程序的执行都采用这种方式。它调用机器配备的BASIC“解释程序”,在运行BASIC源程序时,逐条把BASIC的源程序语句进行解释和执行,它不保留目标程序代码,即不产生可执行文件。这种方式速度较慢,每次运行都要经过“解释”,边解释边执行。 另一种称为“编译”,它调用相应语言的编译程序,把源程序变成目标程序(以.OBJ为扩展名),然后再用连接程序,把目标程序与库文件相连接形成可执行文件。尽管编译的过程复杂一些,但它形成的可执行文件(以.exe为扩展名)可以反复执行,速度较快。运行程序时只要键入可执行程序的文件名,再按Enter键即可。 对源程序进行解释和编译任务的程序,分别叫作编译程序和解释程序。如FORTRAN、COBOL、PASCAL和C等高级语言,使用时需有相应的编译程序;BASIC、LISP等高级语言,使用时需用相应的解释程序。

分时实时批处理操作的特点

一、批处理系统的特点 1、多道:在内存中同时存放多个作业,一个时刻只有一个作业运行,这些作业共享CPU和外部设备等资源。 2、成批:用户和他的作业之间没有交互性。用户自己不能干预自己的作业的运行,发现作业错误不能及时改正。 3、批处理系统的目的是提高系统吞吐量和资源的利用率。 二、分时系统的特点 1、同时性,计算机系统能被多个用户同时使用; 2、独立性:用户和用户之间都是独立操作系统的,在同时操作时并不会发生冲突,破坏,混淆等现象; 3、及时性:系统能以最快的速度将结果显示给用户; 4、交互作用性:用户能和电脑进行人机对话。 三、实时操作系统的特点 1、高精度计时系统

计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。 2、多级中断机制 一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。 3、实时调度机制 实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是, [3] 处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

扩展资料: 实时操作系统是保证在一定时间限制内完成特定功能的操作系统。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。 例如,可以为确保生产线上的机器人能获取某个物体而设计一个操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。

实时操作系统包括硬实时和软实时的区别

一.什么是真正的实时操作系统 做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN 上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platformteam封装好的API。所以在此总结一下这些概念,加深自己的理解,同时也给新手入门,欢迎大家拍砖,争取写个连载,本文先总结一下实时的概念,什么是真正的实时操作系统? 1. 首先说一下实时的定义及要求: 参见 Donal Gillies 在 Realtime Computing FAQ 中提出定义:实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。

一个实时操作系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。请注意,必须要满足确定性,而不是要求速度足够快!例如,如果使用足够强大的CPU,Windows在CPU空闲时可以提供非常短的典型中断响应,但是,当某些后台任务正在运行时,有时候响应会变得非常漫长,以至于某一个简单的读取文件的任务会长时间无响应,甚至直接挂死。这是一个基本的问题:并不是Windows不够快或效率不够高,而是因为它不能提供确定性,所以,Windows不是一个实时操作系统。 根据实际应用,可以选择采用硬实时操作系统或软实时操作系统,硬实时当然比软实时好,但是,如果你的公司正在准备开发一款商用软件,那请你注意了,业界公认比较好的VxWorks(WindRiver开发),会花光你本来就很少的银子,而软实时的操作系统,如某些实时Linux,一般是开源免费的,我们公司本来的产品就是基于VxWorks的,现在业界都在CostReduction,为了响应号召,正在调研如何把平台换成免费的嵌入式实时Linux。同学们,如何选择,自己考虑吧:-)

实时操作系统期末复习题资料

实时操作系统期末复习题 考虑到降低难度,将原有的多选全部换成单选,同时增加简答,减少综合。试卷分数比例与本复习题完全一致。 一、单选题(60题,每题一分) 1、操作系统的主要功能有(C )。 A.进程管理、存储器管理、设备管理、处理机管理 B.虚拟存储管理、处理机管理、进程调度、文件管理 C.处理机管理、存储器管理、设备管理、文件管理 D.进程管理、中断管理、设备管理、文件管理 2、单处理机计算机系统中,(A)是并行操作的。 A.处理机操作和通道操作是并行的 B.程序与程序 C.主程序与子程序 D.用户程序与操作系统程序 3、处理机的所有指令可以在(D )中执行。 A.目态B.浏览器中C.任意时间D.系统态 4、要求在规定的时间内对外界的请求必须给予及时相应的OS是(B )。 A.多用户分时系统B.实时系统 C.批处理系统时间D.网络操作系统 5、(A )对实时系统最重要。 A.实时性B.交互性C.共享性D.运行效率

6、分布式系统和网络系统的主要区别是(C)。 A.并行性B.透明性C.共享性D.复杂性 7、如果分时操作系统的时间片一定,那么(B ),则相应时间越长。A.用户数越少B.用户数越多C.内存越小D.内存越大 8、下面六个系统中,必须是实时操作系统的有(C )个。 (1)航空订票系统(2)过程控制系统(3)机器口语翻译系统(4)计算机辅助系统(5)办公自动化系统(6)计算机激光照排系统 A.1 B.2 C.3 D.4 9、进程在系统中是否存在的惟一标志是(D )。 A.数据集合B.目标程序C.源程序D.进程控制块 10、当( B )时,进程从执行状态转变为就绪状态。 A.进程被调度程序选中B.时间片到 C.等待某一事件D.等待的事件发生 11、在进程状态转换时,下列( D )转换是不可能发生的。 A.就绪态→运行态B.运行态→就绪态 C.运行态→阻塞态D.阻塞态→运行态 12、下列各项工作步骤中,( B )不是创建进程所必需的步骤。 A.建立一个PCB B.作业调度程序为进程分配CPU C.为进程分配内存等资源D.将PCB链入进程就绪队列13、进程是B

单片机实时操作系统RTOS

51单片机实时操作系统 作者:徐少伟日期:2013年12月07日 摘要本文着重介绍了运行在51单片机上基于片轮询式实时操作系统RTOS的构建,讨论了实时操作系统的运行原理和设计思路。关键词:51单片机、片轮询、实时操作系统RTOS 1前言 随着计算机技术的发展,计算机已经被广泛地应用到各个领域中。而在控制领域,人们更多地关心计算机的低成本、小体积、运行的可靠性和控制的灵活性。特备是智能仪表、智能传感器、智能家电、智能办公设备、汽车及军事电子设备等应用系统要求计算机嵌入这些设备中。而作为嵌入式计算机的单片机因其体积小、可靠性高、控制功能强以及非凡的嵌入式应用形态,使得单片机应用技术已经成为电子应用系统设计中最为常用的技术手段。 在工业控制方面,因工业环境对计算机的可靠性和实时性的要求特别高,而诸如51系列的单片机的片上资源比较有限,因此开发并构建一种应用于单片机上的实时多任务操作系统已成为一种迫切的需求。 2实时操作系统设计概述2.1实时多任务操作系统(RTOS)简介 过去一个单片机应用程序所控制的任务和外设不多,采用一个主程序和几个子程序模块的调用,即可满足要求。但随着应用的复杂化,对单片机软件提出了更高的要求。一个控制器系统可

能需要同时控制或监控很多外设,要求有实时响应;有很多处理的任务,各种任务之间有信息的传递。如果仍采用原来的程序设计方法,将会存在两个问题。一是中断可能得不到及时响应,处理时间过长。二是系统任务多,要考虑的各种可能也多,各种资源如调度不当就会发生死锁,降低软件的可靠性,程序编写的任务量成指数增加。 实时操作系统是一段系统启动后首先执行的背景程序,用户的应用程序是运行在RTOS之上的各个任务。RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。 实时多任务操作系统,以分时方式运行的多个任务,看上去好像是多个任务“同时”运行。标准的RTOS应具有任务调度、中断处理、事件管理、定时器管理、循环队列管理、资源管理、存储管理、自动掉电管理等功能,基于优先服务方式的RTOS才是真正的实时操作系统。 本文主要讨论了基于时间分片轮询方式,即片轮询方式的多任务操作系统,重点介绍多任务实时操作系统的原理和构建方法,为深入研究真正意义上的实时多任务操作系统RTOS奠定一定的理论和思想基础。 2.2实时多任务操作系统(RTOS)任务切换 在实时操作系统RTOS中,任务的切换方式有三种:协同方式、时间片轮询方式以及抢占优先级方式。 2.2.1协同方式 所谓“协同方式”,是指一个任务在持续运行而不释放资源,其他任务是没有机会获得运行

DSP实时操作系统简介

ENEA公司与OSE实时操作系统简介 一.公司简介 OSE RTOS主要是由瑞典ENEA公司负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋。公司建立于1968年,由大约700名雇员专门从事实时应用的技术研发和支持工作。ENEA是现今市场上一个飞速发展的RTOS供应商,在过去三年中,该公司的税收以每年70﹪的速度递增。 该公司开发的OSE RTOS支持容错,适用于可从硬件和软件错误中恢复的应用,它的独特的消息传输方式使它能方便地支持多处理机之间的通信。它的客户深入到电信,数据,工控,航空等领域,尤其在电信、军方等方面,该公司已经有了二十多年的开发经验,ENEA 现在已经成为日趋成熟,功能强大,经营灵活的RTOS供应商,也同诸如爱立信,诺西,华为,中兴,诺基亚,波音,NASA,空客等知名公司确定了良好的关系。 二.OSE操作系统的特点 1. 高处理能力 内核中实时性严格的部分都由优化的汇编来实现,特别是使用消息传递机制,使数据处理非常快。 2. 真正适合开发复杂(包括多CPU和多DSP,已经多核DSP)的分布式系统 随着科技发展,嵌入式实时操作系统已经变得越来越复杂,经常会面临两大困难: 不间断的运行(NonStop) 多CPU的分布式系统 (Distribution over many CPUS) 传统的RTOS如果要做到这些,必然会增大消耗,增长开发周期。OSE就是应运而生的新生代的RTOS,解决了这些需求,它支持多种CPU和DSP,为开发商开发不同种处理器组成的分布式系统提供了最快捷的方式。 传统的RTOS是基于单CPU,它虽然可以改进成分布式系统,但用户需要在应用程序中做很多工作。而OSE不同于传统的RTOS,首先是因为它的结构体系有了很大改变,它以消息传递作为主要手段完成CPU/DSP间的通信,还把传统的RTOS必须在应用程序中完成的工作,做到了核心系统中。对于复杂的并行系统来说,OSE提供了一种简单的通信方式,简化了多CPU/DSP的处理。

气动阀组成及工作原理

气动阀组成及工作原理 内容提要 气动控制阀是指在气动系统中控制气流的压力、流量和流动方向,并保证气动执行元件或机构正常工作的各类气动元件。控制和调节压缩空气压力的元件称为压力控制阀。 一、气动阀门系统各部分功能和用途 ①气动执行器:分为双动型和单动型。双动气动执行器:对阀门 开启和关闭的两位式控制。单动气动执行器(弹簧复位型):在气路切断或故障,阀门自动开启或关闭。 ②阀门:阀门是流体输送系统中的控制部件。 ③电磁阀:分为单电控电磁阀和双电控电磁阀。单电控电磁阀: 供电时阀门打开或关闭,断电时阀门关闭或打开。双电控电磁阀:一个线圈得电时阀门打开,另一个线圈得电时阀门关闭。 ④限位开关:远距离传送阀门的开关位置的信号。有机械式、接 近式、感应式。 ⑤气电定位器:根据电流信号 (标准4-20mA)的大小对阀门的介 质流量调节控制。 ⑥气源处理三联件:包括空气减压阀、过滤器、油雾器,对气源 稳压、清洁、运动部件润滑作用。 ⑦手动操作机构:在自动控制不正常情况下手动操作。 ⑧消声器:安装在电磁阀的排气口,降低噪声。

⑨快插接头:一端连接于电磁阀或执行器,另一端将气管直接插 入即可使用。 ⑩空压机:是压缩空气的气压发生装置。 11 气管:有软管、紫铜管、不锈钢。常用规格有6mm、8mm。 气动开关型阀门系统构成: ①气动执行器+②阀门+③电磁阀+④限位开关+⑥气源处理三联件+⑦手动操作机构+⑧消声器+⑨快插接头+⑩空气压缩机+11气管 (其中④、⑥、⑦、⑧、⑨项可根据现场实际情况选配。) 气动调节型阀门系统构成: ①气动执行器+②阀门+⑤气电定位器+⑥气源处理三联件+⑦手动操作机构+⑧消声器+⑨快插接头+⑩空气压缩机+11气管 (其中⑦、⑧、⑨项可根据现场实际情况选配。) 二、气动开关阀 气动开关阀就是以压缩空气(空压机)为动力源,通过电磁阀换向去驱动气动执行器,气动执行器带动阀门,实现阀门的开关。下为单动气动开关型蝶阀实图。

操作系统基础知识点详细概括复习课程

第一章: 1.什么是操作系统?os的基本特性是?主要功能是什么 OS是控制和管理计算机硬件和软件资源,合理组织计算机工作原理以及方程用户的功能的集合。 特性是:具有并发,共享,虚拟,异步的功能,其中最基本的是并发和共享。 主要功能:处理机管理,存储器管理,设备管理,文件管理,提供用户接口。 2.操作系统的目标是什么?作用是什么? 目标是:有效性、方便性、可扩充性、开放性 作用是:提供用户和计算机硬件之间的接口,提供对计算机系统资源的管理,提供扩充机 器 3.什么是单道批处理系统?什么是多道批处理系统? 系统对作业的处理是成批的进行的,且在内存中始终保持一道作业称此系统为单道批处理 系统。 用户所提交的作业都先存放在外存上并排成一个队列,然后,由作业调度程序按一定的算 法从后备队列中选择若干个调入作业内存,使他们共享CPU和系统中的各种资源。 4.多道批处理系统的优缺点各是什么? 优点:资源利用率高,系统吞吐量大。缺点:平均周转时间长,无交互能力。 引入多道程序技术的前提条件之一是系统具有终端功能,只有有中断功能才能并发。 5.什么是分时系统?特征是什么? 分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通 过自己的终端,以交互的方式使用计算机,共享主机中的资源。 特征:多路性、独立性、及时性、交互性 *有交互性的一般是分时操作系用,成批处理无交互性是批处理操作系统,用于实时控制或实时信息服务的是实时操作系统,对于分布式操作系统与网络操作系统,如计算机之间无 主次之分就是分布式操作系统,因为网络一般有客户-服务器之分。 6.什么是实时操作系统? 实时系统:系统能及时响应外部事件的请求,在规定的时间内处理完。按照截止时间可以 分为1硬实时任务(必须在截止时间内完成)2软实时任务(不太严格要求截止时间) 7.用户与操作系统的接口有哪三种? 分为两大类:分别是用户接口、程序接口。 用户接口又分为:联机用户接口、脱机用户接口、图形用户接口。 8.理解并发和并行?并行(同一时刻)并发(同一时间间隔) 9.操作系统的结构设计 1.无结构操作系统,又称为整体系统结构,结构混乱难以一节,调试困难,难以维护2.模块化os结构,将os按功能划分为一定独立性和大小的模块。是os容易设计,维护,增强os的可适应性,加速开发工程 3.分层式os结构,分层次实现,每层都仅使用它的底层所提供的功能 4.微内核os结构,所有非基本部分从内核中移走,将它们当做系统程序或用户程序来实现,剩下的部分是实现os核心功能的小内核,便于扩张操作系统,拥有很好的可移植性。 第二章: 1.什么叫程序?程序顺序执行时的特点是什么? 程序:为实现特殊目标或解决问题而用计算机语言编写的命令序列的集合 特点:顺序性、封闭性、可再现性 2.什么是前趋图?(要求会画前趋图)P35图2-2

嵌入式实时操作系统-RTOS和PC上的区别

嵌入式实时操作系统:RTOS和PC上的区别 嵌入式实时系统中采用的操作系统我们称为嵌入式实时操作系统,它既是嵌入式操作系统,又是实时操作系统。作为一种嵌入式操作系统,它具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点;而作为一种实时操作系统(本文对实时操作系统特性的讨论仅限于强实时操作系统,下面提到的实时操作系统也均指强实时操作系统),它与通用操作系统(如Windows、Unix、Linux等)相比有很大的差别,下面我们将通过比较这两种操作系统之间的差别来逐步描述实时操作系统的主要特点。我们在日常工作学习环境中接触最多的是通用操作系统,通用操作系统是由分时操作系统发展而来,大部分都支持多用户和多进程,负责管理众多的进程并为它们分配系统资源。分时操作系统的基本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。由此可以看出,分时操作系统注重平均表现性能,不注重个体表现性能。如对于整个系统来说,注重所有任务的平均响应时间而不关心单个任务的响应时间,对于某个单个任务来说,注重每次执行的平均响应时间而不关心某次特定执行的响应时间。通用操作系统中采用的很多策略和技巧都体现出了这种设计原则,如虚存管理机制中由于采用了LRU等页替换算法,使得大部分的访存需求能够快速地通过物理内存完成,只有很小一部分的访存需求需要通过调页完成,但从总体上来看,平均访存时间与不采用虚存技术相比没有很大的提高,同时又获得了虚空间可以远大于物理内存容量等好处,因此虚存技术在通用操作系统中得到了十分广泛的应用。类似的例子还有很多,如Unix文件系统中文件存放位置的间接索引查询机制等,甚至硬件设计中的Cache技术以及CPU 的动态分支预测技术等也都体现出了这种设计原则。由此可见,这种注重平均表现,即统计型表现特性的设计原则的影响是十分深远的。 而对于实时操作系统,前面我们已经提到,它除了要满足应用的功能需求以外,更重要的是还要满足应用提出的实时性要求,而组成一个应用的众多实时任务对于实时性的要求是各不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、

实时操作系统实验

实时操作系统实验报告 专业:10通信工程 学号:20100306110 姓名: 汪洁 指导老师:申屠浩

实验一任务管理实验 实验目的: 1.理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程; 2.掌握μC/OS-II 中任务管理的基本方法(挂起、解挂); 3.熟练使用μC/OS-II 任务管理的基本系统调用。 实验要求与思路: 为了体现任务的各个基本状态及其变迁过程,本实验设计了T0、T1 和T3 三个任务,它们交替运行,如图所示 说明: 在系统完成初始化后,可以先创建并启动优先级最低的TaskStart,由它创 建其他3 个应用任务T0、T1 和T2,之后整个系统的运行流程如下: 1)优先级最高的T0 开始执行,之后T0 挂起自己; 2)然后系统调度选中T1 开始执行,之后T1 挂起自己; 3)接着系统调度选中T2,之后唤醒T0; 4)如此循环 实验程序: #include "includes.h" #define TASK_STK_SIZE 512 OS_STK TaskStk1[TASK_STK_SIZE]; OS_STK TaskStk2[TASK_STK_SIZE]; OS_STK TaskStk3[TASK_STK_SIZE]; OS_STK TaskStartStk[TASK_STK_SIZE]; void Task1(void *data); void Task2(void *data); void Task3(void *data); /* Function prototypes of tasks*\ void TaskStart(void *data); /* Function prototypes of Startup task */

操作系统简介

1.计算机软件 计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。 计算机软件(Computer Software)是指计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。 软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。 软件的含义 (1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。 (2)程序能够满意地处理信息的数据结构。 (3)描述程序功能需求以及程序如何操作和使用所要求的文档。 编辑本段软件与硬件的不同点 表现形式不同 硬件有形,有色,有味,看得见,摸得着,闻得到。而软件无形,无色,无味,看不见,摸不着,闻不到。软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。这就给设计、生产和管理带来许多困难。 生产方式不同 软件是开发,是人的智力的高度发挥,不是传统意义上的硬件制造。尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。 要求不同 硬件产品允许有误差,而软件产品却不允许有误差。 维护不同

硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。因为在软件的整个生存期中,一直处于改变(维护)状态。 编辑本段计算机软件的分类 总述 计算机软件总体分为系统软件和应用软件两大类: 系统软件是各类操作系统,如windows、Linux、UNIX等,还包括操作系统的补丁程序及硬件驱动程序,都是系统软件类。 应用软件可以细分的种类就更多了,如工具软件、游戏软件、管理软件等都属于应用软件类。 系统软件 系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。 一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。 应用软件 应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。 较常见的有: 文字处理软件如WPS、Word等 信息管理软件 辅助设计软件如AutoCAD 实时控制软件 教育与娱乐软件 2.操作系统(OS) 操作系统(Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、

相关文档
最新文档