Linux系统编程
三桂sg
1558920055ded5427d27fe99678aeae86f299
https://blog.csdn.net/weixin_43692030
展开
-
Linux系统编程1:进程基础
概念 进程:程序在计算机上的一次执行过程,执行中的程序。 从程序到进程 内核将程序读入内存,为程序镜像分配内存空间。 内核为该进程分配进程标志符PID。 内核为该进程保存PID及相应的进程状态信息。 进程控制块(PCB):保存进程控制信息 进程状态 类似视频/音频播放器 如何查看进程 No. OS 命令 e.g. 1 Windows tasklist tasklist /FI “...原创 2019-07-29 23:37:36 · 246 阅读 · 0 评论 -
Linux线程池
#include <pthread.h> #include <stdbool.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #define WORK_THREAD_COUNT 6 typedef struct Task{ void (*pfunc...原创 2019-09-07 08:09:37 · 120 阅读 · 0 评论 -
Linux 系统编程5:信号
查看linu下有哪些信号: kill -l 哪里会用到信号,比如你想结束掉一个进程 :ps -aux 查看进程 kill 结束进程 kill传递一个信号,信号会导致进程终止 windows任务管理器也是一样的道理,发送一个信号,导致进程终止 man 7 signal linux中查看信号的机制 信号产生种类 终端特殊按键 Ctrl+c SIGINT Ctrl+z SIGTSTP ...原创 2019-08-16 20:41:20 · 195 阅读 · 0 评论 -
Linux系统编程4:共享内存mmap
mmap可以把磁盘文件的一部分直接映射到内存,这样文件的位置就有对应的地址 对文件的读写可以直接用指针来做而不需要read write shared 映射 private 映射 修改内存中的数据,磁盘当中跟着修改shared 否则private映射 ,内存当中修改不影响磁盘 man mmap 查看这个函数的使用 void *mmap(void *addr, size_t length, int ...原创 2019-08-15 23:52:16 · 131 阅读 · 0 评论 -
Linux系统编程3:fifo
用来解决没有血缘关系的进程之间的通信 创建一个有名管道 [kiosk@foundation74 Linux系统编程]$ mkfifo myfifo 管道写端: #include<stdio.h> #include<unistd.h> #include<fcntl.h> #include<stdlib.h> #include<sys/types...原创 2019-08-15 18:20:16 · 127 阅读 · 0 评论 -
Linux系统编程2:匿名管道pipe
#include<stdio.h> #include<unistd.h> #include<string.h> #include<stdlib.h> int main(void){ int fd[2]; char str[1024]="hello world"; char buf[1024]; //fd[0]读端,fd...原创 2019-08-15 17:08:11 · 162 阅读 · 0 评论 -
Linux系统变成6:线程
//线程 //1.轻量级进程,也有PCB 创建线程使用的底层函数和进程一样都是clone //clone克隆父进程的0-3G的用户空间,父进程的PCB //2.从内核看进程进程和线程一样的,都有各自不同的PCB,但是PCB中指向内存 //资源的三级页表时相同的 //创建进程,内存给进程分配4G的地址空间 //进程如何索引到4G地址空间? 虚拟地址到物理地址的映射关系 //Linux管理虚拟内存 采...原创 2019-08-23 22:04:11 · 123 阅读 · 0 评论 -
Linux系统编程5.1: 信号捕捉
转载:信号的三种状态及信号集函数 地址: https://blog.csdn.net/xiaodu655/article/details/80246440 int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); 参数1:对哪个信号捕捉 参数2:信号的...原创 2019-08-19 12:30:19 · 125 阅读 · 0 评论 -
Linux实现myshell
#include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<string.h> #include<sys/types.h> #include<sys/wait.h> #include<sys/stat.h> #include<fcntl.h...转载 2019-09-07 10:23:39 · 479 阅读 · 1 评论