zoukankan      html  css  js  c++  java
  • How-Linux-Works

    ### Chapter 1.The Big Picture

    Abstraction
    学习和理解新事物时,通过抽象省略多数细节,帮助有效理解;而在遇到关于细节的问题时,在将抽象剥离开,进入具体细节。

    #### 1.1 Levels and Layers
    layer or level 是一个根据组件在用户和硬件之间所处的位置来进行切分的分类。

    典型的三层模型:用户进程(User Processes), 内核(Linux Kernel), 硬件(Hardware).
    User Processes: GUI, Servers, Shell
    Linux Kernel: System Calls, Process Management, Memory Management, Device Drivers
    HardWare: Processor(CPU), Main Memory(RAM), Disks, Network Ports

    内核是一个常驻在内存中并且告诉CPU该做什么的软件。


    User Processes以user mode运行在user space,而Kernel以kernel mode运行在kernel space。这个space是内存空间。

    Processes通常通过System Calls与Kernel进行交流。


    #### 1.3 Process Mangement

    每一个process执行一个小的fraction之后,暂停,放弃对CPU的占用,然后另一个process占用CPU,这个行为被称为context switch(上下文切换).

    每一个小的时间片段,被称为time slice(时间片).


    Kernel runs between process time slices during a context switch.


    CPU的MMU(memory management unit)通过virtual memory的方式实现了每个process独立的地址空间,并且通过地址映射(address map)实现虚拟内存与物理内存的映射。

    外设(device)通常只能在kernel mode下访问,因此必须由kernel通过Device Drivers的方式来管理。

    在Linux中,除了init process外,所有的user processes 都是通过fork()调用创建的。

    ### 2. Basic Commands and Directory Hierarchy

    #### 2.1 The Bourne Shell: /bin/sh

    Shell is a program that runs commands

    * 通配符

    ? 匹配一个字符

    more or less space向下翻页 b(ctrl b)向上翻页

    diff

    file

    find

    收刀入鞘吧!凡动刀的,必死在刀下!
  • 相关阅读:
    Json
    JQuery的validate不起作用的情况
    ajax的同步异步
    Bootstrap--switch
    Bootstrap--multiselect
    ArcGIS地图打印那些事
    openlayers调用瓦片地图分析
    多种在线地图综合对比,Google,必应,arcgis Online...
    map的infowindow的show事件(ArcGIS API for JS)
    在ArcGIS中导出现有mxd的style文件
  • 原文地址:https://www.cnblogs.com/qiuyi116/p/9008793.html
Copyright © 2011-2022 走看看