Martins Consultoria: Março 2009
O SISO 2.0 (Simulador de Sistema Operacional) é um software educacional que permite simular situações de Detecção de Deadlock, segundo um algoritmo de detecção com vários recursos de cada tipo.
O objetivo do SISO é:
auxiliar no ensino/aprendizagem da disciplina de Sistemas Operacionais, facilitando o entendimento prático do algoritmo de detecção de deadlock;
permitir a visualização da montagem das matrizes do algoritmo;
permitir que o aluno antecipe os resultados da detecção, antes de serem exibidos (como exercício).
Tela de entrada de dados do SISO 2.0
Esta versão do software pode ser executado diretamente da internet, como um Applet, o que facilita bastante o procedimento de instalação. Para executar, clique aqui, ou no link abaixo. É necessário ter o Java Runtime Environment 1.5 ou superior instalado, caso contrário, a instalação é iniciada automaticamente. Melhor visualizado em 800 X 600 ou superior.
Tela de Detecção do SISO 2.0
Clique aqui para acessar o SISO 2.0 ( Acesso ao Applet Online )
Clique aqui para acessar a Ajuda ( Manual do Usuário ) ( Bugs )
Clique aqui para acessar a Monografia ( Monografia )
Eu desenvolvi esse software durante a minha especialização, se encontrarem algum problema nele, deixem um comentário, por favor.
Postado por Marcus às 21:28 6 comentários
Tags: ensaios, software
Postado por Marcus às 17:02 0 comentários
Agora chegou a hora da ação de verdade. Na parte 3, foi mostrado como traduzir o Mars Installer. Agora vamos ver os grupos e os scripts.
Name1: nome do grupo se a Language1 estiver selecionada (ex.: Media);
Name2: nome do grupo se a Language2 estiver selecionada (e por aí vai... depende da quantidade de Languages existentes);
Root: outra opção super interessante - permite que vc defina qual a variável %ROOTC% para o grupo atual, assim vc pode organizar seus scripts em uma pasta e quando precisar usá-los nos scripts, basta referenciar pelo %ROOTC% (ex.: Root=%ROOT%\Media\)
Collapsed: grupo aparece recolhido como padrão (0-desativado, 1-ativado);
Checkbox: exibe o checkbox para selecionar o grupo inteiro a executar (0 - desativado, 1-ativado);
Icon: permite selecionar um ícone interno ao frontend para representar o grupo (veja na parte 5);
Abaixo segue um exemplo das minhas configurações:
Name1=Imagens
Root=%ROOT%\Imagens\
Name1=Media
Root=%ROOT%\Media\
E, finalmente, os scripts:
Name: título do script (aparecerá do mesmo jeito em todas as Languages);
Desc1: pequena descrição para a [Language1] (use 'Desc1=' se não houver Languages definidas ou somente uma definida);
Desc2: pequena descrição para a [Language2] e por aí vai...
URL: exibe um ícone com um link para um site na internet
Radio: permite a criação de um radio box (seleção mutuamente exclusiva), definidas por grupos (ex.: Radio=2 - todos os scripts que tiverem essa linha serão mutuamente exclusivos - somente um deles poderá ser selecionado por vez);
Category: a qual grupo o script pertence;
Default: script aparecerá selecionado como padrão;
Visible: script será exibido na lista de seleção para o usuário (ele pode ser invisível ao usuário, mas se Default=1 será executado junto com os demais);
Enabled: permite que o usuário selecione o script (0-desativado, 1-ativado);
Icon: permite selecionar um ícone interno ao frontend para representar o script (veja na parte 5)
Folder: define a variável %FOLDER% para apontar a uma determinada pasta (ex.: Folder=%ROOTC%\Irfanview);
Run1: primeira linha de comando a executar - quando for nomes extensos, coloque sempre entre aspas duplas (ex.: Run1="%Folder%\iview420_setup.exe" /silent /desktop=0 /group=1 /allusers=1 assocallusers=1);
Run2: segunda linha de comando a executar (ex.: Run2="%Folder%\irfanview_plugins_420_setup.exe" /silent);
Run3: olha a sacada - podemos usar a Language1 selecionada assim: (ex.: Run3=|lng1|'copy "%Folder%\vendas\i_view32.ini" "%PROGRAMFILES%\IrfanView\" /y');
Run4: se a Language2 estiver selecionada, então a linha anterior não será executada, mas essa será: (ex.: Run4=|lng2|'copy "%Folder%\pessoal\i_view32.ini" "%PROGRAMFILES%\IrfanView\" /y');
Viram só como é poderoso o recurso do Language? Eu apenas copiei um arquivo .INI do Irfanview, mas poderia fazer outras coisas, como configurar um IP no Registro do Windows para acesso a um determinado servidor etc. As possibilidades são inúmeras com poucas linhas de configuração. Exemplo do meu arquivo de configuração:
Name=IrfanView 4.20
Desc1=
URL=http://www.irfanview.com/
Folder=%ROOTC%\IrfanView
Run1="%Folder%\iview420_setup.exe" /silent /desktop=0 /group=1 /allusers=1 /assocallusers=1
Run2="%Folder%\irfanview_plugins_420_setup.exe" /silent
Run3=|lng1|'copy "%Folder%\vendas\i_view32.ini" "%PROGRAMFILES%\IrfanView\" /y'
Run4=|lng2|'copy "%Folder%\pessoal\i_view32.ini" "%PROGRAMFILES%\IrfanView\" /y'
Name=Codecs
URL=http://www.free-codecs.com
Folder=%ROOTC%\Codecs
Run1='"%FOLDER%\klmcodec434.exe" /verysilent /norestart /LoadInf="%FOLDER%\klmcp.ini"'
Antes de todo script, tem que ter um número sequencial (aquele [1] e [2] que aparecem). Como já disse anteriormente, configurar o Installer é a parte fácil. Saber qual a linha de comando para instalação silenciosa é que é o difícil.. Na parte 5 e final mostrarei algumas informações úteis e, aos poucos, alguns comandos para instalação silenciosa de alguns aplicativos.
Postado por Marcus às 11:59 0 comentários
Na parte 2, foi mostrada a seção de opções básicas. Nessa parte, mostrarei logo a configuração que eu uso e vcs verão que não tem muito mistério a seção Language:
[Language1]
Name=Setor de Vendas (Aqui está a sacada: em vez de usar para traduzir o frontend, eu prefiro usar para customizar as instalações, veja na imagem mais abaixo)
Title=Instalação de Aplicativos Diversos
Info=Selecione o software para instalar:
BTN_Install=Instalar
BTN_Stop=Parar
BTN_Exit=Sair
BNT_Reboot=Reiniciar
TXT_About=&Sobre
TXT_Installing=Instalando software selecionados:
TXT_Complete=Instalação finalizada!
TXT_Programs=Softwares a instalar:
TXT_Of=de
TXT_CheckAll=Selecionar tudo
TXT_UnCheckAll=Desmarcar tudo
TXT_ExpandAll=Expandir todas
TXT_CollapseAll=Fechar todas
TXT_Default=Padrão
TXT_Version=Versão
TXT_AutoInst=Instalação Automatizada de Software
TXT_Copyright=Copyright por
MSG_SureToStop=Deseja realmente parar a instalação?
A instalação atual será finalizada!
Efeito de mais de um Language definido no .INI
Deu pra entender, certo? Se quisermos criar um [Language2], basta copiar o mesmo conteúdo e mudar o que for necessário.
Se omitirmos essa seção, o Installer virá em inglês. Na parte 4, vcs verão que pode-se usar um recurso para, baseado na opção de Language, usar uma ou outra linha de comando e customizar sua instalação (esse Mars Installer é bom ou não é?).
Postado por Marcus às 11:29 0 comentários
Na parte 1 foi realizada uma introdução do Mars Installer, nessa segunda parte do tutorial, irei explicar as funções da seção options (Eu sei que essa parte deve ser meio chatinha, se vc estiver com pressa, abaixo tem as configurações):
Root: pasta principal das instalações, representada pela variável %ROOT%, %BDRV% representa a letra do drive onde está o executável marsinst.exe;
FindCD: procura por determinada pasta nos drives de CD-Rom e, ao encontrar, define a variável %CDROM% para a letra desse drive;
LogFile: define o caminho do arquivo de log (se WriteLog=1), mas a linha de comando /L tem prioridade sobre este;
WriteLog: grava um log dos scripts executados (0-desativado, 1-ativado, se não definido, o log será criado no %SYSTEMROOT%);
Reboot: reinicia windows após terminar as instalações (0-desativado, 1-ativado);
Delay: tempo em segundos antes de iniciar as instalações (0-não inicia automaticamente, 1-imediatamente)
DelayExit: tempo em segundos antes de sair ou reiniciar após terminar as instalações
Resizable: permite que a janela seja redimensionada (0-desativado, 1-ativado);
StayOnTop: janela sempre no topo (0-janela normal, 1-ativado);
Color: cor de fundo da janela principal;
Width: largura da janela prinicipal;
TreeColor1: cor de fundo da árvore de seleção;
TreeColor2: cor de fundo das categoriaas da árvore de seleção;
SmallFontColor: cor da fonte da descrição pequena;
SelectionColor: cor do item selecionado
SelBorderColor: cor da borda do item selecionado
SelTextColor: cor da fonte do texto principal selecionado
SelSmallTextColor: cor da fonte da descrição do item selecionado;
URLIconType: tipo do ícone para URL (valor 1, 2, 3 disponíveis);
LockSystem: Sistema será bloqueado enquanto os scripts são executados (ainda não implementado;
CanStop: permite cancelar a execução dos scripts (0-desativado, 1-ativado);
DefLang: língua padrão do frontend (se houver mais de uma língua definida no arquivo);
Debug: modo de debug - o frontend exibirá uma mensagem com a linha de comando a ser executada em vez de executá-la (0-desativado, 1-ativado);
Como eu disse, essa é uma parte um pouco mais chatinha, mas depois de configurada a primeira vez, não precisamos mais nos preocupar. Abaixo segue as configurações que eu uso. Basta copiar e colar no seu arquivo:
Root=%BPATH%
FindCD=marsinst.exe
LogFile=%TEMP%\marsinst.log
DelayExit=20
Color=$49DDEF
SelectionColor=$55AAFF
SelBorderColor=$0088FF
SelTextColor=$000000
SelSmallTextColor=$666666
URLIconType=3
CanStop=1
DefLang=1
Ainda não chegamos na parte trabalhosa.. Na parte 3, eu mostrarei como fazer a tradução do Installer!
Postado por Marcus às 01:13 0 comentários
Mars Installer - Um frontend para seus scripts (Parte 1)
Um Administrador de Sistemas/Suporte/Analista precisa possuir alguns requisitos para ser realmente bom em sua função. No blog GuraveHaato tem uma série de dicas interessantes para ser um bom Sysadmin e uma, em especial, me chamou a atenção: Dica 4 - "Scriptize" tudo.
O pessoal de linux já conhece há muito tempo a importância dos scripts para o suporte. Eles garantem a execução de tarefas rotineiras de maneira cômoda, rápida (nem sempre, mas na maioria), precisa e eficiente. No windows, por ter sua interface gráfica supervalorizada, poucas pessoas utilizam o Prompt de Comando para realizar algumas tarefas que são relativamente fáceis e que agregam todas as vantagens dos scripts.
Nesse sentido, resolvi postar um tutorial básico do Mars Installer, um software que serve de frontend para comandos em lote (scripts do Prompt de Comando e até mais alguma coisa), com uma interface gráfica digna de instaladores profissionais (e até bem melhor do que alguns que eu já vi).
O Mars Installer está atualmente na versão 1.4, é um Donateware (se for útil pra vc, não custa nada ajudar - o software é muito bom!), compatível com Windows 2000, Windows XP e Vista. Sua grande vantagem é que ele permite uma customização fácil e completa, bastando editar um arquivo .INI para isso. Abaixo encontra-se um screenshot de uma customização que eu fiz para instalação de aplicativos diversos (todos freewares/open-source - diga não à pirataria!):
Com esse software fica muito mais fácil levantar uma imagem de um micro ou reinstalar um aplicativo, pois tudo que for necessário para sua instalação/configuração estará incluído no .INI, daí pode-se deixar o Installer fazer o trabalho pesado enquanto fazemos algo mais produtivo (como tomar um cafezinho, por exemplo...).
Quando se faz o download do site do fabricante, o mesmo acompanha dois arquivos de configuração como exemplo, um com todas as opções, outro com as opções mínimas para uso. Nesse post eu vou listar as seções (com o link para cada uma delas), dizendo quais são opcionais e podem ser suprimidas. Vamos lá:
Seção Options (Opcional): Configura diversas opções básicas;
Seção Language (Opcional): Permite traduzir as mensagens do front-end, inclusive pemitindo traduzí-lo para mais de um idioma no mesmo arquivo .INI. Pessoalmente eu achei uma seção poderosa, pois permite mais do que só configurar a linguagem. Explico: imagine que um mesmo software precise ser instalado para o setor de vendas que acessa o servidor X e para o setor de pessoal que acessa o servidor Y, com essa seção podemos criar dois modos de instalação, no mesmo arquivo .INI, onde modifica-se apenas o script com o servidor X ou Y (ficará mais claro na seção de scripts).
Seção Category (Opcional): Permite definir diversos grupos para organizar os scripts. Pode-se ver que no screenshot acima os scripts estão divididos nos grupos Imagens, Media, Office, Rede etc.
Seção de Scripts (Obrigatória, lógico): As seções anteriores foram somente recursos extras. Aqui que ocorre toda a ação do frontend e é onde reside 90% do trabalho.
Final: Algumas dicas legais!
Acreditem, a parte de configuração do Installer é a parte fácil!!! Na minha humilde opinião, a parte difícil é achar quais as linhas de comando certas para configurar os aplicativos. Para que não ficasse um post muito grande, dividi em 5 partes.
Postado por Marcus às 22:39 0 comentários
Sou um fã do site efetividade.net e acho super-legal os diversos artigos produzidos sobre as ferramentas como o Leatherman K502X , o Swisscard Lite etc. Eles realmente oferecem uma referência para quem deseja adquirir tais produtos e procura opinião de quem já usou.
No meu caso, como trabalho muito com manutenção de micros, perdi a conta de quantas vezes precisei de uma ferramenta, mas ou não tinha em mãos no momento ou estava distante o suficiente para perder um tempo precioso indo buscá-las.
Recentemente comprei um Alicate-Chaveiro Multifuncional, que fechado mede menos de 7 cm, cabe na palma da mão e ainda vem com um estojo para levar no cinto. Importado pela empresa Mor (www.mor.com.br), ele cumpre sua missão sem tornar-se mais um trambolho para carregar.
Tem 9 funções:
Alicate de bico (ainda tem mola pra facilitar a abertura);
Aperto padrão;
Cortador de arame (testado e aprovado para cortar/descascar cabo de telefone!!);
Lanterna (usa led e 4 baterias já inclusas - é bem potente);
Não vou arriscar entrar no banco com isso, mas o estojo serve tranquilamente para levá-lo no cinto e usar quando precisar (o que comigo ocorre frequentemente). Acho que poderiam mudar um pouco o layout e adaptar um clip nele. Também senti falta de uma régua, mas nada que comprometa o produto.
Concluindo, apesar de não ter o mesmo estilo dos canivetes da Victorinox, recomendo para qualquer eventualidade ou para presentear. Além, é claro, da "pequena" diferença de preço entre as ferramentas citadas anteriormente (Achei por R$ 30,00 +/- em vários sites).