[What]链接、装载与库 --> 预备知识

计算机硬件预备知识。

  • 北桥芯片与南桥芯片
    • 北桥芯片 (North bridge), 是为了使 CPU,RAM,显卡这种高速设备通信而实现的.而相应的南桥芯片(South bridge)就是为了协调各个低速设备而实现的,最终南桥与北桥通信,实现协调.
  • SMP与多核
    • 对称多处理器 (SMP, Symmetrical Multi-Processing),是说一个计算机主板上具有多个 CPU,可以完全并行的处理任务.比如很多服务器上就具有多个强悍的 CPU.
    • 多核 (MP, Multi-core Processor),是说在一个 CPU 上集成了多个核心, 核心之间共享缓存,比如 zynq 集成了一个双核心的 cortexA9.
  • 接口
    • 一个复杂的软件系统,都是由各个软件层一层层组合起来的.也正是由于分层的特性,使得各个层内部的改变并不会引起其他层的改变.越往上层就越具有移植性.与硬件息息相关的就是操作系统,作为操作系统程序员需要考虑驱动的编写和系统底层的移植.
  • 挖掘计算机硬件的潜力
    • 操作系统调度:操作系统接管了所有的硬件资源,并且本身运行在一个受硬件保护的级别.所有的应用程序都以进程 (Process) 的方式运行在比操作系统权限更低的级别,每个进程都有自己独立的地址空间.

使得进程之间的地址空间相互隔离.CPU 由操作系统统一进行分配,每个进程根据优先级的高低都有机会得到 CPU,但是如果运行时间超出了一定的时间,每个进程根据进程优先级的高低都有机会 得到 CPU, 但是如果运行时间超出了一定的时间,操作系统会暂停该进程,将 CPU 资源分配给其他等待运行的进程.这种 CPU 的分配方式即所谓的抢占式 (Preemptive),操作系统可以强制剥夺 CPU 资源并且分配给它认为目前最需要的进程.

  • 设备驱动 : 操作系统提供了一些统一的接口,设备驱动满足这些接口便可以被系统调用.
  • 内存管理 : 通过 MMU(Memory Management Unit) 的 虚拟内存 分页 权限 等特性,使得用户代码运行空间相对独立并且安全而且效率更高,同时也可以运行更多的进程.
  • 线程 : 多个线程通过共享进程空间,以及各个线程的优先级方式使 CPU 的利用率更高.
Last Updated 2018-11-13 Tue 07:32.
Render by hexo-renderer-org with Emacs 26.1 (Org mode 9.1.14)