201021015633-控制工程-柏雪.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
201021015633-控制工程-柏雪

Linux的安装和内核的编 目录 第一章 Linux内核结构 4 1.1 进程管理(SCHED) 4 1.1.1 Linux 的进程 4 1.1.2 进程调度器 4 1.2 内存管理(MM) 5 1.2.1 页帧 5 1.2.2 内存区域 5 1.2.3 Slab 分配器 5 1.3 虚拟文件系统(VFS) 6 1.3.1 文件系统的安装 6 1.3.2文件的打开 6 1.4网络接口(NET) 7 1.5 进程间通信(IPC) 7 1.5.1管道和命名管道 7 1.5.2 System V IPC 8 第二章 RTAI介绍 9 2.1标准Linux应用于实时系统存在的问题 9 2.1.1 Linux的实时特性 9 2.1.2 Linux经简单改进不能运行实时任务的原因 10 2.2 RTAI的基本思想 10 2.3 RTAI的设计与实现 10 2.3.1 硬件抽象层RTHAL(RTHAL Time Hardware Abstraction Laver)的实现 10 2.3.2 RTAI的主要模块的分析 10 2.4 基于RTAI-Linux应用程序的开发 11 第三章 Linux的安装 13 3.1 安装Ubuntu9.10 13 第四章 内核的编译 19 4.1 概述 19 4.2 内核的编译 19 第五章RTAI实时软件包的安装 27 5.1 概论 27 5.2 RTAI实时软件包的安装 27 5.3 RTAI实时软件的运行 29 第六章 个人总结 31 参考文献: 32 Linux的安装和内核的编译 柏 雪 摘要:Linux操作系统作为一种强大的开放的操作系统,被越来越广泛的应用。Linux系统本身是一个面向桌面的系统,所以其实时性能并不出色,但是可以对Linux进行实时性改造, 根据实时系统的具体要求满足不同的实时需求。本文叙述了在ubuntu9.10操作系统的基础上编译Linux-2.6.30.5内核的详细过程。并在此内核的基础上构建了自己的操作系统,并且将RTAI实时软件包装在Linux操作系统中,实现Linux的实时功能。 关键词:Linux,RTAI,编译内核。 Linux内核结构Linux 内核从90 年代初由Linus 发布第一版开始,经过开源社区十几年的共同努力,现在已经发展到了最新的2.6 内核。首先介绍一下Linux内核的结构,Linux内核主要由五个部分组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。 L i n u x 内核支持所谓的多任务运行(multiprogramming),即可以有多个用户程序同时运行,用户可以一边听音乐一边写文档。为了在一个单CPU 的系统中支持多任务,Linux 内核使用了进程的概念(内核中用task_struct 的结构表示),一个进程就是一个运行中的用户程序。整个系统运行时,每个进程都会分得一定的时间片(从几十毫秒到几百毫秒),Linux 内核的调度器负责选择不同的进程运行。当这个进程的时间片用完后,调度器会选择一个新的进程运行。由于切换的时间和频率非常快,给用户的感觉是有多个程序在同时运行。而实际上,在一个CPU 上每一个时间点上其实只有一个进程在运行。 1.1.1 Linux 的进程 一个用户程序开始运行时,内核会负责把存储在磁盘上的二进制可运行程序调入内存中,同时会分配一个task_struct代表这个要运行的用户程序。task_struct是一个非常重要的数据结构,所有关于这个正在运行的用户程序信息都会保存在这个结构中,包括用户程序打开的文件,所使用的内存空间等。Linux 内核所有对于进程的管理都是通过这个结构进行的。 1.1.2 进程调度器 进程调度器是整个系统非常关键的一个子系统,在系统中有多个进程可以运行时,它负责选择哪个进程运行。每个进程都是CPU 计算和I/O 请求的交替,不同的是,有的进程大部分的时间是浪费在CPU计算上,而有的则把几乎所有的时间用在了I/O 等待上。一个好的调度器,既能够让用户交互程序有很快的反应时间(如编辑程序必须能够快速地将用户的敲键快速地反映到屏幕上),也能够让CPU密集型CPU - bound)的进程有很好的吞吐(throughput)。 Linux 内核调度器是基于优先级的调度器,通过一套非常复杂的算法决定一个进程当前的优先级,同时进程的优先级又是动态调整的: 一个很久没有得到运行的进程的优先级会被暂时增加,以增加得到运行的机会;一个花了较多 时间睡眠的进程则会被认为是用户交互程序,优先级也会被增加,当这类进程需要运行的时候就会有较大的机会被调度器选用,这样整个系统对用户的输入就会有较快的响应。早先2.4 版本的内核把所有可运行的进程连接在一个链表上,每次调度时都要循环遍历链表上

文档评论(0)

ayangjiayu4 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档