
IO
文章平均质量分 61
申屠武
这个作者很懒,什么都没留下…
展开
-
IO进程间通信方式练习
两个进程或者两个线程,分别执行输入和输出任务,输入quit时退出。线程间:全局变量写法,信号量写法进程间:无名管道写法,有名管道写法,共享内存写法,共享内存与信号灯集结合写法原创 2024-07-08 20:32:20 · 548 阅读 · 1 评论 -
进程间通信方式-共享内存与信号灯集结合练习
共享内存结合信号灯集。实现两个进程一边输入,一边输出,输入quit时结束。/*通过信号灯集与共享内存配合,实现输入输出交替进行,做到输入一个输出一个(1)初始化:零号信号灯初值为0,一号信号灯初值为1(2)输入部分:申请一号信号灯,可以申请到资源,然后一号信号灯变为0,输入完成之后,释放零号信号灯,零号信号灯就变为1;(3)输出部分:申请零号信号灯,刚开始零号信号灯初值为0,无法申请到资源,只有当输入进程完成输入,把零号信号灯变为1之后,输出进程才可以申请到资源,进行输出,原创 2024-07-06 14:29:46 · 291 阅读 · 1 评论 -
进程间通信方式-共享内存练习
要求:一个进程循环从终端输入,另一个进程循环打印,当输入quit时结束原创 2024-07-06 14:22:55 · 304 阅读 · 0 评论 -
进程间通信方式-消息队列
消息队列是IPC对象(活动在内核级别的一种进程间通信的工具)的一种一个消息队列由一个标识符 (即队列ID)来标识消息队列就是一个消息的列表。用户可以在消息队列中添加消息、读取消息等消息队列可以按照类型(自己设一个值作为类型)来发送/接收消息(1) 产生key值: ftok()(2) 创建或打开消息队列msgget()(3) 添加消息:按照类型把消息添加到以及打开的消息队列末尾msgsnd()(4) 读取消息:可以按照类型把消息从队列中给你读走msgrcv()(5) 删除消息队列:原创 2024-07-06 14:05:08 · 191 阅读 · 0 评论 -
进程间通信方式-信号灯集
信号灯(semaphore),也叫信号量,信号灯集是一个信号灯的集合。它是不同进程间或一个给定进程内部不同线程间同步的机制;线程:全局变量,同步通过信号量。初始化:sem_init(&sem,0,0);申请资源:sem_wait(&sem);P操作 -1释放资源: sem_post(&sem); V操作 +1(1) 创建key值:ftok(2) 创建或开信号灯集: semget(3) 初始化信号灯: semctl(4) PV操作:semop(5) 删除信号灯集: semc原创 2024-07-06 12:00:19 · 954 阅读 · 0 评论 -
进程间通信方式-共享内存
(1)共享内存是一种最为高效的进程间通信方式,进程可以直接读写内存,而不需要任何数据的拷贝。(2)为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将其映射到自己的私有地址空间。进程就可以直接读写这一内存区而不需要进行数据的拷贝,从而大大提高的效率。(3) 由于多个进程共享一段内存,因此也需要依靠某种同步机制,如互斥锁和信号量等(1) 创建 key值(2) 创建或打开共享内存(3) 映射共享内存到用户空间(4) 撤销映射(5) 删除共享内存原创 2024-07-06 11:33:45 · 1167 阅读 · 0 评论 -
进程间通信方式-信号练习
1. 信号解决司机售票员问题1)售票员捕捉SIGINT(代表开车)信号,向司机发送SIGUSR1信号,司机打印(let's gogogo)2)售票员捕捉SIGQUIT(代表停车)信号,向司机发送SIGUSR2信号,司机打印(stop the bus)3)司机捕捉SIGTSTP(代表到达终点站)信号,向售票员发送SIGUSR1信号,售票员打印(please get off the bus)4)司机等待售票员下车,之后司机再下车。原创 2024-07-04 20:04:04 · 202 阅读 · 1 评论 -
进程间通信方式-信号
(1)信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式。(2)信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件。(3)3)如果该进程当前并未处于执行态,则该信号就由内核保存起来,直到该进程恢复执行再传递给它;如果一个信号被进程设置为阻塞,则该信号的传递被延迟,直到其阻塞被取消时才被传递给进程。1)忽略信号:对信号不做任何处理,但是有两个信号不能忽略:即SIGKILL及SIGSTOP。2)捕捉信号:定义信号处理函数,当信号发生时原创 2024-07-04 19:57:37 · 929 阅读 · 0 评论 -
进程间通信方式-有名管道练习
进程间通信方式,有名管道利用两个进程实现cp复制功能利用有名管道,一个进程读取复制文件,写到管道中,一个进程读取管道中的内容,写到目标文件中。原创 2024-07-04 19:26:16 · 231 阅读 · 0 评论 -
进程间通信方式-无名管道练习
进程间通信,无名管道。练习:父子进程实现通信,父进程循环从终端输入数据,子进程循环打印数据,当输入quit结束。原创 2024-07-04 19:17:30 · 136 阅读 · 0 评论 -
IO进程间通信-无名管道、有名管道
进程间通信,无名管道,有名管道。原创 2024-07-04 19:11:36 · 1302 阅读 · 0 评论 -
IO线程的同步、互斥、条件变量 具体练习
IO线程的同步、互斥、条件变量。练习:请在linux 利用c语言编程实现两个线程按照顺序依次输出”ABABABAB......" (信雅达)例如a线程输出”A”之后b线程输出”B”,然后a线程输出“A”,再b线程输出”B”,之后往复循环。原创 2024-07-03 21:02:40 · 289 阅读 · 0 评论 -
IO线程-同步、互斥、条件变量
io线程,同步,互斥,条件变量。通过线程实现数据的交互,主线程循环从终端输入,线程函数将数据循环输出,当输入quit结束程序。请在linux 利用c语言编程实现两个线程按照顺序依次输出”ABABABAB......"原创 2024-07-03 20:45:23 · 878 阅读 · 0 评论 -
文件IO与标准IO总结
标准 IO文件IO概念C库中定义的一组用于输入输出的函数posix中定义的一组输入输出的函数特点有缓冲机制,减少系统调用,提高效率无缓冲机制围绕流进行操作,FILE *p围绕文件描述符操作,非负整数默认打开三个流:stdin/stdout/stderr默认打开三个文件描述符:0/1/2只能操作普通文件可以操作除了目录以外的任意类型文件可移植性更强可移植性弱函数打开文件: fopen \freopen打开文件: open关闭文件 :fclose关闭文件:close。原创 2024-07-02 21:00:35 · 889 阅读 · 0 评论 -
IO 线程
线程和进程都参与统一的调度。在同一个进程中可以创建的多个线程, 共享进程资源。:都为操作系统提供了并发执行能力调度和资源:线程是系统调度的最小单位,进程是资源分配的最小单位地址空间方面:同一个进程创建的多个线程共享该进程的资源;进程的地址空间相互独立通信方面:线程通信相对简单,只需要通过全局变量可以实现,但是需要考虑临界资源访问的问题;进程通信比较复杂,需要借助进程间的通信机制(借助3g-4g内核空间)安全性方面:线程安全性差一些,当进程结束时会导致所有线程退出;进程相对安全。原创 2024-07-02 20:49:52 · 690 阅读 · 0 评论 -
利用IO实现linux中的head -n 命令
利用io实现linux中的head -n 功能,将文件中的前n行数据输入到终端上。原创 2024-06-29 14:29:53 · 275 阅读 · 0 评论 -
标准IO实现cp(复制)功能
(4)利用fgets循环读取文件,只要读取到了字符,就写入到目标文件中。(2)打开复制到的目标文件(可读可写,不存在就创建,存在就清空)注意:需要利用fflush强制刷新缓存区。(1)打开要复制的文件(只读)(3)定义buf暂存读取的数据。原创 2024-06-29 14:17:34 · 263 阅读 · 0 评论 -
标准IO - fgets实现“wc -l 文件名“命令功能(计算文件行数)
标准IO - fgets实现"wc -l 文件名"命令功能(计算文件行数)循环获取文件每行的信息,判断是否有换行,原创 2024-04-21 11:09:15 · 183 阅读 · 1 评论 -
目录操作-代码实现 ls-a功能
目录操作-代码实现 ls-a功能代码实现ls-a操作,获取目录下每个文件名字,打印目录信息原创 2024-04-20 20:30:46 · 259 阅读 · 0 评论 -
获取文件信息,代码实现ls -l 操作
实现ls -l 操作,需要得到以下文件信息:文件类型,文件权限,链接数量,用户id,组id,最后修改时间,文件名原创 2024-04-20 20:20:13 · 188 阅读 · 0 评论 -
文件 IO 实现cp功能
通过 文件 IO 实现操作cp源文件新文件名步骤:1.打开两个文件源文件,只读打开目标文件,可写打开,不存在就创建,存在就清空,赋予权限7772.循环读取源文件,把读到的字符串暂存在 缓存区中,并获取返回值(实际读取的字符个数)只要返回值大于0,就代表读到了字符,文件还没有结束3.循环向目标文件写入字符串,把缓存区中暂存的字符串写入到目标文件中原创 2024-04-20 20:08:22 · 322 阅读 · 0 评论 -
进程间通信-信号-用信号的知识实现司机和售票员问题。
用信号的知识实现司机和售票员问题。原创 2024-04-20 19:17:48 · 247 阅读 · 0 评论 -
父子进程实现cp功能
通过父子进程完成对文件的拷贝(cp),父进程从文件开始到文件的一半开始拷贝,子进程从文件的一半到文件末尾。原创 2024-04-20 19:07:55 · 437 阅读 · 0 评论 -
IO - 进程间通信
进程间通信,无名管道,有名管道,信号,共享内存,信号灯集,消息队列原创 2024-04-20 14:41:34 · 1277 阅读 · 0 评论 -
IO-进程笔记
进程,进程分类,进程状态,进程的创建、回收、退出;守护进程的创建原创 2024-04-20 11:38:07 · 691 阅读 · 0 评论 -
标准 IO 与文件IO总结
标准 IO , 文件 IO ,目录操作,获取文件信息,静态库,动态库原创 2024-04-20 11:06:57 · 903 阅读 · 0 评论 -
文件 IO 笔记
文件IO,目录操作,获取文件信息,静态库,动态库原创 2024-04-20 10:59:45 · 761 阅读 · 0 评论 -
标准IO 笔记
标准IO , fopen/fclose, fgetc/fputc, fgets/fputs, fseek .原创 2024-04-20 10:34:49 · 1029 阅读 · 0 评论