资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.X x 学 院信息科学与工程学院课程设计任务书题目: Linux 进程调度模拟算法的设计与实现 学 号: 姓 名: 专 业: 课 程: 操作系统 指导教师: 职称: 讲 师 完成时间: 2012 年 5 月-2012 年 6 月xx 学院信息科学与工程学院制2012 年 06 月 20 日.课程设计任务书及成绩评定课程设计的任务和具体要求观察、体会操作系统的进程调度方法,并通过一个简单的进程调度模拟程序的实现,加深对进程调度算法,进程切换的理解。采用动态优先数的方法,编写一进程调度程序模拟程序。模拟程序只进行相应的调度设计。指导教师签字: 日期: 指导教师评语成绩: 指导教师签字: 日期: .课程设计所需软件、硬件等系统:Windows XP 上的虚拟机上运行的 Red Hat Linux软件:VC+6.0课程设计进度计划起至日期 工作内容 备注5 月 30 日至 6 月 17日收集资料程序设计参考文献、资料索引序号 文献、资料名称 编著者 出版单位01. Linux 操作系统项目化教程 王艳青 北京大学出版社02. 数据结构 栾晓春 燕孝飞 中国石油大学出版社.目录目录 .3引言 .41. Linux 概述 .42. Linux 系统特点及主要功能 .41、常用基本命的基本介绍: .52、 进程调度程序的设计 .52.1 进程调度 .52.2 介绍优先权调度算法 .53、 调试结果 .64、附录 .85、实验总结 .11.引言1. Linux 概述Linux 是一种免费的、开放源代码的、交互式、多用户和多任务的、类 Unix 的网络操作系统一,它包括系统内核、系统工具、应用程序以及一个完整的的开发环境。实际上,准确点说,Linux 指的是:一个类似 UNIX 的开放的操作系统内核。2. Linux 系统特点及主要功能Linux 系统的特点如下。 Linux 系统是真正的多用户、多任务、多平台操作系统。 Linux 系统提供具有内置安全措施的分层的文件系统,支持多达 32 种文件系统。 Linux 系统提供 Shell 命令解释程序和编程语言。 Linux 系统提供强大的管理功能。 Linux 系统具有内核的编程接口。 Linux 系统具有图形用户接口。 Linux 系统具有大量有用的实用程序和通信、联网工具。 Linux 系统具有面向屏幕的编辑软件。 Linux 系统组成部分的源代码是开放的,任何人都能修改和重新发布它。 Linux 系统不仅可以运行自由发布的应用软件,还可以运行许多商业化的应用软件。.1、常用基本命的基本介绍:1.pwd -显示当前工作目录的绝对路径格式: pwd 2. cd -改变当前工作目录命令格式:cd 目录名 3Ls- 列出文件目录的信息命令格式:ls 可选项 子目录名 文件名4mkdir - 建立目录命令格式:mkdir 可选项 目录名 5rmdir -删除目录本命令用于删除指定的一个或多个目录,必须保证要删除的目录中没有任何文件。命令格式:rmdir 可选项 目录名 6. cat -显示,新建,连接文件7. cp -功能:文件或目录的拷贝 ,如同 dos 的 copy命令格式: cp 选项 源文件或目录 目标文件或目录 8. mv -功能:为文件或目录改名或将文件由一个目录移入另一 个目录中 命令格式: mv 选项 源文件或目录 目标文件或目录 9. rm -功能:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除 命令格式: rm 选项 文件 2、 进程调度程序的设计2.1 进程调度无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。2.2 介绍优先权调度算法优先数法的基本思想是:对就绪队列中的每个进程,首先安某种原则定义一个优先数来表示它,处理机调度时,每次选择就绪队列中优先数最大者(也可规定优先数愈小,其优先权愈高) ,让它占用处理机运行。确定优先数一般可以又一下集中考虑:(1)频繁使用外部舒服输出设备的进程优先数大。这样有利于提高 CPU 使用效率。(2)重要程序的进程优先数大,怎样有利于用户灵活操作。(3)进入计算机系统时间长的进程优先数大,这样有利于缩短作业的完成时间。(4)交互式用户作业进程优先数大,这样有利于提高中断相应时间。优先数的设置可以采用静态和动态两种方式。静态设置方式就是指系统在建立一个.进程时,就按照某种原则为进程制定一个优先数,这个优先数在进程存在期间一直保持不便。而动态设置方式是指系统在进程存在期间经常改变进程的优先数,如何动态的改变进程的优先数,依赖于具体操作系统的设计目标。3、 调试结果.4、附录#include ;#define getpch(type) (type*)malloc(sizeof(type)struct pcb /* 定义进程控制块 PCB */ char name10; /进程名char state; /状态int super; /优先级int ntime; /要求服务时间int rtime; /已运行时间struct pcb* next; *ready=NULL,*p;typedef struct pcb PCB;void sort(PCB *a) /* 建立对进程进行优先级排列函数*/ PCB *first, *second; int insert=0; if(ready=NULL)|(a-super)(ready-super) /*优先级最大者,插入队首*/ a-next=ready; ready=a; else /* 进程比较优先级,插入适当的位置中*/ first=ready; second=first-next; while(second!=NULL) if(a-super)(second-super) /*若插入进程比当前进程优先数大,插入到当前进程前面*/a-next=second; first-next=a; second=NULL; insert=1; else /*指针后移,寻找插入点*/first=first-next; second=second-next; . if(insert=0) first-next=a;/* 插入进程优先数最低,则插入到队尾*/ void createpcb() /* 建立进程控制块函数*/ int i,num; printf(t 模拟最高优先权优先调度:tn);printf(n 请输入进程个数:); scanf(%d,&num); for(i=0;iname,&p-super,&p-ntime); p-rtime=0; p-state=w; p-next=NULL; sort(p); void display1() /*建立进程显示函数 ,用于显示当前进程*/ printf(n 进程名 状态 优先数 要求服务的时间 已运行时间 n); void display2(PCB * pr) printf(%3.5s %7c %6d %12d %10d,pr-name,pr-state,pr-super,pr-ntime,pr-rtime);printf(n); void check() /* 建立进程查看函数 */ PCB *pr; printf(n);printf(n);printf(n * 当前正在运行的进程是%s,它的状态如下:n,p-name); /*显示当
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号