之前在ucos多任务切换中漏掉了一个变量,OSCtxSwCtr标识系统任务切换次数主要应该还是用在调试功能中Ucos系统初始化函数为OSInit(),主要完成以下功能全局变量初始化就绪任务表初始化空任务控制块初始化事件控制块链表初始化信号量集初始化存储器管理初始化Qs队列控制初始化系统空闲任务初始化...
分类:
其他好文 时间:
2015-03-09 00:20:43
阅读次数:
446
设计用于系统编程的系统寄存器主要包括以下几类:标志寄存器EFLAGS, 内存管理寄存器, 控制寄存器, 调试寄存器, 测试寄存器。系统标志寄存器EFLAGS 控制着I/O、可屏蔽中断、调试、任务切换以及保护模式和多任务环境下虚拟8086 程序的执行。内存管理寄存器有4 个,用于分段内存管理:? GD...
分类:
其他好文 时间:
2015-02-25 12:55:23
阅读次数:
173
今天学习了uC/OS II的任务切换,知道要实现任务的切换,要将原先任务的寄存器压入任务堆栈,再将新任务中任务堆栈的寄存器内容弹出到CPU的寄存器,其中的CS、IP寄存器没有出栈和入栈指令,所以只能引发一次中断,自动将CS、IP寄存器压入堆栈,再利用中断返回,将新任务的任务断点指针弹出到CPU的C....
分类:
其他好文 时间:
2015-02-14 14:56:02
阅读次数:
351
本文为 第15章笔记 由两种基本的任务切换方式, 一种是协同式额, 从一个任务切换到另一个任务, 需要当前任务主动地请求暂时放弃执行权, 或者在通过调用门请求操作系统服务时, 由操作系统"趁机"将控制转移到另一个任务. 这种方式依赖于每个任务的"自律"性, 当一个任务失控时, 其他任务可能得不到执行...
分类:
其他好文 时间:
2015-02-03 12:46:55
阅读次数:
242
segment descriptors 构建保护模式下的最基本、最根本的执行环境。system descriptors 则构建保护模式下的核心组件:1、TSS descriptor 提供硬件级的进程切换机制 2、LDT descriptor 供进程使用多个 descriptor 3、Gate des...
分类:
其他好文 时间:
2015-02-02 17:55:23
阅读次数:
197
activity属性设置大全 android:allowTaskReparenting=["true"|"false"] 是否允许activity更换从属的任务,比如从短信息任务切换到浏览器任务。 android:alwaysRetainTaskState=["true"|"fal...
分类:
其他好文 时间:
2015-02-01 23:19:56
阅读次数:
195
指令: call 0x20:00000000 jmp 0x20:00000000 -----------------------------------selector 0x20 是个 task gate 的 selector 这里使用 task gate 任务切换与使用 TSS selec...
分类:
其他好文 时间:
2015-01-29 19:09:38
阅读次数:
136
指令: call 0x20:00000000 jmp 0x20:00000000----------------------------------- selector 0x20 是个 TSS descriptor 的 selector。 TSS descriptor 与 segme...
分类:
其他好文 时间:
2015-01-29 19:00:39
阅读次数:
194
之前,在交换机(vxworks系统)测试的时候报了一个很诡异的问题:运行ospf路由协议的时候造成设备重启,而打印的break信息是在ripng模块死机。经过了多天的跟踪测试,终于发现是由于ospf任务中存在大量终端导致栈空间溢出进而修改了ripng模块的全局变量,后来把栈空间改大点就没问题了。但是这个问题是怎么发现的呢?在任务切换(vxworks是基于任务的)时加钩子函数,判断那个全局变量是否已...
分类:
其他好文 时间:
2015-01-22 15:39:55
阅读次数:
214
代码模板: 1 void main(void) 2 { 3 OSInit(); 4 /* 安装uCOS-II的任务切换向量 */ 5 /* 创建用户起始任务TaskStart */ 6 OSStart(); 7 } 8 9 void TaskStart(void * pdata...
分类:
其他好文 时间:
2014-12-07 17:46:28
阅读次数:
291