操作系统课程设计.ppt
上传人:sy****28 上传时间:2024-09-14 格式:PPT 页数:28 大小:136KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

操作系统课程设计.ppt

操作系统课程设计.ppt

预览

免费试读已结束,剩余 18 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

操作系统课程设计实验一Linux初步文本编辑相关vied系统命令rebootshutdownchmodchgrpchownuseraddgroupadd三、Linux环境编程1、基本流程和命令编辑->编译->调试->连接->运行编辑:常用vi或其他IDE集成开发环境编译:gcc–oabcabc.cgcc–g–oabcabc.c//abc中加调试信息调试:gdbabc//只有在编译时加了-g选项才可能用gdb调试breakNUM在指定的行上设置断点。clear删除设置在特定源文件、特定行上的断点。ClearFILENAME:NUM。printEXPR显示表达式EXPR的值list显示源代码段next在不单步执行进入其他函数的情况下,向前执行一行源代码help帮助q退出运行./abc四、常用系统调用(1)设备管理:如ioctrl()(2)文件管理:open()close()read()write()(3)进程控制:fork()wait()getpid()exec()(4)进程通信:signal()kill()(5)存储管理:memset()五、实习用文件系统相关系统调用,打开/proc/sys/fs/file-max文件,获得本操作系统最大可打开文件句柄数。实验二Linux系统调用分析四、要求分析源代码,分组讨论分工合作。要求至少有以下内容:进程idstructtask_struct分析structtask_struct{volatilelongstate;/*-1unrunnable,0runnable,>0stopped*/unsignedlongflags;…inthas_cpu;intprocessor;intlast_processor;intlock_depth;structtask_struct*next_task,*prev_task;structtask_struct*next_run,*prev_run;pid_tpid;structtask_struct*p_opptr,*p_pptr,*p_cptr,*p_ysptr,*p_osptr;structtask_struct*pidhash_next;structtask_struct**pidhash_pprev;…}Pidhash分析linux进程的6种状态:#defineTASK_RUNNING0#defineTASK_INTERRUPTIBLE1#defineTASK_UNINTERRUPTIBLE2#defineTASK_ZOMBIE4#defineTASK_STOPPED8#defineTASK_SWAPPING16do_fork流程框图do_execve流程框图Fork()实例#include<stdio.h>Main(){Intgetpid(),getppid(),pid;puts(“Beforefork.”);Printf(“Theparentpidofprocess%dis%d\n”,getpid(),getppid());If((pid=fork())==-1)exit(1);ElseIf(pid==0)//子进程{puts(“childprocessafterfork”);Printf(“Theparentpidofprocess%dis%d\n”,getpid(),getppid());exit(1);}Else//父进程{wait();puts(“parentprocessafterfork”);Printf(“Theparentpidofprocess%dis%d\n”,getpid(),getppid());Printf(“Thechildpidofprocess%dis%d\n”,getpid(),pid);}Exit(0);}实验三进程间通信Msgget():建立消息队列;返回消息队列idIntmsgget(key_tkey,intflags)Msgctl():取得、修改消息队列属性intmsgctl(intmsgid,intcmd,structmsqid_ds*mbuf)Msgsnd()与msgrcv()intmsgsnd(msgid,void*msgp,msgtype,msgflag);Intmsgrcv(msgid,msgp,size_t,msgtype,msgflag)三、模拟生产者-消费者进程通信过程1、PV操作与生产者消费者问题回