zoukankan      html  css  js  c++  java
  • Linux内核结构分析与移植

    Linux内核主要的5个部分是:进程调度,内存管理,虚拟文件系统,网络接口,进程通信。

    这5个部分之间的关系如下:


    (1)进程调度部分负责控制进程对CPU的访问。

    (2)内存管理允许多个进程安全地共享主内存区域。(内存管理从逻辑上分为硬件无关部分和硬件相关部分。)【硬件无关部分提供了进程的映射和逻辑内存的对换;硬件相关部分为内存管理管理硬件提供了虚拟接口】

    (3)虚拟文件系统隐藏了不同硬件的具体细节,为所有的硬件设备提供了一个标准的接口。(VFS提供了十多种不同类型的文件系统)

     (4)网络接口提供了对各种网络标准的存取和各种网络硬件的支持。

    (5)进程通信部分用于支持进程见各种不同的通信机制。

    进程调度与内存管理之间的关系

         这两个子系统为互相依赖关系。在多道程序环境下,程序允许必须为之创建进程,而创建进程首先就算要将程序和数据装入内存。 另外,内存管理子系统也存在进程的挂起和恢复过程。

    进程间通信与内存管理之间的关系

         进程间通信子系统要依赖内存管理支持共享内存通信机制,通过对共同内存区域进行操作来达到通信的目的。

    虚拟文件系统与网络接口之间的关系

         虚拟文件系统通过依赖网络接口支持网络文件系统(nfs),也通过依赖内存管理支持RAMDISK设备。

    内存管理与虚拟文件系统之间的关系

         内存管理利用虚拟文件系统支持交换,交换进程定期地由调度程序调度,这也是内存管理依赖于进程调度的唯一原因,当一个进程存取的内存映射被换出时,内存管理回向文件系统发出请求,同时,挂起当前正在运行的进程。

  • 相关阅读:
    Jenkins 主备master-slave模式搭建
    vbox 相关
    jenkins 常见问题汇总
    linux git patch 和patch以及git diff 命令
    Linux中的free命令
    MySQL Show命令的使用
    MySQL 加锁处理分析 转
    共享锁【S锁】 排他锁【X锁】
    MySQL分库分表环境下全局ID生成方案 转
    mysql性能的检查和调优方法
  • 原文地址:https://www.cnblogs.com/God-boy1/p/3607245.html
Copyright © 2011-2022 走看看