Linux内核(英语:Linux kernel)是一种开源的类Unix *** 作系统宏内核。
工作于平板电脑、智能手机及智能手表的Android *** 作系统同样通过Linux内核提供的服务完成自身功能。
一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来 *** 作和控制它,自身是不能工作的。
完成这个控制工作的软件就称为 *** 作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
整个Linux *** 作系统家族基于该内核部署在传统计算机平台(如个人计算机和服务器,以Linux发行版的形式)和各种嵌入式平台,如路由器、无线接入点、专用小交换机、机顶盒、FTA接收器、智能电视、数字视频录像机、网络附加存储(NAS)等。
工作于平板电脑、智能手机及智能手表的Android *** 作系统同样通过Linux内核提供的服务完成自身功能。尽管于桌面电脑的占用率较低,基于Linux的 *** 作系统统治了几乎从移动设备到主机的其他全部领域。截至2017年11月,世界前500台最强的超级计算机全部使用Linux。
扩展资料:
编程语言
Linux是用C语言中的GCC版(这种C语言有对标准C进行扩展)写的,还有几个用汇编语言(用的是GCC的"AT&T风格")写的目标架构短段。因为要支持扩展的C语言,GCC在很长的时间里是唯一一个能正确编译Linux的编译器。
有许多其他的语言用在一些方面上,主要集中在内核构建过程中(这里指从源代码创建可引导镜像)。包括Perl、Python和多种脚本语言。有一些驱动可能是用C++、Fortran或其他语言写的,但是这样是强烈不建议的。
编译器兼容性
GCC是Linux内核源代码的缺省编译器。在2004年,Intel主张通过修改内核,以便Intel C++编译器能正确编译内核。在2009年,有通过修改内核2.6.22版而成功编译的报告(并带来平均8-9%性能增长)。
自从2010年,已经开始进行使用Clang建造Linux内核的努力,Clang是一个可作为替代的C语言编译器;截止2014年4月12日,官方内核几乎可以完全用Clang编译。致力于这个目标的计划叫做“LLVMLinux”,得名于Clang所基于的LLVM编译器下部构造。
LLVMLinux不意图复制Linux内核或LLVM,因此它是由最终提交给上游计划的补丁构成的一个元计划。使Linux内核可以用Clang编译最大的好处是比GCC有更快的编译速度,内核开发者可以得益于由此而来的更快的工作流程
1、系统调用接口
提供系统的API函数,供用户使用,例如 *** 作文件的函数、 *** 作进程和线程的函数、 *** 作内存的函数、 *** 作硬件(如串口、磁盘)的函数、 *** 作网络的函数等等。
2、实现进程管理功能
能够同时(看上去)执行多个进程(任务),比如可以同时运行文件下载、看电影、挂游戏,那么进程管理的内部实现就是进程的调度,也就是实现调度CPU的使用时间提供给不同的用户任务(进程)使用。
3、实现虚拟文件系统
所谓虚拟文件系统,即是相对于实际文件系统的系统,其实是针对实际文件系统再次的实现和接口的抽象,意思是规定了最终提供给用户使用的文件系统的接口。
以及实现实际文件系统调用硬件层的接口,那么实际文件系统就是位于虚拟文件系统和硬件抽象接口中间,就像是夹心饼干中间的奶油一样,可以更换各种颜色的奶油,但是吃起来都是奶油的味道,可便于系统的更新和前后的兼容性、扩展性。
扩展资料:
技术特性
1、抢占式调度系统
Linux内核提供在特定条件下的抢先式调度。直到内核版本2.4,只有用户进程是抢先式的,就是说除了时间片用尽,在用户模式下执行的当前进程,如果有更高态优先级的进程进入TASK_RUNNING状态,它就会被中断。
自从2.6系列Linux内核,增加了中断执行内核代码的任务的能力,但不是对于内核代码的所有段落。
2、可移植性
从移动电话到超级电脑,甚至于有人成功的将Linux内核在索尼出品的游戏机PS2及PS3和微软出品的游戏机Xbox上使用。Linux也是IBM超级计算机BlueGene的 *** 作系统。
一些为手机开发的 *** 作系统,使用Linux内核的修改后的版本,其中包括谷歌Android、FirefoxOS、HPWebOS和诺基亚Maemo。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)