- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux内核实时性分析和研究
Linux内核实时性分析和研究 摘要: Linux技术飞速发展,实时操作系统得到广泛应用,Linux的实时问题受到越来越多的关注。分析和研究Linux内核的作用,内核子系统,和内核在实时性应用方面的不足之处,及其改善方法。 关键词: Linux;内核;实时性 1 Linux内核的位置 在整个系统中,Linux内核的位置如图1所示。 1.1 进程 进程是现代操作系统的核心概念,用来描述程序的执行过程,是实现多道程序操作系统的基础,用户进程是程序的一次执行,同时也是操作系统进行资源分配的单位。 在应用程序中,操作系统调用程序,通过CPU调度,来完成用户任务。比如,程序中有一条读取数据的系统调用read(),但实际上读取操作的是操作系统的内核。故系统调用是内核代码的一部分。 在多道程序设计系统中,系统公式运行的程序共享系统资源,带来了对系统资源的竞争。操作系统必须对各种资源进行分配和调度。特别是在某一时刻多个程序同时执行时,产生了对CPU的竞争,必须进行CPU调度,因而提出了进程的概念。进程管理是操作系统中十分重要的功能。 1.2 内核子系统 操作系统中最重要的部分就是内核子系统,它直接管理硬盘文件的打开,关闭,启动,运行,及其在网络上文件的发送及接受。 2 Linux内核的作用 Linux内核是一个抽象了硬件,磁盘及文件系统等的软件。他提供了了一个虚拟或者扩展的计算机平台,从而使程序员可以避开许多硬件来实现细节。非专业用户可以把操作系统看成一个资源管理者,在Linux系统的帮助下,非专业用户可以以用自己的方法组织自己的数据,完成自己的工作,并与其他用户系统资源共享。 Linux系统支持多任务,而这种方式对用户进程是透明的。每一个用户进程运行时,好像只有自己的进程在运行并独享系统资源,同时使得各进程不互相干扰,安全运行。 3 Linux内核子系统 3.1 进程的调度 在多道程序设计环境中,系统同时创建多个进程。到计算机只有一个CPU时,每次只能让一个进程运行,其他进程或处于就绪状态或者阻塞状态。操作系统采用队列的方式管理这些进程,相同状???进程的PCB通过各自的队列指针链接在一起。系统为每一个队列设立一个列头指针,他总指向排在队列之首的进程PCB,排在队尾的进程PCB用一个特殊符号如“-1”来表示。为了执行用户程序,调度过程中不仅既要考虑用户关心的性能指标,更要考虑系统各部分的效率。希望处理器调度能使系统的吞吐量尽可能大、CPU利用率高,资源使用的负荷平衡等。在所有Linux内核子系统中,最重要的是进程调度子系统。由于所有其他子系统工作的完成都要建立进程,终止进程和恢复进程,因此,必须依靠进程调度子系统来予与协调。 3.2 存储管理 存储管理是对内存的管理。内存是处理器可以直接存取指令和数据的存储器,是进程得以运行的重要基础,也是计算机中的紧缺资源。近年来,随着硬件技术和生产水平的迅速发展,内存的成本迅速下降,容量不断扩大,但仍不能满足各种软件急剧增长的对存储空间的需求。因此,内存的有效管理和使用,仍是现代操作系统中十分重要的问题。 3.3 Linux中的虚拟文件系统 Linux除了支持ext2文件系统外,还可以支持其他文件系统。为此,必须将各种不同文件系统的操作和管理纳入到统一的框架中,使用户程序可以通过同一个文件系统界面对各种不同的文件进行操作。这样,用户可以不必关心不同文件系统的实现细节,使用系统提供的统一,抽象,虚拟的文件系统界面。这个统一的框架就是虚拟文件系统VFS。 在虚拟文件系统中,所有数据结构都在运行后建立,并在卸载时删除,只能存在于内存中,磁盘上没有存贮这些数据结构。如果只有VFS,系统是无法工作的。VFS必须与实际的文件系统如ext2,MSDOS,VFAT等结合起来。与VFS对应,称ext2,MSDOS,VFAT等为逻辑文件系统。VFS提供一个统一的借口,一个逻辑文件系统想得到Linux的支持,必须按照这个接口编写自己的操作函数,而将自己的细节对内核其他子系统掩藏起来。VFS与逻辑文件之间的关系如图2所示。 VFS只负责与设备无关的操作。虚拟文件系统这种抽象的功能层次,保证了Linux系统支持多种不同的逻辑文件系统,使所有文件系统都具有基本相同的外部表现,而且可以方便地相互访问。VFS对逻辑文件系统的数据结构进行抽象,以一种统一的数据结构进行处理。接受用户层的系统调用。支持多种逻辑文件系统之间的互相访问,接受内核其他子系统的操作请求。 3.4 输入/输出 输入输出子系统与硬件物理设备密切相关,主要包括设备驱动程序的各种中断机制。 3.5 进程间通信 IPC
文档评论(0)