自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 读写磁盘

待续https://www.ibm.com/developerworks/cn/linux/l-scsi-api/

2017-04-17 14:36:20 416

原创 linux 启动 引导

裁剪  把Linux系统拆开自己将各个组件组装,然后完成一个微型的Linux系统。内核的引导   引导Linux系统的过程将以引导X86PC为例。引导X86PC上的linux的过程和引导嵌入式系统上的Linux的过程基本类似。不过在X86PC上有一个从BIOS(Basic Input-Output System)转移到Bootloader的过程,而嵌入式系统往往 复位后就直

2017-04-14 14:49:19 527

xshell7 free for home/school

xshell7 free for home/school

2022-03-26

OpenResty 最佳实践

。由于之前一直混迹在 Python 圈子里面,也接触过 Nginx C 模块的高性能开发,一直想找到一个兼备 Python 快速 开发和 Nginx C 模块高性能的产品。看到 OpenResty 后,有发现新大陆的感觉。

2020-11-28

eBPF探索之旅-又拍云OpenTalk

BPF 基于寄存器虚拟机实现(支持 jit),实现了将过 滤包的逻辑移植到内核中: ① 用户态通过 BPF 接口将用户代码编译成字节码后, 尝试加载到BPF虚拟机中 ②内核校验用户的代码是否安全,如果安全,用户态 代码才能够在内核中运行

2020-11-28

mp4文件格式

mp4文件格式

2013-04-09

COM技术内幕

COM技术内幕

2013-03-25

响应鼠标按下和抬起

响应鼠标按下和抬起

2013-01-25

MFC窗口切换

MFC窗口切换

2013-01-25

socket阻塞与非阻塞

socket阻塞与非阻塞

2013-01-25

CFile操作

CFile操作详解

2012-11-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除