上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 43 下一页

2018年1月16日

fork函数拓展

摘要: 1、fork之后父子进程共享文件:文件引用计数的值改变,共享偏移。 在下面的例子中test.txt为parentchil。如果子进程没有睡眠,两个进程交叉执行,内容不可预测。 2、fork与vfork: 在fork还没有实现copy on write之前,UNIX设计者很关心fork之后立刻执行ex 阅读全文

posted @ 2018-01-16 23:00 wsw_seu 阅读(118) 评论(0) 推荐(0) 编辑

fork函数

摘要: 复制进程映像:使用fork函数得到的子进程从父进程继承了整个进程的地址空间,包括:进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设置、进程优先级、进程组号当前工作目录、根目录、资源限制、控制终端等。 子进程与父进程的区别在于:1、父进程设置的锁,子进程不继承(例如对于一个排他锁,父进程设 阅读全文

posted @ 2018-01-16 21:53 wsw_seu 阅读(193) 评论(0) 推荐(0) 编辑

进程与程序

摘要: 一:概念 程序是一系列有序指令的集合(代码段+数据段=未初始化数据段bss、已初始化数据段)。程序是静态的 进程(代码段+数据段+堆栈段+PCB进程控制块):从用户角度看,进程是程序的一次动态执行过程从操作系统的内核来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位进程是资源分配的最小单位 阅读全文

posted @ 2018-01-16 19:43 wsw_seu 阅读(332) 评论(0) 推荐(0) 编辑

2018年1月15日

fcntl函数用法——设置文件锁

摘要: fcntl函数。锁定文件,设置文件锁。设置获取文件锁:F_GETLK 、F_SETLK 、F_SETLKW文件锁结构,设置好用于fcntl函数的第三个参数。struct flock{ short l_type;//锁的类型 F_RDLCK,F_WRLCK(排他锁),F_UNLCK(清除锁) shor 阅读全文

posted @ 2018-01-15 20:32 wsw_seu 阅读(1353) 评论(0) 推荐(0) 编辑

fcntl函数用法——操纵文件描述符状态

摘要: fcntl函数:操纵文件描述符,改变已经打开的文件的属性int fcntl(int fd, int cmd, ... //arg );cmd选项:一、复制文件描述符:F_DUPFD二、更改设置文件描述标志:F_GETFD 、F_SETFD 文件描述符标志,是体现进程的文件描述符的状态.当前只定义了一 阅读全文

posted @ 2018-01-15 20:15 wsw_seu 阅读(570) 评论(0) 推荐(0) 编辑

fcntl函数用法——复制文件描述符

摘要: 文件描述符复制和输出重定向dup() 用最小的文件描述符来复制,从0开始搜素。复制文件描述符后,最小文件描述符指向被复制描述符指向的文件。dup2(int oldfd,int newfd) 强制用newfd来复制oldfd close(1);dup(fd) == 》等价于dup2(fd,1)int 阅读全文

posted @ 2018-01-15 19:41 wsw_seu 阅读(436) 评论(0) 推荐(0) 编辑

文件共享

摘要: 文件描述符指向文件表,一个进程默认打开1024个文件描述符。 文件表中保存了:文件状态标志(可读、可写、追加、同步、非阻塞等)、文件偏移量、refcnt(引用计数)、v结点指针(指向v结点表--v结点信息stat函数可以查看、i结点信息) 文件在磁盘块的位置: i结点信息. 若一个进程两次打开同一个 阅读全文

posted @ 2018-01-15 19:22 wsw_seu 阅读(117) 评论(0) 推荐(0) 编辑

stat函数

摘要: 一、stat 函数,获取文件元数据 int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); int lstat(const char *path, struct stat *buf); 二、 阅读全文

posted @ 2018-01-15 18:38 wsw_seu 阅读(5132) 评论(0) 推荐(0) 编辑

字符串类的实现

摘要: #pragma once #include using namespace std; class String { public: String(const char* str = ""); String(const String& other); String& operator=(const String& other); String& operator=(... 阅读全文

posted @ 2018-01-15 09:35 wsw_seu 阅读(896) 评论(0) 推荐(0) 编辑

2018年1月14日

系统调用全过程

摘要: 系统调用(SYSTEM_CALL) OS内核中都有一组实现系统调用功能的过程,系统调用就是对上述过程的调用。编程人员利用系统调用,向OS提出服务请求,由OS代为完成。一般情况下进程是不能存取系统内核的。它不能存取内核使用的内存段也不能调用内核函数,CPU的硬件保证了这一点,只有系统调用是一个例外。 阅读全文

posted @ 2018-01-14 16:42 wsw_seu 阅读(367) 评论(0) 推荐(0) 编辑

上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 43 下一页

导航