Skip to content

Commit f7cd77a

Browse files
committed
novos arquivos
1 parent 98cc6ac commit f7cd77a

19 files changed

+243
-0
lines changed

.classpath

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" path="src"/>
4+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5+
<classpathentry kind="output" path="bin"/>
6+
</classpath>

.project

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>simuSO</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>org.eclipse.jdt.core.javanature</nature>
16+
</natures>
17+
</projectDescription>

.settings/org.eclipse.jdt.core.prefs

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4+
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5+
org.eclipse.jdt.core.compiler.compliance=1.8
6+
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7+
org.eclipse.jdt.core.compiler.debug.localVariable=generate
8+
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9+
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10+
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11+
org.eclipse.jdt.core.compiler.source=1.8

bin/memoria/Memoria.class

299 Bytes
Binary file not shown.

bin/memoria/MemoriaFisica.class

1.41 KB
Binary file not shown.

bin/memoria/MemoriaHd.class

268 Bytes
Binary file not shown.

bin/memoria/MemoriaVirtual.class

1007 Bytes
Binary file not shown.

bin/memoria/PaginaFisica.class

492 Bytes
Binary file not shown.

bin/memoria/PaginaVirtual.class

1.28 KB
Binary file not shown.

bin/simuSO/MMU.class

915 Bytes
Binary file not shown.

bin/simuSO/Main.class

369 Bytes
Binary file not shown.

src/memoria/Memoria.java

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package memoria;
2+
3+
public class Memoria {
4+
private int valor;
5+
private int indice;
6+
7+
}

src/memoria/MemoriaFisica.java

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package memoria;
2+
3+
import java.util.ArrayList;
4+
5+
public class MemoriaFisica {
6+
//private boolean checkMemoria;
7+
private int tamanho;
8+
private ArrayList <PaginaFisica> listaMemoriaFisica;
9+
10+
public MemoriaFisica(int pTamanho) {
11+
this.tamanho = pTamanho;
12+
this.listaMemoriaFisica = new ArrayList<>();
13+
}
14+
15+
public void alocar() {
16+
for (int i = 0; i < this.tamanho; i++) {
17+
this.listaMemoriaFisica.add(new PaginaFisica());
18+
}
19+
}
20+
21+
public int getPaginaLivre() {
22+
for (int i = 0; i < this.tamanho; i++) {
23+
if (listaMemoriaFisica.get(i) == null) {
24+
return i;
25+
}
26+
}
27+
return -1;
28+
}
29+
30+
public PaginaFisica getPagina(int pIndice){
31+
return listaMemoriaFisica.get(pIndice);
32+
}
33+
34+
public int getValor(int pIndice) {
35+
if (listaMemoriaFisica.get(pIndice) != null) {
36+
return listaMemoriaFisica.get(pIndice).getValor();
37+
}
38+
return -1;
39+
}
40+
41+
public void setValor(int pIndice, int pValor) {
42+
if (listaMemoriaFisica.get(pIndice) != null) {
43+
listaMemoriaFisica.get(pIndice).setValor(pValor);
44+
}
45+
}
46+
47+
public int getTamanho() {
48+
return this.tamanho;
49+
}
50+
51+
}

src/memoria/MemoriaHd.java

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package memoria;
2+
3+
public class MemoriaHd {
4+
5+
}

src/memoria/MemoriaVirtual.java

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package memoria;
2+
3+
import java.util.ArrayList;
4+
5+
public class MemoriaVirtual {
6+
private int tamanho;
7+
private ArrayList <PaginaVirtual> listaMemoriaVirtual;
8+
9+
public MemoriaVirtual(int pTamanho) {
10+
this.listaMemoriaVirtual = new ArrayList<>();
11+
this.tamanho = pTamanho;
12+
}
13+
14+
public void alocar() {
15+
for (int i = 0; i < this.tamanho; i++) {
16+
this.listaMemoriaVirtual.add(new PaginaVirtual());
17+
}
18+
}
19+
20+
public PaginaVirtual getPagina(int pIndice) {
21+
return this.listaMemoriaVirtual.get(pIndice);
22+
}
23+
24+
public int getTamanho() {
25+
return this.tamanho;
26+
}
27+
28+
}

src/memoria/PaginaFisica.java

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package memoria;
2+
3+
public class PaginaFisica {
4+
private int valor;
5+
6+
PaginaFisica() {
7+
8+
}
9+
10+
public int getValor() {
11+
return this.valor;
12+
}
13+
14+
public void setValor(int pValor) {
15+
this.valor = pValor;
16+
}
17+
}

src/memoria/PaginaVirtual.java

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package memoria;
2+
3+
public class PaginaVirtual {
4+
5+
private boolean referencia_;
6+
private boolean modificada_;
7+
private boolean presente_;
8+
private int moldura_pagina;
9+
10+
public PaginaVirtual() {
11+
12+
}
13+
14+
PaginaVirtual(boolean pBitR, boolean pBitM, boolean pBitP, int pMolduraPagina) {
15+
this.referencia_ = pBitR;
16+
this.modificada_ = pBitM;
17+
this.presente_ = pBitP;
18+
this.moldura_pagina = pMolduraPagina;
19+
}
20+
21+
public void referenciar(boolean bit) {
22+
this.referencia_ = bit;
23+
}
24+
25+
public boolean referenciada() {
26+
return this.referencia_;
27+
}
28+
29+
public void modificar(boolean bit) {
30+
this.modificada_ = bit;
31+
}
32+
33+
public boolean modificada() {
34+
return this.modificada_;
35+
}
36+
37+
public void presenca(boolean bit) {
38+
this.presente_ = bit;
39+
}
40+
41+
public boolean presente() {
42+
return this.presente_;
43+
}
44+
45+
public void setMolduraPagina(int pMolduraPagina) {
46+
this.moldura_pagina = pMolduraPagina;
47+
}
48+
49+
public int getMolduraPagina() {
50+
return this.moldura_pagina;
51+
}
52+
}

src/simuSO/MMU.java

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package simuSO;
2+
import memoria.*;
3+
4+
public class MMU {
5+
private MemoriaFisica memoriaFisica;
6+
private MemoriaVirtual memoriaVirtual;
7+
8+
public MMU(int pTamanhoMemoriaFisica){
9+
this.memoriaFisica = new MemoriaFisica(pTamanhoMemoriaFisica);
10+
this.memoriaVirtual = new MemoriaVirtual(pTamanhoMemoriaFisica * 2);
11+
}
12+
13+
public boolean executarInstrucao(char pTipo, int pIndice) {
14+
15+
if (pIndice > this.memoriaVirtual.getTamanho()) {
16+
return false;
17+
}
18+
19+
if (pTipo == 'R') {
20+
this.leia();
21+
}
22+
23+
if (pTipo == 'W') {
24+
this.escreva();
25+
}
26+
27+
return true;
28+
29+
}
30+
31+
private void escreva() {
32+
// putaria
33+
34+
}
35+
36+
private void leia() {
37+
// putaria
38+
39+
}
40+
41+
42+
}

src/simuSO/Main.java

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package simuSO;
2+
3+
public class Main {
4+
public static void main(String[] args) {
5+
6+
}
7+
}

0 commit comments

Comments
 (0)