摘要: 进程原语 1.fork fork 子进程复制父进程,子进程和父进程的PID是不一样的,在克隆pcb时,pid没有复制,fork还有底层的函数,如creat(),clone(),retrun 返回。子进程执行的第一条语句是return。 进程相关函数: sudo chmod 04755 文件名 如pa 阅读全文
posted @ 2017-11-09 22:55 rainbow1122 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 进程 1.PCB 每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内的进程控制块是task_struct结构体。现在我们全面了解一下其中都有哪些信息。 进程标示符(PID):描述本进程的唯一标示符,用来区别其他进程。父进程id(PPID) 进程的状态,有运行、挂起、停止、 阅读全文
posted @ 2017-11-09 20:26 rainbow1122 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 基于inode函数介绍 1.stat 表头文件: #include <sys/stat.h> #include <unistd.h>定义函数: int stat(const char *file_name, struct stat *buf); int fstat(int fd,struct sta 阅读全文
posted @ 2017-11-09 15:53 rainbow1122 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 文件系统(二) 1.目录操作 mkdir #include<sys/stat.h> #include<sys/types.h> int mkdir(const char *pathname,mode_t mode); 创建一个目录 rmdir #include<unistd.h> int rmdir 阅读全文
posted @ 2017-11-09 14:35 rainbow1122 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 文件系统 1.ext2文件系统 注意:文件名并没有存储在inode中,目录的大小为4096,用ls显示的是蓝色的,目录、记录项。组里边有多少块,取决于块的大小。 磁盘分区完毕后还需要进行格式化(format),之后操作系统才能够使用这个分割槽。 为什么需要进行『格式化』呢?这是因为每种操作系统所配置 阅读全文
posted @ 2017-11-08 22:01 rainbow1122 阅读(385) 评论(0) 推荐(0) 编辑
摘要: (6)lseek lseek和标准I/O库的fseek函数类似,可以移动当前读写位置(或者叫偏移量) #include <sys/types.h> #include <unistd.h> off_t lseek(int fd, off_t offset, int whence); 参数: fd 表示 阅读全文
posted @ 2017-11-08 15:37 rainbow1122 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 文件I/O 1.C标准函数与系统函数的区别1.c标准函数和系统函数的区别 接下来用应用层API的知识。每当打开一个文件,默认打开标准输入,标准输出,标准出错流三个流,每个FILE都对应一个缓冲区,默认大小为8192Byte。 2.PCB概念(进程控制块) (1)task_struck结构体 可以自己 阅读全文
posted @ 2017-11-06 22:53 rainbow1122 阅读(350) 评论(0) 推荐(1) 编辑
摘要: 静态库和共享库 共享库相当于c++中的dll。静态库是在可执行程序运行前就已经加入到执行代码中,成为执行程序的一部分,按照习惯一般以.a作为文件后缀名,使用ar命令可以创建静态库,静态库在应用程序生成时,可以不必载编译,节省再编译时间;共享库,是在执行程序启动时加载到执行程序中,可以被多个执行程序共 阅读全文
posted @ 2017-11-06 16:16 rainbow1122 阅读(719) 评论(0) 推荐(0) 编辑
摘要: 用vim打造适合自己的编辑器 一、vimrc是vim的配置文件,可以修改两个位置 1.etc/vim/vimrc //一般配置文件都带有rc的后缀 2.~/.vimrc //在用户目录下存在的,/home/用户名 ~/.vimrc优先级高 进入etc/vim/vimrc vimrc配置 http:/ 阅读全文
posted @ 2017-11-06 11:41 rainbow1122 阅读(649) 评论(0) 推荐(0) 编辑