linux系统结构

Linux系统由内核、GNU工具、桌面环境和应用软件四部分组成。内核负责内存、软件、硬件设备、文件系统和网络管理,核心是系统调用接口。GNU工具包括核心工具和shell命令行工具,提供系统功能。Linux桌面环境如KDE和GNOME提供图形化交互。此外,内核通过设备驱动程序管理硬件,并采用虚拟文件系统VFS支持多种文件系统。Linux还支持各种网络协议,如TCP/IP。
摘要由CSDN通过智能技术生成

Linux操作系统结构

Linux之所以能稳定高效地运行,其优秀的系统结构设计功不可没,在深入研究如何使用Linux命令行和shell之前,最好先了解一下Linux系统的构成。

首先,Linux可划分为以下四部分:

  1. Linux内核
  2. GNU工具(或者shell命令行工具)
  3. Linux桌面环境(或者linux图形界面)
  4. 应用软件(或者应用程序)

当前众多的Linux发行版之间的差异主要集中在后三个方面,而所用的Linux内核都是一样的。
在这里插入图片描述
每一部分在Linux系统中各司其职。但就单个部分而言,其作用并不大。上图是一个基本结构框图,展示了各部分是如何协作起来构成整个Linux系统的。

1. Linux内核

Linux系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。

如果你一直都在关注Linux世界,肯定听说过Linus Torvalds。Linus还在赫尔辛基大学上学时就开发了第一版Linux内核。起初他只是想仿造一款Unix系统而已,因为当时Unix操作系统在很多大学都很流行。

Linus完成了开发工作后,将Linux内核发布到了互联网社区,并征求改进意见。这个简单的举动引发了计算机操作系统领域内的一场革命。很快,Linus就收到了来自世界各地的学生和专业程序员的各种建议。

如果谁都可以修改内核程序代码,那么随之而来的将是彻底的混乱。为了简单起见,Linus担当起了所有改进建议的把关员。能否将建议代码并入内核完全取决于Linus。时至今日,这种概念依然在Linux内核代码开发过程中沿用,不同的是,现在是由一组开发人员来做这件事,而不再是Linus一个人。

内核主要负责以下几种功能:

  1. 系统内存管理
  2. 软件程序管理(或者进程管理)
  3. 硬件设备管理(或者设备驱动程序)
  4. 文件系统管理(或者虚拟文件系统管理)
  5. 网络管理

内核是操作系统的核心,它负责管理系统的进程、内存、设备驱动程序、文件系统和网络系统,决定着系统的性能和稳定性,所有的操作系统的相关功能都是由用户接口程序传递到内核由内核来完成的。
在这里插入图片描述
系统调用接口:SCI 层提供了某些机制执行从用户空间到内核的函数调用。

linux内核参数优化:
内核参数是用户和系统内核之间交互的一个接口,通过这个接口,用户可以在系统运行的同时动态更新内核配置,而这些内核参数是通过Linux Proc文件系统存在的。因此,可以通过调整Proc文件系统达到优化Linux性能的目的。

1.1 系统内存管理

在linux中,物理内存是指系统硬件提供的内存大小,是真实的内存。Linux的内存管理采取的是分页存取机制,为了保证物理内存能得到充分的利用,内核会在适当的时候将物理内存中不经常使用的数据块自动交换到虚拟内存中,而将经常使用的信息保留到物理内存。

Linux里面有一个名词叫swap分区,是物理磁盘上的一块空间,称为虚拟内存。Linux实际上管理了两部分内存,一部分是物理内存,另一部分就是这个虚拟内存,内核不仅管理服务器上的可用物理内存,还可以创建和管理虚拟内存(即实际并不存在的内存)。

对任何一台计算机而言,其内存以及其它资源都是有限的。为了让有限的物理内存满足应用程序对内存的大需求量,Linux 采用了称为“虚拟内存”的内存管理方式。Linux 将内存划分为容易处理的“内存页”(对于大部分体系结构来说都是 4KB)。Linux 包括了管理可用内存的方式,以及物理和虚拟映射所使用的硬件机制。

从微观上看,虚拟内存和真实物理内存之间也在不断的交换数据。进一步,Linux会将内存资源池(虚拟内存和物理内存)划分成很多份内存页即Memory Page,当然内核自己会记录和维护每一块内存页和虚拟内存、物理内存的对应关系。

内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为交换空间(swap space)。内核不断地在交换空间和实际的物理内存之间反复交换虚拟内存中的内容。这使得系统以为它拥有比物理内存更多的可用内存(如下图所示)。
在这里插入图片描述
内存存储单元按组划分成很多块,这些块称作页面(page)。内核将每个内存页面放在物理内存或交换空间。然后,内核会维护一个内存页面表,指明哪些页面位于物理内存内,哪些页面被换到了磁盘上。

内核会记录哪些内存页面正在使用中,并自动把一段时间未访问的内存页面复制到交换空间区域(称为换出,swapping out)——即使还有可用内存。当程序要访问一个已被换出的内存页面时,内核必须从物理内存换出另外一个内存页面给它让出空间,然后从交换空间换入请求的内存页面。显然,这个过程要花费时间,拖慢运行中的进程。只要Linux系统在运行,为运行中的程序换出内存页面的过程就不会停歇。

1.2 软件程序管理

Linux操作系统将运行中的程序称为进程。进程可以在前台运行,将输出显示在屏幕上,也可以在后台运行,隐藏到幕后。内核控制着Linux系统如何管理运行在系统上的所有进程。

内核创建了第一个进程(称为init进程)来启动系统上所有其他进程。当内核启动时,它会将init进程加载到虚拟内存中。内核在启动任何其他进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码。

一些Linux发行版使用一个表来管理在系统开机时要自动启动的进程。在Linux系统上,这个表通常位于专门文件/etc/inittab中。

另外一些系统(比如现在流行的Ubuntu Linux发行版)则采用/etc/init.d目录,将开机时启动或停止某个应用的脚本放在这个目录下。这些脚本通过/etc/rcX.d目录下的入口(entry)启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值