Páginas

23 março, 2009

SISO 2.0 - Simulador de Sistema Operacional (Módulo de Deadlock)

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.

22 março, 2009

Mars Installer - Dicas (Parte 5 - Final)

Agora que vc já sabe configurar o Mars Installer, podemos finalizar com algumas informações úteis:

Mars Installer
Código de Ícones:
  • -1 - Sem ícone;
  • 0 - Padrão;
  • 1 - Antivírus;
  • 2 - Compactadores;
  • 3 - Audio;
  • 4 - Gravadores de CD;
  • 5 - Diagnóstico;
  • 6 - Drivers;
  • 7 - Jogos;
  • 8 - Gráficos/Imagens;
  • 9 - Informações;
  • 10 - Internet;
  • 11 - Matemática;
  • 12 - Portables;
  • 13 - Rede;
  • 14 - Office;
  • 15 - Recuperação;
  • 16 - Proteção de Tela;
  • 17 - Segurança;
  • 18 - Sistema;
  • 19 - Themes;
  • 20 - Tweaks;
  • 21 - Video;
  • 22 - Windows.
Variáveis com o caminho às pastas dos sistema (Atenção - somente o %ROOT%, %ROOTC% e %FOLDER% podem ser configurado. As demais são automáticas):
  • %ROOT% - caminho da pasta principal (seção Options);
  • %ROOTC% - caminho da pasta do grupo (seção Category);
  • %FOLDER% - caminho da pasta do script (seção Script);
  • %BDRV% - letra da unidade de onde o marsinst.exe foi executado (ex.: E:);
  • %BPATH% - caminho completo de onde o marsinst.exe foi executado (ex.: E:\AutoInstall);
  • %CDROM% - se FindCD não for definido (seção Options), letra do primeiro drive de CD ou disco removível;
  • %WINDIR% ou %SYSTEMROOT% - caminho do Windows (ex.: C:\WINDOWS);
  • %SYSTEMDIR% - caminho do Windows System (ex.: C:\WINDOWS\System32);
  • %APPDATA% - caminho do Applications Data
  • %ALLAPPDATA% - caminho do Applications Data de All Users
  • %PROGRAMFILES% - caminho do Arquivos de Programas (ex.: C:\Arquivos de Programas);
  • %PROGRAMFILES64% - caminho do Arquivos de Programas x64 em SO x64;
  • %STARTMENU% - caminho do Menu Iniciar;
  • %ALLSTARTMENU% - caminho do Menu Iniciar de All Users;
  • %QUICKLAUNCH% - caminho da barra de Inicialização Rápida;
  • %DESKTOP% - caminho do Desktop;
  • %ALLDESKTOP% - caminho do Desktop de All Users;
  • %SYSTEMDRIVE% - unidade do drive onde o windows está instalado (normalmente C:);
  • %DOCUMENTS% - caminho dos Meus Documentos;
  • %ALLDOCUMENTS% - caminho dos Meus Documentos de All Users;
  • %STARTUP% - caminho da pasta Inicializar (Iniciar->Programas->Inicializar);
  • %ALLSTARTUP% - caminho da pasta Inicializar de All Users;
  • %TEMP% - caminho dos Temporários do Windows (do usuário atual);
Outras dicas:
  • Ás vezes o Installer não consegue executar uma linha de comando com nomes extensos, mas basta colocar todo o comando entre aspas simples que ele executa (ex.: Run1='"%FOLDER%\klmcodec434.exe" /verysilent /norestart /LoadInf="%FOLDER%\klmcp.ini"');
  • Se vc já tiver um SETUP.BAT contendo seus scripts (como eu já tinha...) e ele não funcionar direito, lembre-se do seguinte: o Installer não inicia o .BAT diretamente da pasta onde este se encontra. Ele inicia da %FOLDER%. Eu recomendaria importar todos os seus .BAT para o .INI (não tem nenhuma ferramenta que faça isso - tem que ser feito na munheca - pode parecer trabalhoso, mas evita muita dor de cabeça, acredite!);
  • No Windows 2000 às vezes aparece uma mensagem de erro ao executar o Installer, pedindo por um arquivo GDIPLUS.DLL. Baixe ele aqui e descompacte para o mesmo local do marsinst.exe e seja feliz;
  • O Windows 2000 não vem com o aplicativo REG.EXE (para configurar o Registro pelo Prompt) como padrão. É necessário copiá-lo da pasta Support que vem no CD de instalação do W2k;
  • Eu recomendo deixar a opção de log ativada, ele é muito útil para debug. Normalmente eu defino para gravar no %TEMP%. O log tem um resumo das variáveis, o comando executado e alguns erros que não são exibidos para o usuário ficam registrados lá!
Ufa! Esse é o final! Espero que esse tutorial seja útil para facilitar o trabalho de alguém. Depois criarei um post para funcionar como índice dos comandos de instalação silenciosa que eu uso.

Se alguém gostou, achou algum erro, quer incluir alguma coisa, poste um comentário, ficarei feliz em recebê-lo! Até a próxima!

Mars Installer - Seção Grupos e Scripts (Parte 4)

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.

Mars Installer
  • 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:
[Category1]
Name1=Imagens
Root=%ROOT%\Imagens\
Checkbox=1
Icon=8

[Category2]
Name1=Media
Root=%ROOT%\Media\
Checkbox=1
Icon=3
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:
[1]

Name=IrfanView 4.20
Desc1=
URL=http://www.irfanview.com/
Category=1
Default=1
Visible=1
Enabled=1
Icon=8
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'


[2]

Name=Codecs
Desc1=
URL=http://www.free-codecs.com
Category=2
Default=1
Visible=1
Enabled=1
Icon=21
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.

Mars Installer - Seção Language (Parte 3)

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)
Codepage=1252
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 é?).

Mars Installer - Seção Options (Parte 2)

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):

Mars Installer
  • 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:
[Options]
Root=%BPATH%
FindCD=marsinst.exe
LogFile=%TEMP%\marsinst.log
WriteLog=1
Reboot=0
Delay=30
DelayExit=20
Resizable=1
StayOnTop=0
Color=$49DDEF
Width=550
SelectionColor=$55AAFF
SelBorderColor=$0088FF
SelTextColor=$000000
SelSmallTextColor=$666666
URLIconType=3
CanStop=1
DefLang=1
Debug=0
Ainda não chegamos na parte trabalhosa.. Na parte 3, eu mostrarei como fazer a tradução do Installer!

21 março, 2009

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!):

Mars Installer
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á:


  1. Seção Options (Opcional): Configura diversas opções básicas;

  2. 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).

  3. 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.

  4. 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.

  5. 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.

15 março, 2009

Alicate Chaveiro Multifuncional

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.

Alicate Chaveiro Multifuncional
Tem 9 funções:
  1. Alicate de bico (ainda tem mola pra facilitar a abertura);
  2. Aperto padrão;
  3. Cortador de arame (testado e aprovado para cortar/descascar cabo de telefone!!);
  4. Lanterna (usa led e 4 baterias já inclusas - é bem potente);
  5. Chave phillips;
  6. Chave fenda;
  7. Lâmina grande;
  8. Lâmina serrilhada;
  9. Abridor de garrafas;
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).
Related Posts Plugin for WordPress, Blogger...