Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-06-2014, 17:50   #1
Zirko88
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?
Zirko88 è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2014, 09:49   #2
ingframin
Senior Member
 
L'Avatar di ingframin
 
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 10:30.
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2014, 08:04   #3
Zirko88
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...
Zirko88 è offline   Rispondi citando il messaggio o parte di esso
Old 14-06-2014, 18:05   #4
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12966
Quote:
Originariamente inviato da Zirko88 Guarda i messaggi
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...).
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2014, 17:32   #5
Zirko88
Junior Member
 
Iscritto dal: Jun 2014
Messaggi: 5
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
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?
Zirko88 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2014, 08:58   #6
Zirko88
Junior Member
 
Iscritto dal: Jun 2014
Messaggi: 5
Una lista?
Zirko88 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2014, 10:02   #7
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Quote:
Originariamente inviato da Zirko88 Guarda i messaggi
Una lista?
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!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2014, 09:37   #8
Zirko88
Junior Member
 
Iscritto dal: Jun 2014
Messaggi: 5
Quote:
Originariamente inviato da ingframin Guarda i messaggi
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.
Grazie
Comunque nella traccia dice di inserire da linea di comando la lunghezza della successione dei riferimenti... esattamente cosa vuol dire?
Zirko88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2014, 11:31   #9
van9
Member
 
Iscritto dal: Nov 2012
Messaggi: 126
Quote:
Originariamente inviato da Zirko88 Guarda i messaggi
Grazie
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.
van9 è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2014, 14:42   #10
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
http://www.federica.unina.it/ingegne...operativi-ctr/
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
ingframin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Huawei punta sul canale europeo: per il ...
Ubuntu 26.04: le GPU guadagnano il 17% i...
La Commissione UE registra l'iniziativa ...
SSD troppo cari? La soluzione alla crisi...
Anteprima mondiale Hyundai IONIQ 3: segm...
Fintool sbarca su Microsoft 365: arrivan...
Hanno chiesto 1 dollaro per salvare un M...
Arriva AgentExchange, il marketplace di ...
Blizzard fa chiudere Turtle WoW: perché ...
Claude Desktop e la modifica silenziosa ...
Blue Origin ha mostrato gli interni del ...
Linux alla pari di Windows in gioco: con...
Il rientro del secondo stadio del razzo ...
Il controller ufficiale Microsoft per Xb...
DJI Power 1000 Mini: la power station da...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:35.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v