Linux
文章平均质量分 80
all8023
这个作者很懒,什么都没留下…
展开
-
Linux系统日志信息
转自:http://blog.chinaunix.net/uid-20620288-id-3059203.html我们可以看到LINUX系统信息日志的途径基本有以下2种:1>dmesg查看----这个命令比较常见2>/var/log/下的文件那下面我们就从这个2个途径着手,一步步的走下去.首先,我们来看dmesg这个常见的命令背后隐藏的是什么!!转载 2013-09-16 14:56:54 · 724 阅读 · 0 评论 -
Linux设备驱动---USB驱动骨架分析(skeleton.c)
Usb_skeleton.c,是USB驱动的框架,适合USB驱动的初学者。1.结构体内核其实就是一坨坨的数据结构,加上一根根链表。对于初学者,如果直接看USB驱动代码,大概会被那些名字相近的结构体弄得晕头转向,比如usb_host_interface和usb_interface,看着看着就把两个混淆了。所以,在学习USB驱动之前,建议把相关结构体都拎出来看一下,其实,也就那转载 2013-11-07 17:34:47 · 1071 阅读 · 0 评论 -
Linux内核引用计数
众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常。现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的Smart_ptr库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能。Linux内核是如何解决这个问题呢?同样作为C转载 2013-11-07 15:16:49 · 3645 阅读 · 0 评论 -
Linux设备驱动---poll函数
一个完整的poll函数其实包括3部分。应用层,系统API接口,底层驱动。读者可以读下do_sys_poll(fs/select.c)源码,很简单,这里只总结重点。应用层int poll(struct pollfd *fds, nfds_t nfds, int timeout);注意:1.nfds_t 为数组pollfd的个数,而内核则为数组fds的内存大小 即sizeof(fds[转载 2013-11-21 14:22:08 · 1774 阅读 · 0 评论 -
Linux内存机制
Linux内存管理摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨转载 2013-10-14 20:37:30 · 853 阅读 · 0 评论 -
Linux高端内存
原先一直都对Linux高端内存的管理认识模模糊糊的,可能主要是初次接触Linux kernel 是0.11版吧,当初的内存设计是16M,Linus对拥有32M的内存都是觊觎万分,1G内存恐怕是天方夜谭了。16M内存哪里还顾得上高端内存,脑子就一直没有这种概念。先我们还是来看看为什么要有高端内存? 80386的线性寻址空间是4G,内核空间从3G开始,如果全部采用"线性映射"(物理地址和逻辑地转载 2013-10-14 10:05:47 · 700 阅读 · 0 评论 -
Linux设备驱动---内核定时器
Linux内核2.4版中去掉了老版本内核中的静态定时器机制,而只留下动态定时器。相应地在timer_bh()函数中也不再通过run_old_timers()函数来运行老式的静态定时器。动态定时器与静态定时器这二个概念是相对于Linux内核定时器机制的可扩展功能而言的,动态定时器是指内核的定时器队列是可以动态变化的,然而就定时器本身而言,二者并无本质的区别。考虑到静态定时器机制的能力有限转载 2013-10-13 14:51:16 · 518 阅读 · 0 评论 -
Linux设备驱动---获知当前时间(高于jiffies精度)
在linux内核中获得比jiffies精度更高的时间值收藏人:Crazy_all2013-10-11 | 阅:1 转:7 | 分享 | 来源转载 2013-10-11 11:54:31 · 1122 阅读 · 0 评论 -
Linux设备驱动---自旋锁
自旋锁的工作: 从保证临界区访问原子性的目的来考虑,自旋锁应该阻止在代码运行过程中出现的任何并发干扰。这些“干扰”包括: 1、中断,包括硬件中断和软件中断 (仅在中断代码可能访问临界区时需要) 这种干扰存在于任何系统中,一个中断的到来导致了中断例程的执行,如果在中断例程中访问了临界区,原子性就被打破了。所以如果在某种中断例程中存在访问某个临界区的转载 2013-09-17 15:36:22 · 645 阅读 · 0 评论 -
Linux设备驱动---jiffies与jiffies_64
在 Linux 内核中,jiffies 用于记录系统自启动到当前时刻系统时钟所产生的滴答数。 每一秒系统时钟的中断次数等于 HZ 的值,比如一般的 PC 中 PC 的值定义为 1000,也就是说,一秒钟内系统要收到 1000 次的时钟中断;同样,jiffies 的值在一秒钟内增加 HZ 。 系统自启动到当前时刻为止运行了 jiffies/HZ 秒。 在 incl转载 2013-10-09 16:17:21 · 1361 阅读 · 0 评论 -
Linux strace进程追踪工具
简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strac转载 2013-09-16 16:11:49 · 989 阅读 · 0 评论 -
AWK工具详解
文章转自:http://caoyanbao.iteye.com/blog/570868AWK命令详解(大全)博客分类: LINUX & UNIX正则表达式CC++C#Unix 什么是awk? 你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNI转载 2013-09-09 16:28:07 · 679 阅读 · 0 评论 -
Linux内核学习笔记-AT&T汇编语法
Linux内核-AT&T汇编语法AT&T汇编与intel汇编的区别1.寄存器引用引用寄存器前要加%,mov %eax,%ebx2.操作数的顺序操作数的排列时从源(左)到目的(右),mov %eax,%ebx3.常数、立即数的格式立即数前要加$,mov $4,%eax常熟的直接引用如 mov value,%ebx引用符号的地址在符号前加$ mov $val原创 2013-05-14 09:28:41 · 984 阅读 · 0 评论