- 65
- 0
- 约2.09千字
- 约 5页
- 2016-11-29 发布于重庆
- 举报
操作系统实验三实验报告
操作系统实验三实验报告基本信息? 1.1 实验题目 进程调度算法实验 1.2完成人 王召德? 1.3报告日期 2015-4-16 实验内容简要描述 2.1实验目标 ? 加深对进程调度概念的理解,体验进程调度机制的功能,了解 Linux 系统中进程调度策略的使用方法。 练习进程调度算法的编程和调试技术。2.2实验要求 ? 设有两个并发执行的父子进程,不断循环输出各自进程号、优先数和调度策略。进程初始调度策略均为系统默认策略和默认优先级。当某个进程收到 SIGINT信号时会自动将其优先数加 1,收到 SIGTSTP 信号时会自动将其优先数减 1。请编程实现以上功能。2.3实验的软硬件环境Ubuntu14.04intelPC报告的主要内容 ? 3.1实验的思路 父进程生成子进程分别都绑定SIGINT和SIGTSTP信号,并且在函数中分别让优先级加一和减一,然后分别打印二十次自己的PID,优先级,调度策略。每次按Ctrl-C优先级会加一,按Ctrl-Z优先级会减一。3.2实验模型的描述 无? 3.3主要数据结构的分析说明 ?无 3.4主要算法代码的分析说明 无? 3.5项目管理文件的说明 无实验过程和结果 ? 4.1实验投入的实际学时数 1学时? 4.2调试排错过程的记录 在调试过程中,两个进程id搞错导致处理错误? 4.3多种方式测试结果的记录4.4实验结果的分析综合无实验的总结系统可以有多种不同的策略调度进程,其中按照优先级调度,可以给某个进程设置优先级,这个优先级可正可负,可以根据优先级的大小进行调度,而且这个优先级可以在进程执行中改变。附录程序源代码#include sched.h#include sys/time.h#include sys/resource.h#include signal.h#include stdio.h#include stdlib.h// SIGINT 程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。// SIGTSTP 停止进程的运行, 但该信号可以被处理和忽略. 用户键入SUSP字符时(通常是Ctrl-Z)发出这个信号typedef void (*sighandler_t) (int);void sigcat_1(){printf(SIGINT信号,优先度加一\n);setpriority(PRIO_PROCESS,getpid(),getpriority(PRIO_PROCESS,getpid())+1);}void sigcat_2(){printf(SIGTSTP信号,优先度减一\n);setpriority(PRIO_PROCESS,getpid(),getpriority(PRIO_PROCESS,getpid())-1);}int main(int argc, char *argv[]){ int i,j,pid; //srand((unsigned)time(0)); printf(Ctrl-C让进程优先度加一,Ctrl-Z让进程优先度减一); if((pid=fork())==0) { signal(SIGINT,(sighandler_t)sigcat_1); signal(SIGTSTP,(sighandler_t)sigcat_2); for(i=0;i20;i++){ printf(子进程 PID = %d 优先级= %d ,调度策略= %d\n,getpid(),getpriority(PRIO_PROCESS,0),sched_getscheduler(getpid())); /* if(rand()%2){ printf(子进程发送SIGINT信号给父进程\n); kill(getppid(),SIGINT); }else{ printf(子进程发送SIGTSTP信号给父进程\n); kill(getppid(),SIGTSTP); } pause(); */ sleep(1); } }else{ signal(SIGINT,(sighandler_t)sigcat_1); signal(SIGTSTP,(sighandler_t)sigcat_2); for(i=0;i20;i++){ printf(父进程 PID = %d 优先级= %d ,调度策略= %d\n,getpid(),getpriority(PRIO_PROCESS,0),sched_getscheduler(getpid())); /* if(rand()%2){ printf(父进程发送SIGINT信号给子进程\n); kill(pid,SIGINT); }else{ printf(父进程发送SIGTST
您可能关注的文档
- 担保风险责任的划分.doc
- 报废汽车资源化利用的现状.doc
- ARTIntroduction.pptx
- 拉手网络营销战略计划书(附促销活动策划).doc
- 拉丁美洲音乐安第斯高原探戈音乐文化的融合.doc
- 拓展作业(一).doc
- 拒绝服务攻击的实现.doc
- 抽油机手动集中润滑系统2015.doc
- 拉力分散型锚杆在明挖隧道.doc
- B2B的基本知识介绍.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
原创力文档

文档评论(0)