- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【申嵌】Linux系统程序设计课堂实训练习.pdf
上海嵌入式家园-开发板商城 贺工
第二章 基本文件I/O
1、书上实例练习
2 、设计一个程序,实现将一个字符串“Hi, Im a Linux programmer! ”写入到文件a.txt,然
后将a.txt 中前10 个字符拷贝到文件b.txt 中。
第三章 进程与线程
1、练习使用fork 复制进程的例子,观察处理器的调度情况,尝试使用 sleep(1)来改变调度
顺序。
2 、练习fork+execl/execv/execlp/execvp 的结合使用。
3、waitpid 实验 waitpid.c
问题描述:
首先使用fork 新建一个子进程,并使子进程暂停5s (使用sleep 函数),接下来,父进程使
用waitpid 函数,并使用参数WNOHANG 使父进程不会阻塞。若有子进程退出,则waitpid
返回子进程号;若没有子进程退出,则waitpid 返回0,并且父进程每隔一秒循环判断一次。
提示:
pr = waitpid(pid, NULL, WNOHANG)
4 、多进程程序实验 proc_expr1.c
实验目的:熟练掌握fork, exec, waitpid 等函数的使用
问题描述:
父进程依次创建两个子进程,其中一个子进程运行ls -l指令,另一个进程在暂停5s 后异常
退出,父进程并不阻塞自己,并等待子进程的退出信息,待收集到该信息,父进程就返回。
5、多线程编程实验:利用线程参数重用一个线程函数创建多线程。
(1)创建两个新线程,一个输出x ,另一个输入o,每个线程输出固定字符数后就从线程函
数中返回退出线程。线程函数char_print 在两个线程中均被执行,但是程序为每个线程指定
不同的实例作为参数。
(2 )引入pthread_join 主线程收集两个子线程的退出信息,并释放资源。
6、互斥锁的使用方法 mutex_test.c
目的:掌握互斥锁来进行线程同步的方法。通过互斥锁来同步读、写线程对共享缓冲区的操
作。
7、使用信号量同步线程实验 sem_test1.c
目的:掌握使用信号量进行线程同步的方法。
(2) 修改程序使得三个线程的执行顺序为a-b-c
sem_test2.c
上海嵌入式家园-开发板商城
嵌入式家园网址:
淘宝商城网址:/
上海嵌入式家园-开发板商城 贺工
8、条件变量同步线程实验
目的:掌握使用条件变量进行线程同步的方法。
cond_test.c
第四章 进程间的通信
1、kill+signal 实现不同进程发送信号机制 kill_signal_expr.c
创建一个子进程,父进程通过kill 发送一个SIGTERM 信号给子进程,子进程借助signal 建
立SIGTERM 与信号处理函数的关联,当子进程接收到SIGTERM 信号,使用execl 函数终
止自己。
提示:注意到execl 函数的参数都是char *类型,因此必须使用sprintf 将pid 从int 转换成char
*,
eg:
char s[];
sprintf(s,%d,getpid());
2 、有名管道(命名管道)fifo_read.c, fifo_write.c
编写两个程序,一个用于读管道,另一个用于写管道。其中在读管道的程序里创建管道,并
且作为main 函数里的参数由用户输入要写入的内容。读管道读出用户写入管道的内容。
要求:这两个函数用的是非阻塞读写管道。
eg:
fd = open(FIFO, O_RDONLY | O_NONBLOCK, 0755);
fd = open(FIFO, O_WRONLY | O_NONBLOCK, 0);
3、信号量综合实例 ipc_sem_test.c
问题描述:首先实现两个函数,用于请求和释放信号量,每个进程只能请求一次,定义一个
全局变量semheld
来记录请求次数,当semheld 大于0 时不再增加信号量,当semheld 小于1 时,不再释放信
号量。
4 、信号量应用实例 sem_p_v.c
问题描述:此应用程序实现了父子进程间对信号量的 PV 操作。所谓 P 操作,就是将信号
量的值减
去 1 ;所谓 V 操作,就是将信号量的值加 1 。
在此程序中,子进程创建了一个含有一个信号量的信号量集合,并初始化为 5 。在前 5
次
您可能关注的文档
- 《退休保障之路》之退保发展小知识.PDF
- 《连续运行卫星定位服务系统网络RTK.PDF
- 《金融与发展》2010年3月号--房价还有下降空间-房价.PDF
- 《金融管理研究》(中英文)稿件编辑规范.PDF
- 《长生寿鑫宝恶性肿瘤疾病保险》保险费率表.PDF
- 《风景园林设计》考试大纲.PDF
- 《飞行经历记录本》填写范例201307.pdf
- 《香港青年协会徐悲鸿艺术空间》暨《第三届徐悲鸿盃国际青.PDF
- 《高速走丝电火花线切割机电气原理与维修》.doc
- 「专题探究计划书」评审准则.PDF
- 人教版(2019)必修第二册Unit 1 Cultural Heritage Listening .pptx
- 人教版(2019)必修第一册Unit 3 Sports and Fitness Reading fo.pptx
- 人教版(2019) 必修第一册 Unit 1 Teenage Life Reading and.pptx
- 人教版(2019)选择性必修第一册Unit 5 Working the Land Reading a.pptx
- 期末综合测试题 2024-2025学年下期初中英语人教版八年级下册.docx
- 期末综合测试题 2024-2025学年下期初中道德与法治统编版八年级下册.docx
- 初中英语人教版七年级上经典必备作文10篇.docx
- 第17课 明朝的灭亡和清朝的建立 巩固练习 2024-2025学年下期初中历史统编版七年级下.docx
- 人教版(2019)必修三 Unit 1 Festivals and Celebrations Lis.pptx
- 人教版(2019)必修三 Unit 3 Diverse Cultures Reading for W.pptx
文档评论(0)