JShell07's Blog

  • Home

  • Tags48

  • Categories18

  • Archives76

  • Search

bootgraph

Posted on 2020-04-09 | Edited on 2020-04-28 | In tools

bootgraph 主要用于量度kernel init function 的占用时间。

Read more »

bootchart

Posted on 2020-04-09 | Edited on 2020-04-28 | In tools

bootchart 主要用于量度user-space processess 启动顺序及时间, 但是它的时间单位粒度其实有点大。

Read more »

boot_time_optimization

Posted on 2020-04-09 | Edited on 2020-04-26 | In tools

从uboot 的引导到kenrel,以及之后的init 进程的运行,中间耗费的时间,当然越短越是理想。

Read more »

kernel_slub

Posted on 2020-03-16 | Edited on 2020-04-28 | In memory

slab allocator

Read more »

kernel_tlb

Posted on 2020-03-12 | Edited on 2020-04-28 | In memory

TLB(Translation lookaside buffer) 本质上也是一种cache, 物理特性与D/I Cache 类似(SDRAM)。D/I Cache 中cache 的是数据或者指令,而TLB帮助cpu 取指或执行访问mem指令时将VA(Virtual Address)转换成PA(Physical Address), 减少HW translation table walk 访问main mem 中的page tables,他在armv7 架构中的位置可以参看:

Read more »

kernel_mm_cache

Posted on 2020-03-04 | Edited on 2020-04-28 | In memory

arm_cortex-a7_mpcore_cpu_structure

从ARM Cortex-a7 mpcore(armv7)的架构图上可以看出, cortex-a7 每个核独享各自L1 cache, 共享L2 cache(使用snoop control unit, soc 保证per core 数据的一致性)。

cache 分为:

  • Data Cache
  • Instruction Cache
Read more »

kernel_mm_base

Posted on 2020-03-04 | Edited on 2020-04-28 | In memory

1. 术语

UMA(Uniform memory access)
系统中的所有的processor共享一个统一的,一致的物理内存空间。无论从哪一个processor发起访问,对内存地址的访问时间都是一样的。

NUMA(Non-uniform memory access)
对某个内存地址的访问是和该memory与processor之间的相对位置有关的。

Read more »

kernel_tty

Posted on 2020-02-17 | Edited on 2020-04-28 | In drivers

1. Base

1.1. 常见术语

术语 解释
Terminal 终端,是一个电子(或电气)人机交互设备
serial Terminal TTY 设备的一种,通过串口线连接
console 控制台,早期PC的键盘显示器,比TTY 终端拥有更多的权限,系统的运行日志、错误信息通常会输出到控制台

第一个Unix终端是一个名字为ASR33的电传打字机,而电传打字机的英文单词为Teletype(或Teletypewritter),缩写为TTY。

Read more »

kernel-timer-system

Posted on 2019-11-28 | Edited on 2020-04-28 | In drivers

1. Kernel Timer 软件架构

Kernel timer structure

Read more »

arm_generic_timer

Posted on 2019-11-27 | Edited on 2020-04-28 | In arm

通用定时器是基于累加计数硬件,可以用作schedule events或trigger interrupts. It provides:

  • Generation of timer events as interrupt outputs.
  • Generation of event streams.
  • Support for Virtualization Extensions
Read more »
123…8
JShell07

JShell07

76 posts
18 categories
48 tags
GitHub E-Mail
© 2017 — 2020 JShell07
Powered by Hexo v3.7.1
|
Theme — NexT.Gemini v6.3.0
0%