亚洲十八**毛片_亚洲综合影院_五月天精品一区二区三区_久久久噜噜噜久久中文字幕色伊伊 _欧美岛国在线观看_久久国产精品毛片_欧美va在线观看_成人黄网大全在线观看_日韩精品一区二区三区中文_亚洲一二三四区不卡

代寫GA.2250、Python/Java程序語言代做

時間:2024-08-14  來源:  作者: 我要糾錯



Programming Assignment #4 (Lab 4): IO Scheduling Professor Hubertus Franke 
Class CSCI-GA.2250-001 Summer 2024 
 
In this lab you will implement and simulate the scheduling and optimization of I/O operations for a hard disk. Applications 
submit their block IO requests (bio) to the IO subsystem [ Block Layer ] (potentially via the filesystem), where they are 
maintained in an IO-queue until the disk device is ready for servicing another request. The IO-scheduler then selects a request 
from the IO-queue and submits it to the disk device. This selection is commonly known as the strategy() routine in 
operating systems and shown in the figure below. On completion, another request can be taken from the IO-queue and 
submitted to the disk. The scheduling policies will allow for some optimization as to reduce disk head movement or overall 
wait time in the system. 
 
The schedulers that need to be implemented are FIFO (N), SSTF (S), LOOK (L), CLOOK (C), and FLOOK (F) 
(the letters in bracket define which parameter must be given in the –s program flag shown below). 
 
You are to implement these different IO-schedulers in C or C++ and submit the source code and Makefile as a *.zip, *.tar or 
*.tar.Z, which we will compile and run. Please test on linserv*.cims.nyu.edu before submission. 
 
 
Invocation is as follows: 
 ./iosched [ –s<schedalgo> | -v | -q | -f ] <inputfile> 
 
Only the “-s” option is required. The default scheduler is fifo is “-s” is not supplied. Options as usual can be in any order. 
The input file is structured as follows: Lines starting with ‘#’ are comment lines and should be ignored. 
Any other line describes an IO operation where the 1
st
 integer is the time step at which the IO operation is issued and the 2
nd
 
integer is the track that is accesses. Since IO operation latencies are largely dictated by seek delay (i.e. moving the head to the 
correct track), we ignore rotational and transfer delays for simplicity. The inputs are well formed. 
 
#io generator 
#numio=32 maxtracks=512 lambda=10.000000 
1 339 
131 401 
 
We assume that moving the head by one track will cost one time unit. As a result, your simulation can/should be done using 
integers. The disk can only consume/process one IO request at a time. Once a request is active on the disk it cannot be 
interrupted by any other incoming request. Hence these requests must be maintained in an IO queue and managed according 
to the scheduling policy. The initial direction of the LOOK algorithms is from 0-tracks to higher tracks. The head is initially 
positioned at track=0 at time=0. Note that you do not have to know the maxtrack (think SCAN vs. LOOK). Programming Assignment #4 (Lab 4): IO Scheduling Professor Hubertus Franke 
Class CSCI-GA.2250-001 Summer 2024 
 
Each simulation should print information on individual IO requests followed by a SUM line that has computed some statistics 
of the overall run. (see reference outputs). 
 
For each IO request create an info line (5 requests shown) in the order of appearance in the input file. 
 0: 1 1 431 
 1: 87 467 533 
 2: 280 431 467 
 3: 321 533 762 
 4: 505 762 791 
 
Created by 
 printf("%5d: %5d %5d %5dn", iop, req->arr_time, r->start_time, r->end_time); 
 
args: IO-op#, its arrival to the system (same as from inputfile), its disk service start time, its disk service end time 
 
Please remember “ %5d” is not “%6d” !!! For C++ formatting refer back to lab2 and lab3 where similar outputs were created. 
 
and for the statistics of the simulation provide a SUM line ( note variables printed as “%lf” are double floats ). 
 
Created by: printf("SUM: %d %d %.4lf %.2lf %.2lf %dn", 
 total_time, tot_movement, io_utilization, 
 avg_turnaround, avg_waittime, max_waittime); 
total_time: total simulated time, i.e. until the last I/O request has completed. 
tot_movement: total number of tracks the head had to be moved 
io_utilization: ratio of time_io_was_busy / total_time 
avg_turnaround: average turnaround time per operation from time of submission to time of completion 
avg_waittime: average wait time per operation (time from submission to issue of IO request to start disk operation) 
max_waittime: maximum wait time for any IO operation. 
 
10 sample inputs and outputs and runit/gradeit scripts are provided with the assignment on NYU brightspace. 
Please look at the sum results and identify what different characteristics the schedulers exhibit. 
 
You can make the following assumptions (enforced and caught by the reference program). 
- at most 10000 IO operations will be tested, so its OK (recommended) to first read all requests from file before processing. 
- all io-requests are provided in increasing time order (no sort needed) 
- you never have two IO requests arrive at the same time (so input is monotonically increasing) 
 
I strongly suggest, you do not use discrete event simulation this time. You can write a simple loop that increments simulation 
time by one and checks whether any action is to be taken. In that case you have to check in the following order. 
The code structure should look something like this (there are some edge conditions you have to consider, such as the next I/O 
is for the track the head currently is at, etc. ): 
 
 while (true) 
