下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告(学生印刷并提交)实验名称:壳编程的基础实验时间: 2012年4月14日受试者:赵俊杰_ (姓名) 1043041254 (学号) 2010 (学年)实验的目的:学习使用Linux的系统调用,管理进程,完成进程间的通信(通过信号和管道进行进程间通信)。了解并发程序同步的问题。精通软件开发工具gcc在Linux上的使用熟练使用man帮助手册实验环境: linux实验步骤:1 .将源文件(程序)复制到Linux系统的目录中阅读有关fork、exec、wait、exit和pipe系统调用的man帮助文档3 .编译并运行程序fork.c,观察结果,分析程序。4 .试运行程序pipe.c,观察结
2、果,分析程序。 (程序的请求和提示请参见pipe.c源文件。)5 .阅读关于函数sigaction、tcsetplanp和setpgid的man帮助手册6 .编译并运行程序signal.c,观察结果并分析程序。7 .编译运行程序process.c,观察结果,分析程序。实验性陈述:1 .基础知识:什么是系统调用所有的Linux系统资源都由内核管理,用于访问系统资源的用户请求或应用请求必须由内核代码来处理。 出于安全原因,用户进程不能自由访问内核代码Linux提供了系统调用,使用户进程可以调用内核代码的执行。 使用这些系统调用,用户可以操作进程、文件和其他系统资源,从用户级别切换到内核级别。的。系
3、统调用与通常的函数调用的区别在于,系统调用的执行导致权限级别的切换,这是用于切换到保护核心的受约束的“函数调用”。fork调用概述:使用它来创建新进程,成为原进程的子进程,原进程成为父进程。 子进程实际上是原始进程的副本,子进程与父进程具有相同代码段的存储器块。父子进程在fork语句之后同时执行,通过fork的返回值移动到不同的代码分支,子进程的返回值为0,父进程fork的返回值为子进程的进程编号(大于0 )。 错误返回-1。如何实现进程间的通信:进程间的通信可以利用管道和信号机制实现。信号机制:信号使得一个进程能够在一个事件发生时与另一个进程(接收进程)进行通信,该进程将与该事件相对应的消息
4、传递给接收进程,并且在接收进程接收到该信号时信号的值表示发生了什么事件。管道机构:管道允许一个命令的标准输出作为一个命令的标准输入,使同一系统上的两个相关进程(通常是父子进程)可以通信,从而使进程通信变得单向。实现进程之间的连接的方法:2 .写下列函数的原型fork: pid=fork ()sigaction:int sigaction (intsignium,const struct sigaction *act )结构触发* old act;管道:管道(管道软盘2 );tcsetplanp : inttcsetppgrp (intfd,pid_t pgrp )3 .运行和观察结果福克. c
5、简要说明程序实现的功能。程序通过制作子进程实现了ls -lh /这一指令的功能,列出了根目录下的文件的详细信息执行结果如下:zjj Ubuntu :/程序$./fork总使用量96Kdrwxr-xr-x2根根4.0 k 2012-04-140033666 bindrwxr-xr-x 3根根4.0 k 2012-04-23013364018引导drwxr-xr-x2 root root 4.0 k 2011-08-19053365018 cdromdrwxr-xr-x 16根根4.0 k 2012-04-2306336059 devdrwxr-xr-x 128根12k 2012-04-23063
6、36059 etcdrwxr-xr-x 3根根4.0 k 2011-08-190533021家庭lrwxrwxrwx1root root 332012-04-23013364018 initrd.img-boot/initrd.img-2.6.32-41 -一般lrwxrwxrwx1root root 332012-04-1400336330 initrd.img.old-boot/initrd.img-2.6.32-40-genericdrwxr-xr-x 20根根12k2012-04-23013364017libdrwx-2根16k 2011-08-19053365014丢失drwxr-x
7、r-x 3根根4.0 k 2012-04-140133688媒体drwxr-xr-x 3根根4.0 k 2012-03-23053365001 mntdrwxr-xr-x2根根4.0 k 2011-08-1905336336 optdr-xr-xr-x 168根根02012-04-2306336058 procdrwx-10根根4.0 k 2011-08-1907335341根drwxr-xr-x2 root root 4.0 k 2012-04-140033666 sbindrwxr-xr-x2 root root 4.0 k 2009-12-0513 33365055 selinuxdrw
8、xr-xr-x2根根4.0 k 2010-08-1602336032 SRVdrwxr-xr-x 12根根02012-04-2306336058 sysdrwxrwt 16根根4.0 k 2012-04-2306336059 tmpdrwxr-xr-X10根根4.0 k 2010-08-1602336032 usrdrwxr-xr-x 15根根4.0 k 2010-08-1602336048 varlrwxrwxrwx 1根根302012-04-23013365018 vmlinuz-boot/vmlinuz-2.6.32-41 -通用lrwxrwxrwx 1根根302012-04-14003
9、36330 vmlinuz.old-boot/vmlinuz-2.6.32-40 -通用程序中区分父进程和子进程的方法:如果pid=fork().pid=0,则子进程。 如果PID=0,则是父进程。PR简要叙述程序实现的功能程序用管道实现了ls -l /etc | more的功能。 输入上一个命令的标准输出作为下一个命令(more )的标准分页显示/etc目录中文件的详细信息。方案的结果如下:zjj Ubuntu :/program $./pipe总使用量1112drwxr-xr-x 3根根40962012-04-1400336330 acpi- rw-r- r- 1根根2981-08-160
10、2336034 adduser.confdrwxr-xr-x2 root root 40962012-04-1402336010备用- rw-r- r- 1根根395-03-041833029 ana crontabdrwxr-xr-x 6根根4096-08-1602336040 APMdrwxr-xr-x 3根根40962011-08-1907335343 app mordrwxr-xr-x7 root root 40962012-04-140033031 app mor.ddrwxr-xr-x 5根根40962012-04-140033032 apportdrwxr-xr-x 6根根4096-08-1905336531 apt-rw-r-1根守护进程1442010-03-0418333035at.denydrwxr-xr-x 3根根4096-08-1907335343 avahi- rw-r- r- 1根根1939-04-181833051 bash.bashrc- rw-r- r- 1根根根517612010-04-1406336032 bash _ completiondrwxr-xr-x2 root root 40962012-04-140033032 bash _ completion.d- rw-r- r- 1根根34420
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年重庆市中考化学真题
- 【新教材】统编版(2024)八年级下册道德与法治期末复习常考问题必背答案手册
- 黑龙江省尚志市2026届中考物理考前最后一卷含解析
- 2026届湖北省襄阳市三十三中中考三模物理试题含解析
- 甘肃省民乐县2026届中考物理模拟预测试卷含解析
- 朱伯庸甘石青黛膏
- 2026届吉林省吉林市永吉县中考冲刺卷物理试题含解析
- 广东省揭阳揭西县联考2026届中考物理考前最后一卷含解析
- 中医眼保健护理技术提升
- 甘肃省兰州市七里河区2026届初中物理毕业考试模拟冲刺卷含解析
- 2026年春季学期人教版小学数学五年级下册期末质量检测卷含答案
- 2025陕西省中考历史真题(原卷版)
- 浙江省Z20联盟2026届高三年级第三次学情诊断地理+答案
- (正式版)JJD 008-2026 房屋建筑和市政基础设施工程安全管理资料导则(试行)
- 物理教学方法交流
- 2026中国工业软件自主可控路径及生态建设与替代空间研究报告
- 2025年湖北十堰市初二学业水平地理生物会考真题试卷(含答案)
- 2026新疆中考历史知识点背诵清单练习含答案
- 高速磁浮无线通信系统试验规范标准文本(含编制说明)-2024
- 管廊机电安装监理实施细则
- 2026年一次通关粮库入库安全培训内容
评论
0/150
提交评论