Unix系统编程
文章平均质量分 57
陆星材
这个作者很懒,什么都没留下…
展开
-
用C语言实现Linux中的cp命令2020-12-03
#include <stdio.h> #include <string.h> int main (int argc, char** argv) { if(argc == 3) { FILE *pf1 = fopen(argv[1], "r"); if(fp1 == NULL) { perror("error \n"); return -1; } .原创 2021-05-07 14:26:26 · 292 阅读 · 0 评论 -
用C语言实现Linux中的cat命令2020-12-03
#include <stdio.h> int main(int argc, char** argv) { FILE *fp = fopen(argv[1], "r"); if(fp == NULL) { perror("error \n"); return -1; } int len = 0; //记录有多少个字符 char* line = NULL; size_t n = 0; while(g.原创 2021-05-07 14:26:05 · 381 阅读 · 1 评论 -
多线程计算质数
多线程计算质数: #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <pthread.h> #include <semaphore.h> #define LEFT 30000000 #define RIGHT 30001000 #define THRNUM 4 int value = 0;原创 2021-05-27 10:34:06 · 1236 阅读 · 0 评论 -
进程相关题型
TCP通信:有连接的数据流传输协议。 特点:可靠稳定,但速度慢,效率低,资源消耗大。(点到点) 应用场合:浏览器,文件传输。 TCP的三次握手和四次挥手: 三次握手:1.client端向server端发送请求; 2.server端收到请求,回复client端并分配资源; 3.client端收到回复并分配资源。 四次挥手:1.client端向server端发送中断请求; 2.server端收到请求,如果还有数据没有传输完成,则回复client端ACK报文,client端进入等待状态; 3.server端数据.转载 2021-05-27 10:31:35 · 132 阅读 · 0 评论 -
网络编程 (传输层 -- TCP协议)
TCP通信:有连接的数据流传输协议。 特点:可靠稳定,但速度慢,效率低,资源消耗大。(点到点) 应用场合:浏览器,文件传输。 本文借鉴点击查看网络编程 (传输层 -- TCP协议)TCP的三次握手和四次挥手: 三次握手:1.client端向server端发送请求; 2.server端收到请求,回复client端并分配资源; 3.client端收到回复并分配资源。 四次挥手:1.client端向server端发送中断请求; 2.server端收到请求,如果还有数据没有传输完成,则回复client端ACK报.原创 2021-05-27 10:41:13 · 119 阅读 · 0 评论 -
网络编程 (传输层 -- UDP协议)
sockaddr结构体 socket API是一层抽象的网络编程接口,适用于底层各种网络协议,IPv4、IPv6等,而每一种网络协议的地址格式并不相同。 IPv4地址用sockaddr_in结构体表示,包括16位地址类型,16位端口号和32位IP地址。IPv4、IPv6的地址类型为AF_INET、AF_INET6,这样只要得到某种sockaddr结构体的首地址,不需要知道是具体哪种类型的sockade结构一条,就可以根据地址类型字段确定结构体中的内容。 socket API中的参数都是struct so.原创 2021-05-27 10:40:56 · 340 阅读 · 1 评论 -
了解网络编程
OSI七层网络模型,TCP/IP四层概念模型 OSI七层网络模型 TCP/IP四层概念模型 对应网络协议 应用层 应用层 httpftptelnetsshstmppop3 表示层 会话层 传输层 传输层 tcpudp 网络层 网络层 ipicmpigmp 数据链路层 网络接口层 arprarpmpls 物理层 应用层{http超文本传输协议 ftp文件传输协议...原创 2021-05-27 10:28:05 · 145 阅读 · 0 评论 -
线程 介绍
线程与进程区别: 线程是轻量级的进程,本质是进程; 进程是最小分配资源单元,线程是最小的执行单元 进程有独立的地址空间,拥有PCB;线程也有PCB,但没有独立的地址空间(共享内存) 线程基本操作: 获取线程编号:pthread_t pthread_self(void); 线程创建函数:int pthread_create(pthread_t *thread(线程号的类型,不一定是整型), const pthread_attr_t *attr(线程属性), void *(*start_routine(启.原创 2021-05-25 14:18:20 · 169 阅读 · 0 评论 -
进程间通信
进程间通信的应用场景:数据传输,共享数据,通知事件,资源共享,进程控制 同一主机进程间通信: unix进程间通信方式:有名管道,无名管道,信号。 system V进程间通信方式和POSIX进程间通信方式有 消息队列,共享内存,信号量。 不同主机(网络)进程间通信:Socket 无名管道:只能在具有血缘关系之间进程间使用 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include &l原创 2021-05-25 14:18:02 · 168 阅读 · 0 评论 -
进程 介绍
什么是进程:进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随这资源的分配和释放,可以认为时一个程序的一次执行过程。 进程的五种状态:初始态,就绪态,运行态,挂起态,终止态。 进程切换: 分时操作系统中 是所有的进程通过时间片轮转的方式占用硬件资源。 实时操作系统中 按照实际情况来优先级高的先用硬件资源。(vxwork ucos ) 区别:system() exec()都可以执行进程外的命令,system是在原进程上开辟一个新的进程,但是exec是用新的原创 2021-05-25 14:17:43 · 217 阅读 · 1 评论 -
了解posix文件操作2020-12-23
ls -l 查看文件属性 c字符设备 b块设备 d文件夹l链接文件 chmod+ 777 +文件名 (八进制) unask 掩码dev 设备 文件操作权限O_RDONLY(只读)O_WRONLY(只写)O_RDWR(读写) O_APPEND(追加)O_CREAT(创建一个文件)O_TRUNC(如果存在这个文件,则删除文件内容) #define STDIN_FILENO0标准输入 #define STDOUT_FILENO1标准输出 #define ...原创 2021-05-25 14:17:27 · 569 阅读 · 0 评论 -
posix文件操作相关操作2020-12-22
ls -l 文件属性 c字符设备 b块设备 d文件夹 l链接文件 chmod + 777 +文件名 (八进制) unask 掩码dev 设备 读写方式 O_RDONLY O_WRONLY O_RDWR #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main () { file descript...原创 2021-05-25 14:17:15 · 222 阅读 · 0 评论