- 博客(6)
- 资源 (8)
- 收藏
- 关注
转载 [转发]贝茨方法改善视力的几种方法
上学多了眼神儿都不好,工作后又整天盯着电脑,更没机会保护眼睛了。这里搜集一些保护眼睛的方法,推荐大家,仅供参考。1、手掌按摩法闭上眼睛休息的这种简单的方法是贝茨方法的根基。贝茨博士将这种方法称为“手掌按摩法”。轻轻的闭上眼睛,将手掌覆盖在眼睛上,阻挡任何可能作用于眼 球的光和压力——手掌下部轻轻放在骨上,手指覆盖前额。应用手掌按摩法时通常选择坐着的状态,手肘要有支点,可以放在面前的桌上或者膝上的厚垫子上。保持几分钟的闭眼状态。在经过实践和错误后你可以找出最适合你的时间段;一般来说五分钟的时间较为
2011-04-24 22:31:00 1274
原创 linux 驱动程序___高级字符驱动程序___ioctl 方法解读
<br /> <br />~ ioctl方法概述目的: 通过设备驱动程序执行各种类型的硬件控制用户空间的调用原型:int ioctl(int fd, unsigned long cmd, ...);fd 指的是 文件描述符”…“ 代表可选参数,使用 ”…“ 可以关闭编译时的逻辑检查习惯上使用 char *argp;可选参数可以为空,可为整型,可以是指针;当使用指针时可以交换任意数量的数据。驱动程序的原型实现:int (*ioctl)(struct inode *inode
2011-02-03 11:51:00 1258 1
原创 linux 驱动编程___竞态/并发问题___除了锁之外的其他方法
<br /> <br />~ 除了锁之外的办法循环缓冲区只要保持写入指针何读取指针不重叠, 就不会有问题典型实现: 网络适配器内核实现: <linux/kfifo.h>原子变量对于简单的共享资源使用代码实现<asm/atomic.h>类型: atomic_t, 实质上是一个 int, 但不能大于24位初始化void atomic_set(atomic_t *v, int i);// 设置v为整数值 istomic_t v=ATOMIC_INIT(0);//
2011-01-26 22:47:00 505 1
原创 linux 驱动编程___竞态/并发问题___自旋锁
~ 自旋锁自旋锁的几点说明与信号量不同, 自旋锁可在不能休眠的代阿中使用, 比如中断处理例程一个自旋锁就是一个互斥设备, 只有两个状态: 锁定 和 解锁自旋锁是某个整数值的单个位, 希望获得锁的进程需测试相关位锁可用, 则"锁定"位被设置, 进程进入临界区锁不可用, 则进程进入忙循环, 重复检查该锁, 直到可用为止测试和设置 的操作必须以原子方式进行自旋锁 API 介绍结构实现锁的类型: spinlock_t初始化静态初始化spinlock_t my_
2011-01-26 22:28:00 458 1
原创 linux 驱动编程___竞态/并发问题___信号量和互斥体
信号量和互斥体几个相关概念休眠:当一个linux进程到达某个时间点,此时它不能进行任何处理时,它将进入休眠(或阻塞),这将把处理器让给其它进程,知道将来它能够继续完成自己的处理为止。为了让临界区正确工作,我们选择使用的锁定原语必须在其它拥有这个锁并休眠的情况下工作。信号量: 实质上是一个整数, 与 P 和 V 函数联合使用进入临界区, 调用 P 函数信号量 > 0: 进程可以继续, 信号量减一信号量 struct semaphore声明和初始化直接创建信号量: voi
2011-01-24 22:01:00 752 1
原创 关于 Linux 系统下分区方法
<br />使用 linux 已经好多年了,一直处于使用状态,最近想用它来学习一下写驱动程序,于是就发生了一些问题。<br />首先就是如何建立内核树,其方法在网上有很多介绍,大家可以参考下面的文章:<br />http://blog.csdn.net/ypoflyer/archive/2010/12/20/6087668.aspx<br /> <br />下面说说我的问题吧,主要的就是内核编译时耗尽了系统的硬盘空间。<br />我的系统 ubuntu10.04<br />我的硬盘结构如下:<br />/b
2011-01-08 16:39:00 419
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人