![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kernel-内核
jgw2008
这个作者很懒,什么都没留下…
展开
-
简易内核调度设计 --基于TQ2440(ARM9)的实现(1)
多任务是现代操作系统的核心功能,深入理解多任务并非易事,但学习者如果能尝试去实现一个简易的多任务程序,对理解操作系统的“多任务”概念会有很大的帮助。若能进一步拓展这个多任务的程序,则可设计一个简易的内核(Kernel)。本文就是介绍一个十分简易的多任务程序。原创 2016-05-05 15:13:07 · 1831 阅读 · 2 评论 -
简易内核调度设计--基于TQ2440(ARM9)的实现(2)
程序目的: 主程序(main)创建两个子程序(task01,task02),然后两个子程序相互切换。 知识点: 1. 深入理解内存layout 2. 什么是任务运行的上下文(context)? 3. 如何创建任务运行的“上下文(context)”? 4. 为什么要创建多个任务?现在的系统原创 2016-07-13 14:14:28 · 497 阅读 · 0 评论 -
简易内核调度设计 --基于TQ2440(ARM9)的实现(3)
本章的主题是“内核调度程序的设计与实现”,“内核调度”是所有多任务内核的必须模块,调度算法设计的优劣,直接影响到整个系统的效能。 本章的实例,没有考虑系统“效能”,只是为了向大家展示如何设计和实现一个最简单的内核调度程序,我们采用最简单的“轮转法调度”,大家可以尝试采用其他算法来优化内核的调度性能。原创 2016-07-13 14:36:12 · 538 阅读 · 0 评论 -
简易内核调度设计 --基于TQ2440(ARM9)的实现(4)
本章,我们继续完善KernelSched这个程序: a. 加入Critical Section, 防止同时操作LED,造成LED1和LED2同时点亮; b. 在HandleIRQ中,加入对Timer0中断源的判断。原创 2016-07-13 14:45:31 · 483 阅读 · 0 评论