这学期开了操作系统课,但是老师讲的都太偏理论,自己上课也听不进去,还是要多上手操作才能真正理解其中的含义。因为学的嵌入式,首先我从入门系统级的UCOS学起。
UCOS被称为嵌入式实时操作系统。说到这里,肯定还有分时操作系统吧,以下就对这两个类别加以区分:
实时操作系统:操作系统能使计算机及时响应外部事件的请求,及时的控制实时设备与实时任务协调运行,在一个规定的时间内完成对事件的处理。
因此,实时系统的两个基本要求就是:1、逻辑或功能正确 2、时间正确 。而且嵌入式系统使用的大多是实时操作系统。
实时操作系统应满足的条件:1、必须是多任务系统 2、任务的切换时间应与系统中的任务数无关 3、中断延迟的时间可预知并尽可能短。
分时操作系统:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
分时操作系统的特点:1、同时性,计算机系统能被多个用户同时使用 2、独立性:用户和用户之间都是独立操作系统的,在同时操作时并不会发生冲突,破坏,混淆等现象 3、及时性:系统能以最快的速度将结果显示给用户 4、交互作用性:用户能和电脑进行人机对话。
UCOS的任务=任务程序代码(函数)+ 任务堆栈 + 任务控制块。
任务既然由这三部分组成,那么它是否有自己的空间呢?
根据任务是否有自己的私有空间,人们把任务分为进程和线程。
进程:具有私有空间的任务。
线程:没有私有空间的任务。
既然要使用操作系统,那么系统肯定不止一个任务,那么怎样使这些任务能有效的执行呢?我们一般都会给待运行的任务分配优先级,UCOS-II采用了就按优先级抢占式规则,由于UCOS-II中最多可以创建64个任务,那么就有64个优先级,并且一般数字越小优先级越高。