摘要: read read()是一个系统调用函数。用来从一个文件中,读取指定长度的数据到 buf 中。 使用read()时需要包含的头文件: <unistd.h> 函数原型: ssize_t read(int fd, void *buf, size_t count); ssize_t是系统头文件中 type 阅读全文
posted @ 2016-11-02 16:35 GreenHand# 阅读(1960) 评论(0) 推荐(1) 编辑
摘要: Open open()是一个系统调用函数,用来打开或创建一个文件,通过不同的oflag选项实现不同功能。 使用时open()函数需要包含的头文件:<sys/types.h>,<sys/stat.h>,<fcntl.h> 函数原型: int open(const char *pathname, int 阅读全文
posted @ 2016-11-02 15:43 GreenHand# 阅读(15630) 评论(1) 推荐(1) 编辑
摘要: Linux文件 I/O 介绍 1. Linux系统调用 Linux系统调用(system call)是指操作系统提供给用户程序的一组“特殊接口”,用户程序可以通过这组“特殊”接口来获得操作系统提供的特殊服务。 为了更好的保护内核空间,将程序的运行空间分为内核空间和用户空间,他们运行在不同的级别上,在 阅读全文
posted @ 2016-11-02 15:32 GreenHand# 阅读(1335) 评论(0) 推荐(0) 编辑
摘要: 线程基础 △ 由于进程的地址空间是私有的,因此在进行上下文切换时,系统开销比较大 △ 在同一个进程中创建的线程共享该进程的地址空间 △ 通常线程值得是共享相同地址空间的多个任务 △ 每个线程的私有这些私有资源:线程ID、PC(程序计数器)和相关寄存器、栈{局部变量,函数返回地址}、错误号、信号掩码和 阅读全文
posted @ 2016-11-01 21:45 GreenHand# 阅读(1969) 评论(0) 推荐(0) 编辑
摘要: 进程编程常用函数 1 fork pitd_t fork(void); 创建一个新的子进程,其父进程为调用 fork() 函数的进程; 返回值:成功:子进程返回 0,父进程返回 子进程 PID;失败 返回 -1; *1>新创建的子进程PID,与父进程PID不同; *2>子进程 从 fork() 返回值 阅读全文
posted @ 2016-11-01 20:02 GreenHand# 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 在维护每个线程的私有数据的时候,我们可能会想到分配一个保存线程数据的数组,用线程的ID作为数组的索引来实现访问,但是有一个问题是系统生成的线程 ID不能保证是一个小而连续的整数,并且用数组实现的时候由于其他线程也可以访问其数组中的数据,这样会引起数据混乱。这时候我们可以借助线程的私有数据 来解决这个 阅读全文
posted @ 2016-11-01 19:41 GreenHand# 阅读(743) 评论(0) 推荐(0) 编辑