- 博客(15)
- 收藏
- 关注
原创 python 碎碎记
1..readline() 读取到的一行内容放到一个字符串变量中,返回str类型; .readlines() 一次读取整个文件内容,自动将文件内容分析成一个行的列表,返回list类型;
2017-04-21 19:42:05
284
转载 gitlab与gerrit的区别联系
以下转自 http://www.open-open.com/lib/view/open1449648175613.html以下转自 http://bingotree.cn/?p=643
2017-02-16 16:30:00
6605
原创 一语道破git merge与git rebase
区别点击如下链接:http://stackoverflow.com/questions/16666089/whats-the-difference-between-Git-merge-and-git-rebase解释得非常清楚!
2017-02-11 21:51:08
513
原创 并发控制——“锁”
多个执行单元同时、并行被执行时,而并发的执行单元对共享资源(硬件资源和软件资源上的全局变量、静态变量等)的访问则很容易导致竞态。访问共享资源的代码区成为临界区,临界区需要以某种互斥机制加以保护。中断屏蔽、原子操作、自旋锁和信号量等是linux设备驱动中可采用的互斥途径。中断屏蔽:可以保证正在执行的内核执行路径不被中断处理程序所抢占。屏蔽的使用方法:#define local_irq_disable() / 62 do { raw_local_irq_disable(); trace_ha
2010-12-09 22:08:00
1121
转载 汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp
<br />eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。<br />比方说:add eax,-2 ; //可以认为是给变量eax加上-2这样的一个值。<br />这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。<br />EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器。<br />EBX 是"基地址
2010-12-07 10:07:00
1709
转载 自旋锁和信号量区别
在驱动程序中,当多个线程同时访问相同的资源时(驱动程序中的全局变量是一种典型的共享资源),可能会引发"竞态",因此我们必须对共享资源进行并发控制。Linux内核中解决并发控制的最常用方法是自旋锁与信号量(绝大多数时候作为互斥锁使用)。 自旋锁与信号量"类似而不类",类似说的是它们功能上的相似性,"不类"指代它们在本质和实现机理上完全不一样,不属于一类。 自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环查看是否该自旋锁的保持者已经释放了锁,"自旋"就是"在原地打转"。而信号量则
2010-10-24 10:18:00
4123
1
原创 中断
本周任务是中断,let's start from the ABC.中断控制器收到中断请求消息,通知CPU —> CPU保存当前环境,调ISR中断服务程序处理 —> ISR读取,识别中断类型 —> 清除已处理中断,进入新的中断 —> 恢复被中断信号 申请和释放中断,内核中提供request_irq( )和free_irq( )函数。 申请IRQ:int request_irq(unsigned int irq, void (*handler)(int irq,void *dev_id,str
2010-10-06 15:13:00
770
5
原创 文件权限小记
liting@liting-laptop:~$ touch file1liting@liting-laptop:~$ ls -l file1-rw-r--r-- 1 liting liting 0 2010-09-23 10:40 file1liting@liting-laptop:~$ umask0022umask设置新文件权限的掩码,一般默认为0022,即你文件的权限一般是644,-rw-r--r--。1 是硬链接和软链接数。软链接如windows下的快捷图标,点击后直接连接到文件
2010-09-23 11:26:00
744
2
原创 9-16会后小结
主题:内核模块编辑讨论讨论会主要以大家提问为主,针对今天上机操作出现的问题进行进一步的学习。为了更好使会议内容重现,以下以所提的问题记录。Q & A:1. printf和printk的区别?两个都是输出函数,但应该注意的是后者是内核模块编辑的输出函数,k代表内核。2.有关命令中的空格问题。有同学反映在make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules命令里,如果M后有空格,编译时系统会报错,所以这也提醒我们以后变成要养成严谨的好习惯,不要随意的加减空
2010-09-19 00:27:00
729
原创 内核新增驱动
在根目录下进入/usr/src/linux-2.*****的某个版本进行这次的实验,在进入其下drivers目录,ls查看,可以看到Makefile和Kconfig。mkdir 自己随意取目录名,如:mkdir litest(新增一目录),在里面创建一些文件,因为我们此次只是为让大家了解这里面的Makefile和Kconfig和内核驱动的联系,没有涉及真正编译文件,所以对于目录里的文件我们这里不谈。首先在litest必须下touch Makefile Kcongfig,其它文件可以根据需要创
2010-09-12 11:08:00
982
3
转载 list_随时记
脑子实在不好,老是搞混。特此记录:list一般是头指针。判断方法:1.list在初始化和宏定义下必为头指针。2.少数情况也为头结点,具体问题具体分析。
2010-08-19 16:56:00
561
原创 小试 malloc
众所周知的动态分配内存函数,从来没切身的用过和感受过,只会在别人的编写代码中看到的。今天做了一道题中正好用到,便小琢磨了一番。如: 1 1 1 1 2 1 1 3 3 1 ……这个你要怎么分配存储呢,当然你可以选择传统的办法,就是选一个够大的2维数组将它存进去,没有问题。但是对一些资源紧缺的地方来用,估计就望尘莫及了,来看吧。 #define MA
2010-08-06 01:28:00
438
原创 新手上路
在二师姐和W同学不经意的游说下,决定开博以记录学习上的点滴。希望在众人的板儿砖下茁壮成长,消除惰性的同时,能相互交流,共同进步,这便是我开博的初衷。
2010-08-05 20:51:00
474
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人