摘 要: Linux操作系统在计算机技术发展中,占据重要地位。其优势明显,具有开放化、模块化程度高等特点,还可以在多种硬件设备中予以应用,发展前景可观。本文从其发展历史入手,简单介绍了运行的基本原理,接着又对Linux操作系统的当前应用进行了讨论,同时对未来发展进行了展望,希望能够给软件系统爱好者和开发者提供研究方向。
关键词: Linux; 操作系统; 调度;
Linux是一类操作系统,其源码是公开的。当前Linux种类较多,主要是内核居多。它能够直接安装在各种硬件装备上,比如手机、各类电脑等电子产品中。Linux操作系统运行速度较快,目前全球处理速度最快的计算机应用的都是此系统。Linux最初指代内核,随着应用的不断扩大,现在指的就是整个操作系统。该操作系统在1981年被开发出来,接着微型计算机就产生了[1]。然而,开发的过程并不是一帆风顺的,编译器并没有推进Linux系统的快速研发,其中MINIX 系统发展更快一些,但是需要付费使用。Linux发展到了危机关头,随着开发的不断进行,最终实现了对原有系统的更新,同时也给Windows系统造成了极大威胁。
一、Linux内核
操作系统是为了完成软硬件间信息的衔接。二者是紧密联合的,不可分割。操作系统的诞生为使用者带来了便捷。在计算机中,失去了软件的硬件是没有任何使用价值的。硬件要想发挥作用,必须安装软件,而软件就是计算机的操作系统,也就是使硬件能发挥作用的核心。Linux内核通常包含存储设备、中央处理器、网络通信等。操作系统的分析具有系统性,在分析中要注重全面性,不能只一味关注几个点,而是要系统性了解所有源码。Linux内核在框架上得到了更新,属性也变得更加实用。
二、Linux操作系统构建原理
Linux开发团体致力于其内核研发工作,并对版本进行规范,使其具有唯一性。Linux操作系统的版本事实上是其内核的版本号。Linux1.0为第一个版本,之后逐渐更新换代。随后为了可以和Copyright进行比对,协议改作了Copyleft。对于 Copyleft,客户能够进行copy,也可以进行改动,甚至可以销售。但是,客户群体必须是经过授权许可的。当然,在复制的同时也要注意应用程序的属性,关注其是否可以进行各项操作。与此同时,也要保障其他客户能够获得免费的源码。现实表明,公共许可对内核起到很大的推动作用,它使得Linux 内核发展商业属性增强,团队联系更加紧密,使更多优秀人才聚集到Linux 中来。
2.1 系统调用接口
系统调用接口是为函数调用服务的。通常简称为SCI,需要依靠体系结构完成,是一种特殊机制,主要完成从客户到内核数据的调用,并将源码储存起来。一般进程管理是虚拟的,客户常会用到进程的说法,然而在Linux 内核中也可以用线程来表达,二者并没有什么区分标准。在创建的过程中,主要运用编程接口,简称API。运用API,客户能够对进程进行控制,主要运用调用接口来实现,在各进程中能够完成实时通信。
通信机制有多种,常使用的如signal等。进程管理要对多个进程的中央处理器使用需求进行调配。所以,调度程序O(1)应运而生。这是一种新式计算方式,无论CPU需要为多少进程服务,这样的算法能够在统一时间处理,也就是处理时间段是一样的,不会导致彼此之间的恶性竞争[2]。同样,对于各种中央处理器,该调度程序也是予以支持的。
2.2 内存管理
内存管理是操作系统中重要的内核管理组成部分。通常可以提升操作系统的运行速度。硬盘负责虚拟空间,一般依据区、块、页的形式进行划分。最大单位是区,并依次降低。同时Linux 内核还管理着硬件机制,通常处理着内存映射和物理映射,一般不低于4KB。
文件系统路径中存放着内存管理的相关的程序源码。Linux 实行内存管理的方式主要是通过缓冲区,利用这一基数实行分配。通常选择分配器,在内存页使用时,标记出不合格的内存页,对于空页和满页也要进行区分。比如slab分配器就是这样运行的。做好区分可以完成对内存情况的实时管理。Linux 通过程序源码记录了相应的程序管理。
2.3 . 虚拟文件系统
虚拟文件系统是Linux系统中的子系统。它能够提供接口,完成文件系统和SCI间的交换,简称VFS。VFS分为上面和下面。上面主要是供给客户API抽象函数,下面就是对其实现形式进行解释。Linux能够对其源码进行储存。
三、结语
计算机操作系统是基础,是完成软硬件交流的平台。在研发中,要准确掌握硬件设备,保持高研发水平。操作系统对于软件开发来说是最重要的技术。因此,要注重技术人才的培养,使产业发展更长远。Linux 系统源代码是公共资源,可以为更多的工作者提供原始资料,促进计算机系统的研发工作,使其得到更广阔的发展空间。
参考文献
[1]王鑫.基于嵌入式系统的图像处理技术研究[D].中国科学院研究生院(光电技术研究所),2015.
[2]刘慧双.Linux实时操作系统定制及设备驱动开发[D].华中科技大学,2013.
[3]王哲梁.基于嵌入式Linux的远程视频监控系统[D].杭州电子科技大学,2014.