《Linux/Unix系统编程手册》读书笔记
目录第13章这章主要将了关于文件I/O的缓冲。系统I/O调用(即内核)和C语言标准库I/O函数(即stdio函数)在对磁盘进行操作的时候都会发生缓冲。通过缓冲可以在一定程度上将用户空间与实际的物理设备分离,还可以减少内核访问磁盘的次数。先来看看关于内核缓...
分类:
系统相关 时间:
2014-05-06 00:20:36
阅读次数:
484
1. exit用于结束正在运行的整个程序,它将参数返回给OS,把控制权交给操作系统;而return
是退出当前函数,返回函数值,把控制权交给调用函数。2. exit是系统调用级别,它表示一个进程的结束;而return 是语言级别的,它表示调用堆栈的返回。3.
在main函数结束时,会隐式地调用exi...
分类:
其他好文 时间:
2014-05-05 11:04:18
阅读次数:
302
一、mmap设备操作
1、mmap系统调用
void *mmap(void * addr, size_t len, int prot, int flags, int fd, off_t offset)
返回值:内存映射的首地址(虚拟映射区首地址)。
功能:内存映射函数mmap,负责把文件内容映射到进程的虚拟内存空间,通过对这段内存的读取和修改(使用指针),来实现对文件的读取和修改,而不...
分类:
系统相关 时间:
2014-05-04 08:55:01
阅读次数:
501
以下主要讲解了Hadoop的文件读写操作流程:读文件 读文件时内部工作机制参看下图:
客户端通过调用FileSystem对象(对应于HDFS文件系统,调用DistributedFileSystem对象)的open()方法来打开文件(也即图中的第一步),DistributedFileSystem通.....
分类:
其他好文 时间:
2014-04-30 13:39:04
阅读次数:
375
exec和source都属于bash内部命令(builtins
commands),在bash下输入man exec或man source可以查看所有的内部命令信息。bash
shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特...
分类:
系统相关 时间:
2014-04-30 00:23:34
阅读次数:
671
内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡.
CPU也可以将自己从一个程序切换到另一个程序用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺,
CPU资源可以被其他程序获取为什么要有用户态和内核态由于需要限制不同的程序之间的访问能力, 防止他...
分类:
其他好文 时间:
2014-04-28 12:32:05
阅读次数:
465
看了一下Linux 0.11版本write的实现,首先它在标准头文件unistd.h中有定义
int write(int fildes, const char * buf, off_t count);
接下来看write.c
/*
* linux/lib/write.c
*
* (C) 1991 Linus Torvalds
*/
#define __LIBRARY__...
分类:
系统相关 时间:
2014-04-27 21:45:04
阅读次数:
523