View Full Version : [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:
http://i59.tinypic.com/2nvz29f.jpg
http://i60.tinypic.com/2eyuulw.jpg
http://i62.tinypic.com/2mm5pwp.jpg
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?
ingframin
11-06-2014, 10:49
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/thinkpython/thinkpython.html
https://docs.python.org/3/tutorial/index.html
Enjoy!
EDIT:
Ma perche' devi proprio farlo in python?
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...
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...
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...).
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...).
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?
ingframin
19-06-2014, 11:02
Una lista?
A naso ti direi deque:
https://docs.python.org/3.4/library/collections.html#collections.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.
A naso ti direi deque:
https://docs.python.org/3.4/library/collections.html#collections.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.
Grazie :D
Comunque nella traccia dice di inserire da linea di comando la lunghezza della successione dei riferimenti... esattamente cosa vuol dire?
Grazie :D
Comunque nella traccia dice di inserire da linea di comando la lunghezza della successione dei riferimenti... esattamente cosa vuol dire?
La stringa dei riferimenti e la sua lunghezza? Meno python/code/classi e più teoria.
ingframin
24-06-2014, 15:42
http://www.federica.unina.it/ingegneria/sistemi-operativi-ctr/memoria-virtuale-sistemi-operativi-ctr/
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.