免费一级欧美片在线观看网站_国产一区再线_欧美日本一区二区高清播放视频_国产99久久精品一区二区300

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

    免费一级欧美片在线观看网站_国产一区再线_欧美日本一区二区高清播放视频_国产99久久精品一区二区300
    日韩欧美国产三级| 免费在线视频一区| 精品国免费一区二区三区| 欧美另类z0zxhd电影| 欧美亚洲综合色| 在线日韩av片| 91精品国产综合久久久久久久久久| 91精品国产手机| 久久夜色精品一区| 国产午夜精品久久| 中文字幕在线免费不卡| 亚洲嫩草精品久久| 亚洲一区二区在线播放相泽| 亚洲国产日韩综合久久精品| 日韩av电影免费观看高清完整版| 久久er精品视频| 成人午夜激情影院| 91日韩一区二区三区| 欧美在线影院一区二区| 国产欧美日韩视频在线观看| 一区二区三区四区激情| 蜜臀av性久久久久蜜臀aⅴ| 国产精品99久久久久久宅男| 99久久精品费精品国产一区二区| 在线一区二区三区做爰视频网站| 在线综合视频播放| 一区二区三区欧美亚洲| 成人网男人的天堂| 久久久久久一级片| 亚洲最色的网站| 99视频精品免费视频| 在线播放91灌醉迷j高跟美女| 日韩一区在线看| 成人美女在线观看| 亚洲国产岛国毛片在线| 日日夜夜一区二区| 国产精品自拍毛片| 久久伊人中文字幕| 精一区二区三区| 91一区二区三区在线播放| 中文字幕va一区二区三区| 国产suv一区二区三区88区| 欧美日韩国产高清一区二区 | 欧美日韩成人高清| 一区二区激情小说| 欧美在线视频日韩| 亚洲一区国产视频| 欧美三日本三级三级在线播放| 久久伊人中文字幕| 国产一二精品视频| 欧美日本精品一区二区三区| 亚洲图片欧美视频| 欧美视频一区二区| 丝袜美腿亚洲综合| 91精品国产黑色紧身裤美女| 免费av成人在线| 精品免费一区二区三区| 亚洲自拍都市欧美小说| 在线影视一区二区三区| 亚洲国产一区在线观看| 欧美日韩国产大片| 老司机免费视频一区二区| 精品久久久久久久久久久久久久久久久 | 欧美丝袜丝nylons| 午夜精品123| av不卡在线播放| 亚洲久本草在线中文字幕| 成人永久免费视频| 国产精品福利一区| 国产电影一区二区三区| 911精品产国品一二三产区| 日本成人在线不卡视频| 欧美不卡视频一区| 国产成人av影院| 亚洲欧美日韩小说| 欧美日韩aaaaaa| 狠狠色狠狠色综合| 欧美一区二区三区日韩| 狠狠狠色丁香婷婷综合激情 | 免费看黄色91| 国产欧美一区二区精品仙草咪| www.色精品| 午夜精品一区二区三区电影天堂| 欧美一区二区三区白人| 国产精品性做久久久久久| 综合av第一页| 成人动漫一区二区三区| 久久品道一品道久久精品| 成人丝袜高跟foot| 亚洲第一成人在线| 欧美视频在线播放| 激情文学综合丁香| 亚洲情趣在线观看| 日韩午夜av一区| 蜜臀av在线播放一区二区三区| 久久久久一区二区三区四区| 色八戒一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 国产精品国产自产拍高清av| 欧美另类videos死尸| 国产不卡免费视频| 亚洲777理论| 久久精品亚洲乱码伦伦中文| 在线观看日韩国产| 国产一区二区三区av电影 | 成人丝袜视频网| 日韩精品成人一区二区三区| 国产人成亚洲第一网站在线播放 | 欧美一区二区三区系列电影| 成人av综合一区| 日韩精品电影一区亚洲| 国产精品高潮呻吟久久| 欧美一区二区免费视频| 91麻豆成人久久精品二区三区| 麻豆精品精品国产自在97香蕉 | 欧美日韩免费一区二区三区视频| 亚洲欧美韩国综合色| 欧美丝袜第三区| 国产一区二区精品在线观看| 亚洲精品福利视频网站| 精品剧情在线观看| 欧美亚洲一区二区在线观看| 国产高清精品在线| 日韩二区三区四区| 亚洲视频小说图片| 久久久久久久久伊人| 欧美丝袜丝nylons| 99麻豆久久久国产精品免费| 九九久久精品视频| 亚洲高清不卡在线| 国产精品国产三级国产aⅴ中文 | 国产乱码精品一区二区三区五月婷 | 国产精品剧情在线亚洲| 日韩视频免费观看高清在线视频| 99re亚洲国产精品| 国内精品视频一区二区三区八戒| 亚洲午夜精品网| 国产精品久久久久四虎| 精品91自产拍在线观看一区| 欧美日韩久久久一区| 色综合中文综合网| 久久午夜老司机| 91精品国产综合久久久久久久| 色婷婷综合久久久中文一区二区| 日韩精品免费专区| 亚洲精品国产第一综合99久久| 久久久久久久综合| 欧美mv和日韩mv国产网站| 欧美二区在线观看| 欧美日精品一区视频| 色综合视频一区二区三区高清| 成人激情动漫在线观看| 国产盗摄一区二区| 国产九色精品成人porny| 蜜芽一区二区三区| 天堂一区二区在线| 亚洲国产成人porn| 艳妇臀荡乳欲伦亚洲一区| 曰韩精品一区二区| 亚洲精品乱码久久久久久| 亚洲免费伊人电影| 亚洲欧美日韩电影| 日韩理论电影院| 亚洲免费在线观看视频| 亚洲精品视频一区二区| 亚洲欧美日韩国产综合在线| 亚洲欧美韩国综合色| 亚洲激情图片qvod| 亚洲色图欧美在线| 亚洲精品国产成人久久av盗摄 | 国产不卡视频一区| 成人网在线播放| 波多野结衣中文字幕一区 | 亚洲精品一区二区三区99| 精品乱码亚洲一区二区不卡| 日韩欧美国产成人一区二区| 日韩三级.com| 精品少妇一区二区三区免费观看 | 久久久久久久久伊人| 久久久另类综合| 国产欧美日韩亚州综合| 国产精品嫩草99a| 日韩视频一区二区三区| 日韩美一区二区三区| 精品久久久久久久久久久久包黑料| 日韩无一区二区| 欧美精品一区二区久久久| 久久久久久久久久久99999| 国产欧美日韩久久| 日韩理论片网站| 亚洲国产日韩a在线播放性色| 石原莉奈在线亚洲二区| 捆绑调教一区二区三区| 国产一区二区三区免费| 成人精品在线视频观看| 91蜜桃视频在线| 欧美日韩国产不卡| 日韩午夜激情电影| 国产日韩三级在线| 亚洲品质自拍视频|