标签:调度 sch 准备 uri tle idt 简单的 安装 任务
??内核开发不是件容易的事,这是对一个程序员编程能力的考验。开发内核其实就是开发一个能够与硬件交互和管理硬件的软件。内核也是一个操作系统的核心,是管理硬件资源的逻辑。
??处理器或是CPU是内核需要管理的最重要的系统资源之一。内核对其的管理体现在:给特定操作分配时间,并允许在另一个调度事件发生时中断任务或进程。也就是多任务处理(multitasking)。多任务处理的实现方式有:
目前有几种调度算法用于寻找下一个要运行的进程,其中最简单的是轮循调度(Round Robin),你只需要在列表中获取下一个进程,然后选择该进程运行。复杂的调度涉及优先级,那些优先级高的任务比优先级低的任务允许分派到更多运行时间。更为复杂的是实时调度(Real-time scheduler),用来保证某个进程至少运行一定数量的定时器时间。实时系统的计算正确性不仅仅取决于计算的逻辑正确性,还却决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效,也可认为没有得到正确的计算结果。
??系统的另一个重要的资源显然是内存(Memory)。有时候内存资源甚至比CPU时间资源更加珍贵,因为内存是有限的,而CPU时间确不是。你可以将你的内核设计成内存高效,但会牺牲大量CPU。你也可以设计成CPU高效,使用内存存储缓存和缓冲区来记住常用项而不是查找它们。最好的当然是两者兼顾:争取最佳的内存使用,同时保留CPU时间。
??还有一个内核需要管理的资源是硬件资源,包括:
??本教程的旨在向读者展示如何搭建起内核的基础,包括:
原文链接:Bran‘s Kernel Development A tutorial on writing kernels Version 1.0 (Feb 6th, 2005) http://www.osdever.net/bkerndev/Docs/title.htm
本人英语水平一般,专业水平也不高,错误怕会很多,欢迎指正。不接受批评哈,本来就是写给自己看到 :)
标签:调度 sch 准备 uri tle idt 简单的 安装 任务
原文地址:https://www.cnblogs.com/raina/p/11526824.html