• Linux内核(一)


    简介

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

    四种功能

    内核主要负责一下四种功能:

    • 系统内存管理
    • 软件程序管理
    • 硬件设备管理
    • 文件系统管理

    系统内存管理

       内核不仅管理服务器上的可用物理内存,还可以创建和管理虚拟内存(既实际并不存在的内存)。
       内核通过硬盘上的储存空间来实现虚拟内存,这块区域称为交换空间(swap space)。内核不断地在交换空间和实际的物理内存之间反复交换虚拟内存中的内容。这使得系统以为它拥有比物理内存更多的可用内存。
    
    • 1
    • 2

    软件程序管理

        Linux 操作系统将运行中的程序称为进程。进程可以前台运行,也可以后台运行。内核控制着Linux系统如何管理运行在系统上的所有进程。
        内核创建了第一个进程(称为init进程)来启动系统上所有其他进程。当内核启动时,它会将init进程加载到虚拟内存中。内核在启动任何其他进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码。Linux操作系统的init采用了运行级。一共有5个启动运行级。
    
    • 1
    • 2
    • 运行级1:只启动基本的系统进程以及一个控制台终端进程。我们称之为单用户模式。
    • 运行级3:标准启动运行级。在这个运行级上,大多数应用软件都会启动。
    • 运行级5:系统会启动图形化的X window系统,允许用户通过图形化桌面窗口登录系统。

    硬件设备管理

    内核的另一职责就是管理硬件设备。任何Linux 系统需要与之通信的设备,都需要在内核代码中加入其驱动程序代码。驱动程序代码相当于应用程序和硬件设备的中间人,允许内核与设备之间交换数据。在Linux内核中有两种方法用于插入设备驱动代码:

    • 编译进内核的设备驱动代码
    • 可插入内核的设备驱动模块

    Linux系统将硬件设备当成特殊的文件,称为设备文件。设备文件有3种分类:

    • 字符型设备文件:指处理数据时每次只能处理一个字符的设备。
    • 块设备文件: 指处理数据时每次能处理大块数据的设备,比如硬盘。
    • 网络设备文件:指采用数据包发送和接收数据的设备。

    文件系统管理

    不同于其他操作系统,Linux内核支持通过不同类型的文件系统从硬盘中读写数据。除了自有的诸多文件系统外,Linux还支持从其他操作系统(比如Microsoft Windows)采用的文件系统中读写数据。Linux内核采用虚拟文件系统(Virtual File System VFS)作为和每个文件系统交互的接口。这为Linux内核通任何类型文件系统通信提供了一个标准接口。当每个文件系统都被挂载和使用时,VFS将信息都缓存在内存中。

  • 相关阅读:
    如何处理前端本地存储和缓存
    持续集成部署-k8s-资源调度:标签和选择器
    sklearn机器学习——day10
    如何制作一个卡刷扩容补丁。用于扩容系统等分区 刷写第三方需要扩容才可以刷写的系统或者GSI GSI系统bug修复【二】
    Ubuntu20.04安装Beyond Compare 4.4.7
    电力系统可视化——比PowerWorld还精彩(Matlab实现)
    redis伪集群搭建
    RK3568平台开发系列讲解(音视频篇)RTMP 推流
    Vue-basic 06.数据代理
    Eureka服务发现深度配置:实例ID与租约续期策略
  • 原文地址:https://blog.csdn.net/weixin_42648692/article/details/125499580