|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2014
Messaggi: 5
|
[PYTHON] Memoria virtuale e algoritmi di sostituzione delle pagine FIFO/LRU
Ciao a tutti,
scrivo sul forum per cercare una mano d'aiuto per questo progetto universitario che devo realizzare. Purtroppo le lezioni su python sono state poche e sulle cosucce base, siamo stati liquidati dalla prof con "imparate python da soli, su internet si trovano una marea di guide"... soldi spesi bene le tassse universitarie eh? Comunque tornando a noi questo è il progetto: ![]() ![]() ![]() Bene conosco le basi del linguaggio ma non ho idea da dove iniziare per fare questo progetto, ho provato a cercare su internet ma non riesco a raccapezzarmi in nulla... qualcuno può aiutarmi? Magari dare dei suggerimenti? Degli input? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Non ho capito il tuo problema. Non conosci python? Non capisci come si implementa l'algoritmo?
Se stai facendo questo presumo tu sia almeno al secondo anno e che conosca Java o C o qualcosa del genere. Puoi provare a farlo in un altro linguaggio e poi tradurlo (pessima cosa ma qui conta il risultato) oppure puoi studiare python e farlo direttamente. Se non sei abbastanza sveglio da imparare python da solo non credo tu possa mai superare il corso di sistemi operativi... Anyway, per cominciare: http://inventwithpython.com/ http://getpython3.com/diveintopython3/ http://www.greenteapress.com/thinkpy...inkpython.html https://docs.python.org/3/tutorial/index.html Enjoy! EDIT: Ma perche' devi proprio farlo in python?
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
Ultima modifica di ingframin : 11-06-2014 alle 11:30. |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Jun 2014
Messaggi: 5
|
Saprei implementare gli algoritmi... ma solo dopo aver capito come creare il numero di processi inserito in input, ripartirlo in pagine, assegnarlo ai frame in cui divedere la memoria...
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12861
|
Se ho capito bene devi solo simulare quegli algoritmi, quindi secondo me ti conviene cominciare a pensare in termini di classi e oggetti che hanno i loro attributi e le loro caratteristiche (es. Processo, Memoria...).
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Jun 2014
Messaggi: 5
|
Grazie in effetti non avevo capito che dovevo simulare, poi la prof mi ha detto esattamente questo che mi hai detto tu, ho fatto una classe per il processo con id e dimensione, quale struttura dati mi consigliate di utilizzare per simulare la memoria?
|
|
|
|
|
|
#6 |
|
Junior Member
Iscritto dal: Jun 2014
Messaggi: 5
|
Una lista?
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
A naso ti direi deque:
https://docs.python.org/3.4/library/...lections.deque Con una lista funziona bene uguale ma credo ci perdi un po' in velocita' e soprattutto la lista non ha appendleft(), popleft() e extendleft(). Inoltre la deque (si pronuncia "deck" ma io la pronuncio deque ugualmente :P) e' fatta apposta per queste operazioni (deque = double ended queue). Se ti vuoi semplificare la vita non dimenticare di implementare il metodo __eq__(self,obj) nelle tue classi che implementano i processi. __eq__ ti serve per i confronti (puoi usare l'operatore == per esempio) e per le ricerche.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
#8 | |
|
Junior Member
Iscritto dal: Jun 2014
Messaggi: 5
|
Quote:
Comunque nella traccia dice di inserire da linea di comando la lunghezza della successione dei riferimenti... esattamente cosa vuol dire? |
|
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Nov 2012
Messaggi: 126
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:17.























