自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hyfcomeon的专栏

还是个菜鸟,欢迎交流

  • 博客(18)
  • 资源 (13)
  • 收藏
  • 关注

原创 linux 的普通用户为什么能修改/etc/passwd文件

Unix 的口令文件 /etc/passwd 记录着所有用户和对应的登录密码等信息。/etc/passwd文件的所有者是root而且只有root用户有权限对该文件进行写操作。但是Unix系统其实是允许所有的用户修改自己的登录口令的(即修改/etc/passwd或/etc/shadow 文件)其实现原理如下。首先要说明的是,与每个进程相关联的ID有6个或更多,如图1所示其中进程的有效

2013-05-22 00:45:12 11218

转载 关于C语言负数在内存中的存储

实际上负数在内存中是使用补码存储的,为什么要以补码来存储呢?这是个规定,但是为什么这样规定呢?把负数用补码来记,这样正数与负数加的时候,只要直接相加就可以得到结果。负数与负数加的时候,只要符号位不搞错,其余部分直接相加。这样子运算就很方便。

2013-09-25 19:38:25 2443

转载 ELF格式文件和BIN文件的区别

ELF文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,它有三种不同的类型:可重定位的目标文件(Relocatable,或者Object File)可执行文件(Executable)共享库(Shared Object,或者Shared Library)        ELF格式提供了两种不同的视角,链接器把ELF文件看成是Se

2013-08-04 22:16:32 5409

转载 linux内核spin_lock分析

