Linux kernel
Eloudy
哲学家一般认为经验中的规律性就是事物的本质;
对经验中的规律性,做出进一步的解释,是心灵的一种神秘能力,也可能仅仅是一种错觉;
经验,可以是玩出来的,体力劳动获得的,解了很多数学题后感受到的,编程中累积出来的,与朋友交流迸发出来的,读书得来的...
总之,作为一个个体,多折腾折腾,经验应该会更多吧
展开
-
Linux Kernel build system
Linux kernel 的构建系统翻译 2022-07-30 18:49:07 · 108 阅读 · 0 评论 -
gcov 和 perf 使用的基本套路备忘 ubuntu
一、源代码$ cat helloSeven.c#include <stdio.h>void timeSeven(int count){ for(int i=0; i<count; i++){ if(i%7 == 0){ printf("i=%d is times of seven.\n",i); }else{原创 2022-05-19 03:14:22 · 1530 阅读 · 0 评论 -
编译 llvm13和14时 如果cmake中通过LLVM_ENABLE_RUNTIMES使能了libc模块,则出现错误
clang++: /home/hongleili/ex/llvmProj/llvm-project-llvmorg-13.0.0/llvm/lib/Target/X86/X86FloatingPoint.cpp:1641: void {anonymous}::FPS::handleSpecialFP(llvm::MachineBasicBlock::iterator&): Assertion `(1 << getFPReg(MI.getOperand(I)) & STDefs)原创 2022-05-05 11:55:45 · 1690 阅读 · 3 评论 -
芯片手册不需要全部看,抓住框架信息即可
做一个嵌入式工程师,芯片手册不需要全部看,抓住框架信息即可。芯片手册跟很多协议标准一样,都是面面俱到的,但是作为一个嵌入式工程师,而非协议工程师,或ip设计团队的驱动工程师,一般的框架信息就足够了。其他细节信息只在必要的时候查阅即可。但是,抓住一款芯片的框架,这种阅读能力,需要时间的积累。可以先从掌握要给很小的芯片的spec 开始,形成一种总览全局的格局观。麻雀虽小,五脏俱全。待遇上孔雀或鸵鸟时,也就能从容掌握这个大芯片的spec的脉络了。小芯片,可以选一个驱动开源的realtec 瑞昱原创 2022-01-22 13:20:48 · 883 阅读 · 0 评论 -
NotePad++ 浏览 阅读 打开 十六进制 16进制 HEX
并不是到这里下载并拷贝到plugin文件夹里,不是这么用的。而是点击NotePad++的下拉菜单“Plugin”-> 打开“Plugin Admin...” -> 选中“Hex Editor” -> 单击“Install”先用notepad++打开二进制文件,然后再在plugin菜单里找到 Hex Editor -> view in Hex即可。...原创 2020-03-31 19:18:59 · 1140 阅读 · 0 评论 -
Linux shell bash shell 调试 debug 脚本
使用 bash debuger 软件: bashdb对于 bash 4.4.19, you'd better use bashdb.4.4-1.0.1百度:bashdb 很容易找到下载地址。解压后阅读其中的 INSTALL文件vim INSTALL三板斧:./configuremake && make checksudo make insta...原创 2020-03-19 16:17:31 · 260 阅读 · 0 评论 -
Signal : one of Linux IPCs
一个Linux 古老的IPC机制之一;作用:向不同进程发送异步通讯事件; 非法地址访问,键盘敲击,计时器到点;目的:1.通知进程一个特定事件发生了;2.强迫进程执行一段进程自己的信号处理程序。信号特别像中断,事件+代码;但是中断基本是由硬件产生的;信号是软件产生的。相同之处是都有都要执行一段代码;中断执行的是内核代码;信号处理程序执行的用户代码。信号一定是与进程对应的。...原创 2019-11-13 19:54:03 · 74 阅读 · 0 评论 -
面试题创作0009,请问Linux kernel中的spinlock_t 是如何实现互斥访问同一数据的?
面试题创作0007,请问Linux kernel中的spinlock_t 是如何实现互斥访问同一数据的?在单核多线程,多核多线程,多cpu多线程中,spinlock_t实现互斥的机制有区别么?分别是什么呢?进一步列举一些使用spinlock_t的情况和组件。比如wait queues(kernelcoderoot/include/linux/wait.h)需要spinlock_t么?...原创 2019-07-19 15:44:25 · 212 阅读 · 0 评论 -
面试题创作0010,请论述您对MMU的认识。
1.请问你第一次在项目中接触MMU是什么情形?(其实很少,除非是深度设计公司)2.请问简单论述MMU的使用步骤。3.Intel 的MMU和MIPS的MMU,以及ARM和RISC-V的MMU有不一样么?4.您对MMU的发展历史有了解么?比如第一个MMU是哪家公司在那个方案中提出来的呢?5.请问MMU有什么作用呢?...原创 2019-07-24 10:45:16 · 305 阅读 · 0 评论 -
面试题创作0001,请解释mmap的细节
1. 请列举Linux的几种ICP工具;2. 重解释共享内存的实现原理;3. 两个进程A和B共享到的同一页物理内存,如果被A进程勾进CPU的Cache,那么B进程访问这段内存数据时,将会从内存中访问,还是从Cache中访问呢?(可以X86为例,或其他CPU。)...原创 2019-06-27 14:52:02 · 422 阅读 · 0 评论 -
面试题创作0002,请讲讲Linux的PATH
1. 请说明Linux的PATH的作用;2. 列举修改Linux的环境变量PATH的N种方法;3. 请说明PATH怎么样存在于系统之中的,更内核某模块有关系么?程序员竟然还要被考1.和2.这样的题目?就考了,就考了,哈哈(看看这样的考题能够给自己带来什么样的知识态度)...原创 2019-06-28 12:27:36 · 83 阅读 · 0 评论 -
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(...)failed; error='...' (errno=12)
一. 原因发生在Linux Ubuntu上,运行或编译占用内存巨大的大软件大项目的过程中可能会出现 errno12 :Cannot allocate memory。原因应为内存不足,可以尝试增加内存条,可以尝试创建或增加swap的空间。如果算法是自己编写的我的机器用的是swapfile,而不是独立的swap分区,所以修改起来比较方便。二 . 解决 1.观察...原创 2019-07-04 19:43:21 · 9129 阅读 · 1 评论 -
LINUX Developer must must master: grep ,| , awk , fine,ldd, pmap,ps,vim+cscope +ctags...
http://www.vim.org/scripts/script_search_results.php1.源码文件搜索源码分析时,寻找文件名中包含某关键字的文件路径:比如寻找kernel源码中包含 usb的文件名。cd kernelSourceCode/ls -R | grep usb-------------------------------------...原创 2019-07-10 12:10:38 · 139 阅读 · 0 评论 -
OOM Killer 持续更新中
虚拟地址空间的概念都门儿清,Linux 认为用户进程调用malloc申请了动态内存后不见得马上就会使用这段内存进行写读操作。Linux使用了拖到最后的分配机制——用时分配机制。但是,即使是用时分配,也不见得总有内存可分配。当进程太多,显得内存(加上swap)不足时,就有问题了。所有进程使用的内存量PrM是一定的,而系统物理内存量PyM本身又是有限的,也是一定的。当 用时分配机制导致P...原创 2019-07-11 11:40:54 · 1592 阅读 · 0 评论 -
面试题创作0004,请结合您对Linux的认识,阐释命令行状态下,执行ls / 会获得的根文件系统下的文件夹这一现象。
请结合您对Linux的认识,阐释命令行状态下,执行ls / 会获得的根文件系统下的文件夹这一现象。(提示:此题目是想考察面试者是否有闲暇去充分理解console、tty、ls、inode、VFS、rs232、bash等概念的综合理解。说明白的同学,都至少是某种意义上的高手 ^_^)...原创 2019-07-01 13:00:28 · 89 阅读 · 0 评论 -
面试题创作0005,请说明Linux 和 AI的关系(联系和区别)
请说明Linux 和 AI的关系(联系和区别)。(可以在AI的业务应用,平台服务提供,平台设备商,集成电路开发等各个跟AI相关的行业来寻找联系和区别)...原创 2019-07-01 13:22:52 · 443 阅读 · 0 评论 -
面试题创作0007,请说明c语言库函数malloc在Linux上的工作原理。
今天只能问这个问题了:请说明c语言库函数malloc在Linux上的工作原理。1. 陈述Linux内存管理的机制;2. mmu工作原理,可以以Arm或intel为例;3.Linux 内核内存管理(伙伴系统和slab,特点及其弊端,优化)与 用户态malloc内存管理的关联;4. malloc与系统调用与异常处理的关系;5. 考虑系统面临极限情况;6. 内存条与gpu的电路连...原创 2019-07-11 17:30:51 · 159 阅读 · 0 评论 -
面试题创作0008,请说明当系统中的主CPU的MMU单元,与设备中的MMU单元共用内存时,两个CPU地址总线与内存的链接方式。
请说明当系统中的主CPU的MMU单元,与设备中的MMU单元共用内存时,两个CPU地址总线与内存的链接方式。这对软件编程的影响是什么呢?比如如何做到互知内存的分配情况,避免两个CPU打架的机制。...原创 2019-07-18 14:46:32 · 154 阅读 · 0 评论 -
最简解决方案--安装ubuntu 遇到32位 EFI(UEFI) /EFI/BOOT/bootia32.efi unavilable
手上一个小本本CPU Z3735F 一个很狗屎的CPU,竟然是64位的,不能随意对不了解的事物产生定论(偏见),多走走,多看看,多读读历史就是好。推荐石国鹏历史老师的课程录音,喜马拉雅上或许就有呢。一: 下载unbuntu: 准备安装ubuntu,先到官网下载ubuntu desktop版。17th版,如我们所知,ubuntu只有64位的。二: 制作U盘启动盘:下载rufus,小巧快速,...原创 2018-04-07 15:10:51 · 13741 阅读 · 1 评论