『壹』 linux Kernel是什么
Linux kernel 译为 内核,其基础为linux平台,linux为C语言编写的内核,基于此内核又衍生出了具体的Red hat linux 、open suse linux等具体的操作系统,一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
对于linux kernel,先看它的目录结构,这里只挑几个重要的说明。
arch 包括所有和体系结构相关的核心代码。从里面我们能看到arm、alpha、i386、mips、ia64这些文件夹,每种处理器架构都有不一样的硬件模块,这里就是要针对不同的架构进行不同的初始化。
init包含内核的初始化代码(不是系统的引导代码),其中有一个main.c文件,用于执行内核所有的初始化工作(包括初始化内存、初始化所有硬件、创建第一个任务task0,设置中断允许标志位),然后移到用户模式调用fork()函数创建新进程,并在控制台运行shell。
kernel 包含内核管理的核心代码,瞅这名就知道,这货是个重量级目录,所有的处理任务的程序,包括fork、exit、调度程序(sched.c)以及一些系统调用(sys.c)、信号处理(signal.c)、时间函数(time.c),还有中断异常处理、电源管理等等一系列调用关系错综复杂的函数。
mm 包含所有的内存管理代码。其中包括实现进程的逻辑地址到实际物理地址的映射,实现分页、分段机制,实现内存页面异常中断处理程序等。
drivers包含系统中所有的设备驱动程序,比如什么cdrom啊bluetooth啊pci、i2c这些。
ipc 包含核心进程间的通信代码。
fs 存放Linux支持的文件系统代码,里面有ext2、ext3、ext4、fat、ntfs等等一堆目录。
net 内核的网络部分代码,其每个子目录对应于网络的一个方面,比如ieee80211、ipv4、ipv6这些目录。
lib 包含核心的库代码,什么strcpy、sprintf、sort这些函数都在里面。更多Linux知识可参考《Linux就该这么学》。
『贰』 linux 的rpm包有 glibc和linux 两种,有什么区别呀!
linux的rpm发行包,一般会在rpm文件名中说明编译这个rpm的环境,安装rpm的时候也要找到对应自己操作系统环境的包来安装。
1:如果rpm包名里面有linux并且指定了linux版本,说明这个rpm包就是在这个linux版本下编译的,如果你的linux版本匹配,就可以安装。
2:如果rpm包名里面有glibc并且指定了glibc版本,说明这个rpm包需要在指定的glibc版本环境中安装,glibc是linux下的基础库。
3:这2种包不一定是互斥的,只要符合环境要求,都可以安装。
『叁』 linux kernel的四库全书是哪四个
Linux Kernel 四库全书
1. Linux内核设计与实现 Edition 2
2. Linux设备驱动 Edition 3
3. Linux内核源代码情景分析
4. 深入理解Linux内核(第三版)
5. LINUX KERNEL技术手册;LINUX KERNEL in a nutshell;
Linux内核驱动和应用程序开发QQ群:4640675,欢迎交流讨论;
Linux内核设计与实现
原书名: Linux Kernel Development (2nd Edition)
原出版社:Novell Press
作者: (美)Robert Love
译者: 陈莉君 康华 张波
出版社:机械工业出版社
ISBN:7111178653
出版日期:2006 年1月
页码:289
Linux Device Drivers, 3rd Edition
By Jonathan Corbet, Greg Kroah-Hartman, Alessandro Rubini
Publisher:O'Reilly
Pub Date:February 2005
Pages: 636
LINUX设备驱动程序(第3版)
译者:魏永明,耿岳,钟书毅
出版社: 中国电力出版社;
出版日期:2006年1月1日
平装: 569页
LINUX内核源代码情景分析
作者:毛德操,胡希明
出版社: 浙江大学出版社;
出版日期:2001年9月1日
平装: 841页
ISBN: 9787308027038
深入理解Linux内核
Understanding the Linux Kernel, 3rd Edition
By Daniel P. Bovet, Marco Cesati
Publisher: O'Reilly
Pub Date: November 2005
ISBN: 0-596-00565-2
Pages: 942
作者美)博韦,西斯特著,陈莉君,张琼声,张宏伟 译
出版社:中国电力出版社
出版时间:
出版时间:2007-9-1
ISBN: 9787508353944
LINUX KERNEL技术手册;
LINUX KERNEL in a nutshell;
作者:(美)哈特曼著
出 版 社:东南大学出版社
出版时间:2007-6-1
页数:182
I S B N:9787564107420
『肆』 什么是linux内核
Linux是由Linus Torvalds开发的类UNIX的操作系统,Linux主要特点是开源的,因此我们可以免费使用来当做服务器。
Linux严格分为两个含义。
1.广泛的Linux是指Linux发行版
2.狭义的Linux是指Linux内核
Linux内核是操作系统的基础,介于硬件和软件之间,并且内核位于操作系统中,操作系统将在硬件和软件之间进行调解,Linux内核是操作系统核心部分的功能。
二:内核的基本性能
1.流程管理
在Linux内核中,程序的执行状态以进程为单位进行管理。此外,内核为每个进程准备一个名为task_stract结构的数据结构。
2.进程调度程序
可执行状态等待哪个进程以哪个顺序执行,由于基本上不可能运行比CPU数量更多的进程,因此运行过程的效率非常重要。
3.内存管理
在Linux内核中,使用物理内存和虚拟内存管理数据。通过分配对应于物理存储器的虚拟地址,而不是实际为每个进程分配物理存储器地址,可以使用容量远大于实际物理存储器容量的存储器。它使它成为可能。此外,由于每个进程都分配了自己的虚拟地址,因此每个进程的内存空间是独立的,并且不会违反其他进程的内存。
3.文件系统
它以文件的形式提供存储数据的访问方法。所有数据都以文件的形式进行管理。/ Directory(根目录)作为顶点,内核本身作为文件和目录的集合存在。
『伍』 什么是linux kernel有什么作用
Linux内核(英语:Linux kernel)是一种开源的类Unix操作系统宏内核。
工作于平板电脑、智能手机及智能手表的Android操作系统同样通过Linux内核提供的服务完成自身功能。
一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。
完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
整个Linux操作系统家族基于该内核部署在传统计算机平台(如个人计算机和服务器,以Linux发行版的形式)和各种嵌入式平台,如路由器、无线接入点、专用小交换机、机顶盒、FTA接收器、智能电视、数字视频录像机、网络附加存储(NAS)等。
工作于平板电脑、智能手机及智能手表的Android操作系统同样通过Linux内核提供的服务完成自身功能。尽管于桌面电脑的占用率较低,基于Linux的操作系统统治了几乎从移动设备到主机的其他全部领域。截至2017年11月,世界前500台最强的超级计算机全部使用Linux。
(5)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有更快的编译速度,内核开发者可以得益于由此而来的更快的工作流程
『陆』 linux内核,驱动,应用程三者的概念和之间的关系
首先,要理解操作系统的概念,操作系统是用户和硬件之间的一层媒介程序。不管是Linux还是回Windows或者安卓答、IOS,它的主要功能有两点:
1、有效管理硬件。
2、方便用户操作。
其次,Linux内核是Linux系统的核心程序,主要完成任务调度、内存管理、IO设备管理等等功能,主要目的是为了应用程序提供一个稳定良好的运行环境,这是一个基础。
再次,驱动程序是操作系统有效管理硬件的一个途径。应用程序是方便用户操作提供的程序,比如Shell,Linux中的bash shell以及KDE、gnome等图形Shell都是应用程序。 你可以简单的理解为驱动程序实现了操作系统对硬件的有效管理,应用程序实现了操作系统方便用户操作的目的。
最后,从编程角度来看,Linux内核就是一个调用库,应用程序通过调用Linux提供的API函数来实现操作,Linux内核通过与驱动通信实现对硬件的有效管理。具体的编程细节,需要自己在实践编程中体会。这是一个整体的描述。