ITRON入门之任务(TASK)的理解
任务
- 概述
- 程序的运行有点像工人在工作
- 不配备实时操作系统的程序的挑战
- LED闪烁的任务
- 每秒钟闪烁LED的任务
- 发出声音的任务
- 蜂鸣声输出的任务
- 任务、线程和进程的关系
- 任务
- 线程
- 进程
- 进程和线程之间的区别
概述
在具有实时操作系统的系统中,程序以任务的概念运行。
了解实时操作系统和ITRON规格时,了解“任务”是一切的开始。
ITRON以此任务为中心运行系统。
程序的运行有点像工人在工作
#include <stdio.h>int main(void)
{long calc = 0;calc = 100 + 200;printf("结果:%d", calc);return 0;
}
在执行这样的程序的步骤执行的同时,你可能已经运行了一行一行的程序。这个程序一行一行地移动,这就是工人正在实施程序的处理内容。
在C语言中,程序从main函数开始运行。也就是说,程序启动的时候准备了一个工人,对那个工人说:“你来实施main函数这个工作吧!“这意味着程序正在动作。
不配备实时操作系统的程序的挑战
在不配备实时操作系统的系统中,根本就没有任务的概念。尽管如此,实施main函数的劳动力也准备好了,所以硬要说的话也可以说是一个人的任务(单一任务)工作。让我们考虑一下单任务系统中的问题是在什么情况下发生的。软件系统以程序的形式创建和运行各种任务。从现在开始,在制作2个任务的基础上,我们将明确单一任务的难度。
LED闪烁的任务
程序是以顺序处理为基础的,并按照描述的顺序从上到下执行。
例如,让我们看看当前的下一个程序。LED闪烁是因为任务正在执行此任务。
每秒钟闪烁LED的任务
- 点亮LED橙色。
- 关闭LED的绿色。
- 等待1秒钟(1000毫秒)。
- 关闭LED的橙色。
- 点亮LED绿色。
- 等待1秒钟(1000毫秒)
void MAIN(VP_INT exinf)
{while(1){Led_setLight(D_LED_KIND_ORANGE, D_LED_LIGHT_ON);Led_setLight(D_LED_KIND_GREEN, D_LED_LIGHT_OFF);dly_tsk(1000);Led_setLight(D_LED_KIND_ORANGE, D_LED_LIGHT_OFF);Led_setLight(D_LED_KIND_GREEN, D_LED_LIGHT_ON);dly_tsk(1000);}return;
}
dly_tsk函数是ITRON规格的函数,是仅在指定时间(毫秒)内停止任务动作的函数。像这样忠实地进行按顺序决定的工作的程序很容易写。
发出声音的任务
那么,接下来让我们做另一个任务。假设每2秒就需要输出两次“啪啪”的嗡嗡声的任务。
蜂鸣声输出的任务
- 输出“抖”的声音。
- 等待100毫秒。
- 停止声音的输出。
- 等待100毫秒。
※输出嘟嘟声是指重复2次这个程序。
void MAIN(VP_INT exinf)
{while(1){int i;// 发出400ms的时间蜂鸣声for (i=0 ; i < 2 ; i++){Spk_start(E_SPK_SCALE_DO);dly_tsk(100);Spk_stop();dly_tsk(100);}// 等待2000ms - 400msdly_tsk(1600);}return;
}
任务、线程和进程的关系
任务
表示实时操作系统中并行处理执行单位的术语。在系统中存在多个任务称为多任务。
线程
表示Windows或Linux中并行处理执行单位的术语。这与ITRON中的任务相同。在系统中存在多个线程称为多线程。
进程
在Windows或Linux中表示应用程序执行单位的术语。例如,当您启动Excel或Word等应用程序时,每个应用程序都将作为不同的进程启动。可以同时启动多个应用程序的机制称为多进程。您可以在进程中属于多个线程。ITRON不存在这个概念。因为它在系统中只能有一个应用程序,所以不需要有一个叫做进程的单位。
进程和线程之间的区别
进程和线程之间的巨大区别是共享或不共享内存空间。由于Windows和Linux以进程为单位独立管理内存,如果进程不同,则无法访问其他进程的内存。
例如,您不能从Excel中运行的程序调用Word中定义的函数。如果有这样的事情,恶意程序可能会破坏各种应用程序的操作。
这是Windows和Linux利用虚拟内存的机制,以进程为单位进行内存保护。另一方面,同一进程中存在的多个线程共享内存。因此,每个进程中的线程都可以自由访问进程中定义的函数和全局变量。
ITRON入门之任务(TASK)的理解相关推荐
- 深入了解计算机的知识,电脑入门基础知识之深入理解计算机系统
电脑入门基础知识之深入理解计算机系统 导语:计算机系统由计算机硬件和软件两部分组成.硬件包括中央处理机.存储器和外部设备等.下面就来看看小编为大家整理的资料,希望对您有所帮助! 简介 按人的要求接收和 ...
- 零基础数据挖掘入门系列(一) - 赛题理解
思维导图:零基础入门数据挖掘的学习路径 1. 写在前面 零基础入门数据挖掘系列是记录自己在Datawhale举办的数据挖掘专题学习中的所学和所想, 该系列笔记使用理论结合实践的方式,整理数据挖掘相关知 ...
- MDT 2013 从入门到精通之Task部署任务创建
上文我们讲到MDT 2013 从入门到精通之软件.系统补丁导入,捎带着我们提到了有关Office 2013自应答文件的生成及常规使用方式方法,今天临睡前为大家带来Task任务创建这一章的内容,方便大家 ...
- 神经网络入门(最通俗的理解神经网络)
先从回归(Regression)问题说起.我在本吧已经看到不少人提到如果想实现强AI,就必须让机器学会观察并总结规律的言论.具体地说,要让机器观察什么是圆的,什么是方的,区分各种颜色和形状,然后根据这 ...
- docker desktop ubuntu镜像_原创 | Docker入门,看了不理解,假一赔命
写在前面 这篇博客适合谁? 对于Docker并不了解,只是有一点模糊的感觉,觉得Docker可以当成虚拟机用之类的 只是下载了Docker软件,对于怎么配置,怎么玩,第一步干什么,完全一无所知 其二, ...
- Docker入门,看了不理解,假一赔命
写在前面 这篇博客适合谁? 对于Docker并不了解,只是有一点模糊的感觉,觉得Docker可以当成虚拟机用之类的 只是下载了Docker软件,对于怎么配置,怎么玩,第一步干什么,完全一无所知 其二, ...
- ITRON入门学习之实时操作系统的意义与价值
实时操作系统 什么是实时操作系统? 通用操作系统的类型 实时操作系统是什么? TRON项目与ITRON的关系 ITRON规格是什么? 什么人应该学习实时操作系统 比起Windows和Linux这样的操 ...
- ITRON入门之实时操作系统的特点
实时操作系统 概述 实时操作系统的系统定位 安装实时操作系统的优点 可以扩大开发规模 操作系统为我们提供各种功能 可以同时完成很多任务 安装实时操作系统的缺点 使用CPU/内存资源 需要处理实时操作系 ...
- 【深度学习】神经网络入门(最通俗的理解神经网络)
form:http://tieba.baidu.com/p/3013551686?pid=49703036815&see_lz=1# 先从回归(Regression)问题说起.我在本吧已经看到 ...
最新文章
- 每日一皮:周末了,要多运动运动,你看跳绳这个运动就挺好的...
- mysql中判断字段为空
- 【DEMO 0074】进程创建与消亡
- 在WPF的TreeView中实现右键选定
- HttpContext.Current.Cache在控制台下不工作
- 从二进制数据流中构造GDAL可以读取的图像数据(C#)
- 视频编解码学习(六):YUV格式学习
- Windows代替touch命令
- 让Windows 2003 Server支持ASP程序
- Yolo-FastestV2: 更快,更轻,移动端可达300FPS,参数量仅250k
- CF1047E Region Separation
- 雨木林风linux系统,雨林木风开源系统下载-ylmf.os(雨林木风开源系统)v4.0 正式版 - 极光下载站...
- 虚拟机网络连接失败解决方案
- 啥也不会还做出了机器学习——测试心得
- 魅族16th完美开启Usb调试模式的经验
- HTML中常用标签的英文全称
- element el-checkbox已绑定值却无法勾选的问题
- Laravel 的生命周期
- Java判断用户是通过pc,还是安卓还是ios,还是微信客户端访问
- el-table动态添加行,列。自定义输入表头,input hover 显示文字