系统级程序设计
文章平均质量分 71
衣褐卒岁
这个作者很懒,什么都没留下…
展开
-
系统级程序设计——管道及消息队列
管道 管道其实质是由内核管理的一个缓冲区 形象地认为管道的两端连接着两个进程:一个进程进行信息输出,将数据写入管道; 另一个进程进行信息输入,从管道中读取信息。 管道分为: 匿名管道:只能用于有亲缘关系的进程间通信,进程退出后管道会被销毁。 命名管道:命名管道与进程的联系较弱,相当于一个读写内存的接口,进程退出后,命名管道依然存在。 pipe函数 #include <unistd.h> int pipe(int pipefd[2]); 功能:创建匿名管道 ...原创 2022-05-23 16:53:16 · 213 阅读 · 0 评论 -
系统级程序设计——进程同步
exec函数族 #include <unistd.h> int execl(const char *path, const char *arg, ...); int execlp(const char *file, const char *arg, ...); int execle(const char *path, const char *arg, ..., char * const envp[]); int execv(const char *path, char * const a..原创 2022-05-12 12:33:50 · 101 阅读 · 0 评论 -
系统级程序设计——进程管理
课程目的: 熟悉进程环境、进程生命周期 进程控制: 1.创建进程 #include <unistd.h> pid_t fork(void); 创建进程: 函数执行后,系统会创建一个与原进程几乎相同的进程,之后父子进程都继续执行 返回值说明: 成功:返回两个值,子进程创建成功后,原程序会被复制,就有了两个fork函数。父进程的fork函数会返回子进程的pid,子进程的fork函数会返回0。 不成功:若子进程创建失败,原程序不会复制,父进程的fork函数返回-1。 2原创 2022-05-07 11:55:23 · 253 阅读 · 0 评论 -
系统级程序设计——文件操作
课程目的: 初步认识和了解linux下的文件系统与操作原理 文件I/O: 1.open() #include <fcntl.h> int open(const char *pathname, int flags[, mode_t mode); 参数说明: pathname:待打开文件的文件路径名 flags:访问模式,常用的宏有—— – O_RDONLY:只读 – O_WRONLY: 只写 – O_RDWR: 读写 – O_CREAT: 创建一个文件并打开 – O_原创 2022-05-03 19:06:48 · 136 阅读 · 0 评论