public Job(int id, int tempoDeProcessamento, int requisicoesES, int acessoArquivos, int instanteDeChegada, ArrayList<Arquivo> arquivos) {
		this.id = id;
		this.instanteDeChegada = instanteDeChegada;
		this.tempoDeProcessamento = tempoDeProcessamento;
		this.requisicoesES = requisicoesES;
		this.acessoArquivos = acessoArquivos;
		this.tempoRodado = 0;
		this.arquivos = arquivos;
		
		int tdp = tempoDeProcessamento; 
		
		Random rd = new Random(id + instanteDeChegada + tempoDeProcessamento + requisicoesES + acessoArquivos);
		
//		System.out.println("----");
		
		for(int i = 0; i < requisicoesES; i++) {
			
			int tempo = rd.nextInt(tdp / ((requisicoesES - i) * 2)) + tdp / ((requisicoesES - i) * 2);
			
			tdp -= tempo;
			
			int tempoAnt;
			
			try {
				tempoAnt = tempoRequisicoesES.get(i - 1);
			}
			catch (Exception e) {
				tempoAnt = 0;
			}
			
			tempoRequisicoesES.add(tempo + tempoAnt);
			
//			System.out.println(tempo + tempoAnt);
			
		}
		
//		System.out.println("----");
		
		tdp = tempoDeProcessamento; 
		
		for(int i = 0; i < acessoArquivos; i++) {
			
			int tempo;
			
			int tempoAnt;
			
			do {	
				tempo = rd.nextInt(tdp / ((acessoArquivos - i) * 2)) + tdp / ((acessoArquivos - i) * 2);
				
				tdp -= tempo;
				
				try {
					tempoAnt = tempoAcessoArquivos.get(i - 1);
				}
				catch (Exception e) {
					tempoAnt = 0;
				}
			} while(tempoRequisicoesES.contains(tempo + tempoAnt));
			
			tempoAcessoArquivos.add(tempo + tempoAnt);
			
//			System.out.println(tempo + tempoAnt);
			
		}
		
//		System.out.println("----");
		
		for(int tempo : tempoAcessoArquivos) {
			Arquivo arqAnterior;
			Arquivo arq;
			do {
				arq = arquivos.get(rd.nextInt(arquivos.size()));
				try {
					arqAnterior = arquivoAcessadoTempo.get(tempoAcessoArquivos.get(tempoAcessoArquivos.indexOf(tempo) - 1));
				}
				catch(Exception e) {
					arqAnterior = null;
				}
			} while(arq == arqAnterior);
			arquivoAcessadoTempo.put(tempo, arq);
//			System.out.println(tempo + ": " + arq.getNome());
		}
		
		Segmento seg = new Segmento(20);
		segmentos = new ArvoreN<Segmento>(seg);
		Segmento seg2 = new Segmento(15);
		segmentos.addReferencia(seg, seg2);
		Segmento seg3 = new Segmento(25);
		segmentos.addReferencia(seg, seg3);
		Segmento seg4 = new Segmento(10);
		segmentos.addReferencia(seg3, seg4);
		
		segmentoUso = segmentos.getCabeca();
		
	}