Question: Banker's Algoritmas Programlama devi 1 - A a da detaylar verilen input.json dosyas na g re Banker's Algoritmas n al t racak ve sonucu k
Banker's Algoritmas Programlama devi
Aada detaylar verilen input.json dosyasna gre Banker's Algoritmasnaltracak ve sonucu k dosyas olan output.json dosyasna yazacaktr
input.json, Dockerfile, deve ait kaynak kod dosyalarn barndran ogrenciNo.zip dosyas yklenmelidir Mutlaka zip dosyas olmaldr dier dosya trleri kabul edilmeyecektir.
herhangi bir programlama dilini kullanabilirsiniz. buna gre uygun ekilde Dockerfile dosyas oluturulmaldr
deviniz aadaki ekilde kontrol edilecektir. Herhangi bir hata olmamaldr
unzip o ogrenciNo.zip d osOdev
cd osOdev
docker build t odevkontrol
docker run rm v $pwd:app odevkontrol
not: Windows iletim sisteminde cmd kullanlrsa yukardaki $pwd yerine cd kullanlmaldr powershell iin ise $GetLocation kullanlabilir
son komutun ardrdan output.json dosyas uygun ekilde olumu olmaldr output.json dosyas ierii incelenerek deerlendirme notunuz belirlenecektir. input.json olacak test verileri paylalmayacaktr
giri dosyas "input.json".
nproc: processsor says
nres: resource says
allocationMatrix: satrlar prosessor, stunlar srasyla resource olarak belirtilmitir Processor'larn halihazrda kulland resource saysn gstermektedir
maximumMatrix: satrlar processor, stunlar resource olarak belirtilmitir processorlarn maksimum resource taleplerini ifade etmektedir.
availableResources: an itibar ile bota olan resource saysn gstermektedir
"nproc":
"nres":
"allocationMatrix":
"maximumMatrix":
"availableResources":
k dosyas "output.json"
"ogrenciNo":
"safe":"
"sonuc":
sistem safe durumunda ise sonu unsafe ise sonu olacak.
Safe durumunda ise sonu processor numaralar olarak listede olmal unsafe durumunda sonu olmaldr
Dockerfile altrmak iin referans olmas asndan aada rnek bir uygulama verilmitir
rnek Dockerfile dosyas ierii
FROM python:slim
WORKDIR app
COPY input.json appinputjson
COPY test.py apptestpy
CMD python "test.py
rnek test.py dosya ierii:
import json
# Snf tanm
class ResourceManager:
def initself nproc, nres, allocationmatrix, maximummatrix, availableresources:
self.nproc nproc
self.nres nres
self.allocationmatrix allocationmatrix
self.maximummatrix maximummatrix
self.availableresources availableresources
def displayinfoself:
printNumber of Processes:", self.nproc
printNumber of Resources:", self.nres
print
Allocation Matrix:"
for row in self.allocationmatrix:
printrow
print
Maximum Matrix:"
for row in self.maximummatrix:
printrow
print
Available Resources:"
printselfavailableresources
def saveavailableresourcesself outputfile:
# Available resources verisini JSON olarak kaydet
with openoutputfile, w as file:
json.dumpavailableResources: self.availableresources file, indent
printfAvailable resources saved to outputfile
# JSON dosyasn oku
with openinputjson", r as file:
data json.loadfile
# Snf rneini olutur
resourcemanager ResourceManager
nprocdatanproc
nresdatanres
allocationmatrixdataallocationMatrix
maximummatrixdatamaximumMatrix
availableresourcesdataavailableResources
# Bilgileri ekrana yazdr
resourcemanager.displayinfo
# Available resources deerini output.json olarak kaydet
resourcemanager.saveavailableresourcesoutputjson"
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
