久久久久久精品无码人妻_青春草无码精品视频在线观_无码精品国产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





 

標簽:

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

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

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

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

    久久久久久精品无码人妻_青春草无码精品视频在线观_无码精品国产VA在线观看_国产色无码专区在线观看

    在线观看av的网址| 日韩中文字幕三区| 日韩欧美色视频| 日韩欧美一区二| 中文字幕日韩综合| 欧美一级免费播放| 999久久久精品视频| 国产精品沙发午睡系列| 红桃视频 国产| 精品国产成人av在线免| a级网站在线观看| 污视频网址在线观看| 男人日女人视频网站| 艳母动漫在线免费观看| 色婷婷综合久久久久中文字幕| 国产卡一卡二在线| www.cao超碰| 人妻丰满熟妇av无码区app| 51xx午夜影福利| 久久久久久久久久久久久久久国产 | 久久精品国产精品亚洲色婷婷| 波多野结衣三级在线| 黄色三级视频在线| 女性女同性aⅴ免费观女性恋| www.午夜色| www.久久久久久久久久久| 毛片在线视频播放| 国产精品igao激情视频| 五月天婷婷影视| 中文字幕免费高清在线| 欧美 日韩精品| 国产亚洲欧美在线视频| www.日本在线播放| 亚洲熟妇无码av在线播放| 日韩av福利在线观看| 欧美特黄aaa| 激情五月俺来也| 欧在线一二三四区| 日本成人在线免费视频| 无码人妻少妇伦在线电影| 日本女人高潮视频| 中国 免费 av| 中国黄色录像片| 天天久久综合网| 天天干天天曰天天操| 特级西西人体www高清大胆| 国产树林野战在线播放| 樱空桃在线播放| 国产91在线亚洲| 国产一级大片免费看| 免费看日b视频| 精品国产av无码一区二区三区| www.-级毛片线天内射视视| 欧美日韩午夜爽爽| 成人在线播放网址| 日韩在线视频在线观看| 日本免费不卡一区二区| 日批视频在线免费看| 国产日韩一区二区在线观看| 国产精品乱码久久久久| 国产成年人视频网站| 狠狠操狠狠干视频| 国产日韩视频在线播放| 久久久久久久香蕉| 亚洲熟妇国产熟妇肥婆| 99999精品视频| 哪个网站能看毛片| 国内国产精品天干天干| 日日噜噜噜夜夜爽爽| 久操手机在线视频| 日韩网址在线观看| 国产精品区在线| 丰满女人性猛交| 国产午夜福利100集发布| xxx国产在线观看| 中文字幕乱码免费| 欧美国产亚洲一区| 亚洲精品自拍网| 一级黄色录像免费看| 丁香六月激情婷婷| 成人黄色片视频| 欧美成人手机在线视频| 国产在线拍揄自揄拍无码| 91视频最新入口| 日韩无套无码精品| 91社在线播放| 欧美色图另类小说| 日本一二三区在线| 欧美老熟妇喷水| 17c国产在线| 国产精品又粗又长| 亚洲妇熟xx妇色黄蜜桃| 久久久久久久久网| 成人中文字幕av| 欧美一级爱爱视频| 午夜国产一区二区三区| 99精品视频网站| 白嫩少妇丰满一区二区| 亚洲欧美天堂在线| 成人黄色片视频| 国产一级黄色录像片| 91黄色小网站| 午夜探花在线观看| 性欧美极品xxxx欧美一区二区| 亚洲a级黄色片| 91丨porny丨探花| 亚洲自拍第三页| 国产l精品国产亚洲区久久| 四虎成人在线播放| 国产免费成人在线| 99久久免费观看| 久热精品在线播放| 黄色免费视频大全| 国产女教师bbwbbwbbw| 已婚少妇美妙人妻系列| 国内性生活视频| 黄色一级片av| 成人亚洲免费视频| www.xxx亚洲| 日本黄xxxxxxxxx100| 国产一级不卡毛片| 成人在线免费观看av| 亚洲色图欧美自拍| 天天夜碰日日摸日日澡性色av| 天天综合网日韩| 鲁一鲁一鲁一鲁一澡| 永久免费黄色片| 亚洲成人福利在线| 久久人妻精品白浆国产 | 黄色片网址在线观看| 日本高清一区二区视频| 18禁免费无码无遮挡不卡网站| 色中文字幕在线观看| 成人日韩在线视频| www.com操| 激情五月亚洲色图| 欧美视频第一区| 亚洲 高清 成人 动漫| 日韩一级免费看| 欧美性受xxxx黒人xyx性爽| 九九视频精品在线观看| 成人免费毛片网| 欧美成人高潮一二区在线看| 手机av在线免费| 亚洲欧美自拍另类日韩| 国产免费又粗又猛又爽| 岛国毛片在线播放| 五月婷婷激情久久| 色多多视频在线播放| 国产精品-区区久久久狼| 欧美精品卡一卡二| 亚洲国产成人精品无码区99| 久无码久无码av无码| 亚洲AV无码成人精品一区| 日本三级黄色网址| 三级一区二区三区| 欧洲在线免费视频| 在线播放黄色av| 天天综合五月天| 人妻av无码专区| 亚洲不卡中文字幕无码| 青青青青在线视频| 鲁一鲁一鲁一鲁一澡| 欧在线一二三四区| 美女黄色片视频| 欧美成人福利在线观看| 超碰在线公开97| 欧美视频亚洲图片| 欧洲金发美女大战黑人| www亚洲国产| 欧美久久久久久久久久久久久久| 永久免费在线看片视频| 任你操这里只有精品| 成人免费在线观看视频网站| 五月天丁香花婷婷| www国产免费| 国产原创popny丨九色| 国产肥臀一区二区福利视频| 亚洲精品高清无码视频| 色乱码一区二区三区在线| 999这里有精品| 成人国产在线看| 成人一级片网站| 国产乱子伦精品视频| 亚洲 自拍 另类小说综合图区| 日本熟妇人妻xxxxx| 99中文字幕在线观看| 日韩亚洲欧美一区二区| av网站在线观看不卡| 亚洲人成无码www久久久| 污污视频网站在线| 成人短视频在线观看免费| 黄色免费观看视频网站| 天天视频天天爽| 人妻互换免费中文字幕| 97国产精东麻豆人妻电影| 五月激情婷婷在线| 男人的天堂狠狠干| 粉色视频免费看| 91网站在线观看免费|