if a new I/O arrived at the system at this current time 
 → add request to IO-queue 
if an IO is active and completed at this time 
 → Compute relevant info and store in the IO request for final summary 
if no IO request active now 
 if requests are pending 
 → Fetch the next request from IO-queue and start the new IO. 
 else if all IO from input file processed 
 → exit simulation 
if an IO is active 
 → Move the head by one unit in the direction its going (to simulate seek) 
Increment time by 1 
 
When switching queues in FLOOK you always continue in the direction you were going from the current position, until the 
queue is empty. Then you switch direction until empty and then switch the queues continuing into that direction and so forth. 
While other variants are possible, I simply chose this one this time though other variants make also perfect sense. Programming Assignment #4 (Lab 4): IO Scheduling Professor Hubertus Franke 
Class CSCI-GA.2250-001 Summer 2024 
 
Additional Information: 
 
As usual, I provide some more detailed tracing information to help you overcome problems. Note your code only needs to 
provide the result line per IO request and the ‘SUM line’. 
 
The reference program under ~frankeh/Public/lab4/iosched on the cims machine implements three additional options: –v, -q, 
-f to debug deeper into IO tracing and IO queues. 
 
The –v execution trace contains 3 different operations (add a request to the IO-queue, issue an operation to the disk and 
finish a disk operation). Following is an example of tracking IO-op 18 through the times 1151..1307 from submission to 
completion. 
 
1151: 18 add 221 // 18 is the IO-op # (starting with 0) and 221 is the track# requested 
1239: 18 issue 221 289 // 18 is the IO-op #, 221 is the track# requested, 289 is the current track# 
1307: 18 finish 68 // 18 is the IO-op #, 68 is total length/time of the io from request to completion 
 
-q shows the details of the IO queue and direction of movement ( 1==up , -1==down) and 
–f shows additional queue information during the FLOOK. 
 
