Автор: Пользователь скрыл имя, 09 Марта 2011 в 11:30, курсовая работа
Цель исследования – выявить эффективность алгоритмов кэширования данных LRU, LFU.
Задачи исследования:
•проанализировать предметную область;
•спроектировать и реализовать программную систему для анализа эффективности алгоритмов кэширования данных LRU, LFU;
•провести сравнительный анализ эффективности алгоритмов кэширования данных LRU, LFU.
Введение 3
1.Анализ предметной области 4
1.Структура кэш-памяти и схема ее работы 4
2.Алгоритмы кэширования 5
3.Ассоциативность и принципы локальности кэш-памяти 6
4.Словарь предметной области 7
2.Проектирование архитектуры разрабатываемой системы 8
1.Иерархия классов 8
2.Блок – схемы алгоритмов 8
3.Реализация системы на языке высокого уровня 10
4.Тестирование приложения 11
5.Исследование эффективности алгоритмов 13
Заключение 17
Список использованной литературы 18
Приложение 19
.addGap(105, 105, 105))
);
getContentPane().add(jPanel5, new org.netbeans.lib.awtextra.
jMenu1.setText("File");
jMenuItem1.setText("New");
jMenuItem1.addActionListener(
public void actionPerformed(java.awt.
jMenuItem1ActionPerformed(evt)
}
});
jMenu1.add(jMenuItem1);
jMenuItem2.setText("Exit");
jMenuItem2.addActionListener(
public void actionPerformed(java.awt.
jMenuItem2ActionPerformed(evt)
}
});
jMenu1.add(jMenuItem2);
jMenuBar1.add(jMenu1);
setJMenuBar(jMenuBar1);
pack();
}// </editor-fold>
//формируем обращения
private void
jButton1ActionPerformed(java.
try{
if
(Integer.parseInt(RefCPU.
JOptionPane.showMessageDialog(
}
else{
Random r = new Random ();
String Ref ="";
if (jCheckBox1.isSelected()){
for
(int i = 0; i < Integer.parseInt(RefCPU.
Ref=Ref+(r.nextInt(memory.
}
AreaCPU.setText(Ref);
jButton1.setEnabled(false);
RefCPU.setEnabled(false);
jSlider2.setEnabled(false);
jCheckBox1.setEnabled(false);
LFUbutton.setEnabled(true);
LRUbutton.setEnabled(true);
}
else{
for
(int i = 0; i < Integer.parseInt(RefCPU.
Ref=Ref+(r.nextInt(memory.
}
AreaCPU.setText(Ref);
jButton1.setEnabled(false);
RefCPU.setEnabled(false);
jSlider2.setEnabled(false);
jCheckBox1.setEnabled(false);
LFUbutton.setEnabled(true);
LRUbutton.setEnabled(true);
}
}
}
catch(NumberFormatException ex){
JOptionPane.showMessageDialog(
}
catch(
JOptionPane.showMessageDialog(
}
}
//устанавливаем объем кэша и ОП
private
void jButton3ActionPerformed(java.
try{
if (t==0) {
memory = new RAM(Integer.parseInt(
Volume =Integer.parseInt(VolumeCache.
jTextArea2.setText(memory.
jButton3.setEnabled(false);
VolumeRAM.setEnabled(false);
VolumeCache.setEnabled(false);
jButton1.setEnabled(true);
RefCPU.setEnabled(true);
jCheckBox1.setEnabled(true);
}
else {
memory = new RAM(Integer.parseInt(
Volume =Integer.parseInt(VolumeCache.
jTextArea2.setText(memory.
jButton3.setEnabled(false);
VolumeRAM.setEnabled(false);
VolumeCache.setEnabled(false);
jCheckBox1.setEnabled(false);
}
t++;
}
catch(NumberFormatException ex){
JOptionPane.showMessageDialog(
}
catch(
{
JOptionPane.showMessageDialog(
}
}
//запускаем алгоритм LRU, с последующим выводом статистики
private void
LRUbuttonActionPerformed(java.
cache = new LRU(Volume);
Statistics.setText("
generateProc();
proc = new CPU(memory,cache,memory.Data,
proc.start();
}
//запускаем алгоритм LFU, с последующим выводом статистики
private void
LFUbuttonActionPerformed(java.
cache = new LFU(Volume);
Statistics.setText("
generateProc();
proc = new CPU(memory,cache,memory.Data,
proc.start();
}
//меню NEW
private void
jMenuItem1ActionPerformed(
t=0;
jTextArea2.setText("");
Statistics.setText("");
AreaCPU.setText("");
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
jTextField7.setText("");
jTextField8.setText("");
RefCPU.setText("");
VolumeCache.setText("");
VolumeRAM.setText("");
VolumeCache.setEnabled(true);
VolumeRAM.setEnabled(true);
jButton3.setEnabled(true);
LFUbutton.setEnabled(false);
LRUbutton.setEnabled(false);
jCheckBox1.setEnabled(false);
}
// меню EXIT
private void
jMenuItem2ActionPerformed(
Form.this.dispose();
}
private void
jCheckBox1ItemStateChanged(
jSlider2.setEnabled(g);
if (g){
g=false;
}
else {
g=true;
Информация о работе Алгоритмы кэширования данных и их эффективность