- 1、本文档共29页,可阅读全部内容。
- 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
《计算机操作系统》
实验指导
苏州科技学院电子与信息工程系
软件教研室
二OO二年九月
示例代码
第一部分 LINUX 操作系统平台
实验一 命令解释程序
示例程序minishell.c
//文 件 名 minishell.cpp
//功 能 小型SHELL命令解释程序
//开发环境
#define true 1
#define flase 0
#include stdio.h
#include string.h
#include stdlib.h
void main()
{
char cmdl[80];
char *scwt[]={exit,dir,time};
static int cmdnum=3; //可用的命令数
char cmd[80];
int j,n;
while(true)
{
printf(Please input command: );
gets(cmdl); //取命令行输入
n=strcspn(cmdl, ); //取命令命令部分
if (n0||strlen(cmdl)0)
{ strncpy(cmd,cmdl,n);
cmd[n]=\0;
for(j=0;jcmdnum;j++)
if (strcmp(cmd,scwt[j])==0)
break;
if (j==0) //是exit命令?
exit(0);
if (jcmdnum) //其他合法命令
{
system(cmdl);
continue;
}
printf(Bad command!\n); //命令错
}
}
}
实验二 进程管理
fork()调用示例
#include stdio.h
main(){
int p1,p2;
while ((p1=fork())==-1);
if (p1==0) //是子进程?
putchar(b);
else //父进程
{
putchar(a);
}
}
实验三 进程间通信
1)pipe()调用示例
#includestdio.h
main()
{
int id,fd[2];
char buf[50],s[50];
pipe(fd);
while ((id=fork())==-1);
if (id==0)
{
sprintf(buf,Child is sending message!);
write(fd[1],buf,50);
exit(0);
}
else
{
wait(0);
read(fd[0],s,50);
printf(%s\n,s);
exit(0);
}
}
2)共享存储器示例shm_sample.c
#include stdio.h
#include sys/types.h
#include sys/ipc.h
#include sys/shm.h
#define SEGSIZE 100
main(int argc, char *argv[])
{ key_t key;
int shmid, cntr;
char *segptr;
if(argc == 1)
usage(); /* Create unique key via call to ftok() */
key = ftok(., S);
/* Open the shared memory segment - create if necessary */
if((shmid = shmget(key, SEGSIZE, IPC_CREAT|IPC_EXCL|0666)) == -1)
{
printf(Shared memory segment exists - opening as client\n);
/* Segment probably already exists - try as a client */
if((shmid = shmget(key, SEGSIZE, 0)) == -1)
{
perror(shmget);
exit(1);
}
}
else
{
printf(Creating new shared memory segment\n);
}
/* Attach (map) the shared memory segment into the current process */
if((segptr = shmat(shmid, 0, 0)) == -1)
{
perror(s
您可能关注的文档
- 招行IT融博科技笔试面试题.doc
- 招聘体系建设大纲.docx
- 拜泉县中医院两学一做教育学习实施方案.docx
- 招标文件范本2013版.doc
- 拟南芥突变体相关分析.docx
- 拥有阳光心态做好本职工作.doc
- 拱架加工(徐家斜井).docx
- 拱架加工技术交底.doc
- 挂车轮胎自燃原因分析预防措施和应急处置.docx
- 挂靠单位承诺书-版本.docx
- 2024年黑龙江省伊春市新青区青林林场招聘社区工作者真题及答案详解一套.docx
- 2024年黑龙江省伊春市友好区中心经营所招聘社区工作者真题及答案详解一套.docx
- 2024年辽宁省抚顺市望花区光明街道招聘社区工作者真题及完整答案详解1套.docx
- 2024年黑龙江省佳木斯市汤原县鹤立林业局招聘社区工作者真题及参考答案详解1套.docx
- 2024年辽宁省朝阳市北票市城关街道招聘社区工作者真题及完整答案详解1套.docx
- 2024年辽宁省盘锦市双台子区红旗街道招聘社区工作者真题附答案详解.docx
- 2024年贵州省黔南布依族苗族自治州长顺县长寨镇招聘社区工作者真题附答案详解.docx
- 2024年黑龙江省双鸭山市宝山区双鸭山林业局宝山经营所招聘社区工作者真题含答案详解.docx
- 2024年辽宁省朝阳市双塔区红旗街道招聘社区工作者真题及答案详解一套.docx
- 2024年辽宁省沈阳市苏家屯区八一镇招聘社区工作者真题及答案详解1套.docx
最近下载
- 电商代运营合同.doc VIP
- 2023年尤溪县城管协管员招聘笔试试题及答案.docx VIP
- UL2580-2022(Jun28,2022)必威体育精装版教程手册.pdf VIP
- 河北建投新能源有限公司武川大元山(小井)环境影响报告表.doc
- 如何看懂财务报表.pptx VIP
- 水务行业作业指导书SOP:污水处理站管理制度及操作规程(内有17份操作规程).docx VIP
- 2021年尤溪县城管协管员笔试试题及答案解析.docx VIP
- 广西南宁市天桃实验学校2024-2025学年七年级上学期开学分班考英语试题(含解析).docx VIP
- 2025抗菌药物培训试题(+答案).docx VIP
- 公司党建章程范本模板.docx VIP
文档评论(0)