wso 2006, campo grande iii workshop de sistemas operacionais (wso 2006) campo grande – julho, 2006...
TRANSCRIPT
![Page 1: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/1.jpg)
WSO 2006, Campo Grande
III Workshop de Sistemas Operacionais (WSO 2006)
Campo Grande – Julho, 2006
Ângelo N. Vimeney
COPPE/UFRJ
Rio de Janeiro, RJ, [email protected]
Alexandre Sztajnberg
DICC/IME and PEL/FEN - UERJRio de Janeiro, RJ, Brasil
Um modelo de objetos para simulação de mecanismos de
alocação da CPU
![Page 2: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/2.jpg)
WSO 2006, Campo Grande
• Motivação e requisitos do simulador
• Projeto e implementação
• Interface gráfica com o usuário
• Reuso
• Conclusão
• Motivação e requisitos do simulador
• Projeto e implementação
• Interface gráfica com o usuário
• Reuso
• Conclusão
Planejamento:Planejamento:
![Page 3: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/3.jpg)
WSO 2006, Campo Grande
Suporte didático para a disciplina de Sistemas OperacionaisSuporte didático para a disciplina de Sistemas Operacionais
Atraente para o aluno (quase lúdica)Atraente para o aluno (quase lúdica)
Atividade de pesquisa para a monitoria (assistente de ensino)Atividade de pesquisa para a monitoria (assistente de ensino)
Motivação:Motivação:
![Page 4: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/4.jpg)
WSO 2006, Campo Grande
Interface gráfica amigável;Interface gráfica amigável;
Interface gráfica didática;Interface gráfica didática;
Suporte às várias políticas de alocação da CPU tratadas nos livros da área;Suporte às várias políticas de alocação da CPU tratadas nos livros da área;
Portabilidade;Portabilidade;
Facilidade de extensão das funcionalidades.Facilidade de extensão das funcionalidades.
Requisitos do simulador:Requisitos do simulador:
![Page 5: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/5.jpg)
WSO 2006, Campo Grande
1
1
Kernel1
0..n
1
1..n 1..n
1
ReadyQueueSystem
Projeto:Projeto:
PCB
1
0..1
Workload1 10..1 0..n
Program VirtualUser
InteractiveUser AutomaticUser
AllocationPolicy
PrioritySchedFIFO
Round-Robin SJF
1 1
0..n
0..1
ProcessQueue
BlockedQueue ReadyQueue
RandomUserPoissonUser
ProgrammedUser
![Page 6: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/6.jpg)
WSO 2006, Campo Grande
Projeto:Projeto:
VirtualUser
Clock
java.lang
<<interface>>Runnable
Thread CPU
IODevice
![Page 7: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/7.jpg)
WSO 2006, Campo Grande
Projeto:Projeto:
VirtualUser
Clock
java.lang
<<interface>>Runnable
Thread CPU
IODevice
Usando os funções de tempo do Java, usando thread,
usando o escalonador da JVM 2...
Hum... Não sei não..
![Page 8: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/8.jpg)
WSO 2006, Campo Grande
Camada Funcional
Projeto:Projeto:
. . .CPU, usuários virtuais,filas de processos, políticas de alocação...
Camada de Ligação . . .listeners
Camada de Apresentação . . .Classes para criação da interfacegráfica
![Page 9: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/9.jpg)
WSO 2006, Campo Grande
IODevice
Projeto:Projeto:
Kernel
SimulatorAdapter
ProcessQueue Clock
1
n
11
n n n
1
Camada Funcional
Camada de Ligação
<<interface>> OperatingSystemListener
<<interface>>IODeviceListener
<<interface>> ProcessQueueListener
<<interface>> ClockListener
Camada de Aprese tação
![Page 10: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/10.jpg)
WSO 2006, Campo Grande
Quantum 8
Quantum 16
FIFO
Interface:Interface:
![Page 11: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/11.jpg)
WSO 2006, Campo Grande
![Page 12: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/12.jpg)
WSO 2006, Campo Grande
osos
ioio
instructionsetinstructionset
queuesqueues
virtualusersvirtualusers
• Classes ligadas a parte funcional do simulador• Classes ligadas a parte funcional do simulador
• Classes ligadas à interface do simulador oude apoio a parte funcional• Classes ligadas à interface do simulador oude apoio a parte funcional
Class SpinBox
- Suporte a modo “inteiro” e “ponto-flutuante”de funcionamento.
- Métodos especializados para obtenção e ajuste de valores sem necessidade de conversões “string <-> numérico”.
- Butões sensíveis a “mouse pressed”.
- Permite delimitar a faixa de valores permitida.
- Fornece suporte ao tratamento gráfico de entradas invalidas.
Class Time
- Fornece métodos “static” para efetuar as quatro operações aritméticas fundamentais sobre medições de tempo.
- Fornece métodos “de instância” para efetuar as operações aritméticas.
- Suporte a operandos tanto em modo “inteiro” quanto em “ponto-flutuante”.
- Abrange medições de tempo de nanossegundos até dias.
- Converte automaticamente unidades de medição de tempo diferentes.
Class Fraction
- Oferece contrutores para criação de instâncias a partir de “ponto-flutuante” quanto a partir da especificação de numerador e denominador “inteiros”.
- Fornece métodos “static” para realização das quatro operações fundamentais sobre frações.
- Fornece métodos para simplificação de frações e obtenção de mdc através do “algoritmo euclidiano”.
Reuso:Reuso:
![Page 13: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/13.jpg)
WSO 2006, Campo Grande
Avaliação da InterfaceAvaliação da Interface
• Trabalhos práticos obrigatórios para a turma• Formulário de avaliação
• Problemas conhecidos:– Falta de um help / tutor– Falta persistir uma configuração de simulação
![Page 14: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/14.jpg)
WSO 2006, Campo Grande
Formulário eletrônico preenchido pelos alunos (versão beta)
Formulário eletrônico preenchido pelos alunos (versão beta)
1 - A interface gráfica do simulador o ajudou a entender melhor o escalonamento de processos? 95%, sim.
2 – Havia novidades nos painéis de configuração ou você já conhecia todas as opções? 100% , havia novidades.
3 - O simulador o ajudou na resolução de exercícios? 95% , sim.
4 - O simulador ajudou a entender melhor cada política de alocação da CPU? 60%, sim.
5 - Ficou claro que diversas políticas de alocação da CPU podem ser combinadas para formar um único mecanismo de alocação da CPU? 65%, sim.
6 - Ferramentas como este simulador auxiliam no processo de aprendizagem ou apenas consomem tempo?
80% sim.
7 – Avaliação geral da interface gráfica?
7,95, média (desvio padrão: 1,19).
8 – O Simulador como ferramenta didática?
7,25, média, (desvio padrão: 2,15).
9 – O que poderia ser melhorado?– dificuldade de entender o que era
representado na interface gráfica – falta do relatório final com os dados da
simulação. – bugs (em geral “a pouca estabilidade”)– Interface em inglês, – faltam “menus de ajuda”
![Page 15: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/15.jpg)
WSO 2006, Campo Grande
![Page 16: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/16.jpg)
WSO 2006, Campo Grande
Reuso: tentativas ;-)Reuso: tentativas ;-)
• Gerenciamento de Memória– Importação para o Eclipse
• Refactoring
– Inclusão de algumas políticas baseadas em particionamento
– Facilidade para a parte gráfica
– Problema: representação da memória x representação do programa na versão atual
• Localização (Locale)– Importação para o Eclipse
– Extração de Strings “hard coded”
– Uso do padrão provido junto com o JDK.
![Page 17: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/17.jpg)
WSO 2006, Campo Grande
![Page 18: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/18.jpg)
WSO 2006, Campo Grande
![Page 19: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/19.jpg)
WSO 2006, Campo Grande
ActionListener listener = new Listener(); SpinBoxListener spinTextBoxListener = new SpinBoxListener();
simulatorMenu = new JMenu(Messages.getString("STRING_48")); //$NON-NLS-1$ aboutMenuItem = new JMenuItem(Messages.getString("STRING_49")); //$NON-NLS-1$ exitMenuItem = new JMenuItem(Messages.getString("STRING_50")); //$NON-NLS-1$ aboutMenuItem.addActionListener( listener ); exitMenuItem.addActionListener( listener ); simulatorMenu.add( aboutMenuItem ); simulatorMenu.addSeparator(); simulatorMenu.add( exitMenuItem );
simulationMenu = new JMenu(Messages.getString("STRING_51")); //$NON-NLS-1$ configureMenuItem = new JMenuItem(Messages.getString("STRING_52")); //$NON-NLS-1$ startMenuItem = new JMenuItem(Messages.getString("STRING_53")); //$NON-NLS-1$ pauseMenuItem = new JMenuItem(Messages.getString("STRING_54")); //$NON-NLS-1$ stopMenuItem = new JMenuItem(Messages.getString("STRING_55")); //$NON-NLS-1$
ActionListener listener = new Listener(); SpinBoxListener spinTextBoxListener = new SpinBoxListener();
simulatorMenu = new JMenu(Messages.getString("STRING_48")); //$NON-NLS-1$ aboutMenuItem = new JMenuItem(Messages.getString("STRING_49")); //$NON-NLS-1$ exitMenuItem = new JMenuItem(Messages.getString("STRING_50")); //$NON-NLS-1$ aboutMenuItem.addActionListener( listener ); exitMenuItem.addActionListener( listener ); simulatorMenu.add( aboutMenuItem ); simulatorMenu.addSeparator(); simulatorMenu.add( exitMenuItem );
simulationMenu = new JMenu(Messages.getString("STRING_51")); //$NON-NLS-1$ configureMenuItem = new JMenuItem(Messages.getString("STRING_52")); //$NON-NLS-1$ startMenuItem = new JMenuItem(Messages.getString("STRING_53")); //$NON-NLS-1$ pauseMenuItem = new JMenuItem(Messages.getString("STRING_54")); //$NON-NLS-1$ stopMenuItem = new JMenuItem(Messages.getString("STRING_55")); //$NON-NLS-1$
![Page 20: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/20.jpg)
WSO 2006, Campo Grande
Conclusão:Conclusão:
Interface gráfica amigável;Interface gráfica amigável;
Interface gráfica didática;Avaliação de semiótica
Interface gráfica didática;Avaliação de semiótica
Suporte às várias políticas de alocação da CPU tratadas nos livros da área;Suporte às várias políticas de alocação da CPU tratadas nos livros da área;
Portabilidade;Portabilidade;
Facilidade de extensão das funcionalidades.Facilidade de extensão das funcionalidades.
![Page 21: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/21.jpg)
WSO 2006, Campo Grande
Pós Graduação em Eletrônica / UERJ• Linha em Redes de Computadores e Sistemas Distribuídos• Bolsas CAPES e Faperj• Zona Norte do Rio (Campus do Maracanã)• http://www.pel.uerj.br
![Page 22: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/22.jpg)
WSO 2006, Campo Grande
Instituto de Computação / UFF• Linha em Redes de Computadores e Sistemas Distribuídos• Bolsas CAPES, CNPq e Faperj• Niterói (Campus da Praia Vermelha)• http://www.ic.uff.br
![Page 23: WSO 2006, Campo Grande III Workshop de Sistemas Operacionais (WSO 2006) Campo Grande – Julho, 2006 Ângelo N. Vimeney COPPE/UFRJ Rio de Janeiro, RJ, Brasil](https://reader035.vdocuments.site/reader035/viewer/2022062700/552fc155497959413d8e50e4/html5/thumbnails/23.jpg)
WSO 2006, Campo Grande
[email protected]@ime.uerj.brr
www.ime.uerj.br/~alexszt/cpumngtsim/doc
Podemos disponiblizar o código para fins de pesquisa