LINUX内核进程调度学习笔记(一)

来源:互联网 发布:mac里的视频导出到u盘 编辑:程序博客网 时间:2024/06/15 06:23
进程调度一直是操作系统的核心,linux操作系统进程调度采用抢占式进程调度,时间片轮转。vxworks采用严格的优先级抢占式内存调度,即内存中如果存在高优先级(比当前正在运行的任务优先级高)的任务处于ready状态,则CPU暂停正在执行的任务,并且切换到高优先级任务执行,相同优先级的任务则采用时间片轮转调度。VXWORKS任务调度算法,简洁而有效,并且内存管理采用实地址空间,从而能够保证比较精确的实时调度。

一.孤儿进程
      孤儿进程即该进程的父进程在其之前退出,而导致该进程在退出的时候一直处于僵死状态,即task_zombie状态。如下图代码所示:
        
        tsk->state = TASK_ZOMBIE,
        exit_notify();
       如果父进程退出则在exit_notify()中为子进程寻找一个父进程.
      
如果该进程的父进程已经退出,则将其父进程设置init进程。

二.进程队列在多处理器下的分配

   如果发现不同处理器之间的任务处理队列存放不均衡的情况,则调用load_balance()进行各个处理器之间的任务协调。
    

原创粉丝点击