点击上方蓝字●关注Linux公社
Linux内核犹如一座桥梁,可以实现应用程序和硬件之间的估算通讯并管理系统的资源。LinusTorvalds使用C和Assembly开发了Linux内核,为此,他成功地创建了一个轻量级和可移植的内核,并以开源的方式向公众发布。
您可以在太空、计算机、智能腕表、手机、机器人和健康等许多不同领域见到Linux内核。并且你有没有想过Linux内核在底层是怎样工作的?
Linux下的硬件使用情况
首先,Linux内核控制在您打开计算机时运行什么硬件以及以何种形式运行。据悉,利用编程插口,控制高档软件成为可能。举一个这种控件的事例,您可以查看安装在显卡插孔中的硬件信息,并从这种详尽信息中获益。
据悉,这个编程插口提供了一个具象层。诸如,假若您想与同事进行视频对话,则须要一个网路摄像头。具象层使您使用的软件可以使用此网路摄像头,无论其品牌和机型怎么。这儿的软件只能使用Linux存在的插口。Linux内核将此插口的函数调用转换为网路摄像头所需的实际硬件命令。
使用/proc和/sys虚拟文件系统,Linux内核可以导入有关它测量到的硬件的详尽信息。您可以在下边听到一些用于此目的的工具以及它们导入的设备和卡:
如您所见,里面屏幕截图中的Linux发行版在VMware上运行。并且,您有机会听到好多信息,比如VGA、USB控制器、桥接器和SATA控制器。
您还可以使用-v参数来获取更详尽的信息。
在Linux内核中,应用程序一般通过/dev目录中存在的特殊文件访问设备。这种特殊文件代表c盘驱动器和其他化学设备。/dev/hda、/dev/sdc、/dev/sdc3、/dev/input/mouse0和dev/snd/*等文件就是这种特殊文件的示例。
Linux文件系统管理
文件系统是Linux内核中最知名的组件之一。Linux的文件系统是其最大的优点之一。Linux系统上的所有文件都集中在一个分支中。为此,用户可以借助这个层次结构抵达她们想要的地方。
此层次结构的起点是根目录(/)。其他子目录在根目录下。/下最常用的子目录是/home目录。该子目录包含其他子目录,每位目录都有储存实际数据的文件。
比如,您可以考虑桌面上的文本文件。倘若您在桌面上创建一个名为helloworld.txt的文本文件,则可以将其称为/home/linuxmi/Desktop/helloworld.txt。这儿/linuxmi是我的用户名,大家的会有所不同。由于这个子目录名取决于你当前的用户名。使用这个命名系统,Linux内核在c盘上存在的实际储存和化学储存之间进行转换。
据悉,Linux内核可以集成来自多个c盘的数据。这就是安装系统发挥作用的地方。它使用根系统中的一个c盘并将其他c盘安装到层次结构中的现有目录。之后将其他c盘放置在安装点下。这容许用户将/home目录储存在另一个硬碟上,该硬碟还包含其他子目录。
当您将c盘挂载到/home目录时,您可以从正常位置访问那些目录。因而,/home/linuxmi/Desktop/helloworld.txt等路径继续有效。
您可以使用findmnt-A命令查看系统上文件之间的挂载点。
对于许多文件系统格式,您可以将数据数学储存在c盘上。Linux上最广为人知的是ext2、ext3和ext4文件系统格式。并且linux安全加固,还有许多其他文件系统格式。在任何情况下,您都必须在挂载文件系统之前对其进行低格。因此,您可以使用mkfs.ext3(mkfs代表makefilesystem,而ext3是文件系统)之类的命令。
这种命令接受您要低格的设备文件路径作为参数。这是一种破坏性操作,假如您不想擦除或重置文件系统,则应慎重使用。
除此之外,还有Linux内核使用的NFS等网路文件系统。NFS是一种网路文件系统,其中数据不储存在本地c盘上。使用NFS,数据通过网路传输到储存数据的服务器。因为数据将在服务器上,用户毋须常常处理它。她们也可以像往常一样使用传统的Linux分层文件系统。
相关:Linux操作系统目录结构解释
共享功能操作
Linux系统中的所有软件都有共同的功能。这就是为何这种函数是Linux内核的核心。诸如,打开一个文件时,你可以只用文件名打开它,而不晓得文件的化学储存位置linux计划任务,以及它将使用哪些功能和操作。所有那些功能都早已存在于内核中。
您可以将文件储存在硬碟上,在多个硬碟之间分拆,甚至将其保存在远程服务器上。在这些情况下,共享文件通讯功能很重要。无论数据怎么联通,应用程序就会交换数据。共享通讯功能可以进行这种数据交换。这一措施可以通过无线网路甚至固定电话线进行。
Linux中的进程管理
对显存中的数据或信息进行操作的程序的活动实例称为进程。Linux内核的任务是生成并跟踪那些显存区域。内核为正在运行的程序分配显存,并将可执行代码从文件系统加载到显存中。紧接着,内核运行代码。
Linux内核支持多任务处理。它还能同时运行多个进程。并且,在任何给定的时间范围内只有一笔交易。并且,Linux内核将时间分成小块,因而每位过程都是按次序进行的。
因为这种小时间段以微秒为增量,因而它们仅在特定时间处于活动状态,其余时间保持空闲状态。Linux内核在这儿的工作是通过一次运行多个进程来最大化性能。
假如扩频太长,正在运行的应用程序可能不会像您希望的那样响应。假如时间框架太紧,任务修改可能会出现问题。按照进程的优先级,此处所需的时间帧间隔会有所不同。您之前可能据说偏低优先级进程和低优先级进程。这是Linux内核控制的功能之一。
这些解释并不总是正确的。真正的限制是每位处理器内核一次只能有一个工作进程。多处理器系统允许多个进程并行运行。一个基本系统几乎总是有几十个正在运行的进程。
Linux中的访问权限
与其他操作系统一样,您可以在Linux系统上创建许多用户。在这些情况下,有一个支持单个用户和组的权限管理系统。这就是文件和用户权限发挥作用的地方。
Linux内核管理数据并检测每位进程的必要权限。诸如linux下内核与应用程序之间的通信,假如您尝试打开文件,内核必须按照访问权限检测进程ID。假如内核检测并见到您有权限,它将打开该文件。
Linux内核控制一切
正如您所见到的,Linux内核监督从您的文件安全到创建用户和从网路下载文件的所有事情。一切都有一定的次序。每位用户都有权限。Linux内核管理进程和单播以获得最佳性能。
据悉,文件系统是将Linux内核区别于其他操作系统的最大特点之一,它特别重要。Linux不是一个隐藏的袋子。相反,所有文件和源代码都是可访问的。为了更好地理解Linux内核的实用性和强悍特点linux下内核与应用程序之间的通信,您可以研究Linux目录系统层次结构。
来自:Linux迷