Linux进程调度模拟算法的设计与实现

上传人:飞*** 文档编号:2663844 上传时间:2017-07-26 格式:DOC 页数:12 大小:216.50KB
返回 下载 相关 举报
Linux进程调度模拟算法的设计与实现_第1页
第1页 / 共12页
Linux进程调度模拟算法的设计与实现_第2页
第2页 / 共12页
Linux进程调度模拟算法的设计与实现_第3页
第3页 / 共12页
Linux进程调度模拟算法的设计与实现_第4页
第4页 / 共12页
Linux进程调度模拟算法的设计与实现_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《Linux进程调度模拟算法的设计与实现》由会员分享,可在线阅读,更多相关《Linux进程调度模拟算法的设计与实现(12页珍藏版)》请在金锄头文库上搜索。

1、.X x 学 院信息科学与工程学院课程设计任务书题目: Linux 进程调度模拟算法的设计与实现 学 号: 姓 名: 专 业: 课 程: 操作系统 指导教师: 职称: 讲 师 完成时间: 2012 年 5 月-2012 年 6 月xx 学院信息科学与工程学院制2012 年 06 月 20 日.课程设计任务书及成绩评定课程设计的任务和具体要求观察、体会操作系统的进程调度方法,并通过一个简单的进程调度模拟程序的实现,加深对进程调度算法,进程切换的理解。采用动态优先数的方法,编写一进程调度程序模拟程序。模拟程序只进行相应的调度设计。指导教师签字: 日期: 指导教师评语成绩: 指导教师签字: 日期:

2、.课程设计所需软件、硬件等系统: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、 调试

3、结果 .64、附录 .85、实验总结 .11.引言1. Linux 概述Linux 是一种免费的、开放源代码的、交互式、多用户和多任务的、类 Unix 的网络操作系统一,它包括系统内核、系统工具、应用程序以及一个完整的的开发环境。实际上,准确点说,Linux 指的是:一个类似 UNIX 的开放的操作系统内核。2. Linux 系统特点及主要功能Linux 系统的特点如下。 Linux 系统是真正的多用户、多任务、多平台操作系统。 Linux 系统提供具有内置安全措施的分层的文件系统,支持多达 32 种文件系统。 Linux 系统提供 Shell 命令解释程序和编程语言。 Linux 系统提供强

4、大的管理功能。 Linux 系统具有内核的编程接口。 Linux 系统具有图形用户接口。 Linux 系统具有大量有用的实用程序和通信、联网工具。 Linux 系统具有面向屏幕的编辑软件。 Linux 系统组成部分的源代码是开放的,任何人都能修改和重新发布它。 Linux 系统不仅可以运行自由发布的应用软件,还可以运行许多商业化的应用软件。.1、常用基本命的基本介绍:1.pwd -显示当前工作目录的绝对路径格式: pwd 2. cd -改变当前工作目录命令格式:cd 目录名 3Ls- 列出文件目录的信息命令格式:ls 可选项 子目录名 文件名4mkdir - 建立目录命令格式:mkdir 可选

5、项 目录名 5rmdir -删除目录本命令用于删除指定的一个或多个目录,必须保证要删除的目录中没有任何文件。命令格式:rmdir 可选项 目录名 6. cat -显示,新建,连接文件7. cp -功能:文件或目录的拷贝 ,如同 dos 的 copy命令格式: cp 选项 源文件或目录 目标文件或目录 8. mv -功能:为文件或目录改名或将文件由一个目录移入另一 个目录中 命令格式: mv 选项 源文件或目录 目标文件或目录 9. rm -功能:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除 命令格式: rm 选项 文件 2、 进程调度程序的设计2.1

6、进程调度无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。2.2 介绍优先权调度算法优先数法的基本思想是:对就绪队列中的每个进程,首先安某种原则定义一个优先数来表示它,处理机调度时,每次选择就绪队列中优先数最大者(也可规定优先数愈小,其优先权愈高) ,让它占用处理机运行。确定优先数一般可以又一下集中考虑:(1)频繁使用外部舒服输出设备的进程优先数大。这样有利于提高 CPU 使用效率。(2)重要程序的进程优先数大,怎样有利于用

7、户灵活操作。(3)进入计算机系统时间长的进程优先数大,这样有利于缩短作业的完成时间。(4)交互式用户作业进程优先数大,这样有利于提高中断相应时间。优先数的设置可以采用静态和动态两种方式。静态设置方式就是指系统在建立一个.进程时,就按照某种原则为进程制定一个优先数,这个优先数在进程存在期间一直保持不便。而动态设置方式是指系统在进程存在期间经常改变进程的优先数,如何动态的改变进程的优先数,依赖于具体操作系统的设计目标。3、 调试结果.4、附录#include ;#define getpch(type) (type*)malloc(sizeof(type)struct pcb /* 定义进程控制块

8、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

9、/* 进程比较优先级,插入适当的位置中*/ 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 createpc

10、b() /* 建立进程控制块函数*/ 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); /*显示当

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号