[页数]:19 [字数]:5599 [目录] 1 引 言 2 总体设计 3 详细设计 4 结论 [摘要] GNU是自由软件之父 Richard Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一分通用公共许可证(General Public License,简称GPL)。Linux以及与她有关的大量软件是在GPL的推动下开发和发布的。 Linux内核的功能以及它和GPL的结合,使许多软件开发人员相信这是有前途的项目,开始参加内核的开发工作。并将GNU项目的C库、gcc、Emacs、bash等很快移植到Linux内核上来。可以说,Linux项目一开始就和GNU项目紧密结合在一起,系统的许多重要组成部分直接来自GNU项目。Linux操作系统的另一些重要组成部分则来自加利福尼亚大学Berkeley分校的BSD Unix和麻省理工学院的X Windows系统项目。 下面就通过源代码来分析LINUX 的调度和时钟中断处理。 [正文] 1 引 言 1.1 问题的提出 Linux的调度是一种快餐式的调度,即只是试图处理一些尽量简单的合理的工作,然后就退出,使得进程本身可以尽可能地多获得CPU。 Linux采用的调度方法有三种:SCHED_RR(基于优先级的轮转实时调度方法)、SCHED_FIFO(先进先出的实时调度方法)、SCHED_OTHER(基于优先级的轮转实时调度方法,这是普通进程的调度策略)。每个进程都可以规定自己的调度策略。这可以在这个进程的task_struct的policy属性中进行设置。 在进行调度的时候,调度程序会计算处于TASK_RUNNING状态的所有进程的godness值,并选择拥有最好的goodness值的进程到CPU来运行。 当进行进程调度的时候,执行schedule函数在这个函数中执行goodness函数进行goodness数值的计算。在schedule函数的末尾,如果当前调度的进程不是以前运行的那个进程,那么就执行swich_to函数来实现进程的上下文切换。 中断分为系统调用中断和硬件中断。在这里要讨论的是硬件中断。硬件中断是由一个请求(IRQ),即从硬件设备法网CPU的信号而开始的。用sti开中断,用cli屏蔽中断。 IRQ是从硬件设备发往CPU的中断信号。CPU收到后,转到此IRQ所对应的某个中断服务例行程序(ISR)或称之为中断处理程序。在中断处理程序执行完成之后,返回中断前所执行的代码。IRQ是有编号的,每一个硬件设备在系统中都对应一个IRQ号码。 ...... [参考文献] [1]陈莉君. 深入分析Linux内核源代码. 北京:人民邮电出版社.2002.8 [2]李善平等. Linux内核2.4版源代码分析大全. 北京:机械工业出版社.2002.1 [3]Gary Nutt.Linux操作系统内核实习. 北京:机械工业出版社.2002.1 [4]罗宇 等编著.操作系统课程设计.北京:机械工业出版社.2005.9 [原文截取] 数学与计算机学院 课程设计说明书 课 程 名 称: 操作系统原理-课程设计 课 程 代 码: 8404061 题 目:Linux调度和时钟中断处理的分析 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2009 年 12 月 17 日 完 成 时 间: 2010 年 01 月 08 日 课程设计成绩: 学习态度及平时成绩(30) 技术水平与实际能力(20) 创新(5) 说明书撰写质量(45) 总 分(100) 指导教师签名: 年 月 日 操作系统原理 课程设计 任务书 学院名称: 数学与计算机学院 课程代码:_8404061_ 专 业: 计算机科学与技术 年 级: 一、设计题目 LINUX的调度和时钟中断处理代码的分析 二、主要内容 根据操作系统课程设计指导书所提供的基础知识,分析文件kernel/sched.c 和include/asm-i386/spinlock.h 中关于Linux的调度和时钟中断的代码,了解一个LINUX操作系统的进程调度以及时钟中断的处理方式,得到相关的框图,写出设计报告。 三、具体要求及应提交的材料 代码分析结果, 包括但不..... |
Linux调度和时钟中断处理的分析
查看评论
已有0位网友发表了看法