文档详情

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

发布:2017-06-17约1.82千字共5页下载文档
文本预览下载声明
计算机科学与技术学院实验报告 实验三、进程调度算法实验 学号: 日期:20140 班级:计基地12 姓名: 实验目的: 实验内容: 实验要求: 硬件环境:? 处理器:Intel? Core? i3-2350M CPU @ 2.30GHz × 4 图形:Intel? Sandybridge Mobile x86/MMX/SSE2 内存:4G 操作系统:32位 磁盘:20.1 GB 软件环境:ubuntu13.04 实验步骤: 3)输入make命令编译连接生成可执行的psched程序? $gmake? gcc?-g?-c?experiment3.c? gcc?psched.o?-o??psched 4)?? 执行psched程序 结论分析与体会: 实现方式:head = psched.h srcs = psched.c objs = psched.o opts = -g -c all: psched pctl: $(objs) gcc $(objs) -o pctl pctl.o: $(srcs) $(head) gcc $(opts) $(srcs) clean: rm psched *.o #include stdio.h #include stdlib.h #include sched.h #include sys/time.h #include sys/resource.h #include psched.h int main(int argc, char *argv[]){ int status,i,j,pid; signal(SIGINT,(sighandler_t)sigint); signal(SIGTSTP,(sighandler_t)sigtstp); pid=fork(); if(pid == 0){ for(i = 0;i5;i++){ printf(%d policy is %d, priority is %d,\n,getpid(),sched_getscheduler(getpid()),getpriority(PRIO_PROCESS,0)); sleep(1); printf(%d policy is %d, priority is %d,\n,getpid(),sched_getscheduler(getpid()),getpriority(PRIO_PROCESS,0)); sleep(1); } } else{ sleep(1); for(i = 0;i5;i++){ printf(%d policy is %d, priority is %d,\n,getpid(),sched_getscheduler(getpid()),getpriority(PRIO_PROCESS,0)); sleep(1); printf(%d policy is %d, priority is %d,\n,getpid(),sched_getscheduler(getpid()),getpriority(PRIO_PROCESS,0)); sleep(1); } } return EXIT_SUCCESS; } #include sys/types.h #include wait.h #include unistd.h #include signal.h #include stdio.h #include stdlib.h typedef void (*sighandler_t) (int); void sigint(){ int a = 0; a = getpriority(PRIO_PROCESS,0); a = a+1; setpriority(PRIO_PROCESS,getpid(),a); } void sigtstp(){ int a = 0; a = getpriority(PRIO_PROCESS,0); a = a-1; setpriority(PRIO_PROCESS,getpid(),a); } 分析: 。 体会:
显示全部
相似文档