Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-05-2013, 11:31   #1
nick1992
Junior Member
 
Iscritto dal: May 2013
Messaggi: 10
[JAVA] software che simula raid 4 e raid 2?

Ciao a tutti!! sono nuovo nel forum....io dovrei fare un software java che simula il raid 4..io ho gia fatto quello per il raid 3 che è questo riportato sotto..il fatto che raid 3 e 4 sono uguali solo che il 3 lavora a il livello di byte e il 4 con blocchi di dati..il fatto è che quando li devi simulare alla fine sono identici o no?
dovrei fare anche il raid 2 ma non so proprio da dove iniziare.. mi potreste dare qualche spunto?
Grazie.

Codice:
import java.io.IOException;
import java.io.RandomAccessFile;


 class Raid3 implements Raid {
	 String inFileName;
	 String outFileName;
	 RandomAccessFile in;
	 RandomAccessFile out[];
	 int checkdisk;//Numero disco usato per la parità
	 int n;
	 int length;
	 int capacita_disco;
	 public int[] capacita_rimanente;
	 int[] scarto;
	 byte[] buffer;
	 int leggibile;
	 RandomAccessFile rec;
	 public boolean leggibile()
	 {
		 return(leggibile!=-1);
	 }
	 public boolean memorizzabile()
	 {
		 boolean a=true;
		 for(int i=0;i<n;i++)
		 {
			 if(capacita_rimanente[i]-scarto[i]<length)
			 {
				 a=false;

			 }
			 if(a==false)System.out.println ("Disco " +i+ " Lo spazio non è sufficente,Non è più possibile scrivere..");
		 }
		 return a;
	 }
		public int Cap_disco()
		{
			return capacita_disco;
		}
		public void cap_Rimanente(int[]a)
		{
			for(int i=0;i<n;i++)
			{
				a[i]=capacita_rimanente[i];
			}
		}
		public int Cap_disponibile()
		{
			int a=0;
			for(int i=0;i<n;i++)
			{
				a+=capacita_rimanente[i]-scarto[i];
			}
			return a*(n-1)/n;
		}
		public void ReadBlock() throws IOException
		{
			leggibile=in.read(buffer,0,(n-1)*length);
			for(int i=0;i<((n-1)*length);i++){
				System.out.println("Buffer "+i+" "+(char)buffer[i]);}
			if(leggibile==-1){System.out.println("Fine del file...");}
			
		}
		public void StoreBlock()throws IOException{
			
			int begin=0;
			Cal ca=new Cal();	
			byte[] xor_check = new byte[length];
			ca.Init(xor_check, length);
			for (int i=0;i<n;i++)
			{
				
				if (i == checkdisk) {
					out[i].write(xor_check);
					capacita_rimanente[i] -= length;
					System.out.println("Disco " + i + " scrivere il controllo..");
					ca.Init(xor_check, length);// A tutti zeri
					break;
				}
				out[i].write(buffer,begin,length);
				System.out.println("Disco "+i+" Scrive dati...");
				capacita_rimanente[i] -= length;
				System.out.println("Disco "+i+" Capacità Residua "+capacita_rimanente[i]);
				begin += length;
				xor_check = ca.Xor(buffer,length,n-1);
				
				}
		}
		
		public void Recover(int downID) throws IOException
		{
			int key=0;
			Cal cacu=new Cal();
			RandomAccessFile[] bac=new RandomAccessFile[n];
			byte[] temp=new byte[1];
			byte[] result =new byte[1];
			cacu.Init(result, 1);
			for(int i=0;i<n;i++)
			{
				if(i!=downID)//downID numero disco da recuperare
					bac[i]= new RandomAccessFile("" +i+ "_"+outFileName,"r");
			}
			
			
			rec = new RandomAccessFile("" +downID+ "_"+"RECOVER_"+outFileName,"rw");
			
			while(key!=-1)
			{
				for(int i=0;i<n;i++)
				{
					if(i!=downID)
					{
						key= bac[i].read(temp);
						
						if(key!=-1)
						result=cacu.Xor(result, temp, 1);
											}
				}
				if(key!=-1)	
					{
						rec.write(result);/*Scrive i byte recuperati 
						a mano a mano sul file rec*/
						cacu.Init(result, 1);/*Rinizializza gli elementi dell'array result con 0*/
					}
			}
		}
		public Raid3(String inf,String outf,int n,int l,int[]cap) throws IOException
		{
			Cal c=new Cal();
			int min=c.Min(cap, n);
			buffer=new byte[(n-1)*l];
			inFileName=inf;
			outFileName=outf;
			checkdisk=n-1;
			this.n=n;
			capacita_rimanente=new int[n];
			for(int i=0;i<n;i++)
			{
				 capacita_rimanente[i]=cap[i];
				 System.out.println("Disco n "+i+" Capacità residua effettiva "+capacita_rimanente[i]);
			}
			length=l;
			in= new RandomAccessFile(inf,"r");
			out = new RandomAccessFile[n];
			for(int i=0;i<n;i++)
				out[i] = new RandomAccessFile ("" + i + "_" +outFileName,"rw");
			capacita_disco=min/length*length*(n-1);
			scarto=new int[n];
			for(int i=0;i<n;i++)
			{
				scarto[i]=cap[i]-min/length*length;
			}
		}
 }
nick1992 è offline   Rispondi citando il messaggio o parte di esso
Old 15-05-2013, 16:08   #2
ezio
Senior Member
 
L'Avatar di ezio
 
Iscritto dal: Apr 2001
Città: Giovinazzo(BA) ...bella città, riso patat e cozz a volontà!
Messaggi: 26494
Leggi sempre i thread in rilievo nella sezione, in futuro inserisci il linguaggio di programmazione fra parentesi quadre nel titolo del thread...
ezio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Costo della memoria alle stelle? Non ave...
GPT-5.4 cambia il modo di usare ChatGPT:...
Centinaia di petabyte in una molecola: l...
Lenovo al MWC 2026: dal PC modulare all'...
Huawei presenta gli agenti di IA per le ...
Alla scoperta di GAIA, la piattaforma IA...
Crimson Desert alla ricerca dell'equilib...
Ray-Ban Meta, video privati visionati da...
Epic Games fa causa a un ex collaborator...
BYD Blade Battery di seconda generazione...
Pop Mart vs Bambu Lab: la battaglia lega...
Control Resonant entra nella fase alpha ...
1.040 Hz e tecnologia Mini LED: TCL sfid...
Smart retail: arrivano le soluzioni di H...
MOVA, guida all'acquisto per scegliere i...
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: 22:45.


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