今天我们详细了解一下spin_lock在内核中代码实现,我们总共分析四个项目: 1.spinlock_t的定义分析:首先来看一下spinlock_t的定义:typedef struct {       raw_spinlock_t raw_lock;#if defined(CONFIG_PREEMPT) &&defined(CONFIG_SMP)

2013-08-04 22:08:11 3075

转载 Linux内核源代码分析——fork()原理&多进程网络模型

今晚和一位500强的leader喝喝小酒吃吃烤鱼,生活乐无边。这位兄弟伙才毕业2年,已经做到管理层了,机遇和能力不可谓不好。喝酒之余,聊到Linux内核的两个问题——fork()、exec()的原理。 兄弟伙:fork()的原理是什么呢? 我:其实一句话就概括了——copy on write。兄弟伙:copy on wirte我懂

2013-06-08 23:30:38 7500 2

原创 C程序的内存分配区域

C程序一直由下面几部分组成:1 正文段  :是CPU执行的机器指令部分;正文段通常是共享的,程序执行的时候是在内存中保持一份副本;正文段常常是只读的,这是为了防止程序意外操作破坏正文段2 初始化数据段:就是通常所说的数据段,保存了程序中需要明确赋初值的变量,如出现在任何函数之外的申明  int cout = 24;3 非初始化数据段:通常称为bss段,命名来自早期汇编的运算符,   “

2013-05-22 00:40:53 696

原创 linux 文件特殊权限位小结

特殊位作用:  SUID:对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属主身份来执行。  SGID对一个可执行文件,不是以发起者身份来获取资源,而是以可执行文件的属组身份来执行。  STICKY:粘滞位,通常对目录而言。通常对于全局可写目录(other也可写)来说,让该目录具有sticky后,删除只对属于自己的文件有效(但是仍能编辑修改别人的文件,除了root的)。

2013-05-22 00:35:52 756

转载 socket通信之read阻塞

read函数只是一个通用的读文件设备的接口。是否阻塞需要由设备的属性和设定所决定。一般来说,读字 符终端、网络的socket描述字,管道文件等,这些文件的缺省read都是阻塞的方式。如果是读磁盘上的文件,一般不会是阻塞方式的。但使用锁和 fcntl设置取消文件O_NOBLOCK状态,也会产生阻塞的read效果。怎么样以非阻塞的方式从管道中读取数据?因为我用read函数时,如果管道没

2013-05-22 00:17:54 1576

转载 ioremap 与 mmap

内存映射对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。  进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间,如下图:

2013-05-08 00:54:04 662

转载 linux网卡驱动-3

紧接上一篇,这里简要介绍net_device 结构和网卡驱动框架。    struct net_device 是一个比sk_buff 更复杂的结构,里面包含了与TCP/IP协议栈通信的接口函数,但是自从2.6.31 之后的内核中这些接口函数就被封装在了 stuct net_device_ops 结构中,在net_device 结构中以 netdev_ops 成员的形式出现。我们就来看如何使

2013-05-08 00:44:25 867

转载 linux网卡驱动-2

接上一篇,我们来看与skb相关的一些重要函数:网络模块中,有两个用来分配SKB描述符的高速缓存,在SKB模块初始函数skb_init()中被创建:void __init skb_init(void){skbuff_head_cache = kmem_cache_create("skbuff_head_cache", sizeof(struct sk_buf

2013-05-08 00:42:52 784

转载 Linux 网卡驱动-1

参考:1. 深入理解Linux网络技术内幕 PartIII   2. Essential Linux Device Driver Chap15     3. Linux 内核源码剖析——TCP/IP 实现          5. rtl8139too.c 2010.4 修订          6. Linux 内核 2.6.33          7. google当你

2013-05-08 00:41:42 697

转载 Linux TCP/IP 协议栈学习(2)—— 数据帧收发主要函数及net_device 结构

原文地址:http://www.cnblogs.com/zhuyp1015/archive/2012/12/25/2833163.html   /*** netif_rx - post buffer to the network code* @skb: buffer to post** This function receives a packet from a d

2013-05-08 00:36:41 1192

转载 linux内核sk_buff的结构分析

原文地址:http://simohayha.iteye.com/blog/556168 我看的内核版本是2.6.32.在内核中sk_buff表示一个网络数据包,它是一个双向链表,而链表头就是sk_buff_head,在老的内核里面sk_buff会有一个list域直接指向sk_buff_head也就是链表头,现在在2.6.32里面这个域已经被删除了。而sk_buff的内存布局

2013-05-07 00:12:26 483

转载 linux内核定时器的实现

原文地址 :http://simohayha.iteye.com/blog/507576 由于linux还不是一个实时的操作系统,因此如果需要更高精度,或者更精确的定时的话,可能就需要打一些实时的补丁,或者用商用版的实时linux,.这里内的定时器最小间隔也就是1个tick.这里还有一个要注意的,我这里的分析并没有分析内核新的hrt 定时器.这个定时器是Monta Vist

2013-05-07 00:03:32 828

转载 NorFlash和NandFlash的理解

NorFlash和NandFlash接口对比NorFlash带有通用的SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。NorFlash的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。如uboot中的ro段可以直接在NorFlash上运行, 只需要把rw和zi段拷贝到R

2013-04-05 19:10:51 726

原创 内核模块初始化函数static int __init init_func() 和退出函数 static void _exit exit_func() _init 和_exit 的理解

模块中初始化函数有的前面有个_init有什么作用。在内核代码iclude/linux/init.h  中有这样的定义#define __init  __section(.init.text) __cold notrace#define __initdata __section(.init.data)#define __initconst __section(.init.rodata

2013-04-05 16:23:03 5533

转载 重解几道华为经典C语言面试题

重解几道华为经典C语言面试题1、找错void test1(){   char string[10];   char* str1="0123456789";   strcpy(string, str1);}      这里string数组越界,因为字符串长度为10,还有一个结束符’/0’。所以总共有11个字符长度。string数组大小为10,这里越

2013-02-27 19:33:56 369

Linux环境下socket编程,实现简单的FTP上传下载功能

Linux环境下socket编程,实现简单的FTP上传下载功能

2013-05-22

UNIX系统调用大全

unix系统调用大全,用实例讲解unix/linux 系统调用,可作为工具看看

2013-03-14

UNIX环境高级编程_第二版英文版

UNIX环境高级编程_第二版英文原版的,经典啊,这本书还真是不好找,共享一下,学习学习。这类书籍还是看国外的比较好。 对于看过中文版的看看原版还是会有很多不一样的理解的

2013-03-12

java写的FTP上传下载工具(支持多用户)

java写的FTP工具,登陆用的是access 数据库,支持多用户登陆。数据库在database文件夹里面,初始登陆名lhz,密码123。

2012-12-21

突破校园网,win7启动虚拟wifi允许android手机共享上网的方法

win7 可以建立热点,但是在校园网下建的热点不能共享上网,启动win7的microserof virtual wifi miniport adapter建立虚拟wifi可以完美上网哦,android手机畅通无阻

2012-10-02

C指针的几个案列

关于C指针的几个例子,带你重新认识一下指针

2012-09-21

android实现图片的倒影效果

android开发图片效果之倒影效果,完整源代码

2012-09-21

java写的记事本 源代码

本人写的记事本源代码,适合初学者看看,会有很大的帮助的,代码简单明了

2012-02-13

android网络开发详解

android系统开发的网络部分,很好的资料,总结了很久

2012-02-13

计算机二级java笔试试题

2010年9月计算机二级JAVA笔试试题:文字版   一、选择题(每小题2分,共70分)  下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。     二、填空题(每空2分,共30分)

2011-08-30

windows XP如何启用Internet连接共享

教你在windows XP如何启用Internet连接共享

2011-06-26

空空如也

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

TA关注的人

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