- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 Linux内核设计与实现——7 中断与中断处理(4)
4.上半部与下半部1)为什么要分上下半部速度与功能的博弈。上文已经提到中断处理程序是打断了别人的运行,所以要尽可能快地运行完毕。但是又想尽量完成强大的功能。这是两个互相矛盾的目标。解决办法就是把中断处理程序分成以下两部分2)上半部:有严格的时间限制,做一些必须要马上进行的工作,例如对中断的应答和硬件复位下半部:允许稍后完成,做一些不太紧急的工作,如数据的加工这样,中断处理程
2012-03-23 20:08:05 987
原创 Linux内核设计与实现——7 中断与中断处理(3)
3.中断处理程序1)在响应一个中断的时候,内核会执行一个函数,这个函数就叫做中断处理程序,或中断服务例程(ISR)2)中断处理程序试设备驱动的一部分3)中断随时可能发生,因此要求中断处理程序必须随时都可以运行。又因为中断是打断了别人的运行,所以要求要尽可能快执行完成,所以就有后文上半部与下半部的概念。4)函数原型static irqreturn_t (*irq_handle
2012-03-23 20:07:23 1048
原创 Linux内核设计与实现——7 中断与中断处理(2)
2.中断的分类1 异步中断2 同步中断2.1 故障2.2 陷阱2.3 终止异步中断(又叫中断、外部中断)由其他硬件产生,任何时候都可能发生同步中断(又叫异常、内部中断)由CPU本身产生,只有在一条指令执行完后才能发生(即同步的含义)后文中,将直接称异步中
2012-03-23 20:06:00 864
原创 Linux内核设计与实现——7 中断与中断处理(1)
写在前面本系列为《Linux内核设计与实现》这本书的读书笔记,其中有一些不明白的地方如果查阅了其它书籍或资料也会记载下来。本系列虽然是学习的小结,但力争以讲解者的角度向大家讲解关于Linux内核的知识。一方面是自己看明白了与将其给别人讲明白是两种完全不同的境界,后者明显理解得更深入一些。另一方面,也便于以后自己忘记了再回过头来复习。计划每周一篇,根据篇幅,每章会分成数节讲解。顺序不一定按照书上
2012-03-23 20:04:12 1021
转载 pgbench内置脚本
pgbench测试脚本如下默认static char *tpc_b = { "\\set nbranches :scale\n" "\\set ntellers 10 * :scale\n" "\\set naccounts 100000 * :scale\n" "\\setrandom aid 1 :naccounts\n" "\\setrandom bid 1 :n
2012-03-22 19:45:05 3245
转载 pgbench参数详解
pgbench命令具体参数如下 pgbench [OPTIONS]... [DBNAME]初始化操作参数如下: -i 初始化模式 -F NUM fill factor -s NUM 销售端个数测试参数: -c NUM 测试时模拟客户端个数,不指定默认为1 -C 设置为每一个事务建立
2012-03-22 19:42:24 5565
转载 pgbench的使用简介
pgbench是基于tpc-b模型的postgresql测试工具。它属于开源软件,主要为数据管理人员提供性能测试使用。pgbench 是对 PostgreSQL 进行压力测试的一款简单程序, SQL 命令可以在一个连接中顺序地执行,通常会开多个数据库 Session, 并且在测试最后形成测试报告,得出每秒平均事务数,pgbench可以测试 select,update,insert,de
2012-03-22 19:34:38 10072
转载 Linux下PostgreSQL安装与开机启动
1 添加用户 创建目录 useradd postgres -d /usr/local/pgsql passwd postgres mkdir /usr/local/pgsql/ mkdir /usr/local/pgsql/data chown -R postgres /usr/local/pgsql chown postgres /usr/local/pgsql/data 2 设置环境变量 vi
2012-03-19 23:22:11 7165
转载 [分享]写出健壮的Bash脚本
许多人用shell脚本完成一些简单任务,而且变成了他们生命的一部分。不幸的是,shell脚本在运行异常时会受到非常大的影响。在写脚本时将这类问题最小化是十分必要的。本文中我将介绍一些让Bash脚本变得健壮的技术。使用set -u你因为没有对变量初始化而使脚本崩溃过多少次?对于我来说,很多次。chroot=$1 ... rm -rf $chroot/usr/share/doc 如
2012-03-19 16:42:29 868
原创 C语言中的无符号扩展和带符号扩展
C语言中,当不同类型的数据进行运算的时候,就会发生强制或隐式类型转换,通常是低精度的数据类型扩展到高精度的。有些时候,低精度的位数比较少,扩展到高精度的时候,就要在前面补充一些位。那么这些位是补0还是补1呢?这就涉及到无符号扩展和带符号扩展。扩展的原则是:1.有符号的数据类型,在向高精度扩展时,总是带符号扩展 2.无符号的数据类型,在向高精度扩展时,总是无符号扩展怎么理解呢?首先
2012-03-05 23:05:25 5480 1
原创 关于培训的一些感想
组织内部每周二或周四都会有针对新员工的培训,时间大概是1-2个小时。怎么说呢,之前对这个培训一直不太重视,参加培训的时候也没有认真听,听不明白的地方也没有再找时间请教或者研究。但是这个培训是必须参加的,所以还是每次都要去。有时候甚至就在那里玩手机。可以说基本上没有从这个培训中吸收到什么知识。 之前一直没有意识到这个问题,知道前今天二师兄提醒了一下,自己也好好想了一想。既然这个培训是必须参
2012-03-03 12:59:08 1338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人