操作系统OS
文章平均质量分 69
zhengqijun_
You can do it! No can no BB!
展开
-
对操作系统的一般理解
一、操作系统OS(Operation System)1.定义:操作系统是管理和控制计算机硬件与软件资源的计算机程序,是裸机上的第一层软件。2.主要功能a.资源管理:操作系统根据用户需求对计算机资源按一定的策略来进行分配和调度。b.程序控制:用户程序一直在操作系统控制下执行。c.人机交互:通过人机交互设备传来的有关命令和要求来控制相关设备的运行。d.提供编程接口等。二、操原创 2016-09-10 20:32:44 · 6868 阅读 · 0 评论 -
uCOS-II内核之时钟节拍 [转载]
uCOS-II内核之时钟节拍在uCOS-II里,时钟节拍就好比是人的心脏一样重要。它对于CPU能顺利在各任务间切换有着至关重要的作用。uCOS-II需要用户提供时钟源。使用时钟源有一个特别需要注意的地方:用户必须在多任务系统启动以后再开启时钟节拍器,也就是在调用OSStart()之后。Ucos II中的时钟节拍服务是通过在定时器中断服务子程序中调用OSTimeTick()实现的。O原创 2016-12-09 13:26:15 · 3869 阅读 · 0 评论 -
为什么要有操作系统?
为什么要有操作系统?(主要基于嵌入式操作系统来讲)我们使用的单片机裸机也能照常工作,那为什么要有操作系统呢?在生活中,我们使用的手机、电脑,几乎所有的涉及的嵌入式产品都会有操作程序。为什么要有操作系统?那使用操作系统的好处有什么呢?带着这样的问题,我们来看看操作系统的“秘密”。一、操作系统的定义操作系统(Operating System),简称OS,是计算机系统中最基本的系统软件,原创 2016-11-16 20:57:59 · 4566 阅读 · 0 评论 -
如何设置环境变量?
我在安装很多软件的时候,发现需要添加环境变量。下面来简单介绍一下什么是环境变量?一、环境变量的定义环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,包含了一个或者多个应用程序所将使用到的信息。例如在Windows和DOS操作系统中,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环原创 2016-11-18 20:18:12 · 24138 阅读 · 0 评论 -
uCOS-II任务之延时函数
uCOS-II任务延时函数编写过单片机程序的都知道,延时函数是经常被用到的。在uCOS-II里,系统也提供了这样的延时函数。一个是大众版的OSTimeDly(),一个是精致版的OSTimeDlyHMSM()。 萝卜青菜,各有所爱,随你怎么选。这两者的区别是,OSTimeDly()的延时时间是以节拍数来衡量的,OSTimeDlyHMSM()的延时时间则是以具体时间大小来衡量的。这两个原创 2016-12-08 10:31:18 · 6299 阅读 · 1 评论 -
uCOS-II内核之任务调度 [转载]
uCOS-II内核学习之任务调度实现任务切换,需要调用函数OSSched()。OSSched()程序代码如下所示:void OSSched (void){ INT8U y; OS_ENTER_CRITICAL(); if ((OSLockNesting | OSIntNesting) == 0) //(1原创 2016-12-07 13:40:23 · 762 阅读 · 0 评论 -
uCOS-II内核之任务控制块 [转载]
uCOS-II内核之任务控制块前面的学习已经了解过任务控制块。知道任务在创建的时候,任务控制块会被初始化。任务控制块是一个数据结构,当任务的CPU使用权被剥夺时,ucos II用它来保存该任务的状态。当任务重新得到CPU使用权时,任务控制块能确保任务从当时被中断的那一点丝毫不差地继续执行。OS_TCBs全部驻留在RAM中。 任务控制块的定义程序如下所示:#if OS_TASK_原创 2016-12-06 09:47:20 · 666 阅读 · 0 评论 -
uCOS-II任务间通信之邮箱 [转载]
uCOS-II任务间通信之邮箱学过信号量之后再来看邮箱,发现它们是非常相似的,甚至有时候邮箱可以当做信号量来使用,邮箱相对信号量而言,只是多传递了一个指针变量。和信号量很相似,ucos II提供了5个对邮箱进行操作的函数。它们是:1. 建立一个邮箱 -- OSMboxCreate()2. 等待一个邮箱中的消息 -- OSMboxPend()3. 发送一个消息到邮箱中 -- OS原创 2016-12-05 20:48:13 · 3858 阅读 · 0 评论 -
uCOS-II任务间通信之信号量 [转载]
uCOS-II任务间通信之信号量信号量是什么?信号量有什么用?信号量是可以用来表示一个或多个事件的发生,还可以用来对共享资源的访问。uCOS-II提供了5个对信号量进行操作的函数。如下所示:1. 建立一个信号量 -- OSSemCreate()2. 等待一个信号量 -- OSSemPend()3. 发送一个信号量 -- OSSemPost()4. 无等待地请求一个信号量原创 2016-12-04 18:55:28 · 2608 阅读 · 0 评论 -
uCOS-II任务间通信之事件控制块 [转载]
uCOS-II任务间通信之事件控制块信号、邮箱、消息队列都是需要先创建才能使用的,创建以上三者需要用到事件控制块这一东西。那什么是事件控制块呢?可以这样理解,前面学习我们已经知道,创建一个任务需要给这个任务分配一个任务控制块,这个任务控制块存储着关于这个任务的重要信息。那么,事件控制块就好比任务里的任务控制块。它存储着这个事件的重要信息,我们说创建一个事件(信号,邮箱,消息队列),其本原创 2016-12-03 12:43:10 · 864 阅读 · 0 评论 -
uCOS-II任务间通信之全局变量 [转载]
uCOS-II任务间通信之全局变量任务创建好了之后,只是完成了系统编程的一小步,更为重要的是任务间的通信。比如在mcu21的项目里,有通信任务,有液晶显示任务,有控制任务。控制任务需要用到通信任务接受到的数据,液晶显示任务也显示控制任务的数据。这就需要用到任务间的通信了。 Mcu21总结了一下,在ucos II 里任务间通信可以采用以下几种方式。1、共享全局变量,这是最快捷有效的方式,原创 2016-12-02 23:14:29 · 2343 阅读 · 0 评论 -
uCOS-II任务管理之改变任务优先级 [转载]
uCOS-II任务管理之改变任务的优先级在uCOS-II 里,任务的优先级也是是可以修改的。优先级翻转问题是可以通过改变任务优先级解决。那什么是优先级翻转问题呢?所谓优先级翻转问题(priority inversion)即当一个高优先级任务通过信号量机制访问共享资源时,该信号量已被一低优先级任务占有,而这个低优先级任务在访问共享资源时可能又被其它一些中等优先级任务抢先,因此造成高优先级原创 2016-12-01 20:27:12 · 2532 阅读 · 0 评论 -
uCOS-II内核之初始化及启动
uCOS-II内核之初始化及启动现在解释下程序编写的依据和实现过程。在uCOS-II里,在创建一个任务(或者调用其它系统服务之前),是需要先初始化系统,初始化uCOS-II需要调用函数OSInit()。调用函数OSInit()的作用是什么?主要实现以下几个功能:1、建立空闲任务及统计任务。2、初始化ucos II变量及数据结构。其中包括信号量,邮箱,消息队列等初始化等。多任原创 2016-12-10 12:00:53 · 2280 阅读 · 0 评论 -
uCOS-II内核之内存管理
uCOS-II内核之内存管理为了消除内存碎片,uCOS-II把连续的大块内存按分区来管理。每个分区中包含有整数个大小相同的内存块。类似每个任务对应一个任务控制块,每个事件对应一个事件控制块,uCOS-II里每个内存块也是对应一个内存控制块。内存控制块是一个数据结构,定义如下:typedef struct { void *OSMemAddr; void原创 2016-12-11 11:17:02 · 3328 阅读 · 0 评论 -
win7下DOS命令无法使用的解决办法
今天在查看主机IP地址的时候,发现Windows系统下的DOS命令无法使用。这是Windows无法找到DOS的路径,因此要配置它的环境变量。右击我的电脑 --> 点击属性 --> 点击高级系统设置 --> 点击环境变量 --> 选择下面的系统变量的新建 --> 添入变量名为Path,变量值为%SystemRoot%\system32;。然后重新打开DOS系统就可以了。下原创 2017-03-06 21:59:24 · 2753 阅读 · 0 评论