zoukankan      html  css  js  c++  java
  • Linux内核分析

    从根本上看,内核是为了管理好进程来设计的,需要创建各种结构体来描述进程管理过程中需要用到的一切。

    首先,为什么要划分内核空间与用户空间,出于安全的考虑,需要把用户程序与内核隔离,这就带来各种复杂性的东西,当然这是值得的。

    对于模块与模块的交互,用户通过系统调用进入内核,这里又包含中断管理,异常管理。

    进程与进程间的同步与互斥,需要在时序上控制进程的运行。

    操作系统提供了包括信号量,互斥量,共享内存,锁等方式来保证时序的正确性。

    进程要运行,需要加载到内存当,这就开始涉及到内存管理的部分,需要明白虚拟内存,逻辑地址,线性地址,内存管理单元,直接内存存取,内存的寻址过程管理,

    分段的概念,分页的概念,cache,总之是为了加快进程的执行速度,这是IO特性决定的,CPU执行速率与硬盘和内存速率不匹配导致的

    同时,进程大多数需要与外界交互,硬盘,网络,字符设备,块设备,网络设备。

    最后,Linux封装了一个概念,一切皆文件,

    需要了解虚拟文件系统,读写文件。

    进程的执行过程,编译,加载,可执行文件。

  • 相关阅读:
    【字符串题目】poj 3096 Surprising Strings
    【转载】:【博弈论】博弈的学习和总结
    【博弈论】hihocoder
    转载:SPFA算法学习
    马克思所言:
    【NOIP2013】火柴排队
    【NOIP2013】【P1441】花匠
    【JZOI2002】【BZOJ1477】【P1371】青蛙的约会
    【P1373】奶牛的卧室
    2016.9.16 の 測試
  • 原文地址:https://www.cnblogs.com/luxiaolong-lxl/p/9059276.html
Copyright © 2011-2022 走看看