- 博客(18)
- 资源 (23)
- 收藏
- 关注
原创 sharelist.c文件分析
描述 假设存在这样一个内核共享资源-链表。另外构造一个多个内核任务访问链表的场景:内核线程向链表加入新节点;内核定时器定时删除节点;系统调用销毁链表。这三种内核任务并发执行时,有可能会破坏链表数据的完整性,所以我们必须对链表进行同步访问保护,以保证数据的一致性。实现机制 主要的共享资源是链表(mine),操作它的内核任务有三个:200个内核线程(sharelist),他们负
2011-06-19 22:05:00
1738
翻译 JSP基础
一 Tomcat技术 Tomcat是一个jsp和servlet的引擎,主要处理jsp和servlet。Jsp其实就是xml文件的改造版本,经过引擎处理,变成一个java类。 那么他和apache服务器有何区别呢?Apache主要负责静态页面的处理,tomcat主要处理动态的部分。 1.安装过程 和安装其他的文件是一样的,需要配
2011-06-12 10:44:00
738
原创 x86的中断
一、中断系统1. 基本概念 为什么引入中断? 当CPU与外设交换信息时,若用查询方式,则CPU就要浪费很多时间去等外设。这是快速的CPU与慢速的外设之间的矛盾,也是计算机发展过程中遇到的一个严重的问题之一,为了解决这个问题,一方面要提高外设的工作速度;另一方面引入了中断的概念。 中断的好处
2011-06-11 22:30:00
5063
原创 list.h之我见
链表是一种常见的、组织有序数据的数据结构,它通过指针将一系列的数据节点连接成一条数据链,是线性表的一种实现方式。与数组相比,链表具有更好的动态性,建立联表示无须知道结点的总数,可以随机分配空间,可以高效的链表中的任意位置插入或者删除数据。按照结点指针域的组织以及各节点之间的联系方式,链表又可以分为单链表、循环链表、双向循环链表等多种类型。以下是常见的这几种链表的结点的数据结构。
2011-06-04 13:36:00
5867
2
原创 内核定时器的使用
<br /> 刚才在网上看了一些关于内核定时器的资料,了解到内核定时器是内核在未来的某个时间点调度执行某个函数的一种机制。内核定时器的使用如下,希望可以对我做linux大作业有所帮助。<br /> 主要需要定义一个timer_list变量timer、先初始化timer<br /> init_timer(&timer);<br /> 接下来 对timer的相关参数赋值:<br /> timer.function = fun;<br />
2011-06-02 21:33:00
659
转载 内核定时器
<br /> Linux内核2.4版中去掉了老版本内核中的静态定时器机制,而只留下动态定时器。相应地在timer_bh()函数中也不再通过run_old_timers()函数来运行老式的静态定时器。动态定时器与静态定时器这二个概念是相对于Linux内核定时器机制的可扩展<br />功能而言的,动态定时器是指内核的定时器队列是可以动态变化的,然而就定时器本身而言,二者并无本质的区别。考虑到静态<br />定时器机制的能力有限,因此Linux内核2.4版中完全去掉了以前的静态定时器机制
2011-06-02 20:52:00
617
原创 内核同步
<br /> <br /> 一、什么是同步? 临界区<br /> 访问和操作共享数据的代码段。<br /> 必须被原子的访问。<br /> 在执行期间不可被打断。竞争状态<br /> 两个或者多个内核任务处于同一个临界区。<br /> 具有随机性,难以控制。同步<br /> 避免对临界区的并发或者并行的访问称为同步。<br /> 实现多个内核
2011-06-02 18:40:00
647
转载 制作双绞线
<br /><br />双绞线制作<br />3.1实验目的<br />1.了解网络传输介质的种类和特点;<br />2.了解RJ45水晶头结构和针脚序号;<br />3.掌握双绞线制作工具的使用;<br />4.掌握网线的制作和测试方法;<br />5.了解标准568A与568B网线的线序;<br />6.学会制作双绞线。<br />3.2实验内容及环境<br />本次实验需要如下设备:<br />设备<br />数量<br />适当长度的双绞线<br />1条<br />RJ-45水晶头<br />2个
2011-05-31 18:49:00
3770
原创 基于SmartArm2200的交通灯
<br /> 五一期间和同学尹静、杨力做了一个及交通灯。这个交通灯是用Arm控制的,它能能模仿城市“十字”路口交通灯的功能,并能进行特殊控制。基本实现了以下功能:1.1.该设计能控制东、西、南、北四个道口的红、黄、绿信号灯正常工作。2.2.当东西方向准行、南北方向禁行时,东西方向亮绿 灯,南北方向亮红灯。3.3.当南北方向准行、东西方向禁行时,南北方向亮绿灯,东西方向亮红灯。4.4.两垂直方向的准行时间均为20秒。准行方向亮绿灯15秒后,四个道口同时加亮一盏黄灯,以警告车辆
2011-05-04 21:04:00
1047
原创 使用JDBC访问数据库
<br />1. odbc和jdbc<br /> ODBC 提供了一组对数据库访问的标准API,一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS, 通过ODBC访问不同的数据库无需对数据库访问程序进行改动。ODBC十分合理实用,被广泛采用。 o JDBC 即Java Database Connection,是按照ODBC的模式制定的,是一个通用低层的、支持基本SQL功能的java API,
2011-04-28 21:25:00
3746
原创 数组的存储
<br /> 我们都知道数组的存储方式是顺序存储,而内存空间是线性存在的,以为数组存出可想而知,那么,多维数组是如何存放的呢?<br />我们先看一维数组,一维数组从第一个元素开始依次存放在一段连续的存储空间。<br /> 一维数组的地址计算:<br /> 设一维数组A的下界为low,每个元素占w个单元,则LOC(A[i])=base+(i-low)*w <br /> <br />再看二位数组,由于内存空间是线性的,所以二位数组要么是一行一行存放,要么是一列一列存放,即行主序和
2011-04-27 12:46:00
1139
原创 初学编写linux内核模块
内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),我们简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kernel)。单内核的最大优点是效率高,因为所有的内容都集成在一起,但其缺点是可扩展性和可维护性相对较差,模块机制就是为了弥补这一缺陷。一、什么是模块模块是具有独立功能的程序,它可以被单独编译,但不能独立运行。它在运行时被链接到内核作为内核的一部分在内核空间运行,这与运
2011-04-27 11:21:00
884
原创 寻找数组中的第二大数
<br /> 前几天得知腾讯招聘测试人员的笔试题中的一道附加题是寻找数组中的第二大数,故考虑其做法,在此在此做一小结。<br /> 找数组中的第二大数是一个查找过程,一般返回的应该是第二大数在数组中的位置,但若有其他用途,也可以返回该值<br />是否找到的标志和它的真值。估有两种做法,但其基本思想都是用一个新数与当前的最大数进行比较,若新数大于最大数,<br />则新书则成为最大数,最大数退居第二大数;若新数大于当前的第二大数并且新书小于最大数,则新数成为第二大数。<br />方法一:<b
2011-04-27 10:56:00
3087
原创 ubb代码
<br /> 今天学习了ubb代码的使用,有点似懂非懂,应该是接触太少的缘故吧,我相信只要坚持下去,一切都会变得简单。<br /> 网上都说ubb是html的一个变种,没打体会到,应该是学习深度不够吧。老师说ubb代码有相对php代码安全性高、使用简单方便记忆、自定义功能强大、扩展性好、有效减少数据库存储代码这几个优点,我只体会到了最后一个优点,其他的还是需要、练习才能感觉到吧。它的缺点是排版功能较弱,不允许交叉使用。前一个显而易见,何为交叉使用,目前还不得而知。反正有一点ubb代码
2011-04-27 10:09:00
4551
原创 常用的正则表达式(收藏)
[b]平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:[/b]"^/d+$" //非负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$" //正整数"^((-/d+)|(0+))$" //非正整数(负整数 + 0)"^-[0-9]*[1-9][0-9]*$" //负整数"^-?/d+$" //整数"^/d+(/./d+)?$" //非负浮点数(正浮点数 + 0)"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9]
2011-04-27 10:05:00
501
原创 php中的正则表达式
<br /> 今天通过观看php100视频,学习了php中的正则表达式的相关知识。正则表达式具有强大的字符串处理功能,可以对字符串进行匹配、查找、分割、替换,为我们在程序或者网页中处理字符串是提供了巨大的方便。<br /> 首先,介绍一下正则表达式中的一些基本元素: (1)、原子(普通字符:a-z A-Z 0-9、原子表、转义字符) ①a-z A-Z _ 0-9 //最常见的字符 ②(abc) (skd) //用圆括号包含起来的
2011-04-27 10:02:00
432
原创 提高PHP编程效率的53个要点(收藏)
<br /> 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。<br />1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。<br />2、$row[’id’] 的速度是$row[id]的7倍。<br />3、echo 比 print 快,并且使
2011-04-27 09:57:00
577
原创 利用数组解决约瑟夫环问题
约瑟夫环问题描述:编号为1,2… n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数, 报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一个开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程 序求出出列顺序。 我们可以利用数组解决这个问题:#include #define N 7 /*圈里有7个人*/void main(){ /*circle数组的每一个数组元素表示
2011-04-26 23:29:00
5344
讯时个人通讯录概要设计
2011-06-01
网络实验-如何制作双绞线
2011-06-01
2006软件设计师历年真题及答案
2011-05-31
2007软件设计师历年真题及答案
2011-05-31
2008nian软件设计师历年真题及答案
2011-05-31
2009软件设计师真题及答案.rar
2011-05-31
2007年上半年软件设计师上午试卷
2011-05-31
接口课程设计之电机驱动
2011-05-31
2005年上半年软件设计师上午试题答案
2011-05-31
2005年上半年软件设计师上午试题
2011-05-31
ARM嵌入式系统实验指导书
2011-05-31
基于ARM的电梯主控制器设计
2011-05-31
2009 —2010 学年第 1 学期 数据库原理及应用考试题
2011-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人