-
大小: 1KB文件类型: .rar金币: 2下载: 0 次发布日期: 2021-05-28
- 语言: 其他
- 标签: Printer Simulation: FIFO
资源简介
Experiment 1 Printer Simulation: FIFO(2 hours), fifo.cpp,fifo.h

代码片段和文件信息
#include “fifo.h“
#include
using namespace std;
fifo::fifo(int seconds_per_page):simulator(seconds_per_page){}
void fifo::simulate(string file){
loadworkload(file);
queue waiting;
queue servicing;
int timer = 0;//现在的时间
int service_time = workload.front().arrival_time();//打印时的时间
int sz = workload.size();
float aggregate_latency = 0;
int eventNum = 0;
cout<<“FIFO Simulation“<
while(!workload.empty()){
for( ;eventNum < sz; timer++){
while(true){
if(!workload.empty()){
//当timer等于workload中顶端元素的wait_until时,往waiting里压入even,在屏幕上打印出这项任务到达的信息。
//判断serving是否为空,空的话压入workload顶端元素even,并打印出这项任务正在打印的信息
if(timer == workload.front().arrival_time()){
waiting.push(workload.front());
cout <<“Arriving: “ < <<“ at “ << timer <<“ seconds “<< endl;
if(servicing.empty()){
servicing.push(workload.front());
cout <<“Servicing: “ << servicing.front().getjob()
<< “ at “ << timer <<“ seconds “<< endl;
}
workload.pop();
}else
break;
}else
break;
}
if(waiting.empty()){
continue;
}
//判断serving是否为空,空的话,waiting弹出顶端元素。Serving压入waiting的顶端元素,并打印这项任务正在打印的信息,
//并且计算aggregate_latency += service_time - waiting.front().arrival_time();
if(servicing.empty()){
waiting.pop();
servicing.push(waiting.front());
cout <<“Servicing: “ << servicing.front().getjob()
<< “ at “ << timer <<“ seconds “<< endl;
aggregate_latency += service_time - waiting.front().arrival_time();
}
//判断timer == servicing.front().getjob().getnumpages() *seconds_per_page +service_time - 1
//如果是的话,证明上一项even已经处于结束阶段,打印时间+1,并且弹出serving的顶端元素。
if(timer == servicing.front().getjob().getnumpages() * seconds_per_page +
service_time - 1){
service_time = timer + 1;
servicing.pop();
eventNum++;
}
}
}
cout< cout<<“Aggregate latency: “ < cout<<“Mean latency: “<< aggregate_latency/eventNum <<“ seconds“ << endl;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2879 2017-06-19 16:05 实验源代码1\fifo.cpp
文件 324 2011-05-11 23:10 实验源代码1\fifo.h
目录 0 2017-06-23 21:50 实验源代码1
----------- --------- ---------- ----- ----
3203 3
- 上一篇:清理CREO_ProE旧版本文件
- 下一篇:pulist.exe
相关资源
- 周立功开发板ProASIC3实验-syn_FIFO代码
- SIM908 SDIO FSMC STM32 FIFO
- BullZip PDF Printer v10.10.0.2307 官方版
- OV7670无fifo模块资料及stm32程序
- 操作系统实现请求分页存储管理页面
- USB2.0芯片cy68013高速bulk传输slave fifo模
- smartprinter3.6免注册
- 带FIFO模块的OV7670的STM32测试程序
- xilinx fifo ip核文档说明
- ov7670带fifo的stm32f4程序
- 页面置换算法FIFO,LRU,NRU,OPT
- xilinx 官方fifo IP使用手册
- FlashPrinter2 真正破解绿色版
- xilinxFIFO_IP核的datasheet
- FPGA+USB68013+SLAVEFIFO+SDRAM+FIFO
- OV7670中文数据手册无FIFO
- Ink-jetPrinter.zip
- Adobe_PDF_Printer7
- 操作系统课设 分页式存储管理内含
- STM32F103ZET6+FreeRTOS V8.2.3+kfifo巧夺天工
- 佳博打印机SDK包含自己用Labview写的例
- Verilog实现的FIFO模型
- OV7725摄像头+FIFOAL422B 模块,只要是个
- FIFO设计原理,有异步同步fifo
- ImagePrinter_2.1虚拟打印机及安装包源码
- SmartPrinter3.6破解版(附带命令行与批
- virtual pdf printer破解
- 异步fifo设计verilog源代码
- 基于vhdl的poc设计
- slave fifo 上位机程序
评论
共有 条评论