任务的基本概念(任务及其种类)

1.任务和任务的控制块
我们在做一件事时,可以把这件事看成一个任务,然后将这个任务分成多个小任务,去处理这些小的任务,最终将一件事做成。对于uC/OS-II来说,它就是一个能够对这些小任务进行调度和管理,然后通过并发的方式去处理这些小任务的操作系统。
什么是并发方式呢??
对于一个计算机或者特别是在嵌入式操作系统中来说,处理器的数目通常只有一个,但是任务的数量远远大于处理器的数量,这是要处理任务是,只能一个一个任务的处理,所以系统中的多任务。只能以某种轮换的方式被处理其轮流处理,实质上是串行,但是从宏观上来说是并行的多任务的运行方式就叫做并发。
特点: 可以使CPU始终处于忙的状态,从而提高处理器的运行效率。
但是从代码上看,uC/OS-II的任务,实质上可以看成C语言的函数,但是系统要对与这个函数进行管理和调度,就要采用控制块,即任务控制块。
但是和c函数不同的是,就是任务是一个独立运行单位,需要自己去保护其因为调用和中断所产生的断点,需要将这些断点,保存在一个私有堆栈中,即任务堆栈。
对于任务控制块中,任务代码,是通过任务控制块中的指针或指针链指向任务的断点,也就指向任务堆栈,进而可以找到任务代码。

2.任务的管理
任务分为两种
系统任务: 就是为应用程序提供某种服务或为系统本身提供某种服务。
用户任务: 用来解决问题由应用程序设计者。
uC/OS-II共有64个任务其中包括(系统任务和用户任务)
系统为了对这些多任务进行管理,需要将任务控制块进行登记(任务的注册)uC/OS-II通过链表的方式将任务控制块连接起来(任务的注册表)。

对于一个程序,由于操作系统没有足够的信息管理它,所以当加载到系统中后,系统必须为这个程序创建并分配一个任务控制块。任务控制块中记录着包括任务代码,任务堆栈等信息。在任务控制块中存着程序的断点之,即断点处程序计数器的PC值,这个值对应了一个程序的运行进程。
**进程:**具有独立的内存运行空间。
**线程:**多个任务公用一个内存,单一个任务为线程
对于uC/OS-II系统中来说,并没有给任务分配独立的内存运行空间,所有任务公用一个空间,所以这里一个任务被称为一个线程。

μC/OS-II操作系统中的任务相关推荐

  1. UART0串口编程(四):UART0串口编程之在UC/OS—II中遭遇的危机

    UART0串口编程之在UC/OS-II中遭遇的危机 一.潜在的危机 1.在uc/os操作系统中设计串口编程时,由于ISR和多个任务并发执行,情况比较复杂.尤其是接收状态为被动状态时,只能靠串行口中断来 ...

  2. 嵌入式实时操作系统μC/OS II(一)

    嵌入式实时操作系统μC/OS II 为什么要学习μC/OS-II ㈠.凡从事嵌入式系统开发工作的人,必须对嵌入式操作系统有足够的了解. ㈡.对于初学者,从μC/OS-II开始是个明智的选择. 1.μC ...

  3. 凤凰系统运行linux,在Deepin操作系统中安装凤凰系统(Phoenix OS)的方法

    以下讲解在Deepin 15.7操作系统中安装凤凰系统(版本是PhoenixOSInstaller_v3.0.6.479_x86_x64.iso),安装方法完全可以借鉴Ubuntu安装凤凰系统(Pho ...

  4. 在用苹果Mac OS X操作系统吗?那你得小心了……

    曾几何时,苹果操作系统一度被人认为是最安全的操作系统.然而近几年,针对苹果系统的攻击日益增多,影响范围也越来越大.无独有偶,近日,苹果Mac OS X操作系统也沦陷了,研究机构赛门铁克揭示了首个攻击该 ...

  5. Lab 6:uC/OS II

    为什么80%的码农都做不了架构师?>>>    目标: 移植uC/OS II到RPi上,实现两个任务的调度.这两个任务能轮流点亮LED,并通过串口发送消息表明自己正在运行 具体步骤: ...

  6. 操作系统中的处理机调度调度_操作系统中的流程分类和调度

    操作系统中的处理机调度调度 处理 (Process) In the operating system, there are numerous task and application program ...

  7. 操作系统中的处理机调度调度_操作系统中的多处理器调度

    操作系统中的处理机调度调度 多处理器操作系统 (Multiprocessor Operating system) A multiprocessor system consists of several ...

  8. 关于ROS(Robot OS 机器人操作系统)

    关于ROS(Robot OS 机器人操作系统) 关于ROS(Robot OS 机器人操作系统) 对于ROS的安装,在它的官方网站: http://wiki.ros.org/ROS/Installati ...

  9. 操作系统中的概念详解

    文章目录 前言 一.操作系统的基础概念介绍 1.并行与并发 2.用户态与内核态 3.执行流 二.内存管理 1.Java程序员眼中的内存 2.线性地址和物理地址 3.进程间通信 三.研究操作系统实现时, ...

  10. deepin系统15.6版本安装执行那个exe文件_deepin深度操作系统中常用命令、系统命令、Vi命令...

    本篇文章主要介绍了深度操作系统中常用命令.系统命令.Vi命令等,您可以通过终端来输入命 令来完成相关操作. 基本命令 您可以通过以下命令来查看系统的信息,其他系统相关命令操作可自行搜索查询. 查看系统 ...

最新文章

  1. 智能手机背面玻璃的缺陷检测,分割网络的应用
  2. 深度学习多变量时间序列预测:GRU算法构建时间序列多变量模型预测交通流量+代码实战
  3. html导入excel文件,使用js-xlsx简单实现一个导入excel
  4. C语言程序设计的常用算法
  5. Java——Socket通信原理
  6. 图像拼接1 特征提取
  7. arm架构和x86架构_ARM、X86和MIPS主流架构优缺点分析
  8. Js判断是否在微信浏览器中打开和微信版本号
  9. win7系统不能加入工作组计算机,技术员教你解决win7系统工作组计算机无法访问的修复办法...
  10. Moya网络层 + ObjectMapper数据转模型
  11. HDU1564 Play a game
  12. oracle加索引 oracle,Oracle索引创建及管理
  13. vue——菜鸟教程学习
  14. 幼儿园小程序实战开发教程
  15. 计算机的作业与程序,网络提交的计算机程序作业出现抄袭现象的对策探索
  16. pc端vue登录如何调用软键盘_vue.js怎样隐藏软键盘
  17. java epics_EPICS超入门-KEKe+e-.PDF
  18. 【干货】信息系统项目监理浅视简识,附高清下载
  19. MySQL记录删除后竟能按中间被删除的主键加回去,磁盘空间被重用!——底层揭秘MySQL行格式记录头信息
  20. 5、注意力机制和Transformer模型

热门文章

  1. 李嘉诚先生的家训与格言[转自江南春的blog]
  2. 按键映射:把操作简化到极致
  3. 一步一步学Bootstrap 4(2)-- PhotoX项目
  4. 正确使用计算机进行语文教学设计,人教版一年级语文一去二三里教学设计
  5. 天路(01规划+SPFA判负环)
  6. 图形界限命令在命令行输入_AutoCAD认证考试试题1
  7. FreeMarker静态化文件解决SEO推广问题
  8. Java入门-向下转型的安全判断
  9. 计算机编程几岁开始学,小孩子学习编程要从几岁开
  10. 计算机管理培训考试试题,计算机技能培训试题一