- 博客(5)
- 资源 (23)
- 收藏
- 关注
原创 linux基础知识
__attribute__ __attribute__(section),用来修饰函数时,可以使你把代码放在image的不同段,如: void f(void) __attribute__((section(“new_section”)));函数f()将被放到只读new_section段中,而不是.text中。
2013-06-20 14:49:03 875
转载 对Linux内核中进程上下文和中断上下文的理解
内核空间和用户空间是操作系统理论的基础之一,即内核功能模块运行在内核空间,而应用程序运行在用户空间。现代的CPU都具有不同的操作模式,代表不同的级别,不同的级别具有不同的功能,在较低的级别中将禁止某些操作。Linux系统设计时利用了这种硬件特性,使用了两个级别,最高级别和最低级别,内核运行在最高级别(内核态),这个级别可以进行所有操作,而应用程序运行在较低级别(用户态),在这个级别,处理器控制着对
2013-06-14 14:50:53 734
原创 内联函数
内联函数(inline)和普通函数相比可以加快程序的运行的速度,因为不需要中断调用,在编译的时候内联函数可以直接被镶嵌到目标代码中。而宏定义只是一个简单的替换。 inline是指嵌入代码,编译中不单独产生代码,而是将有关代码嵌入到调用处,就是在调用函数的地方不是跳转,而是把代码直接写到那里去。对于短小的代码而言,inline可以带来一定的效率提升,而且与C语言时代的宏函数相比,inline要
2013-06-14 11:26:36 746
转载 对Linux的进程内核栈的认识
什么是进程的“内核栈”? 在每一个进程的生命周期中,必然会通过到系统调用陷入内核。在执行系统调用陷入内核之后,这些内核代码所使用的栈并不是原先用户空间中的栈,而是一个内核空间的栈,这个称作进程的“内核栈”。 比如,有一个简单的字符驱动实现了open方法。在这个驱动挂载后,应用程序对那个驱动所对应的设备节点执行open操作,这个应用程序的open其实就通过glib库调用了Lin
2013-06-14 10:56:26 870
转载 linux中fork()函数详解
一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。
2013-06-14 10:41:08 667
jpeg编解码原理详解
2011-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人