1. 实验目的 调度的实质是操作系统按照某种预定的策略来分配资源。进程调度的目的是分配CPU资源。由于进程调度程序执行的频率很高,因此调度算法的好坏直接影响到操作系统的性能。本实验的目的是编程模拟实现几种常用的进程调度算法,通过对几组进程分别使用不同的调度算法,计算进程的平均周转时间和平均带权周转时间,比较各种算法的性能优劣。 2. 实验原理 [1]. 进程调度算法描述 进程调度算法包括先来先服务调度算法、最短作业时间优先(抢占式和非抢占式)、最高响应比调度算法4种。(每个人必须做FCFS,然后在后面的三种中任选一种,即每个人必须做2种调度算法的模拟。) [2]. 衡量算法性能的参数 计算进程的平均周转时间和平均带权周转时间。 3. 实验内容 (1)编程实现本实验的程序,要求: [1]. 建立进程的进程控制块,进程控制块至少包括: a) 进程名称; b) 进程需要执行时间; c) 进入就绪队列时间; d) 进程执行开始时间 e) 进程执行结束时间 [2]. 编程实现调度算法。 [3]. 进程及相关信息的输入。这些信息可以直接从键盘上输入,也可以从文件读取。 [4]. 时间片与时间流逝的模拟。本实验需要对算法的执行计时,程序应该提供计算时间的方法。一种最简单的方法是使用键盘,比如每敲一次空格代表一个时间片的流逝。另一种方法是使用系统时钟。 [5]. 一组进程序列执行完毕,打印出结果信息。程序需要计算出每个进程的开始执行时间、结束时间、周转时间和带权周转时间,并为整个进程序列计算平均周转时间和平均带权周转时间。程序将计算结果按一定的格式显示在计算机屏幕上或输出到文件中。打印出进程调度顺序图。 [6]. 实现数据在磁盘文件上的存取功能。 (2)对下列就绪进程序列分别使用上面的几种算法进行调度,计算每种算法下的平均周转时间和平均带权周转时间。 进程号 到达时间 要求执行时间 0 0 1 1 1 35 2 2 10 3 3 5 4 6 9 5 7 21 6 9 35 7 11 23 8 12 42 9 13 1 10 14 7 11 20 5 12 23 3 13 24 22 14 25 31
2019-12-21 21:58:39 11KB FCFS SJF 进程
1
人工智能的八数码的深度优先算法c++实现
2019-12-21 21:55:31 4KB 八数码 深度优先 人工智能
1
实验内容: 进程调度模拟程序:假设有10个进程需要在CPU上执行,分别用:  先进先出调度算法;  基于优先数的调度算法;  最短执行时间调度算法 确定这10个进程在CPU上的执行过程。要求每次进程调度时在屏幕上显示:  当前执行进程;  就绪队列;  等待队列 实验目的: 1)掌握处理机调度及其实现; 2)掌握进程状态及其状态转换; 3)掌握进程控制块PCB及其作用。 实验要求: 1) 创建10个进程的PCB,每个PCB包括:进程名、进程状态、优先级(1~10)、需要在处理机上执行的时间(ms)、队列指针等; 2) 初始化10个PCB(产生随机数0或1,分别表示进程处于就绪态或等待态); 3) 根据调度算法选择一个就绪进程在CPU上执行; 4) 在进程执行过程中,产生随机数0或1,该随机数为1时,将等待队列中的第一个PCB加入就绪队列的对尾; 5) 在进程执行过程中,产生一个随机数,表示执行进程能在处理机上执行的时间,如果随机时间大于总需要的时间,则执行完成。如果小于,则从总时间中减去执行时间。 6) 如果执行进程没有执行完成。则产生随机数0或1,当该随机数为0时,将执行进程加入就绪队列对尾;否则,将执行进程加入等待队列对尾; 7) 一直到就绪队列为空,程序执行结束。
1
广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略。本程序用Matlab语言实现广度优先算法
2019-12-21 21:39:45 2KB matlab 广度优先
1
用java实现高响应比优先算法,考虑了空转的情况(即:在前面的进程做完之前后面的进程没有进入)。
2019-12-21 21:39:27 7KB 操作系统 高响应比 java
1
人工只能作业,利用python实现深度优先搜索解决八数码问题,测试通过,
2019-12-21 21:37:37 4KB DFS BFS
1
这是我做的编译原理简单优先文法判定和分析器的构造。 包括第一章 概述 3 1.1 项目背景 3 1.2 设计目的 3 1.3 实验环境与开发工具 3 1.4 C++语言 4 第二章 需求分析 5 2.1 问题陈述 5 2.1.1 简单优先文法 5 2.1.2 简单优先文法的定义 6 2.1.3 简单优先文法的算法 6 2.1.4 简单优先分析法的操作步骤 6 2.2 需要完成的功能 7 2.2.1 判定输入的文法是否是简单优先文法 7 2.2.2 构造文法的简单优先关系矩阵 7 2.3 分析器的构造 7 第三章 逻辑设计 9 3.1系统的组织与基本工作流程 9 3.2 总体结构逻辑结构图 9 第思章 软件功能设计 11 4.1 软件功能分析 11 4.1.1 判定文法是否为简单优先文法 11 4.1.2 查找分析文法优先关系相等 12 4.1.3 查找分析文法中小于的关系 14 4.1.4 查找分析文法中大于的关系 15 4.1.5 构造文法的简单优先关系矩阵 16 第五章 界面设计 18 5.1用户输入文法界面 19 5.2优先矩阵的初始状态 20 5.3 文法中等于关系 21 5.4 小于关系 22 5.5 大于关系 23 5.6 优先关系矩阵 25 小结 27 参考文献 28 附录 29
2019-12-21 21:34:53 337KB 编译原理 课程设计 概要 引言
1
编译原理语法分析中的算符优先编译原理语法分析中的算符优先编译原理语法分析中的算符优先编译原理语法分析中的算符优先编译原理语法分析中的算符优先编译原理语法分析中的算符优先编译原理语法分析中的算符优先编译原理语法分析中的算符优先编译原理语法分析中的算符优先编译原理语法分析中的算符优先
2019-12-21 21:34:36 2KB 编译原理 语法分析 算符
1
重庆理工大学 编译原理 课程设计。用java编写,有漂亮的界面,支持词法分析,正规式转换、LL(1)分析、LR(0)分析、算符优先分析
2019-12-21 21:32:36 189KB 语法分析
1
图的深度优先搜索,广度优先搜索,最小生成树算法,包括kruskal、prim算法的代码,以及详细的注释。深度优先应用递归、广度优先搜索利用队列、kruskal利用STL中的关联容器set、prim算法利用二叉堆结构进行优化。
2019-12-21 21:32:16 1.09MB 图,算法
1