- 博客(11)
- 收藏
- 关注
原创 shell 脚步分析数据
开始尝试用shell 脚步分析软件输出数据#!/bin/sh:<<! input file n : difference device file compare e : same device file compare!device=$1 log_file_a=$2log_file_b=$3#convert file dos2unix $log_fil
2017-04-27 21:16:03 616
原创 锁(一) 中断屏蔽 原子操作
中断屏蔽单cpu,在单cpu范围内避免竞态的简单方法是在进入临界区之前屏蔽系统的中断。cpu一般都具备屏蔽中断和打开中断的功能,这项功能可以保证正在执行的内核执行路径不被中断处理程序抢占,防止某些竞态条件的发生。由于linux内核的进程调度等操作都依赖中断来实现,内核抢占进程之间的并发也得以避免。中断屏蔽的使用方法为:local_irq_disable() //屏蔽中断
2017-04-27 10:38:11 1906
原创 linux 并发 同步
驱动运行再内核空间,这样必须要了解内核运行的基本原理,比如说什么时候放弃cpu等。驱动大多数情况下,是对外设访问。cpu经常要等IO,因为最快的是cpu然后memory最后是外设。共享资源被多个线程访问时,锁应该是锁一个语义完整的整体。原子操作:对象应该是一个语义完整的整体并且只有一个变量。void atomic_set(atomic_t *c, int i);void a
2017-04-26 11:36:04 650
原创 排序(二)
直接插入排序的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的,记录数增1的有序表。插入排序的原理类似我们凭时打牌时(斗地主),整理牌的过程,拿到一张牌把它插入到手中一组牌中合适的位置。举例子,带排序的一组数如下: arr[7] = {9,82,79,80,10,96} (1-1)假设在排序过程中,前3个记录已经递增排好,构成以下有序序列:
2017-04-24 16:59:42 317
原创 mount 整个flash内容
通过烧录器读取device_ng中f整个lash存储器内容得到一个device_ng_file文件。device_ng中flash 分区情况:一个u-boot分区 + 一个kernel分区 + 一个app分区。需求是得到device_ng_file文件中(二进制文件)app分区的内容(文件,文件夹)。解决方法:将文件内容烧到分区中,挂载这个分区。 1,根据devi
2017-04-21 18:11:12 1144
原创 linux 内核模块简介
linux内核很庞大,怎样把需要的部分都包含在内核中:1,把需要的功能都编译到内核。这会导致内核很大,如果要在内核中下新增或删除功能需要重新编译。2,使用linux 模块机制。模块机制:模块本身不被编译入内核,模块一旦被加载它就和内核中的其他部分完全一样。#include #include static int hello_init(void){ printk(KERN
2017-04-19 18:06:55 474
原创 Kconfig Makefile 内核编译
在linux 内核中增加程序需要完成以下3项工作:> 将编写的源代码拷入Linux内核源代码的相应目录。> 在目录的Kconfig文件中添加关于新源代码对应项目的编译配置选项。> 在目录的Makefile文件中添加对新源代码的编译条目。makefile语法:1,目标定义:就是用来定义那些内容要作为模块编译,那些要编译并连接进内核。例如:obj-y += foo.o,表示要由
2017-04-19 11:22:48 604
转载 在Linux中切换用户时变成-bash4.1-$
在Linux中切换用户时变成-bash4.1-$,发现有两个情况可能会出现这种现象。场景一:1、在根目录下创建目录dir 2、useradd -d /dir tom 创建用户tom,指定其家目录为/dir,而不是其默认家目录下(/home/tom) 3、su - tom 切换到tom用户,出现-bash-4.1$原因分析:如果我们没有改变用户的家目录
2017-04-19 09:20:20 857
原创 ubuntu 修改网卡名称enp5s0 eth0
安装ubuntu 16.04 tls 后发现网卡名为enp5s0考虑到软件兼容性问题将其改为eth0,修改步骤如下:1, sudo root2, cd /etc/default/目录下,打开grub文件,找到GRUB_CMDLINE_LINUX=""将其改为GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"保存。 或者sed -
2017-04-18 21:27:10 6186
原创 linux 启动 引导
裁剪 把Linux系统拆开自己将各个组件组装,然后完成一个微型的Linux系统。内核的引导 引导Linux系统的过程将以引导X86PC为例。引导X86PC上的linux的过程和引导嵌入式系统上的Linux的过程基本类似。不过在X86PC上有一个从BIOS(Basic Input-Output System)转移到Bootloader的过程,而嵌入式系统往往 复位后就直
2017-04-14 14:49:19 527
OpenResty 最佳实践
2020-11-28
eBPF探索之旅-又拍云OpenTalk
2020-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人