重庆三峡学院计算机科学与技术2023年计本,信本操作系统实验试题_第1页
重庆三峡学院计算机科学与技术2023年计本,信本操作系统实验试题_第2页
重庆三峡学院计算机科学与技术2023年计本,信本操作系统实验试题_第3页
重庆三峡学院计算机科学与技术2023年计本,信本操作系统实验试题_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第一套题:文件更名要求:1.在系统中建立一个文件〔文件名自定〔10分〕renameC程序〔程序名自定〕更改第一点要求中的文件名〔文件名自定;在程序中应有如下根本功能:当执行文件时,使用方法出错,请给出提示,如程序名参数12,并退出;如rename函数调用不成功,给出相应的出错信息,否则,给出相应的成功信息〔60分〕〔20分〕用相应的命令查看调试结果〔10分〕注:rename函数原型是:int rename(constchar*oldname,constchar*newname)#include<stdio.h>#include<stdlib.h>intmain(intargc,char*argv[]){if(argc!=3){printf(“usage:a.out<oldname><newname>\n”);exit(1);}if(rename(argv[1],argv[2])<0)printf(“ERROR:renamecallfailed\n”);elseprintf(:”renamecallsuccessful\n”);exit(0);}其次套题:转变当前名目到指定名目要求:在系统中建立一个用建名目命令〔名目名自定〔10分〕chdirgetwdC程序〔程序名自定〕转变当前名目到指定名目,然后打印出该名目名。在程序中应有如下根本功能:当执行文件时,使用方法出错,请给出提chdirgetwdgetwd〔60分〕〔20分〕用相应的命令查看指定名目〔10分〕注:getwd函数原型是:int getwd(char*pathbuf);它的功能确定调用进程当前工作名目确实定路经名复制该路经名所指由我们自己供给的字符数组中,然后返回指向该数组的指针。调用成功返回0,否则返回-1chdir函数原型是:intchdir(constchar*pathname);它的功能是pathname指定的名目成为当前名目,调用成功返回0,否则,返回-1。该程序需要有头文件:unistd.h、stdlib.h、limits.h。#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<limits.h>intmain(intargc,char*argv[]){char*ptr=malloc(PATH_MAX+1);if(argc!=2){printf(“usage:a.out <pathname>\n”);exit(1);}if(chdir(argv[1])<0){printf(“ERRORchdircallfailed\n”);exit(1);}if(getwd(ptr)==NULL){printf(:”getwdcallfailed\n”);exit(1);}printf(:”cmd=%s\n”,ptr);exit(0);}第三套题:用fork()编写一个创立进程的C程序要求:用fork()编写一个创立进程的C程序〔程序名自定。程序的功能:假设fork()调用不成功,则作空循环;如成功,子进程执行execl(“/bin/ps“,“ps“,“-af“,(char*)0);父进程执行execl(“/bin/ls“,“ls“,““,“/home/stu“,(char*)0);〔80分〕〔20分〕派生进程执行程序*/#include<unistd.h>main{intpid;while((pid=fork)==-1);if(pid==0){execl(“/bin/ps“,“ps“,“-af“,(char*)0);}else{execl(“/bin/ls“,“ls“,““,“/home/stu“,(char*)0);}}第四题:用fork()编写一个创立进程的C程序用fork()编写一个创立进程的C程序〔程序名自定。程序的功能:假设fork()调用不成功,给出错误信息,退出;如成功,子进程执行execl(“/bin/ps“,“ps“,“-af“,(char*)0);父进程执行系统调用wait(NULL)execl(“/bin/ps“,“ps“,“-af“,(char*)0)完毕,父进程并显示出子进程执行完毕的信息printf(“lscompleted\n”)〔80分〕〔20分〕#include<unistd.h>main{intpid;pid=fork;swich(pid){case–1:case0:

printf(“forkfailed\n”);exit(1);execl(“/bin/ps“,“ps“,“-af“,(char*)0);exit(1);default:wait(NULL);printf(“lscompleted\n”);exit(0);}第六题:编写一个程序,用fork系统调用创立两个了进程。要求:进程显示一个字符;〔60分〕〔40分〕原程序:见指导书P68。第七套题:编写一个程序,用fork系统调用创立两个了进程要求:序运行时,在系统中有一个父进程和一个子进程。显示进程标识符;父进程显示字符’Itisaparentprocess!’,子进程显示’Itisachild process!’。正确写出上面功能的程序〔60分〕〔40分〕main{inti;while((i=fork==-1);printf(“i=%d\n”,i);if(i)printf(“Itisaparentprocess!\n);elseprintf(“Itisaparentprocess!\n);}第五套题:编写一个程序,创立两个进程通信要求:fork()编写一个创立进程的C程序,创立两个进程Sever和Client通信Client发来一条信息,Sever接收一条信息。正确写出上面功能的程序〔60分〕〔40分〕原程序:见指导书P76。第八套题:编写一个程序,实现进程的管道通信要求:编写一个C程序,实现进程的管道通信。使用系统调用pipe建立

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论