山东大学操作系统实验报告3进程调度算法实验

山东大学操作系统实验报告3进程调度算法实验

ID:38794014

大小:79.50 KB

页数:7页

时间:2019-06-19

山东大学操作系统实验报告3进程调度算法实验_第1页
山东大学操作系统实验报告3进程调度算法实验_第2页
山东大学操作系统实验报告3进程调度算法实验_第3页
山东大学操作系统实验报告3进程调度算法实验_第4页
山东大学操作系统实验报告3进程调度算法实验_第5页
资源描述:

《山东大学操作系统实验报告3进程调度算法实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机科学与技术学院实验报告实验三、进程调度算法实验学号:日期:20140409班级:计基地12姓名:实验目的:加深对进程调度概念的理解,体验进程调度机制的功能,了解Linux系统中进程调度策略的使用方法。练习进程调度算法的编程和调试技术。实验内容:设有两个并发执行的父子进程,不断循环输出各自进程号、优先数和调度策略。进程初始调度策略均为系统默认策略和默认优先级。当某个进程收到SIGINT信号时会自动将其优先数加1,收到SIGTSTP信号时会自动将其优先数减1。请编程实现以上功能。实验要求:根据以上示例程序和独立实验程序中观察和记录的信息,说明它们

2、反映出操作系统教材中讲解的哪些进程调度调度策略和功能?在真实的操作系统中它是怎样实现教材中讲解的进程调度效果的。你对于进程调度的概念哪些新的理解和认识?根据实验程序、调试过程和结果分析写出实验报告。硬件环境: 处理器:Intel®Core™i3-2350MCPU@2.30GHz×4图形:Intel®SandybridgeMobilex86/MMX/SSE2内存:4G操作系统:32位磁盘:20.1GB软件环境:ubuntu13.04实验步骤:一个父进程创建一个子进程,这两个进程并发执行,其中定义父进程响应CTRL+C信号,子进程响应CTRL+Z信号,

3、同时实现父进程响应后优先数加1,子进程响应后减1,打印出这两个进程的id号和优先数和调度策略。1)建立psched.c程序,将代码写到程序中; 2)建立以下项目管理文件Makefile3)输入make命令编译连接生成可执行的psched程序 $gmake gcc -g -c experiment3.c gcc psched.o -o  psched4)  执行psched程序结论分析与体会:实现方式:head=psched.hsrcs=psched.cobjs=psched.oopts=-g-call:pschedpctl:$(objs)gcc$(

4、objs)-opctlpctl.o:$(srcs)$(head)gcc$(opts)$(srcs)clean:rmpsched*.o#include#include#include#include#include#include"psched.h"intmain(intargc,char*argv[]){intstatus,i,j,pid;signal(SIGINT,(sighandler_t)sigint);signal(SIGTSTP

5、,(sighandler_t)sigtstp);pid=fork();if(pid==0){for(i=0;i<5;i++){printf("%dpolicyis%d,priorityis%d,",getpid(),sched_getscheduler(getpid()),getpriority(PRIO_PROCESS,0));sleep(1);printf("%dpolicyis%d,priorityis%d,",getpid(),sched_getscheduler(getpid()),getpriority(PRIO_PROCESS

6、,0));sleep(1);}}else{sleep(1);for(i=0;i<5;i++){printf("%dpolicyis%d,priorityis%d,",getpid(),sched_getscheduler(getpid()),getpriority(PRIO_PROCESS,0));sleep(1);printf("%dpolicyis%d,priorityis%d,",getpid(),sched_getscheduler(getpid()),getpriority(PRIO_PROCESS,0));sleep(1);}}

7、returnEXIT_SUCCESS;}#include#include#include#include#include#includetypedefvoid(*sighandler_t)(int);voidsigint(){inta=0;a=getpriority(PRIO_PROCESS,0);a=a+1;setpriority(PRIO_PROCESS,getpid(),a);}voidsigtstp(){inta=0;a=

8、getpriority(PRIO_PROCESS,0);a=a-1;setpriority(PRIO_PROCESS,ge

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

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

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