Linux快速简易入门 linux是什么( 二 )

  • 体系内存管理
  • 软件程资源网序管理
  • 硬件装备管理
  • 文件体系管理
  • 下面我们进一步探究以上每一种功效 。
    1. 体系内存管理
    操作体系内核的重要功效之一就是内存管理 。内核不仅管理服务器上的可用物理内存 , 还可以创立和管理虚拟内存(即实际并不存在的内存) 。
    内核通过硬盘上的存储空间来实现虚拟内存 , 这块区域称为交流空间(swap space) 。内核不断地在交流空间和实际的物理内存之间重复交流虚拟内存中的内容 。这使得体系认为它拥有比物理内存更多的可用内存(如图2所示) 。
    Linux快速简易入门 linux是什么

    文章插图
    图2 Linux体系内存映射
    内存存储单元按组划分成很多块 , 这些块称作页面(page) 。内核将每个内存页面放在物理内存或交流空间 。然后 , 内核会保护一个内存页面表 , 指明哪些页面位于物理内存内 , 哪些页面被换到了磁盘上 。
    内核会记载哪些内存页面正在应用中 , 并主动把一段时光未拜访的内存页面复制到交流空间区域(称为换出 , swapping out)——即使还有可用内存 。当程序要拜访一个已被换出的内存页面时 , 内核必需从物理内存换出另外一个内存页面给它让出空间 , 然后从交流空间换入要求的内存页面 。显然 , 这个进程要消费时光 , 拖慢运行中的过程 。只要Linux体系在运行 , 为运行中的程序换出内存页面的进程就不会停歇 。
    2. 软件程序管理
    Linux操作体系将运行中的程序称为过程 。过程可以在前台运行 , 将输出显示在屏幕上 , 也可以在后台运行 , 隐蔽到幕后 。内核掌握着Linux体系如何管理运行在体系上的所有过程 。
    内核创立了第一个过程(称为init过程)来启动体系上所有其他过程 。当内核启动时 , 它会将init过程加载到虚拟内存中 。内核在启动任何其他过程时 , 都会在虚拟内存中给新过程分配一块专有区域来存储该过程用到的数据和代码 。
    一些Linux发行版应用一个表来管理在体系开机时要主动启动的过程 。在Linux体系上 , 这个表通常位于专门文件/etc/inittab中 。
    另外一些体系(比如现在风行的Ubuntu Linux发行版)则采取/etc/init.d目录 , 将开机时启动或停滞某个运用的脚本放在这个目录下 。这些脚本通过/etc/rcX.d目录下的入口(entry)*启动 , 这里的X代表运行级(run level) 。
    *这些入口实际上是到/etc/init.d目录中启动脚本的符号链接 。
    Linux操作体系的init体系采取了运行级 。运行级决议了init过程运行/etc/inittab文件或/etc/rcX.d目录中定义好的某些特定类型的过程 。Linux操作体系有5个启动运行级 。
    运行级为1时 , 只启动根本的体系过程以及一个掌握台终端过程 。我们称之为单用户模式 。单用户模式通常用来在体系有问题时进行紧迫的文件体系保护 。显然 , 在这种模式下 , 仅有一个人(通常是体系管理员)能登录到体系上操作数据 。
    尺度的启动运行级是3 。在这个运行级上 , 大多数运用软件 , 比如网络支撑程序 , 都会启动 。另一个Linux中常见的运行级是5 。在这个运行级上体系会启动图形化的X Window体系 , 许可用户通过图形化桌面窗口登录体系 。
    Linux体系可以通过调剂启动运行级来掌握全部体系的功效 。通过将运行级从3调剂成5 , 体系就可以从基于掌握台的体系变成更先进的图形化X Window体系 。
    3. 硬件装备管理
    内核的另一职责是管理硬件装备 。任何Linux体系须要与之通讯的装备 , 都须要在内核代码中参加其驱动程序代码 。驱动程序代码相当于运用程序和硬件装备的中间人 , 许可内核与装备之间交流数据 。在Linux内核中有两种办法用于插入装备驱动代码:
    • 编译进内核的装备驱动代码
    • 可插入内核的装备驱动模块
    以前 , 插入装备驱动代码的唯一门路是重新编译内核 。每次给体系添加新装备 , 都要重新编译一遍内核代码 。随着Linux内核支撑的硬件装备越来越多 , 这个进程变得越来越低效 。不过好在Linux开发人员设计出了一种更好的将驱动代码插入运行中的内核的办法 。


    推荐阅读