第23章 扩展任务管理模块

  1. 增加任务的HASH表,HASH值是任务的PID,这样通过任务的PID就能查找到任务的task_struct。
  2. 增加任务挂起队列、死亡队列。

    • 运行态的任务在运行队列。
    • 被挂起的任务在挂起队列。
    • 被杀死的任务在死亡队列。
  3. 增加任务挂起函数、任务唤醒函数、任务杀死函数、任务清理函数。并增加相应的系统调用。

    • sys_suspend_task把在运行队列上的任务移动到挂起队列。
    • sys_resume_task把在挂起队列上的任务移动到运行队列。
    • sys_delete_task把在运行队列或挂起队列上的任务移动到死亡队列。
    • sys_clear_task清理死亡队列上的任务,并回收资源。

在操作系统中,双向链表用处很多,因此需要设计好双向链表,重用代码。

对任务管理模块的扩展都在task.c文件中,源代码请看 http://blog.csdn.net/metaxen/article/details/6747631。

Leave a Reply

Your email address will not be published. Required fields are marked *