谁能解释一下custtask.dll下载

计算机高手解释一下硬件看门狗是啥意思?_百度知道
计算机高手解释一下硬件看门狗是啥意思?
硬件看门狗实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。如果程序正常,则过一段时间CPU会发一个指令让看门狗复位,计数重新开始。如果看门狗倒计数到0就认为程序不正常,强行复位系统。看门狗对于恢复系统的正常运行及有效的监视管理器(具有锁定任何指定程序的作用,可用在家庭中防止小孩无节制地玩游戏、上网、看录像)等具有很好的应用价值。看门狗分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号并重启系统。软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器。
其他类似问题
为您推荐:
提问者采纳
WAIT_FOREVER)。假设TaskMonitor任务一个监视周期延时1,只要有一个任务正常工作并定期“喂狗”。另外任务TaskMonitor自身出故障时,才能使得看门狗定时器溢出而复位。 参考资料,系统正常,它的优先级高于被监视的任务群Task1。当然也有通过双定时器相互监视。加入看门狗目的是对一些程序潜在错误和恶劣环境干扰等因素导致系统死机而在无人干预情况下自动恢复系统正常工作状态,监视任务可以延时1.,实际上就是对STRUCT_WATCH_DOG结构体中的RunState操作,被监视任务可以通过调用PauseWatchDog(int taskid)来取消对应的看门狗, typedef struct { UINT32 CurCnt,不在定时周期内复位看门狗。 为实现多任务系统的看门狗监视功能额外增加了TaskMonitor任务,延时后比较CurCnt与LastCnt是否相等,或者延时很长的时间,因此程序正常工作时。硬件看门狗是利用一个定时器电路。 图3。 看门狗本身不是用来解决系统出现的问题,都不相等系统才是正常的。如果程序出现故障。这就需要将这类语句作一些修改,定时器总不能溢出、信号量的等待是无限期的等待。 图2; &#47,看门狗状态标志RunState用来控制当前任务是否接受监视,也不能及时对看门狗定时器清零,此外需要执行保存当前计数值、等待一个信号量等的语句,移植vxWorks操作系统; WAIT_FOREVER为无限时间等待 分解为 do { ResetWatchDog,如图1(b):(a) 多任务系统看门狗示意图, sysClkRateGet( )) ,这时候TaskMonitor不对硬件看门狗定时器清零,可能出现CurCnt加1操作达到一个循环而与LastCnt相等,就使得看门狗定时器溢出产生复位信号并重启系统.,Task1~Taskn定期对TaskMonitor“喂狗”。 而往往我们需要的是只要有一个任务故障,这个“喂狗”动作实质就是对看门狗定时器结构体中的变量CurCnt加1操作,判断被监视任务Task1~Taskn是否“喂狗”只需比较CurCnt与LastCnt的值n次,只是将硬件电路上的定时器用处理器的内部定时器代替.baidu。比如在vxWorks中将一次无期限的获取信号量操作 semTake(semID;&#47,延时前保存CurCnt的当前值到LastCnt,重启后恢复现场数据,也不能解决全部问题。用一个具体的试验证实,TaskMonitor又定期对硬件看门狗“喂狗”,也就不能产生复位信号,被监视任务一段时间内要求“喂狗”; BOOL RunState。如果被监视任务群有一个Task_x出现故障。被监视任务Task1~Taskn及TaskMonitor都是或的关系,比如系统内部定时器自身发生故障就无法检测到:http。可见该任务绝大多数时间都处于任务延时状态、Task2。 如果有任意一组的CurCnt等于LastCnt,但在可靠性方面不如硬件定时器;&#47:(a) 多任务系统看门狗示意图,TaskMonitor长时间得不到调度,容易实现.5秒://hi,毕竟从发现故障到系统复位恢复正常这段时间内怠工; } STRUCT_WATCH_DOG,也就达到被监视任务出现故障时系统自动重启的目的。在TaskMonitor中定义一组结构体来模拟看门狗定时器组。这种方式系统的故障图表示如图3所示,使用50M工作频率的CPU(S3C4510); 1s内的等待信号量操作 多次的时间范围内的获取信号量操作;(b) 正确的看门狗复位逻辑图.baidu。反之。 在多任务系统中通过创建一个监视任务TaskMonitor:监视任务如何有效监视被监视的任务群,比如中断系统故障导致定时器中断失效,往往这个消息,在调试过程中发现的故障应该要查改设计本身的错误,接着对创建的看门狗定时器组一一检验。假如每个任务都像单任务系统那么做,该标志体现看门狗有效与否,足以使得系统重启。软件看门狗原理上一样。硬件看门狗监视TaskMonitor任务;&#47,假设硬件看门狗定时是2秒,只要一个任务出问题系统就要求复位,因此被监视的任一任务发生故障,TaskMonitor就不对看门狗定时器清零; &#47,配置是不应该出现这种高优先级任务长期执行状况的。还有一点。 图1。除非所有的任务都故障,一定时间内对硬件看门狗定时器清零,程序在一定时间范围内对定时器清零(俗称“喂狗”),看门狗也能自动复位重启。良好的任务划分。需要注意的是CurCnt和LastCnt数据字节数太小。 这种方式可监视的最大任务数由STRUCT_WATCH_DOG结构数据的个数决定,如图2(a)所示,而“喂狗”过于频繁,这可能也需要一笔软硬件的开销,这样才能保证及时“喂狗”看门狗分硬件看门狗和软件看门狗.Taskn。程序中应该有一个变量记录当前已创建的看门狗数!= OK),cache不使能条件下监视10个任务
看门狗的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Off task, on task请帮忙翻译一下这两个词(下面有英文解释)_百度知道
Off task, on task请帮忙翻译一下这两个词(下面有英文解释)
When learners are distracted or not completing an activity in the way the teacher wants them to do it then they are off task.When learners are doing an activity in the way the teacher intended that it should be done then learners are on task.
提问者采纳
(那么) 他们就进入状态了, 他们就开始开小差了;翻译;步入正轨&quot: 当学生们正按照老师所希望的(方式)做一件事的时候:
意思是&quot你好. 希望对您有帮助: 当学生们心烦意乱或者不能按照老师要求他们(的方式) 完成一项活动时;翻译;开小差.
意思是&进入状态; 不当回事&quot
提问者评价
来自团队:
其他类似问题
为您推荐:
其他1条回答
英文解释的翻译是:如果一个学习者分心了或者没有按老师指导的方式去完成则称为off task如果一个学习者按照老师期望的方式执行了活动则称为on task
我明白这两句英文,我是想找到其当的中文词来翻译off/on task?您能想到合适的词吗
这样的话。。。。off task大概是“跑偏” on task大概是“对路”吧。哈哈哈!!!
哈哈。您的回答非常有趣。谢谢您的补充回答。可是最近答案只能选一个,见谅了。但是非常感谢您
哈哈哈,最佳那哥们说挺好的~还有你还想说啥就评论吧,追问超过3次要扣分的。我常在这答题玩。你如果经常需要翻译什么的可以M我
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁2773人阅读
linux内核(2)
进程,轻量进程,线程
对于进程,我们知道一般进程,轻量进程,以及thread。
进程就是一个具有一定功能的程序执行的一次过程(动态的程序)。每一个进程都有自己的独立内存空间,
线程是进程的实体,
轻量级进程,本质上也是一个进程,只是在现代linux中,用它来实现了线程。
进程描述符:
我认为要学习进程,了解了进程描述符的内容后,基本上你就已经了解了进程。
首先,我们还是看图:
对于这张图,看着都眼花是不,确实是这样的,不然我为什么说了解了这个结构后,进程就基本了解了。linux的进程描述符,用task_struct结构体来表示。
该结构体中包含了当前进程的执行状态,进程优先级,以及那些地址是分配给该进程的等等信息,所以复杂就不言而喻了撒(看linux源代码中struct task_struct只是定义就用了280行~~)。
其中,我将在本本博客中,围绕这个图进行阐述。
state字段:
只要我们看见这个名字相信就知道该区域就是表示进程当前状态。
TASK_RUNING:表示进程进程正在运行或者是一切就绪等待cpu分配时间片。
TASK_INTERRUPTIBLE: 直到对应的条件实现,否则进程被挂起。比如等待一个硬件中断,或者是什么系统资源,或者是发出相应的信号,条件满足后都将唤醒进程,并且将进程state段设置为TASK_RUNING.
TASK_UNINTERRUPTIBLE:和TASK_INTERRUPTIBLE不同,除了接受到信号,不然状态不会改变。
TASK_STOPPED:当进程接收到SIGSTOP,SIGTSTP,SIGTTIN,SIGTTOU信号,那么进程进入该状态。
TASK_TRACED:进程被debugger所暂停
当进程执行结束后,进程状态保存在state字段和exit_state字段中
EXIT_ZOMBIE: 当进程执行结束后,但是并没有父进程在监听(waitpid()系统调用),那么该进程将进入该状态
EXIT_DEAD:最后的状态了,马上就要灰飞烟灭。
对于内核来说,通过一个指向进程描述符的指针,就可以唯一标识一个进程,相应的操作系统也提供给用户用来标识唯一进程的字段就是PID字段。
考虑到要遵从标准,linux推出了使用进程组的概念。为的就是使多个轻量级进程实现的线程,能够在调用getpid()这样的系统调用的时候能够返回同一个值,所以增加了tgid这样一个字段,让同一个进程里面的线程都有这个字段并且相同,而getpid()这样的系统调用获取的是tgid字段的值。
thread_info和kernel stack 字段:
对于每一个进程,linux都会保存两个不同的数据在都应的空间,一个便是thread_info该结构是指向task_struct的一个指针,另一个是当进程切换到内核态时候的栈空间。如图:
将thread_info和stack放在一起的好处就是kernel可以非常方便的获得thread_info的地址,进而找到当前正在cpu运行进程的task_struct等相关信息。
process双向链表:
process链表将所有存在的进程描述符进行链接。
TASK_RUNNING process 双向链表:
因为笔者能力有限哈,这里就只能简单的理解一下:
由于linux中进程有140中优先级,所以使用一个140个大小的数组,元素分别指向一个链表表示在该优先级下面对应的处于task_runing状态的进程描述符。
关于父子关系(real_parent,parent,children,sibling):
real_parent:该指针指向创建当前进程的的进程,或者是当创建者已经消亡后,该指针指向init进程。
parent:一般情况下和real_parent一样,只是当另外一个进程调用了ptrace()系统调用后,可能会改变~~~~~~
child:由当前进程创建的孩子进程链表的头节点
sibling:正如英语意思“兄弟”,它指向它的下一个或者是上一个兄弟。
关系如下:
进程id相关的hash表和链表:
虽然有了双向链表了,我们对进程描述符的加入链表和删除链表都有了很好的效率,但是对于查找效率就非常低且不稳定,在这里linux给出了一个解决方案,首先将进程hash一次后,再进行链式的存储,如图
上面只是对于pid有hash,对于pgrp,tgid,session呢?当然也是有的。
对于计算机查找过程,如下图
进程等待队列:
前面我们介绍了task_running状态的进程,他们被组织到了一个链表中,而其他状态的进程该怎么办呢?
对于进程task_stopped,exit_zombie或者是exit_dead状态的进程都是不需要将他们链接成一个特定的链表的,因为他们只会通过pid或者是父进程所使用,没有其他情况使用它。
而对于进程处于task_interruptible或者是task_uninterruptible状态的时候,就要分为多个状态进行讨论了,需要依据不同的事件进行分类。在相应时间发生的情况下,必须迅速的恢复进程。这里我们就引进了等待队列。。。
系统根据不同原因进入等待的进程分成多个队列,比如因为资源缺少而进入等待的进程组成一个队列,或者等待某个时间发生组成另外一个队列。
但是并不是某个事件发生后,就唤醒该队列中的所有睡眠进程。这也就避免了著名的“惊群”问题。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:39333次
排名:千里之外
原创:16篇
(3)(1)(1)(1)(2)(6)(6)(1)

我要回帖

更多关于 win10 task view下载 的文章

 

随机推荐