操作系统课程设计报告模板

操作系统课程设计报告模板

ID:16421633

大小:288.22 KB

页数:12页

时间:2018-08-09

操作系统课程设计报告模板_第1页
操作系统课程设计报告模板_第2页
操作系统课程设计报告模板_第3页
操作系统课程设计报告模板_第4页
操作系统课程设计报告模板_第5页
资源描述:

《操作系统课程设计报告模板》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、西安郵電大學操作系统设计报告题目:进程、线程、互斥锁院系名称:计算机学院专业名称:软件工程班级:1104学生姓名:赵大伟学号(8位):04113124指导教师:舒新峰设计起止时间:2013.11.10—2013.11.20一.设计目的1)通过观察、分析实验现象,深入理解进程及进程在调度执行和内存空间等方面的特点,掌握在POSIX规范中fork和kill系统调用的功能和使用。2)通过观察、分析实验现象,深入理解线程及线程在调度执行和内存空间等方面的特点,并掌握线程与进程的区别。掌握POSIX规范中pthread_create()函数的功能和使用方法。

2、3)通过观察、分析实验现象,深入理解理解互斥锁的原理及特点掌握在POSIX规范中的互斥函数的功能及使用方法。二.设计内容1)创建一个进程,父子进程相互交替执行,输出子进程号和进程ID2)创建三个线程,输出三个线程运行的次数和当前主线程运行次数以及三个线程次数和。3)使用POSIX规范中的互斥函数,实现加锁解锁4)信号量机制的方法,实现进程的加锁解锁,且不产生死锁三.概要设计1)生成一个进程,通过switch()判断,来确定生成的进程是子进程还是父进程,还是错误的;子进程号定义为全局变量;利用kill()杀死进程,退出程序。2)利用循环创建三个线程,

3、dowhile循环,每运行一次:输出三个线程运行的次数,当输入q时候,退出程序。3)创建一个线程,在循环中进行申请资源,释放资源,加锁,以及解锁的操作,熟悉互斥锁的工作方式。四.详细设计1)进程交替进行当程序执行到for(i=0;i

4、行。2)kill命令杀死进程while((ch=getchar())!='q'){if(isdigit(ch)){i=ch-'0';kill(pid[i],SIGTERM);}}for(i=0;i<10;i++){kill(pid[i],SIGTERM);}return;}3)进程运行次数do{unsignedlonglongsum=0;for(i=0;i

5、m);}while((ch=getchar())!='q');4)进程加锁,解锁a、for(i=0;i

6、0;i

7、:六.调试情况,设计技巧及体会1.改进方案1)POSIX规范中fork和kill都是有返回值的,为了程序更加严谨,应该在kill命令也使用接受返回值,如果返回值为-1,则退出。2)程序退出时候使用了return(),但是书上介绍调用exit()结束的方式会比较好,这个需要以后注意3)在有些地方,不应该使用死循环,虽然最后可以q退出,但是这样会导致CPU利用率很大2.体会在进程,线程,互斥锁编程序以后,自己对系统的运行以及管理有了初步的了解,也明白了进程和线程都是操作系统的程序运行的基本单元,明白了进程的创建,杀死,父子进程的关系,线程的并发执行,互

8、斥锁的用法,但是自己还是知道自己在这些方面的使用还不是特别的熟练,自己还需要在以后的学习中,多多的写这方面的程序,以达到熟

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。