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

    亚洲欧美日韩一级| 北条麻妃在线观看| 波多野结衣天堂| 999久久欧美人妻一区二区| 青青草av网站| 加勒比成人在线| 免费成人黄色大片| 无遮挡又爽又刺激的视频| av久久久久久| 国产性生活一级片| 国产性生交xxxxx免费| 美脚丝袜脚交一区二区| 色婷婷综合在线观看| 玩弄japan白嫩少妇hd| www.亚洲成人网| 超碰中文字幕在线观看| www.99在线| 免费无码国产v片在线观看| 久久免费一级片| 亚洲天堂一区二区在线观看| 男操女免费网站| 国产又大又硬又粗| 久操网在线观看| 国产视频在线观看网站| www.亚洲自拍| 久久撸在线视频| 搡女人真爽免费午夜网站| 99精品人妻少妇一区二区 | 免费观看精品视频| 久久久久久人妻一区二区三区| 中文字幕第66页| 日韩精品视频一二三| 嫩草av久久伊人妇女超级a| 亚洲午夜精品久久久久久人妖| 波多野结衣av一区二区全免费观看 | 亚洲不卡视频在线| 国产免费人做人爱午夜视频| 日韩精品视频一区二区在线观看| 91人人澡人人爽人人精品| 欧在线一二三四区| 人妻内射一区二区在线视频| 香港三级韩国三级日本三级| 免费一级特黄毛片| 水蜜桃色314在线观看| av免费看网址| 日本免费不卡一区二区| 阿v天堂2017| 六月丁香婷婷在线| 午夜免费精品视频| 一级在线免费视频| 在线不卡一区二区三区| 不卡中文字幕在线观看| 97超碰人人爽| 国产又粗又爽又黄的视频| 国产又黄又爽免费视频| 精品久久久无码人妻字幂| 老子影院午夜伦不卡大全| 国产精品一线二线三线| 阿v天堂2017| 日韩一级免费在线观看| xx欧美撒尿嘘撒尿xx| 亚洲黄色av片| 日韩中文字幕在线不卡| 成年人午夜视频在线观看| 久久美女福利视频| 日本久久久久久久久久久久| 91丝袜超薄交口足| 久久香蕉视频网站| 日本wwww视频| 午夜免费看视频| 99热一区二区三区| 欧美精品卡一卡二| 超碰网在线观看| 污污的视频免费| 亚洲精品天堂成人片av在线播放| 日本十八禁视频无遮挡| 天堂中文视频在线| 亚洲少妇第一页| 在线观看岛国av| 午夜在线视频免费观看| 青青草视频在线视频| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 成人精品视频一区二区| 天堂av.com| 国产在线精品91| www.超碰97.com| 日韩在线观看a| 国产主播中文字幕| 水蜜桃在线免费观看| 日韩黄色片视频| 在线观看免费不卡av| 国产一区二区片| 国产精品久久a| 国产欧美精品aaaaaa片| 亚洲精品一二三四五区| 天天干天天操天天干天天操| 波多野结衣家庭教师在线| 一级做a免费视频| 成人免费在线网| 午夜久久福利视频| 少妇高潮喷水在线观看| 欧美视频国产视频| 欧美日韩黄色一级片| 欧美 国产 日本| 九九热免费在线观看| av高清在线免费观看| 日韩成人av免费| 99蜜桃臀久久久欧美精品网站| 91香蕉视频免费看| 成年人免费在线播放| 久久人妻无码一区二区| 亚洲一级片网站| 免费无码不卡视频在线观看| 女同性恋一区二区| av噜噜在线观看| 青青草精品视频在线| 中文字幕国产免费| 可以在线看的av网站| 国内av免费观看| 看欧美ab黄色大片视频免费| 男人添女荫道口喷水视频| 亚洲在线观看网站| 亚洲午夜激情影院| 那种视频在线观看| 69sex久久精品国产麻豆| 久久久九九九热| 美女少妇一区二区| 黄色片一级视频| 日本xxxxxxxxxx75| 国内精品国产三级国产99| 三级一区二区三区| 亚洲一区二区蜜桃| 欧美v在线观看| 青草视频在线观看视频| 樱空桃在线播放| 99精品视频国产| 一区二区三区 欧美| 无码无遮挡又大又爽又黄的视频| av免费观看国产| 免费人成在线观看视频播放| 熟女视频一区二区三区| 国产aⅴ爽av久久久久| 欧美日韩大尺度| 老熟妇仑乱视频一区二区| 国产乱子伦农村叉叉叉| 免费看国产曰批40分钟| 男女日批视频在线观看| 国产1区2区3区中文字幕| 特大黑人娇小亚洲女mp4| 精品国产无码在线| 欧美 日韩 国产 在线观看| 波多野结衣在线免费观看| 午夜一区二区视频| 亚洲一区二区福利视频| 国产成人永久免费视频| 成人性生交免费看| 性欧美videossex精品| 国产aaaaa毛片| 亚洲污视频在线观看| 在线观看的毛片| 亚洲欧美日韩一级| 天堂av2020| 老司机av福利| 9色视频在线观看| 男人添女荫道口女人有什么感觉| 99热久久这里只有精品| 成年女人18级毛片毛片免费 | 久在线观看视频| 国产免费黄色av| 十八禁视频网站在线观看| 免费在线观看的毛片| 亚洲无吗一区二区三区| 亚洲一区二区福利视频| 三级网在线观看| 久无码久无码av无码| 欧美啪啪免费视频| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 日本一级淫片演员| 国产爆乳无码一区二区麻豆 | 男人的天堂最新网址| 亚洲精品在线网址| 91视频 - 88av| www..com日韩| 三年中国国语在线播放免费| 不卡的在线视频| 日本a级片在线观看| 免费av手机在线观看| 北条麻妃视频在线| 中文字幕55页| 3d动漫一区二区三区| 精品少妇无遮挡毛片| 国内精品国产三级国产aⅴ久| 97中文字幕在线| 国产91在线视频观看| 色诱视频在线观看| 久热精品在线观看视频| 伊人网在线免费| 男人天堂网视频| 亚洲综合伊人久久| 亚洲不卡中文字幕无码|