欢迎来到天天文库
浏览记录
ID:46284497
大小:70.00 KB
页数:8页
时间:2019-11-22
《Linux内核实时性研究及探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Linux内核实时性研究及探究摘要:Linux技术飞速发展,实时操作系统得到广泛应用,Linux的实时问题受到越来越多的关注。分析和研究Linux内核的作用,内核子系统,和内核在实时性应用方面的不足之处,及其改善方法。关键词:Linux;内核;实时性1Linux内核的位置在整个系统中,Linux内核的位置如图1所示。1.1进程进程是现代操作系统的核心概念,用来描述程序的执行过程,是实现多道程序操作系统的基础,用户进程是程序的一次执行,同时也是操作系统进行资源分配的单位。在应用程序中,操作系统调用程序,通过CPU调度,来完成用户任务。比如,程序中有一条读取数据的系统调用read(),但实
2、际上读取操作的是操作系统的内核。故系统调用是内核代码的一部分。在多道程序设计系统中,系统公式运行的程序共享系统资源,带来了对系统资源的竞争。操作系统必须对各种资源进行分配和调度。特别是在某一时刻多个程序同时执行时,产生了对CPU的竞争,必须进行CPU调度,因而提出了进程的概念。进程管理是操作系统中十分重要的功能。1.2内核子系统操作系统中最重要的部分就是内核子系统,它直接管理硬盘文件的打开,关闭,启动,运行,及其在网络上文件的发送及接受。1Linux内核的作用Linux内核是一个抽象了硬件,磁盘及文件系统等的软件。他提供了了一个虚拟或者扩展的计算机平台,从而使程序员可以避开许多硬件来实
3、现细节。非专业用户可以把操作系统看成一个资源管理者,在Linux系统的帮助下,非专业用户可以以用自己的方法组织自己的数据,完成自己的工作,并与其他用户系统资源共享。Linux系统支持多任务,而这种方式对用户进程是透明的。每一个用户进程运行时,好像只有自己的进程在运行并独享系统资源,同时使得各进程不互相干扰,安全运行。2Linux内核子系统3.1进程的调度在多道程序设计环境中,系统同时创建多个进程。到计算机只有一个CPU时,每次只能让一个进程运行,其他进程或处于就绪状态或者阻塞状态。操作系统采用队列的方式管理这些进程,相同状态进程的PCB通过各自的队列指针链接在一起。系统为每一个队列设立
4、一个列头指针,他总指向排在队列之首的进程PCB,排在队尾的进程PCE用一个特殊符号如“-1”来表示。为了执行用户程序,调度过程中不仅既要考虑用户关心的性能指标,更要考虑系统各部分的效率。希望处理器调度能使系统的吞吐量尽可能大、CPU利用率高,资源使用的负荷平衡等。在所有Linux内核子系统中,最重要的是进程调度子系统。由于所有其他子系统工作的完成都要建立进程,终止进程和恢复进程,因此,必须依靠进程调度子系统来予与协调。3.2存储管理存储管理是对内存的管理。内存是处理器可以直接存取指令和数据的存储器,是进程得以运行的重要基础,也是计算机中的紧缺资源。近年来,随着硬件技术和生产水平的迅速发
5、展,内存的成本迅速下降,容量不断扩大,但仍不能满足各种软件急剧增长的对存储空间的需求。因此,内存的有效管理和使用,仍是现代操作系统中十分重要的问题。3.3Linux中的虚拟文件系统Linux除了支持ext2文件系统外,还可以支持其他文件系统。为此,必须将各种不同文件系统的操作和管理纳入到统一的框架中,使用户程序可以通过同一个文件系统界面对各种不同的文件进行操作。这样,用户可以不必关心不同文件系统的实现细节,使用系统提供的统一,抽象,虚拟的文件系统界面。这个统一的框架就是虚拟文件系统VFS。在虚拟文件系统中,所有数据结构都在运行后建立,并在卸载时删除,只能存在于内存中,磁盘上没有存贮这些
6、数据结构。如果只有VFS,系统是无法工作的。VFS必须与实际的文件系统如ext2,MSDOS,VFAT等结合起来。与VFS对应,称ext2,MSDOS,VFAT等为逻辑文件系统。VFS提供一个统一的借口,一个逻辑文件系统想得到Linux的支持,必须按照这个接口编写自己的操作函数,而将自己的细节对内核其他子系统掩藏起来。VFS与逻辑文件之间的关系如图2所示。VFS只负责与设备无关的操作。虚拟文件系统这种抽象的功能层次,保证了Linux系统支持多种不同的逻辑文件系统,使所有文件系统都具有基本相同的外部表现,而且可以方便地相互访问。VFS对逻辑文件系统的数据结构进行抽象,以一种统一的数据结构
7、进行处理。接受用户层的系统调用。支持多种逻辑文件系统之间的互相访问,接受内核其他子系统的操作请求。3.4输入/输出输入输出子系统与硬件物理设备密切相关,主要包括设备驱动程序的各种中断机制。3.5进程间通信IPC子系统支持在单个Linux系统中多种进程间通信机制,如信号、管道和共享内存等。3.6网络支持网络子系统提供了对各种网络标准协议和各种网络硬件的支持。1Linux内核实时性缺陷Linux系统最初是芬兰人Linus是手动编写的一个类“Mini
此文档下载收益归作者所有