自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 神奇的vfork

一段神奇的代码在论坛里看到下面一段代码:int createproc();int main(){pid_t pid=createproc();printf("%d\n", pid);exit(0);}int createproc(){pid_t pid;if(!(pid=vfork())) {printf("child proc:%d\n",

2013-09-05 21:21:01 453

转载 volatile是什么

一.volatile是什么?volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。二.编译器优化是什么意思?int i = 5;int a = i;……int b = i;编译器发现两次从i读数据

2013-09-05 16:45:32 509

转载 Localhost 与127.0.0.1和IP的区别是什么

localhost与127.0.0.1的区别localhost与127.0.0.1的区别是什么?相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析。看来这个入门问题还有人不清楚,其实这两者是有区别的。no1:localhost也叫local ,正确的解释是:本地服务器127.0.0.1在windows等系统的正确解释是:本机地址(本机服务

2013-09-05 11:03:36 520

转载 fopen 文本文件与二进制文件区别

今天在写文件的时候发现fwrite的时候多出了一些乱码,最后发现加个b,以二进制的方式打开文件就解决了,google了.... 特记与此   在学习C语言文件操作后,我们都会知道打开文件的函数是fopen,也知道它的第二个参数是 标志字符串。其中,如果字符串中出现'b',则表明是以打开二进制(binary)文件,否则是打开文本文件。  那么什么是文本文件,什么是二进制文件呢? 可能

2013-08-20 16:23:54 471

转载 C语言中内存对齐规则讨论(struct)

对齐:现代计算机中内存空间都是按着byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就是需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。对齐的作用:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存储。其他平台可

2013-08-09 19:39:45 381

原创 Linux下which、whereis、locate、find命令的使用和区别

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:      find:      最强大,什么都能查which:   只能查可执行文件whereis:只能查二进制文件、说明文档,源文件等locate:     能查所以,但跟whereis一样都是查数据库里的内容。which 只能寻找执行文件 ,并在PATH变量里面寻

2013-08-09 16:57:37 595

转载 Linux 文件访问原语

POSIX API 最重要的一个抽象概念就是文件。尽管几乎所有的操作系统都将文件用于永久性存储器,但所有 Unix 版本通过文件抽象概念提供对 大多数系统资源的访问。更具体地说,这意味着 Linux 使用相同的一组系统调用来提供对设备(例如软盘和磁带设备)、网络资源(最常见的是 TCP/IP 连接)、系统终端,甚至内核状态信息的访问。感谢无所不在的系统调用,娴熟地使用与文件相关的调用对于每

2013-08-09 16:25:31 405

转载 从文件 I/O 看 Linux 的虚拟文件系统

1 引言Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体文件系统格式;更进一步,对文件的 操作可以跨文件系统而执行。如图 1 所示,我们可以使用 cp 命令从 vfat 文件系统格式的硬盘拷贝数据到 ext3 文件系统格式的硬盘;而这样的操作涉及到两个不同

2013-08-09 09:26:28 440

转载 linux虚拟文件系统

1、如何描述一个文件       我们先看看一个文件在内存和磁盘上是如何描述的。每个文件至少要有一个数据结构存放该文件的信息,包括uid、gid、flag、文件长度、文件内容存放位置的数据结构等。在Linux中这个数据结构被称为inode,本来inode中也应该包括文件名称等信息,但是由于符号链接的存在,导致一个文件可能存在多个文件名称,因此把和文件名称相关的信息从inode中提出,专门放

2013-08-08 21:15:48 525

转载 分配页面

Linux内核中分配页面使用了以下六个函数:alloc_pages(gfp_mask, order):用这个函数请求2order 个连续的页框。他返回第一个所分配页框描述符的地址,或者如果失败,则返回NULL。alloc_page(gfp_mask):用于获得一个单独页框的宏,它其实只是alloc_pages(gfp_mask, 0)。它返回所分

2013-08-08 14:50:16 795

转载 Linux内核高端内存

Linux内核地址映射模型x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。段页式机制如下图。 Linux内核地址空间划分通常32位Linux内核地址空间划分0~3G为用户空间,3~4G为内核空间。注意这里是32位内核地址空间划分,64位内核地址空间划分是不同的。

2013-08-08 14:49:14 353

空空如也

空空如也

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

TA关注的人

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