上一页 1 ··· 8 9 10 11 12 13 下一页
摘要: Memory ordering 为了提高指令执行速度,最新的arm处理器不再one bye one的执行指令,采取了一系列的措施来提高指令执行速度,包括重排序指令、存储访问方式(cache/buffer)。如下图是程序指令和实际ARM中可能的指令执行顺序: 存储类型 ARM有两种存储类型normal 阅读全文
posted @ 2020-10-22 17:14 zephyr~ 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 为什么需要cache 我们应该知道程序是运行在 RAM之中,RAM 就是我们常说的DDR(例如: DDR3、DDR4等)。我们称之为main memory(主存)。当我们需要运行一个进程的时候,首先会从磁盘设备(例如,eMMC、UFS、SSD等)中将可执行程序load到主存中,然后开始执行。在CPU 阅读全文
posted @ 2020-10-18 23:10 zephyr~ 阅读(3840) 评论(0) 推荐(0) 编辑
摘要: 本文转载:https://www.kancloud.cn/kancloud/a-programmer-prepares/78238 找工作前需要思考的问题 如果真的到了换工作的时候,肯定不是一天两天才做的决定。所以当你打算换工作之前,不妨先思考一些问题。 为什么辞职 先想想自己在当前的发展环境下发展 阅读全文
posted @ 2020-10-01 16:58 zephyr~ 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 这本书能学到什么 本书基本信息:https://book.douban.com/subject/3652388/ 介绍程序基本运行过程的一本书。一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态 阅读全文
posted @ 2020-09-03 21:59 zephyr~ 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 前置知识 临界区:通常指某个代码片段,在该代码片段会访问共享资源,比如共享数据、共享硬件资源(打印机、IO)。串行使用共享资源,才能保证正确的输出结果,因此一个进程要等待另一个进程使用完后才能使用。 进程上下文和中断上下文:进程上下文包括:CPU所有寄存器中的值、进程的状态以及堆栈上的内容,当内核需 阅读全文
posted @ 2020-09-01 20:24 zephyr~ 阅读(1173) 评论(0) 推荐(0) 编辑
摘要: Hz Linux内核每隔固定周期都会产生一个timer中断,Hz表示系统在1s中发生中断的次数,如果Hz等于100,则系统在1s中会有100次中断。 32位arm定义文件: 64位arm定义文件: jiffies 全局变量jiffies用于记录自系统启动后产生timer中断的总数。一秒钟产生时钟中断 阅读全文
posted @ 2020-08-18 21:55 zephyr~ 阅读(2653) 评论(0) 推荐(0) 编辑
摘要: ## 系统 - `uname -a` #查看内核/操作系统/CPU信息 - `cat /proc/cpuinfo` # 查看CPU信息 - `lscpu` # 查看CPU信息 - `env` # 查看环境变量 - `cat /boot/config-xxx` # 查看kernel Kconfig配置 阅读全文
posted @ 2020-06-27 22:18 zephyr~ 阅读(659) 评论(0) 推荐(0) 编辑
摘要: vi和vim区别 vi: 所有的Unix Like系统都会内建vi文书编辑器,其他的文本编辑器则不一定会存在 按u只能撤销上次命令 vim: vim完全兼容vi,是vi的升级版本;vi适合文本编辑,vim更适合coding 多级撤销,无限制撤销操作 语法高亮,显示关键字 正则表达式搜索 多文件编辑 阅读全文
posted @ 2020-06-27 21:09 zephyr~ 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 1、基本知识和概念 指针变量操作 正确操作: 赋值 解引用 取址 指针与整数相加减:结果为指针,加减单位等于指针指向的数据类型大小 指针递增和递减 指针求差:相减的两个指针指向同一数组的不同元素,差值单位与数组类型的单位相同 比较 (void *)类型在gcc编译器等同于(char *) 错误操作: 阅读全文
posted @ 2020-06-25 23:26 zephyr~ 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 帮助命令 git help git --help man git- 例如:git help config git配置文件的三个位置 /etc/gitconfig文件:系统级,系统上所有用户的通用配置 ~/.gitconfig文件:用户级,当前用户配置 .git/config文件:仓级,当前仓生效 每 阅读全文
posted @ 2020-06-17 22:42 zephyr~ 阅读(215) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 下一页