自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 虚拟地址和地址保护

Linux只用了页式管理,或者说有限制的使用了段式管理,所有段的基地址都是0,每个段的地址空间范围都是0-4G。逻辑地址和线性地址(虚拟地址保持了一致)Linux用户进程都有自己的页表,所有进程是有自己独立的用户空间的0—3G,他们共享了3-4G的内核地址空间,内核页表由内核来维护。进程处于用户态时候是不能访问内核空间的。除了系统调用和中断的时候,才可以访问,这时候就会拷贝过来内核页表,然

2013-12-24 21:05:03 1405

原创 linux中断相关函数与中断上下文理解

在linux2.5之前的版本中,内核提供了一种”能禁止系统中所有处理器上中断”的方法。而在之后就取消了这些接口。所以:Local_irq_disable():禁止本地中断 local_irq_enable():恢复本地中断,这一对函数只要调用一次就会达到所要功能,而不是嵌套的,这样会带来潜在的危险,所以我要需要一种机制可以恢复的以前的状态,而不是单纯的开关,所以内核提供了另外一对函数:

2013-12-24 15:35:08 3232

原创 struct inode & struct file &&inode理解

1、struct inode──字符设备驱动相关的重要结构介绍内核中用inode结构表示具体的文件,而用file结构表示打开的文件描述符。Linux2.6.27内核中,inode结构体具体定义如下:struct inode {struct hlist_node    i_hash;struct list_head    i_list;struct list_head    i_

2013-12-22 00:14:23 659

转载 file_operations

第一个 file_operations 成员根本不是一个操作; 它是一个指向拥有这个结构的模块的指针.这个成员用来在它的操作还在被使用时阻止模块被卸载. 几乎所有时间中, 它被简单初始化为 THIS_MODULE, 一个在  中定义的宏.这个宏比较复杂,在进行简单学习操作的时候,一般初始化为THIS_MODULE。 loff_t (*llseek) (struct file * f

2013-12-22 00:12:35 420

转载 CentOS中安装gcc编译器

CentOS中安装gcc编译器 今天要做老师布置的一个网络任务时,发现在我安装CentOS的时候忘记勾选了C语言这一块的安装项导致直接使用gcc -o 命令无效。然后,在宿舍想使用YUM连接网络安装gcc,又发现,宽带的共享功能被网络管理中心的老师给禁止了好在天无绝人之路,柳暗花明又一村……(只不过说,在ISO中寻找gcc安装所需要的RPM真的好辛苦)闲话就不多说了,开始手

2013-12-22 00:05:54 776

原创 内存管理

内核把物理页作为内存管理的基本单位。对与4G内存的话,每一个物理页都对应了一个struct page结构体。Linux把系统的页分为几个区:ZONE_DMA,ZONE_NORMAL,ZONE_HIGHEM 。例如x86三个区就分别是,16-896M,>896M。内核地址空间是3-4G。低端地址是直接映射的,就是简单的加上偏移量,所以page结构体中直接返回其virtual成员就是虚拟地址了。而高端

2013-12-22 00:04:56 539

原创 ubuntu手动配置网络(字符界面)

Ubuntu系统装完了后,在图形界面设置网卡的IP,可不是一件简单的事情!接下来,就介绍一下通过其它方式设置网卡的IP地址。以eth0为例 1. 以DHCP方式配置网卡 编辑文档/etc/network/interfaces:  sudo vi /etc/network/interfaces  并用下面的行来替换有关eth0的行:  # The primary network inte

2013-12-21 23:57:56 2021

原创 修改tiny6410板子IP

修改arm板子ip:(自己分析其文件即可,都是shell脚本文件)要修改arm开发板的IP,如果是yaffs2文件,可以1、首先要修改/etc/init.d/rcS文件,在/sbin/ifconfig lo 127.0.0.0下添加一行/sbin/ifconfig eth0 192.168.1.20 up注:192.168.1.20 只是举例,可以改成你想要修改的IP地址本来这

2013-12-21 23:57:23 1072

原创 ubuntu防火墙与局域网常识

局域网接线问题:4M宽带,入网默认路由IP地址为192.168.1.1,后在其LAN口下接了两台路由,其中一台路由设置为LAN口设置(IP地址:192.168.3.1;掩码:255.255.255.0)WAN口设置(静态IP连接,IP地址:192.168.1.101;掩码:255.255.255.0;网关192.168.1.1;DNS:192.168.1.1),另外一台路由设置为LAN口设置(

2013-12-21 23:56:42 866

转载 GCC编译器扩展支持

p304(11.23第一句)linux内核中的container_oflinux中container_of(ptr, type, member)宏的作用是传入结构体类型type的域member地址ptr,返回该结构体变量的首地址,定义如下:#define container_of(ptr, type, member) ({   \          const typeof( ((

2013-11-27 15:47:23 1304

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除