uc/os-ii操作系统笔记

操作系统是应用程序与硬件的之间的接口,只有硬件构成的电脑成为裸机,操作系统的功能主要是对计算机的资源进行管理。

主要的功能:

  1.处理器的管理,主要两项工作:一是对中断的管理,二是对处理器的工作的进行调度。因为处理器的硬件只能发现外部时间的中断的请求,不能对中断进行管理和处理。

  2.存储的管理;

  3.设备的管理,以便完成用户提出的I/O的请求,加快输入/输出的速度,提高I/O外部设备的管理的功能,以便完成用户的I/O的请求。

  4.文件管理,

  5.网络额通信的管理;

  6.提供用户的接口;

  嵌入式系统的特点:微型化,可裁剪性,实时性,高可靠性,易移植性;

  按外部事件响应的能力来分类:嵌入式系统主要分为:实时操作系统和分时操作系统

  实时操作系统:操作系统能说是计算机系统及时的响应的外部的请求,并能及时控制所有的实时的设备与实时任务协调的运行,且在规定的室内完成事件的处理。

  实时操作的系统的两个基本的要求:

1.实时操作系统必须正确的结果,成为逻辑或功能成功;

2.实时操作系统必须要在预定的时间里面内完成,成为事件的正确;

注:实时操作系统,就是面对一个突发的事件以后,必须在有限的时间里面做出正确的计算,以及处理;

实时操作系统又分为:硬实时操作系统和软实时操作系统;

硬实时:就是在及严格的时间里面完成任务;

软实时:对于计算的超时有一定的容忍;

  实时的操作系统应该要满足的条件:

1.实时操作系统必须是hi多任务的系统。

2.任务的切换时间应与系统中的任务书没有关系。

3.中断的延迟的时间尽可能的短并可以预知;

中断的延迟:

  外部的事件发生常常以一个中断的请求的信号形式来通知CPU,然后才运行中断的服务的程序来处理该事件。自CPU响应中断到CPU转向中断服务程序之间所用的时间叫做中断时间叫做中断延时。显然,中断延时要影响系统的实时性。

  嵌入式的实时操作系统:

大多数的操作系统主要提供三项服务来辅助应用程序设计人员,它们分别是:

1.内存的管理,主要管理的是动态的内存,当应用程序的某一部分需要使用内存时,可利用操作系统所提供的内存管理分配的函数来获得足够的内存空间,一旦使用完毕以后,可以调用系统提供的释放内存的函数,把曾经使用的内存空间还给系统,这样内存的空间就可以重复利用。

2.多任务管理。嵌入式实时操作系统应该提供肺腑的多任务管理的函数,通常,嵌入式实时操作系统都会提供良好的任务的任务条度及时,控制任务的启动运行,暂停结束等状态。

3.外围资源管理;     

    任务:

任务也可以称作为进程,是一个简单的程序,该程序认为CPU完全属于自己,实时的应用的程序的设计的时候分割成了许多的任务,每一个任务都对应应用的某一部分。每一个任务都被赋予一定的优先级,有自己的寄存器个栈空间。每一个任务都是一个无限的循环,每一个任务都处在5中状态下,这五种状态下是休眠,就绪的运行,挂起的状态和中断的状态。休眠的状态就是相当于任务在内存中,但是没有被调用,就绪的状态意味着该任务已经准备好了,可以进行运行,该优先级比正在运行的优先级低,相当于还在排队。,挂起的状态,是等待的事件,这个任务一直在等待一个东西,能让它运行起来的东西

中断状态就是被一个中程序中断了呗。

 

  任务的切换:

就是寄存器里面的内容的切换,当多任务内核决定运行另外的任务时,它要保存当前的任务的运行的状态等一切的数据内容,就是将数据从寄存器里面搬到自己的栈空间里,然后由下一一个任务来使用这些寄存器。做任务切换的时候所需要的时间取决于CPU有多少的寄存器需要进行入栈的操作。  实时内核的性能不应该以每秒钟能做多少次任务的切换来评价。

  其实切换的过程就像一个屋子换个人住,先要将原来住主将里面的东西点搬到自己的地方,把地方给腾空出来,给下一位住主提供空间。

  内核:

多任务系统中,内核的作用就是负责管理各个任务,或者说每个任务分配CPU的时间,并且负责任务之间的通讯。主要提供服务是任务的切换,内核将会消耗一定的硬件的资源

单片机一般是不能运行实时的内核,因为单片机的RAM很有限。所以只能一共必不可少的系统的服务,诸如信号管理,邮箱信息队列,延时等,实时的内核使得CPU的利用更加的有效。

 

 

 

你可能感兴趣的:(us/os-ii)