Here Queue entries are tuples during add [ ior# : #io-track ] or triplets during get [ ior# : io-track# : distance ], 
where distance is negative if it goes into the opposite direction (where applicable ). 
 
Please use these debug flags and the reference program to get more insights on debugging the ins and outs (no punt intended) 
of this assignment and answering certain “why” questions. 
 
Generating your own input for further testing: 
 
A generator program is available under ~frankeh/Public/lab4/iomake and can be used to create additional inputs if you like to 
expand your testing. You will have to run this against the reference program ~frankeh/Public/lab4/iosched yourself. 
 
Usage: iomake [-v] [-t maxtracks] [-i num_ios] [-L lambda] [-f interarrival_factor] 
 
maxtracks is the tracks the disks will have, default is 512 
num_ios is the number of ios to generate, default is 32 
lambda is parameter to create a poisson distribution, default is 1.0 ( consider ranges from 0.01 .. 10.0 ) 
interarrival_factor is time factor how rapidly IOs will arrive, default is 1.0 ( consider values 0.5 .. 1.5 ), too small and the 
system will be overloaded and too large it will be underloaded and scheduling is mute as often only one i/o is outstanding. 
 
Below are the parameters for the 10 inputs files provided in the assignment so you don’t pick the same. 
 
1. iomake -v -t 128 -i 10 -L0.11 -f 0.4 
2. iomake -v -t 512 -i 20 -L0.51 
3. iomake -v -t 128 -i 50 -L0.51 
4. iomake -v -t 512 -i 100 -L0.01 
5. iomake -v -t 256 -i 50 -L1.1 
6. iomake -v -t 256 -i 20 -L0.3 
7. iomake -v -t 512 -i 100 -L0.9 
8. iomake -v -t 300 -i 80 -L3.4 -f 0.6 
9. iomake -v -t 1000 -i 80 -L3.4 -f 0.6 
10. iomake -v -t 512 -i 500 -L2.4 -f 0.6 

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





 

標(biāo)簽:

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:代寫MTH5510、代做Matlab程序語言
  • 下一篇:CSCI 2600代做、代寫Java設(shè)計程序
  • 無相關(guān)信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 短信驗(yàn)證碼平臺 理財 WPS下載

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    老司机久久99久久精品播放免费| 亚洲成人人体| 浮生影视网在线观看免费| 天天夜夜亚洲| 精品无吗乱吗av国产爱色| 日本免费中文字幕在线| 亚洲七七久久综合桃花剧情介绍| 欧美巨大xxxx做受沙滩| 欧美亚洲韩国| 岛国精品一区| 天天做天天爱天天综合网| 伊人久久综合| 老司机精品视频导航| 国产精品一级片| 欧美激情综合在线| 五月天激情小说综合| 在线视频欧美精品| 99re6在线视频| 性网站在线播放| 制服丝袜在线播放| 人人玩人人添人人澡欧美| 欧美大片网址| 欧美三级不卡| 国产东北露脸精品视频| 国产精品看片你懂得| 欧美日韩另类字幕中文| 精品国产一区二区三区忘忧草| 在线天堂日本| 牛牛在线精品视频| 18国产精品| 欧美va天堂在线| 国产剧情一区二区| 亚洲靠逼com| 日韩精品一区二区三区视频| 欧美成人综合在线| 91精品论坛| 不卡中文一二三区| 久久国产欧美日韩精品| 中文字幕中文字幕一区二区| 欧美日韩高清在线播放| 日本一级在线观看| 婷婷激情一区| 99九九热只有国产精品| 国产91对白在线观看九色| 五月天亚洲婷婷| 一级片免费视频| 美女网站在线看| 成人精品视频| 国产成人综合视频| 午夜在线电影亚洲一区| 绯色av一区二区| 欧美三区四区| 国产综合自拍| 国产精品视频一二三区 | 亚洲精品中文字幕乱码| 成人毛片视频在线观看| 91精品福利在线| 国产在线色视频| 美女视频一区| 久久精品女人| 亚洲一区自拍偷拍| 最色在线观看| 久久精品资源| 久久亚洲风情| 舔着乳尖日韩一区| 日本中文字幕电影在线观看 | 精品国产一区二区精华| 91美女精品| 欧美99久久| 亚洲乱码日产精品bd| 91精品国产一区二区三密臀| 亚洲男人在线| 狠狠色狠狠色综合系列| 欧美三级视频在线| 里番在线播放| 好看不卡的中文字幕| 亚洲激情五月婷婷| 激情视频在线观看免费| 免费视频国产一区| 久久精品视频在线看| 日本aⅴ中文| 91精品久久久久久综合五月天 | 日本不卡一区二区三区高清视频| 午夜亚洲福利老司机| 91se在线| 亚洲乱码精品| 亚洲成人激情自拍| 超碰在线caoporn| 欧美精品三区| 午夜成人免费视频| 四虎av在线| 极品少妇一区二区三区| 欧美日韩国产一区在线| 羞羞网站在线看| 亚洲激情另类| 色丁香久综合在线久综合在线观看| av在线免费播放| 99在线观看免费视频精品观看| 色系网站成人免费| 午夜精品久久久久久久久久蜜桃| 麻豆国产91在线播放| 精品国产乱码久久久久久老虎| 国产美女亚洲精品7777| 久久婷婷久久一区二区三区| 日本人妖在线| 午夜电影亚洲| 欧美日韩在线一区二区| 黄色欧美视频| 久久久久国产精品麻豆ai换脸 | 波霸ol色综合网| 卡一精品卡二卡三网站乱码| 国产精品黄色在线观看| a黄色片在线观看| 日本女优在线视频一区二区| 精品国产1区二区| 九九综合在线| 欧美午夜无遮挡| 韩国精品视频在线观看| 久久久综合视频| 国产剧情在线| 韩国午夜理伦三级不卡影院| 又黄又爽无遮挡| 欧美1区2区| www亚洲天堂| 天天做天天爱天天爽综合网| 欧美在线观看18| 国产精品极品| 狠狠躁夜夜躁人人躁婷婷91| 99tv成人影院| 一区二区三区在线观看视频| 黑人巨大精品| 久久青草国产手机看片福利盒子 | 中文字幕在线视频一区| 国产高清中文字幕在线| www.欧美亚洲| 国产精品久久麻豆| 国产高清精品网站| 国产激情小视频在线| 高清日韩电视剧大全免费| 3d成人动漫在线| 国产精品一区一区| 浪潮av一区| www.久久久久久久久| 欧美男男video| 91老师片黄在线观看| 欧美日韩经典丝袜| 国产婷婷一区二区| 婷婷六月国产精品久久不卡| 中文字幕一区三区| 高清久久精品| 夜夜嗨av一区二区三区中文字幕 | 亚洲视屏一区| 国产69精品久久久久孕妇| 翔田千里一区二区| 免费观看成年在线视频网站| 激情综合色播激情啊| 最新日本在线观看| 国产精品婷婷午夜在线观看| 日韩精品第二页| 欧美午夜影院在线视频| 精品久久综合| 国产免费专区| 精品午夜久久福利影院| 久草在线资源站资源站| 日韩一区在线看| japanese色系久久精品| 88在线观看91蜜桃国自产| 色婷婷一区二区三区| 人人在线97| 成人永久免费视频| 日韩高清在线| 在线一区二区观看| 国产精品a久久久久| 国产youjizz在线| 91麻豆.com| 国产欧美啪啪| 三上悠亚在线资源| 精品制服美女久久| 免费日韩电影| 91福利精品第一导航| 亚洲成人在线| 人人干在线视频| 一区二区三区久久| 久久久久久美女精品| 国产毛片av在线| 中文字幕高清不卡| 九九热精品视频在线观看| 中文字幕在线视频不卡| 久久男人中文字幕资源站| 高清在线成人网| 欧美视频网址| 五月激情在线| 欧美日韩国产精品一区| 日韩电影在线视频| a级大胆欧美人体大胆666| 99热.com| 99久久久国产精品| 日韩激情中文字幕| 亚洲经典自拍| 国产videos久久|