博客首页
注册
建议与交流
排行榜
加入友情链接
推荐
投诉
搜索:
帮助
Dolphin与Linux的缘份天空
每天留下一点,带走一点,提炼一点,领悟一点
danforn.cublog.cn
管理博客
发表文章
留言
收藏夹
博客圈
音乐
· 舒缓
相册
· Linux Comunity
文章
· Linux Kernel
· Linux Shell
· Linux开发
· Linux Device Drive
· Linux Network
}
· Network Development
· Network Management
· Network Security
· Network Protocol
· C C++
· Linux Distribution
}
· Fedora Core
· SUSE
· Ubuntu
· Gentoo
· Linux System Administration
· Unix Linux资源库
· ARM开发
首页
关于作者
姓名:sustation 职业:IT 位置:SH 个性介绍:Linux is future
||
<<
>>
||
我的分类
最新照片
上一张
下一张
幻灯片
停止播放
最新文章
·
Linux下Makefile的automa..
·
linux socket编程常用函数
·
关于驱动程序中的ioctl ..
·
802.1Q VLAN协议介绍
·
无线局域网:IEEE802.11标准
最新留言
最新评论
·
"Understanding Linux Net..
·
呵呵,有没有编译完和运行..
·
请问能把RTAI移植到内核是..
·
不错。!
·
把RTAI移植到ARM9上了吗?
最新收藏
·
飞翔的梦
·
无名小卒 IT十年风雨经历
·
Linux内核学习
·
chenwayne
统计信息
·
总访问量:82591
·
文章个数:164
·
评论条数:5
·
留言条数:0
·
网友推荐:
Linux下Makefile的automake生成全攻略
<DIV>作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 <BR><BR> 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序安装到Linux系统中去了。这将特别适合想做开放源代码软件的程序开发人员,又或如果你只是自己写……
查看全文
发表于:2009-04-05 ┆
阅读(185)
┆
评论(0)
linux socket编程常用函数
<DIV> <P style="TEXT-INDENT: 2em">1. socket()</P> <P style="TEXT-INDENT: 2em">2. bind()</P> <P style="TEXT-INDENT: 2em">3. connect()</P> <P style="TEXT-INDENT: 2em">4. listen()</P> <P style="TEXT-INDENT: 2em">5. accept()</P> <P style="TEXT-INDENT: 2em">6. send()和recv()</P> <P style="TEXT-INDENT: 2em">7. sendto()和recvfrom()</P> <P style="TEXT-INDENT: 2em">8. close()和shutdown()</P> <P style="TEXT-INDENT: 2em">9. getpeername()</P> <P style="TEXT-INDENT: 2em">10. gethostname()</P> <P s……
查看全文
发表于:2009-04-04 ┆
阅读(188)
┆
评论(0)
关于驱动程序中的ioctl
<DIV>一、 什么是ioctl。 <BR> ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就<BR> 是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数<BR> 如下: <BR> int ioctl(int fd, ind cmd, …); <BR> 其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设<BR> &……
查看全文
发表于:2008-11-17 ┆
阅读(464)
┆
评论(0)
802.1Q VLAN协议介绍
<TABLE cellSpacing=0 cellPadding=5 width=550 align=center border=0> <TBODY> <TR> <TD class=title2>(VLAN: Virtual Local Area Network and IEEE 802.1Q)</TD></TR></TBODY></TABLE><BR> <TABLE cellSpacing=0 cellPadding=5 width=550 border=0> <TBODY> <TR> <TD> <P> 虚拟局域网 VLAN,是由位于不同物理局域网段的设备组成。虽然 VLAN 所连接的设备来自不同的网段,但是相互之间可以进行直接通信,好象处于同一网段中一样。由于 VLAN 是将局域网内的设备逻辑地而不是物理地划分成一个个网段,所以它可以提供灵活的用……
查看全文
发表于:2008-11-17 ┆
阅读(679)
┆
评论(0)
无线局域网:IEEE802.11标准
1.IEEE802.11标准概述 <BR><BR>IEEE802.11标准的逻辑结构如图1所示,每个站点所应用的802.11标准的逻辑结构包括一个单一MAC层和多个PHY中的一个。 <BR><BR><IMG height=157 src="http://www.cndw.com/ShowImg.asp?p=/2006-4-14/12599ga267-1.jpeg" width=218> <BR><BR>图1 802.11MAC层支持三个分离的PHY<BR><BR><BR>MAC层在LLC层的支持下为共享介质PHY提供访问控制功能(如寻址方式、访问协调、帧校验序列生成的检查,以及LLC PDU定界等)。MAC层在LLC层的支持下执行寻址方式和帧识别功能。802.11标准MAC层采用CSMA/CA(载波监听多路访问/……
查看全文
发表于:2008-11-13 ┆
阅读(501)
┆
评论(0)
思科防火墙简介
<DIV>我们知道防火墙有四种类型:集成防火墙功能的路由器,集成防火墙功能的代理服务器,专用的软件防火墙和专用的软硬件结合的防火墙。Cisco的防火墙解决方案中包含了四种类型中的第一种和第四种,即:集成防火墙功能的路由器和专用的软硬件结合的防火墙。<BR><BR>一、 集成在路由器中的防火墙技术<BR>1、 路由器IOS标准设备中的ACL技术<BR>ACL即Access Control List(访问控制列表),简称Access List(访问列表),它是后续所述的IOS Firewall Feature Set的基础,也是Cisco全线路由器统一界面的操作系统IOS(Internet Operation Syste……
查看全文
发表于:2008-11-12 ┆
阅读(579)
┆
评论(0)
防火墙的工作原理
什么是防火墙? <P class=allcss> 防火墙就是一种过滤塞(目前你这么理解不算错),你可以让你喜欢的东西通过这个塞子,别的玩意都统统过滤掉。在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。 </P> <P class=allcss> 天下的防火墙至少都会说两个词:Yes或者No。直接说就是接受或者拒绝。最简单的防火墙是以太网桥。但几乎没有人会认为这种原始防火墙能管多大用。大多数防火墙采用的技术和标准可谓五花八门。这些防火墙的形式多种多样:有的取代系统上已经装备的TCP/IP协议栈;有的在已有的协议栈上建立自己的软件模……
查看全文
发表于:2008-11-12 ┆
阅读(301)
┆
评论(0)
linux内核同步
<DIV align=center><B><FONT face="Times New Roman"></FONT></B>同步是linux内核中一种很重要的操作.它为内核提供了一种临界区和SMP系统中的数据保护机制.今天就来分析一下在linux内核是怎么样实现这些操作的.</DIV> <DIV>一:原子操作(摘自《understanding the linux kernel 2.4》)</DIV> <DIV>原子操作是指在执行过程中不能被打断的操作.它包括以下几种类型:</DIV> <DIV>进行一次或者零次对齐内存的访问操作都是原子操作.因为这些指令一般都是单指令.不可能单指令在执行过程中被抢占。</DIV> <DIV>如果在读操作之后,写操作之前没……
查看全文
发表于:2008-11-11 ┆
阅读(287)
┆
评论(0)
Linux中断处理之时钟中断
<DIV> <DIV>一:前言</DIV> <DIV>时钟是整个操作系统的脉搏,它为进程的时间片调度,定时事件提供了依据.另外,用户空间的很多操作都依赖于时钟,例如select.poll,make.操作系统管理的时间为分两种,一种称为当前时间,也即我们日常生活所用的时间.这个时间一般保存在CMOS中.主板中有特定的芯片为其提供计时依据.另外一种时间称为相对时间.例如系统运行时间.显然对计算机而然,相对时间比当前时间更为重要.</DIV> <DIV>二:与时钟有关的硬件处理.</DIV> <DIV>1):实时时钟(RTC)</DIV> <DIV>该时钟独立于CPU和其它芯片.即使PC断电,该时钟还是继续……
查看全文
发表于:2008-11-11 ┆
阅读(358)
┆
评论(0)
Linux中断处理之系统调用
<DIV>一:前言</DIV> <DIV>有时候,用户空间为了满足某些要求,要从内核空间去进行操作,比例建立文件,建立socket,查看内核数据等等.因此操作系统必须提供一种方式.供用户态转入内核态.我们在前面分析过tarp_init()函数.只有异常跟系统调用才能从用户空间转入到内核空间(PL值为3).但是异常通常带有很大的随意性,用户程序不好控制异常的发生点.所以,系统调用就成了沟通用户空间与内核空间的一座重要的桥梁.</DIV> <DIV>二:系统调用在用户空间的调用方式.</DIV> <DIV>在前面分析过.系统调用的中断号为0x80.所以,只要在用户空间通过int 0x80软……
查看全文
发表于:2008-11-11 ┆
阅读(307)
┆
评论(0)
linux中断处理之IRQ中断
<DIV> <DIV>一:前言</DIV> <DIV>在前一个专题里曾分析过所有IRQ中断处理流程,经过SAVE_ALL保存硬件环境后,都会进入do_IRQ()进行处理,今天接着分析do_IRQ()处理的相关东西.分为两部中断处理程序与软中断两个大的部份进行介绍.</DIV> <DIV>二:中断处理程序</DIV> <DIV>在驱动程序中,通常使用request_irq()来注册中断处理程序.我们先从注册中断处理程序的实现说起.</DIV> <DIV></DIV> <DIV>/*</DIV> <DIV> irq:可断号</DIV> <DIV> handler:中断处理程序</DIV> <DIV>&n……
查看全文
发表于:2008-11-11 ┆
阅读(287)
┆
评论(0)
linux中断处理之初始化
<DIV> <DIV align=left>一:引言</DIV> <DIV align=left>在Intel的文档中,把中断分为两种.一种是异常,也叫同步同断.一种称之为中断,也叫异常中断.</DIV> <DIV align=left>同步中断指的是由CPU控制单元产生,之所以称之为同步,是因为只有一条指令执行完毕后才会发出中断.例如除法运算中,除数为零的时候,就会产生一个异常</DIV> <DIV align=left>异步中断是由外部设备按照CPU的时钟随机产生的.例如,网卡检测到一个数据到来就会产生一个中断.</DIV> <DIV align=left>二:x86的中断处理过程</DIV> <DIV align=left>由于中断是开着的,所以当……
查看全文
发表于:2008-11-11 ┆
阅读(349)
┆
评论(0)
linux进程管理之信号处理
<DIV> <DIV>信号是操作系统中一种很重要的通信方式.近几个版本中,信号处理这部份很少有大的变动.我们从用户空间的信号应用来分析Linux内核的信号实现方式.</DIV> <DIV>一:信号有关的数据结构</DIV> <DIV>在task_struct中有关的信号结构:</DIV> <DIV>struct task_struct {</DIV> <DIV>……</DIV> <DIV>//指向进程信号描述符</DIV> <DIV> struct signal_struct *signal;</DIV> <DIV> //指向信号的处理描述符</DIV> <DIV> struct sighand_struct *sighand;</DIV……
查看全文
发表于:2008-11-11 ┆
阅读(298)
┆
评论(0)
linux进程管理之调度与切换
<DIV> <DIV>进程的调度与切换直接影响着进程子系统的执行效率.Linux摒弃了i386 硬件提供的进程切换方法.手动保存进程上下文.在调度策略上,近几个版本对其都有很大的改动.特别是在2.6.23版本与以前发布的2.6.0更是相差甚远.在调度方面.我们以2.6.9在代码作为基准作为分析.</DIV> <DIV>一:进程切换</DIV> <DIV>进程的切换过程是在context_switch()中实现的.从它的代码说起:</DIV> <DIV>static inline void</DIV> <DIV>context_switch(struct rq *rq, struct task_struct *prev,</DIV> <DIV> &nbs……
查看全文
发表于:2008-11-11 ┆
阅读(683)
┆
评论(0)
linux进程管理之wait系统调用
<DIV>六<FONT face="Times New Roman">:<FONT size=3> </FONT>wait4 ()</FONT>系统调用</DIV> <DIV>在父进程中,用<FONT face="Times New Roman">wait4()</FONT>可以获得子进程的退出状态,并且防止在父进程退出前,子进程退出造成僵死状态。这是我们这节分析的最后一个小节了。</DIV> <DIV><FONT face="Times New Roman"></FONT>关于<FONT face="Times New Roman">wait4()</FONT>在用户空间的调用方式可以自行参考相关资料,在这里只是讨论内核对这个系统调用的实现过程。</DIV> <DIV>Wait4()的系统调用入口为sys_wait4().代码如下所示……
查看全文
发表于:2008-11-11 ┆
阅读(457)
┆
评论(0)
linux进程管理之进程的退出
<DIV> <DIV>在进程运行结束后<FONT face="Times New Roman">,</FONT>我们会显示的调用<FONT face="Times New Roman">exit()</FONT>或者<FONT face="Times New Roman">return</FONT>退出正在运行的进程<FONT face="Times New Roman">,</FONT>如果调用<FONT face="Times New Roman">return</FONT>的话<FONT face="Times New Roman">,</FONT>编译器会自己加上<FONT face="Times New Roman">exit().</FONT>此时<FONT face="Times New Roman">,</FONT>保存子进程的一部份信息是很有必要的<FONT face="Times New Roman">,</FONT>因为父进程可以……
查看全文
发表于:2008-11-11 ┆
阅读(523)
┆
评论(0)
linux可执行文件的加载和运行之二
<DIV>四:a.out文件格式的加载</DIV> <DIV>a.out模块的处理是在binfmt.aout.c中.如下示:</DIV> <DIV>static struct linux_binfmt aout_format = {</DIV> <DIV> .module = THIS_MODULE,</DIV> <DIV> .load_binary = load_aout_binary,</DIV> <DIV> .load_shlib = load_aout_library,</DIV> <DIV> .core_dump = aout_core_dump,</DIV> <DIV> ……
查看全文
发表于:2008-11-11 ┆
阅读(388)
┆
评论(0)
linux可执行文件的加载和运行之一
<DIV> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">三</SPAN><SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: red"><FONT face="Times New Roman">:</FONT></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可执行文件的加载和运行</SPAN><SPAN lang=EN-US style="……
查看全文
发表于:2008-11-11 ┆
阅读(357)
┆
评论(0)
linux进程管理之进程创建
<DIV> <DIV>所谓进程就是程序执行时的一个实例. 它是现代操作系统中一个很重要的抽象,我们从进程的生命周期:创建,执行,消亡来分析一下Linux上的进程管理实现.</DIV> <DIV>一:前言</DIV> <DIV>进程管理结构;</DIV> <DIV>在内核中,每一个进程对应一个task.就是以前所讲的PCB.它的结构如下(include/linux/sched.h):</DIV> <DIV>struct task_struct {</DIV> <DIV> volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */</DIV> <DIV> void *stack;</DIV> <DIV>……
查看全文
发表于:2008-11-11 ┆
阅读(224)
┆
评论(0)
Linux网络协议栈之网络设备管理
<DIV>Linux<SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">为何要对网络设备单独管理呢?这是因为。协议栈很多地方都会涉及到网络设备。小至<SPAN lang=EN-US>IP</SPAN>地址的设置。大至<SPAN lang=EN-US>IP</SPAN>路由的更新。都离不开高效的网络设备管理。将网络设备单独管理可以提高效率!<SPAN lang=EN-US><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></SPAN> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">……
查看全文
发表于:2008-11-11 ┆
阅读(482)
┆
评论(0)
版权所有 ChinaUnix.net 页面生成时间:0.13583