zoukankan      html  css  js  c++  java
  • redhat open source university 硬件资源

    硬件资源

    https://osu.redhat.com/content/courses-zh-cn/rha130-4/section_0002/tag_lessons/section_0002/section_0001/tag_resource

    x86 架构提供硬件和 Linux 内核交流的通用机制。在为机器添加新设备时,必须小心分享以下资源,以避免不同设备之间的冲突。

    中断请求(Interrupt Request Line - IRQ)和 /proc/interrupts

    每个设备都要有吸引内核注意力的方式,比如告诉内核:“嘿,有人移动了鼠标!”,或“嘿,我按照你的要求将那段信息转移到磁盘上了!”许多设备使用中断请求(interrupt request line)IRQ 达到这一目的。在 x86 架构中,有 15 条 IRQ 可用,而且多个设备可以共享同一条 IRQ 线。

    proc 文件系统文件 /proc/interrupts 显示可用的 IRQ 行和使用它们的设备驱动程序。这个文件还显示(从机器引导以来)发生中断的所有次数。

    [root@station root]# cat /proc/interrupts
               CPU0 1
      0:    6091325          XT-PIC 2timer
      1:      41608          XT-PIC  keyboard
      2:          0          XT-PIC  cascade
      3:          0          XT-PIC  ehci-hcd
      5:     115473          XT-PIC  usb-uhci
      8:          1          XT-PIC  rtc
     10:   16384184          XT-PIC  usb-uhci, eth0
     11:    9720993          XT-PIC 3usb-uhci, eth1, Audigy
     12:     848836          XT-PIC  PS/2 Mouse
     14:     190363          XT-PIC  ide0
     15:    1765002          XT-PIC  ide1
    NMI:          0 4
    ERR:          0
    1

    在 SMP 机器上,硬件中断请求是向独立的 CPU 发出的,每个 CPU 上的中断请求活动会分别列出。

    2

    计时器(timer) 设备驱动程序一定会使用 IRQ 0。timer 固定每秒钟会中断内核 100 次(timer 以每秒 100 次的固定频率中断内核),提醒内核中断一般的活动,执行任意定期或待处理的工作。

    3

    三个完全不相关的设备驱动程序(USB 控制器、一个以太网网络接口卡和 Audigy 声卡)共享 IRQ 11。

    4

    NMI 字段计录“不可掩盖中断(Non Maskable Interrupt)”发生的次数。这些中断一般表示低层硬件出错情况。

    I/O 端口和 /proc/ioports

    吸引到内核注意力后(通过提出一个中断请求),设备通常会为系统输出或从系统输入一些数据。x86 架构为设备提供一个单独的 16 位的地址空间,这个地址为 I/O 端口。使用 I/O 端口和内核交流时,设备和内核必须在使用哪个端口上达成共识。

    proc 文件系统文件 /proc/ioports 显示不同设备驱动程序要求的端口。(端口地址用十六进制数字显示。)

    [root@station root]# cat /proc/ioports
    0000-001f : dma1
    0020-003f : pic1
    0040-005f : timer
    0060-006f : keyboard
    0070-007f : rtc
    ...
    03c0-03df : vesafb
    03f6-03f6 : ide0
    03f8-03ff : serial(auto)
    0cf8-0cff : PCI conf1
    c000-c01f : Creative Labs SB Audigy
      c000-c01f : Audigy
    c400-c407 : Creative Labs SB Audigy MIDI/Game port
    c800-c8ff : Linksys Network Everywhere Fast Ethernet 10/100 model NC100
      c800-c8ff : tulip
    ...

    设备内存缓冲区和 /proc/iomem

    许多比较先进的设备都有自己的内存,这些内存一旦映射到系统的内存地址空间中,可以利用它们轻松地传递数据。显卡是典型的自己提供内存缓冲区的设备。

    proc 文件系统文件 /proc/iomem 显示所有内存缓冲区映射到物理内存的设备,和分配给每个缓冲区的物理内存地址(以十六进制数字列出)。

    [root@station root]# cat /proc/iomem
    00000000-0009fbff :1System RAM 
    0009fc00-0009ffff : reserved
    000a0000-000bffff :2Video RAM area
    000c0000-000c7fff : Video ROM
    000f0000-000fffff : System ROM
    00100000-2dfeffff : System RAM
      00100000-002766f6 : Kernel code
      002766f7-00384807 : Kernel data
    ...
    e3000000-e3003fff :3Creative Labs SB Audigy FireWire Port
    e3004000-e30043ff : Linksys Network Everywhere Fast Ethernet 10/100 model NC100
      e3004000-e30043ff : tulip
    e3005000-e30057ff : Creative Labs SB Audigy FireWire Port
    e3006000-e30060ff : VIA Technologies, Inc. USB 2.0
      e3006000-e30060ff : ehci-hcd
    e3007000-e30070ff : VIA Technologies, Inc. VT6102 [Rhine-II]
      e3007000-e30070ff : via-rhine
    ...
    1

    在看到这个文件以前,机器的主内存 (RAM 或“随机存取内存(Random Access Memory”)被视为“一个其它设备”,并与低层物理地址空间映射。

    2

    物理地址空间不需要连续(没有间隔地)使用。在这里系统 RAM 的映射被打断以便映射 VGA 显卡。这个设备的地址之前曾在物理地址空间出现,但由于某些原因不能被删除。

    3

    多数有缓存的先进设备会被映射到物理地址空间的上层地址。

  • 相关阅读:
    贝叶斯网路的采样
    马尔可夫蒙特卡洛采样法
    高斯分布的采样
    常见的采样方法
    正则化
    随机梯度下降
    机器学习中的优化问题
    【原】涉及数据库的单元测试-JTeser
    高度和宽度
    定位position
  • 原文地址:https://www.cnblogs.com/cute/p/2022659.html
Copyright © 2011-2022 走看看