![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
I Love Linux
文章平均质量分 74
guosheng_su
这个作者很懒,什么都没留下…
展开
-
Linux Shortcuts and Commands
Linux Shortcuts and Commands: Linux Newbie Administrator Guide by Stan and Peter Klimas This is a practical selection of the commands we use most often. Press to see the listing of all available command (on your PATH). On my small home system, it转载 2010-08-06 16:11:00 · 687 阅读 · 0 评论 -
Linux 基础
Linux 的灵感源自 1969 年就出现的 Unix 操作系统,时至今日该系统仍被广泛使用,并在不断发展中。 Unix 背后的许多设计惯例也同样存在于 Linux 中,对系统基本原理的理解至关重要。 Unix 最初主要使用命令行界面,这在 Linux 中也得到了保留。也就是说,图形用户界面及其窗口、图标、菜单等都构建在基本的命令行界面之上。更进一步,这也意味着在命令行里可以十分便捷的管理和访问 Linux 的文件系统。 目录和文件系统Linux 和 Unix 文件系统被组织成一个有层次的树形结构。文件系统原创 2010-08-12 09:13:00 · 305 阅读 · 0 评论 -
VI/VIM map
Vi和Vim的区别及联系是什么?它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。vim的这些优势主要体现在以下几个方面:1、多级撤消我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。3、语法加亮vim可以用不同的颜色来加亮你的代码。4、可视化操作就是说vim不仅可以在终端运行,也可以运行于x window、 mac os原创 2010-08-12 09:46:00 · 696 阅读 · 0 评论 -
用户空间的signal函数说明
<br />c traps and pitfalls 对signal函数解释得非常详细。<br /><signal.h> 中<br />void ( *signal( int sig, void (* handler)( int ))) ( int );<br />int (*p)();<br />这是一个函数指针, p所指向的函数是一个不带任何参数, 并且返回值为int的一个函数.<br />int (*fun())();<br />这个式子与上面式子的区别在于用fun()代替了p,而fun()是一个函数转载 2010-09-15 10:11:00 · 637 阅读 · 0 评论 -
驱动程序用到的头文件linux/include/linux/compiler.h(基于linux version:2.6.34; arch:arm)
让我们从一个最简单的驱动程序开始,下面是来自《LINUX设备驱动开发详解》中的一个内核模块程序例子: /*====================================================================== A kernel module: book This example is to introduce module params The initial developer of the original cod原创 2010-09-16 15:25:00 · 6132 阅读 · 1 评论 -
驱动程序用到的头文件linux/include/linux/init.h(基于linux version:2.6.34; arch:arm)
<br />在解释完linux/include/linux/compiler.h后,回到本来的初衷linux/include/linux/init.h。在此贴上代码:<br /> 1 #ifndef _LINUX_INIT_H 2 #define _LINUX_INIT_H 3 4 #include <linux/compiler.h> 5 6 /* These macros are used to mark some functions or 7 * init原创 2010-09-17 14:29:00 · 6928 阅读 · 1 评论 -
Linux输入子系统
在学习设备驱动详解时,看到input系统,感觉讲的很不清晰,于是在网上search到一篇感觉比较好的文章。1 输入子系统架构Overview 输入子系统(Input Subsystem)的架构如下图所示 输入子系统由 输入子系统核心层( Input Core ),驱动层和事件处理层(Event Handler)三部份组成。一个输入事件,如鼠标移动,键盘按键按下,joystick的移动等等通过 Driver -> InputCore -> Eventhandler -> userspace 的转载 2010-09-20 10:43:00 · 842 阅读 · 0 评论 -
linux输入子系统
<br />search到的另外一篇比较不错的讲述linux input子系统的文章,特此留底。<br />最近公司的键盘驱动出了点问题,便看起了Red Hat 9 里键盘驱动的实现:<br />编写硬件相关的初始化程序,以获得的扫描码为参数调用drivers/char/keyboard.c中的handle_scancode函数。<br />以上是基于linux 2.4的键盘驱动实现。<br />由于增加了输入子系统,2.6版本的内核在编写键盘驱动上似乎不那么明朗了。这几天看了下输入子系统的实现,虽然研究得转载 2010-09-20 12:43:00 · 1634 阅读 · 0 评论 -
随便写写
在linux内核编程中会遇到一个current变量,多数人知道这是一个全局变量,是一个指向struct task_struct的指针。实际上,2.6中的current不再是一个全局变量,而是将其隐藏在内核栈中。内核程序(当然也包括内核空间下运行的设备驱动程序)只要包含头文件,即可使用current引用当前进程。例如,下面的语句通过访问struct task_struct的某些成员来打印当前进程的进程ID和命令名。printk(KERN_INFO "The process is /"%s'" (pid %i)原创 2010-09-24 13:35:00 · 738 阅读 · 0 评论