亚洲日韩欧美一区二区三区在线_国产亚洲日韩欧美另类丝瓜APP_欧美日本中文字幕_性XXXX欧美老妇506070

代寫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





 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:代寫MTH5510、代做Matlab程序語言
  • 下一篇:CSCI 2600代做、代寫Java設計程序
  • 無相關信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • NBA直播 短信驗證碼平臺 幣安官網下載 歐冠直播 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    亚洲日韩欧美一区二区三区在线_国产亚洲日韩欧美另类丝瓜APP_欧美日本中文字幕_性XXXX欧美老妇506070

        一区二区三区在线视频免费| 日本高清视频一区二区| 欧美电影在线免费观看| 一个色在线综合| 色婷婷国产精品| 亚洲人成网站影音先锋播放| av不卡在线观看| 亚洲人成人一区二区在线观看 | 一区二区三区影院| 99久久99久久精品免费看蜜桃| 国产欧美日本一区二区三区| 国产剧情一区二区三区| 国产日韩欧美一区二区三区乱码 | 不卡欧美aaaaa| 中文字幕中文字幕在线一区 | 日韩在线一二三区| 日韩精品一区二区三区四区| 久久91精品国产91久久小草| 久久综合久久99| 成人美女视频在线观看| 欧美韩国日本不卡| 色悠悠亚洲一区二区| 亚洲蜜臀av乱码久久精品| 丁香激情综合国产| 亚洲欧美日韩综合aⅴ视频| 99国产一区二区三精品乱码| 17c精品麻豆一区二区免费| 粗大黑人巨茎大战欧美成人| 亚洲欧美精品午睡沙发| 欧美日韩久久一区二区| 久久精品国产精品亚洲精品| 国产人成亚洲第一网站在线播放 | 国产ts人妖一区二区| 久久久www免费人成精品| 国产成a人亚洲精| 亚洲人成网站在线| 欧美日本韩国一区| 免费三级欧美电影| 中文字幕av一区二区三区免费看| 色综合天天综合网国产成人综合天| 亚洲尤物视频在线| 久久综合九色综合欧美亚洲| aaa国产一区| 美女视频黄 久久| 亚洲人成精品久久久久久| 91精品国产综合久久香蕉麻豆| 国产麻豆视频一区| 亚洲一区免费观看| 久久久精品免费观看| 欧美日韩中文字幕一区二区| 国产高清不卡一区| 亚洲国产精品一区二区久久 | 国产一区二区网址| 亚洲一区精品在线| 国产日韩欧美激情| 91精品国产综合久久婷婷香蕉 | 美日韩一级片在线观看| 国产精品三级视频| 欧美成人女星排名| 欧美三日本三级三级在线播放| 国内精品在线播放| 亚洲最新视频在线播放| 国产女同互慰高潮91漫画| 91精品黄色片免费大全| 色综合久久99| 成人av网站在线观看免费| 日本一道高清亚洲日美韩| 亚洲欧美国产三级| 国产精品午夜久久| 久久久精品免费网站| 91精品国产综合久久久蜜臀图片| 91丨九色丨国产丨porny| 国产精品伊人色| 久久综合综合久久综合| 五月天亚洲婷婷| 亚洲午夜在线电影| 亚洲视频一二三| 中文字幕一区二区三区视频| 国产欧美视频在线观看| 久久婷婷国产综合精品青草 | 亚洲成人av一区二区| 亚洲欧美激情小说另类| 亚洲欧美在线视频观看| 国产欧美日韩三级| 国产日产精品1区| 久久精品人人爽人人爽| 久久亚洲一级片| 欧美精品一区二区三区四区| 日韩欧美一级二级| 日韩亚洲欧美成人一区| 日韩限制级电影在线观看| 日韩午夜激情av| 日韩午夜激情免费电影| 91精品国产福利在线观看| 欧美丰满一区二区免费视频| 欧美精品乱人伦久久久久久| 69久久99精品久久久久婷婷 | 日韩在线播放一区二区| 日韩精品1区2区3区| 日本不卡一区二区| 美腿丝袜亚洲一区| 国产一二三精品| 成人黄色小视频| 日本久久一区二区三区| 欧美一a一片一级一片| 欧美日韩国产另类一区| 日韩西西人体444www| 欧美成人精品3d动漫h| 久久精品一区四区| 国产精品国产三级国产aⅴ中文 | 国产精品全国免费观看高清| 国产精品国产馆在线真实露脸 | 成人a级免费电影| 色婷婷激情综合| 欧美精品在线观看一区二区| 欧美大片国产精品| 国产色爱av资源综合区| 亚洲美女精品一区| 日韩精品电影在线| 国产精品一区二区三区网站| 91视视频在线观看入口直接观看www | 91精品国产入口在线| 久久免费美女视频| 亚洲女人****多毛耸耸8| 性久久久久久久久| 国产一区二区伦理| 在线观看日产精品| 久久久久亚洲综合| 夜夜揉揉日日人人青青一国产精品| 青青草成人在线观看| 成人黄色大片在线观看| 91精品国产高清一区二区三区蜜臀 | 国产片一区二区| 亚洲成人午夜影院| 国产成人综合网站| 欧美美女黄视频| 丝袜美腿亚洲一区二区图片| 久久精工是国产品牌吗| 99综合影院在线| 91精品国产一区二区三区香蕉| 国产精品久久久久久久午夜片| 爽好久久久欧美精品| av高清久久久| 精品国产一区a| 一区二区三区国产精品| 国产91在线|亚洲| 欧美成人欧美edvon| 亚洲一区二区视频| 岛国一区二区三区| 欧美成人性福生活免费看| 一二三四区精品视频| 成人三级伦理片| 日韩欧美一区二区在线视频| 一级中文字幕一区二区| 成人影视亚洲图片在线| 精品国产伦一区二区三区免费| 亚洲国产成人porn| 91一区二区三区在线观看| 久久麻豆一区二区| 青青草伊人久久| 91超碰这里只有精品国产| 亚洲精品菠萝久久久久久久| eeuss鲁片一区二区三区| 国产亚洲福利社区一区| 久久爱www久久做| 欧美tickling网站挠脚心| 午夜成人免费电影| 欧美色图激情小说| 亚洲电影视频在线| 欧美三级一区二区| 亚洲一区二区三区国产| 色婷婷久久久亚洲一区二区三区| 国产精品视频你懂的| 国产91精品一区二区麻豆亚洲| 久久综合999| 国产精品亚洲一区二区三区在线 | 日韩高清在线不卡| 欧美精品乱人伦久久久久久| 亚洲国产精品综合小说图片区| 在线观看一区日韩| 亚洲一区二区三区四区不卡| 欧美在线观看18| 亚洲成人av在线电影| 欧美精品精品一区| 理论片日本一区| 久久综合色综合88| 成人一区在线观看| 中文字幕在线播放不卡一区| 91麻豆福利精品推荐| 伊人色综合久久天天人手人婷| 色国产精品一区在线观看| 亚洲一线二线三线视频| 欧美精品久久久久久久多人混战| 日本女优在线视频一区二区| 欧美一卡2卡三卡4卡5免费| 久久成人18免费观看| 国产精品你懂的| 欧美日韩在线观看一区二区| 日本最新不卡在线| 久久久久久久久99精品|