Archive for novembro, 2010

Desabilitar bloqueio automático de tela no Ubuntu 10.04

O Ubuntu 10.04 faz o bloqueio automático da tela depois de 5 minutos inativo (padrão), mas isso pode ser, muitas vezes, um inconveniente.

Para desativar essa opção, siga os seguintes passos:

Vá em Sistema / Preferências / Proteção de Tela.

Depois desmarque a opção “Bloquear a tela quando a proteção estiver ativa”.

Depois é só clicar em fechar.

PS: Você também pode aumentar o tempo para que a tela seja bloqueada, bastando mudar em “Considerar o computador ocioso após”.


Ubuntu 10.04 no CCE Win T23L

Pra quem está pensando em instalar o Ubuntu 10.04 no CCE Win T23L, tenho uma boa notícia: funciona!

Na verdade, criei esse “artigo” só pra dar um alívio a quem está pensando em instalar o Ubuntu nesse notebook. Instalei a 10.04 por ser uma versão LTS, ou seja, com suporte longo (de três anos). Sofri muito quando fui comprar um Notebook Lenovo e não achei em lugar nenhum se funcionava ou não. Então, talvez essa informação te ajude!

Não fiz testes específicos pra saber se tudo está perfeito, e tudo mais, mas todos os componentes aparentemente funcionam: vídeo, áudio, rede etc. Eu não tive a oportunidade de testar efetivamente o Wireless ainda, mas aparentemente está ok, porque várias redes foram detectadas.

Aqui vai o link para o modelo no site da CCE (fabricante): http://www.cceinfo.com.br/index.php?IdPagina=2&Tipo=SPagina&ProdutoId=359&URL=produto-detalhe

Detalhes:

Processador .............. Intel® Core™ i3 330M
Cache .................... 3 MB
Memória RAM .............. 2 GB DDR 3
Disco Rígido (HD) ........ 320 GB
Sistema Operacional ...... Satux® Linux
Drive .................... DVD-RW - Gravador de DVD/CD
Chipset .................. Intel® HM55
Gráfico .................. Intel® Graphic Media Accelerator HD
Áudio .................... Intel® High Definition Audio
Rede ..................... 10/100 Mbps
Rede sem fio.............. Wireless LAN 802.11 b/g
Entradas USB ............. 3 (2.0)
Leitor de Cartão ......... 4x1 (SD, MS, MMC e MS-PRO)
Slot para Expansão ....... Express Card/34
Tela ..................... Widescreen 14.1" LED
Teclado .................. Padrão Português
Touch Pad ................ Tradicional com 2 botões
Bateria .................. Li-Ion 6 Células

Portas
RJ-45 (Rede)
Entrada para microfone
Saída de Áudio
Saída HDMI

Acessórios ............... Webcam 1.3 megapixels
Microfone embutido

Peso líquido ............. 2 Kg c/bateria
Peso bruto ............... 2,8 Kg
Dimensão do produto ...... 342 x 30 x 235 mm
Dimensão da embalagem .... 410 x 275 x 90 mm
Garantia ................. 1 ano

Caso você tenha qualquer coisa a acrescentar que possa ser útil a outras pessoas, por favor, comente aqui no final do texto.


Instalando e Utilizando o Subversion com VisualSVN Server 2.1.4 e RapidSVN 0.12 no Windows

O Subversion – ou SVN – é um Sistema de Controle de versão. Se você não sabe o que é isso, pode acessar o artigo do Wikipedia sobre o assunto e obter mais detalhes. Nesse artigo vou explicar o passo-a-passo como fazer uma instalação básica do VisualSVN Server, que é o servidor, e o RapidSVN, que é o cliente. Foram utilizadas como base as versões 2.1.4 do VisualSVN Server e 0.12 do RapidSVN. Em versões futuras é possível que hajam algumas diferenças.

O VisualSVN Server nada mais é que uma ferramenta visual para instalação e manutenção simplificada do Subversion para Windows, juntamente com o servidor web Apache, utilizado pelo Subversion, que só possuem uma aplicações de linha de comando (para ser usada pelo DOS). O RapidSVN é o programa utilizado para utilizar o servidor.

O RapidSVN foi o programa escolhido para esse artigo porque tem versões disponíveis para vários sistemas operacionais, incluindo Windows, Linux e Mac OS X.

Se o sistema for utilizado por várias máquinas, é interessante que o VisualSVN esteja em uma máquina separada, e nas outras máquinas será instalado só o RapidSVN. No nosso caso coloquei os dois programas no mesmo computador.

Antes de mais nada, baixe o VisualSVN Server no site aqui. A partir de agora vou mostrar um passo-a-passo de como instalar o VisualSVN Server e o RapidSVN.

Caso você não conheça o Subversion, pode entender um pouco como ele funciona aqui: http://marcelosabadini.com.br/blog/2009/08/05/subversionsvn-introducao-basica/.

Passo 1. Depois de feito o download do VisualSVN Server, vai aparecer essa tela. Clique em Executar.

Passo 2. A instalação do VisualSVN começou. Clique em Next.

Passo 3. Marque a caixinha (de preferência leia o contrato antes) e clique em Next.

Passo 4. A primeira opção pergunta se você quer instalar o servidor e o programa pra gerenciamento. A segunda se quer instalar só o programa de gerenciamento. No nosso marcamos a primeira opção. Clique em Next.

Passo 5. Local é onde o servidor será instalado. Repositories é onde ficarão os arquivos de repositório. Clique em Next.

Passo 6. Depois dessa tela a instalação será feita. Clique em Install

Passo 7. Depois disso o servidor será iniciado. Clique em Finish.

Passo 8. Aqui você criará um novo repositório, que é onde ficarão os arquivos dos documentos ou programas que estiver fazendo controle de versão.

Passo 9. Digite o nome do repositório sem espaços, acentos ou caracteres especiais. Digite a senha, e depois repita ela. Clique em OK.

Passo 10. Agora você vai criar um novo usuário.

Passo 11. Digite o nome do usuário sem espaços, acentos ou caracteres especiais. Clique em OK.

Pronto! Seu servidor foi instalado e foram criados um usuário e um respositório. Agora vamos instalar o cliente (RapidSVN). Passo 12. Entre no site http://rapidsvn.tigris.org/ e baixe a última versão do RapidSVN.

Passo 13. Escolha o arquivo com final exe

Passo 14. Depois de baixar o arquivo, abra ele. Se essa tela aparecer, clique em Executar.

Passo 15. Escolha o idioma.

Passo 16. Clique em Avançar.

Passo 17. Marque a opção "eu aceito os termos do contrato". Clique em Avançar.

Passo 18. Clique em Avançar.

Passo 19. Clique em Avançar.

Passo 20. Clique em Avançar.

Passo 21. Clique em Avançar.

Passo 22. Clique em Avançar.

Passo 23. Clique em Instalar.

Passo 24. Clique em Concluir.

Passo 25. Abra o programa. Essa é a tela do RapidSVN.

Passo 26. Agora vamos adicionar o repositório que foi criado anteriormente. Clique com o botão direito do mouse em Favoritos, depois em Adicionar Repositório Existente.

Passo 27. Digite a url do repositório. Se ele está na mesma máquina, digite https://localhost/svn/nome_do_repositorio. Clique em OK.

Passo 28. Será feita uma pergunta em relação ao certificado SSL, já que o Subversion usa conexão HTTPS (segura). Clique em Permanentemente.

Passo 29. Digite o nome do usuário e a senha que você criou anteriormente. Clique em OK.

Passo 30. Vamos fazer o checkout para depois adicionar os arquivos ao repositório. Clique com o botão direito do mouse em Favoritos, e depois em Checkout de Nova Cópia de Trabalho.

Passo 31. URL é o endereço do repositório. Pasta de destino é o local onde estão os arquivos no seu computador. Digite essas informações. Clique em OK.

Passo 32. Depois de feito o checkout, temos que adicionar os arquivos ao repositório. Selecione todos ele, clique o com o botão direito do mouse, e depois clique em "Adicionar Recursivo".

Passo 33. Agora que os arquivos foram criados no servidor, precisamos enviá-los através de um Commit. Selecione todos ele, clique o com o botão direito do mouse, e depois clique em "Commit"

Passo 34. Quando você dá um commit, é interessante dizer o que foi mudado. Nesse caso você pode colocar "Primeira versão", por exemplo. Depois clique em OK.

Agora sim. Seu servidor e seu cliente SVN estão instalados. É só começar a trabalhar!


Instalando o Google Chrome no Fedora 14

O Google Chrome é um dos navegadores mais utilizados atualmente, e o que mais vem crescendo. A versão para Linux demorou, mas chegou. Pra quem quer usar ele no Fedora 14, vou mostrar como instalar.

Antes de tudo, crie o arquivo /etc/yum.repos.d/google.repo . Pra fazer isso, pegue permissões de root no terminal (su), depois edite com o gedit (gedit /etc/yum.repos.d/google.repo) ou com o vim (vim /etc/yum.repos.d/google.repo). Se você não conhece ou não sabe usar o Vim, acesse aqui.

Se sua versão do Fedora for de 32 bits, adicione o trecho abaixo:

[google]
name=Google - i386
baseurl=http://dl.google.com/linux/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Se sua versão do Fedora for de 64 bits, adicione o trecho abaixo:

[google64]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Para instalar a versão Stable (estável), que é a melhor para a maioria dos usuários, digite, ainda como root, o seguinte código:

yum install google-chrome-stable

Comandos básicos do Vim

O Vim é um editor de texto extremamente robusto, mas ao mesmo tempo muito simples. Muitas vezes não conseguimos usar o editor visual (Gedit, no caso do Gnome), e saber editar um arquivo no Vim é bem útil. Muitas pessoas preferem usar o próprim Vim como editor padrão.

Mas vamos lá. Vou considerar que o editor já está instalado, pois ele vem na maioria das distribuições. Se esse não é o seu caso, acesse aqui.

Para acessar o editor, abra o terminal (shell). Digite vim /caminho/nome_do_arquivo . Se for um arquivo de sistema, pode ser necessário obter permissões de root com o comando su .

Se for criar um arquivo novo, é só digitar o caminho e o nome do arquivo. Os comandos mais básicos são esses:

i entra no modo de edição
ESC sai do modo de edição

Fora do modo de edição:
:w salva o arquivo
:wq salva o arquivo e sai do vim
:q! fecha o arquivo sem salvar nada

Se você quer conhecer mais sobre o vim, acesse esse artigo no site de André Cadmo. Ele tem vários outros comandos que você pode usar. No artigo do Wikipedia tem outras informações sobre o editor.


Cliente gráfico para Subversion – SVN – no Linux, Windows e Mac OS X

RapidSVN: Cliente gráfico para Subversion – SVN – no Linux, Windows e Mac OS X

O Subversion – ou simplesmente SVN – é um dos softwares de controle de versão mais populares do mundo. Trata-se de um controle centralizado, diferente dos controles de versão distribuídos como o Git ou Mercurial. Uma das principais funções do controle de versão é possibilitar que vários usuários trabalhem em um mesmo projeto sem que um sobrescreva o trabalho do outro, além da possibilidade de recuperar versões antigas de um mesmo arquivo. Os controles de versão também podem ser usados em outras funções diferentes de programação, como redação de textos e edição de imagens.

“O controle de versão centralizado segue a topologia em estrela, havendo apenas um único repositório central mas várias cópias de trabalho, uma para cada desenvolvedor. A comunicação entre uma área de trabalho e outra passa obrigatoriamente pelo repositório central”. No controle de versão distribuído “são vários repositórios autônomos e independentes, um para cada desenvolvedor. Cada repositório possui uma área de trabalho acoplada e as operações commit e update acontecem localmente entre os dois”. Entenda mais sobre os tipos de controle de versão aqui.

O próprio Subversion dispõe de um cliente em modo texto, ou seja, o programa que o usuário utiliza para mandar e recuperar seus arquivos do servidor, que é uma máquina separada onde todos os repositórios é armazenado. É nos repositórios que se encontram todas as versões dos arquivos de um ou mais projetos.

No dia-a-dia de quem usa um sistema como esses, é necessário enviar e recuperar arquivos do servidor várias vezes. Isso pode ser feito usando o cliente modo texto do SVN, mas a maioria dos usuários preferem usar uma interface mais amigável: um cliente gráfico para controle de versão.

Existem vários produtos disponíveis. Boa parte deles – possivelmente a maioria – são grátis e livres. Um dos mais usados no Windows é o Tortoise, que permite a integração com o Windows Explorer. Apesar de ser ótimo, nem sempre o Tortoise supre todas as necessidades, além de não existir versão para Linux.

Como alternativa ao Tortoise, apresendo o RapidSVN. Ele é extremamente leve e rápido por ser escrito em C++ (usando a framework wxWidgets). Além disso ele é grátis e livre, licenciado sob a licença GPLv3 (GNU GENERAL PUBLIC LICENSE v3).

As principais vantagens de se usar o RapidSVN são:

  1. Simplicidade – dispõe de uma interface muito simples para usar os recursos do SVN;
  2. Eficiente – simples para iniciantes, mas flexível para aumentar a produtividade para usuários experientes do Subversion;
  3. Portável – roda em Linux, Windows, Mac OS/X, Solaris, entre outros.
  4. Rápido – totalmente escrito em C++

A versão para Windows está disponível para download aqui.

Para Linux, o software está disponível nas maiores distribuições. Nas distribuições baseadas no Red Hat, como Fedora e CentOS. Você pode usar o comando:

sudo yum install rapidsvn

No Ubuntu e Debian, o comando pra instalar é esse:

sudo apt-get install rapidsvn

Screenshot do RapidSVN 0.12 para Windows


Criando Métodos em Java

Métodos muitas vezes precisam de parâmetros para serem utilizados, e também na maioria das vezes possuem um retorno.

Veja no exemplo abaixo como criar diferentes tipos de métodos em Java:

public class ExemplosMetodos {

 void PrimeiroMetodo () {
 
 System.out.println("Exemplo de método sem retorno");
 
 }
 
 String SegundoMetodo() {
 
 System.out.println("Exemplo de método com retorno");
 return "Método OK";
 
 }
 
 String TerceiroMetodo(String nome, String sobrenome) {
 
 System.out.println("Exemplo de método com parâmetro e com retorno");
 
 return nome + " " + sobrenome;
 
 
 }
 
 public static void main(String[] args) {
 
 ExemplosMetodos ExMet = new ExemplosMetodos();
 
 ExMet.PrimeiroMetodo();
 
 System.out.println(ExMet.SegundoMetodo());
 
 System.out.println(ExMet.TerceiroMetodo("Tiago", "Passos"));

 }

}

Análise Sobre o Sistema Operacional QNX

Esse artigo foi elaborado com um trabalho acadêmico para a disciplina do curso Sistemas para Internet, na FANESE – Faculdade de Administração e Negócios de Sergipe, na disciplina Sistemas Operacionais de Redes ministrada pelo professor Wilhelm Rodrigues. O artigo foi feito em grupo. Os autores do artigo são:

  • Antônio Walerio da Silva Dutra
  • Helber Cardoso Lemos
  • James Clébio Silva de Assis
  • Matheus Alves dos Santos
  • Tiago José Passos

Resolvemos colaborar com quem eventualmente precise pesquisar sobre o assunto publicando ele aqui, e também no Wikipedia. Enfim, caso precise, faça bom proveito. Espero que seja útil! O material é livre para cópia e distribuição, desde que citada a fonte.

Em resposta a um visitante anônimo que me perguntou (na verdade acusou) de ter copiado o artigo do Wikipedia (e qualquer outro que possa pensar isso): Na verdade foi o contrário. O artigo que está no Wikipedia atualmente foi modificado por mim, baseado no trabalho que fiz com os outros integrantes do grupo. Caso tenha alguma dúvida, basta verificar meu nome de usuário (Tiagopassos) no histórico do artigo, acessando o link: http://pt.wikipedia.org/w/index.php?title=QNX&action=history

Baixe o artigo no formato PDF aqui

Ou leia diretamente aqui, logo abaixo:

RESUMO

O QNX é um Sistema Operacional de Tempo Real (RTOS) baseado em UNIX amplamente utilizado no controle de sistemas embarcados e industriais. É utilizado em processos altamente críticos como controle de vôo, controle de esteiras de fábricas, sinais de trânsito e usinas nucleares. Destaca-se no mercado há mais de 20 anos pela sua confiabilidade e robustez, sendo encontrado em inúmeras aplicações aeronáuticas e aeroespaciais – situações onde qualquer erro do sistema simplesmente não pode acontecer.

1. INTRODUÇÃO

Inicialmente chamado de QUNIX, o QNX é um Sistema Operacional de Tempo Real (RTOS) baseado em UNIX amplamente utilizado no controle de sistemas embarcados e industriais. É utilizado em processos altamente críticos como controle de vôo, controle de esteiras de fábricas, sinais de trânsito e usinas nucleares. Mesmo sendo um sistema de arquitetura fechada e paga, o QNX disponibiliza uma versão gratuita para uso não-comercial.

O QNX se destaca no mercado há mais de 20 anos pela sua confiabilidade e robustez, sendo encontrado em inúmeras aplicações aeronáuticas e aeroespaciais – situações onde qualquer erro do sistema simplesmente não pode acontecer.

Sua versão mais recente é a QNX Neutrino RTOS 6.4.1, lançado em maio de 2009.

2. PRINCIPAIS CARACTERÍSTICAS DO SISTEMA

O QNX é um sistema operacional comercial de Tempo Real muito usado em operações embarcadas (Sistemas com requisitos específicos e tarefas pré- definidas), utiliza arquitetura de microkernel, é um sistema seguro e estável baseado na plataforma UNIX, o QNX é considerado o principal sistema operacional de tempo real no que diz respeito a família de processadores “x86”.

O kernel QNX contém apenas escalonador de CPU, comunicação inter-processos, redirecionamento de interrupção e temporizadores.

Todos os processos são executados em espaço de Usuário.

O Microkernel é preemptivo com escalonador baseado em prioridades.

Tem Suporte a clusters de tolerância a falhas e é otimizado para sistemas distribuídos (coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados).

3. ARQUITETURA DO NÚCLEO (KERNEL)

O Kernel do QNX é de um tipo chamado microkernel. Muitos fabricantes dizem que seus sistemas operacionais possuem microkernel – ou até nanokernel. Muitas vezes não passa de marketing.

Um microkernel não é simplesmente um kernel pequeno. Ao contrário dos kernels tradicionais, a idéia é oferecer o mínimo de serviços necessários para que o sistema funcione. Os outros serviços são providos através de outros processos opcionais. No QNX o kernel chamado de “procnto”.

A idéia não é simplesmente fazer um kernel pequeno, mas sim dar modularidade a ele, o que consequentemente diminuirá o tamanho. Ele é utilizado para juntar os módulos do sistema operacional. Muitos desenvolvedores acreditam que – devido à alta performance – ele foi desenvolvido em Assembly, quando na verdade foi desenvolvido na linguagem C. O alta performance está relacionada às sucessivas redefinições de algoritmos e estruturas de dados. Desde sistemas embarcados com memória extremamente limitada à sistemas com gigabytes de memória rodam o QNX.

A maioria dos serviços de tempo real e threads são implementados diretamente no microkernel, o que dispensa módulos adicionais para o acesso a esses serviços. Além disso, vários outros serviços são suportados, como semáforos e mutexes. Operações que exigem mais recursos, são carregadas em processos externos. Esse modelo derruba o mito de que sistemas monolíticos possuem um tempo de resposta mais rápido que sistemas que utilizam microkernel.

4. CHAMADAS AO SISTEMA (SYSTEM CALLS)

O QNX, por se tratar de um sistema microkernel, implementa um sistema de mensageria, o IPC,  Comunicação entre Processos. Estas mensagens são pacotes de bytes passados de um processo para o outro, que permitem transmitir dados e meios de sincronização da execução de vários processos.

O IPC supervisiona o roteamento de mensagens e também gerencia as mensagens de proxies e sinais.

  • Mensagens: Fornece comunicação síncrona entre processos cooperativos, onde o remetente exige uma prova de recebimento e uma confirmação para mensagem.
  • Proxies: São especialmente adequados para notificação de eventos onde o remetente não precisa interagir com destinatário
  • Sinais: Usados para suportar comunicação assíncrona  entre processos.

4.1. MENSAGENS

Como o IPC de mensagens espera uma confirmação de recebimento, no seu conteúdo ela utiliza funções da linguagem C. Quando é realizada a sincronização entre processos, são utilizadas as funções SEND(), RECEIVE() e REPLY.  A partir do momento que uma mensagem de sincronização é disparada, o processo remetente fica em estado de bloqueio, sendo liberado apenas ao receber o retorno do processo destinatário.

4.2. PROXIES

É uma forma de mensagem não bloqueante adequada especialmente para notificação de eventos onde o realmente não precisa interagir com o destinatário. A única função de um proxy é enviar uma mensagem fixa a um processo especifico que possui o proxy, onde é possível enviar a mensagem para um processo, sem que o remetente fique bloqueado ou esperando um retorno.

4.3. SINAIS

São métodos tradicionais de comunicação assíncrona. Um sinal é considerado entregue a um processo quando a ação deferida por ele é realizada pelo destinátario. Um processo pode estabelecer um sinal sem nenhuma intervenção. Nenhum dado é transmitido com sinal. Entre o tempo que o sinal é gerado e o tempo que ele é entregue, ele é considerado pendente. Os sinais são entregues a um processo quando o processo esta pronto para pronto para executar no escalonador.

Se o processo não tomar nenhuma ação especial para manipular sinais, ação default é executada – finalizar o processo. Se o processo ignorar o sinal, não ocorre nenhum efeito no processo quando ele é entregue.

5. GERÊNCIA DE PROCESSOS E THREADS

“De forma Simplificada um thread pode ser definido como uma sub-rotina  de um programa que pode ser executada de forma assíncrona , ou seja executada paralelamente ao programa chamador. O programa deve especificar os threads associando-os às sub rotinas assíncronas. Desta forma multithreads possibilita a execução de concorrente de sub-rotinas dentro de um mesmo processo.” (MACHADO; MAIA, 2007)

Em ambientes multithread existe um ganho de desempenho, pois são diversas instruções em um mesmo processo, ou seja, é como se diversos processos estivessem sendo executados de forma concorrente, porém fazendo uso de apenas um contexto de hardware, dividindo assim o mesmo endereçamento, com isso a comunicação é bem mais rápida, pois não envolve mecanismos lentos. Também não existe a criação, troca e eliminação de processos, diminuindo assim o overhead. As threads são escalonadas assim como os processos.

5.1. THREADS

O QNX é um sistema operacional multithread. No QNX o responsável por decidir qual thread deve estar sendo executada em um dado instante é o kernel. Ele também é o responsável por escalonar, efetuar as trocas de contexto e salvar as informações da thread que esta saindo da CPU nos registradores de controle. Para garantir que duas threads não acessem simultaneamente um recurso compartilhado (seção critica), o QNX implementa a técnica de Exclusão Mutua Com sincronização condicional (semáforos).

6. ESCALONAMENTO (SCHEDULING)

As decisões de escalonamento são realizadas pelo Micro-kernel nas seguintes situações:

  • Quando o processo está bloqueado.
  • O timeslice de um processo em execução esgotou.
  • Processo em execução sofre preempção.

Todo processo criado no QNX recebe um prioridade, a qual o escalonador utiliza para selecionar o próximo processo com maior prioridade que deve estar em no estado ready (pronto), ou seja, podendo utilizar os recursos da CPU.

Os métodos de escalonamento podem ser de três tipos: escalonamento FIFO, escalonamento Round Robin, e escalonamento Adaptativo. Cada processo no sistema operacional pode utilizar qualquer um desses métodos, porém somente é aplicado os métodos em situações com dois ou mais processos com mesma prioridade e com o estado ready, ou seja , pronto para utilizar os recursos da CPU. Caso um processo com maior prioridade torne-se ready , então causa a preempção dos processos de baixa prioridade.

No escalonamento FIFO a condição que o método seja executado é que o processo renuncie o controle de forma voluntaria, não fazendo chamadas ao método ou através de preempção por um processo com maior prioridade.

No escalonamento Round-Robin, a condição para que o método continue executando é o mesmo procedimento do escalonamento FIFO , porém acrescido de mais um condição onde caso seja esgotado o timeslice do processo então há a preempção e o próximo processo no estado Ready terá o controle .

No escalonamento adaptativo, caso o timeslice do processo termine então a prioridade do processo é reduzida em uma unidade, procedimento conhecido como deterioração de prioridade.  Neste caso o processo não é bloqueado.  A prioridade do processo não cairá mais que uma unidade, mesmo que o timeslice esgote novamente sem bloquear. Caso o processo seja bloqueado então retorna para sua prioridade original. O escalonamento adaptativo é o método default do criado pelo Shell.

7. CONCLUSÃO

Atualmente, a QNX Software Systems é líder mundial em tempo real, tecnologia OS embarcada.

QNX é multiusuário, multitarefa, trabalha com rede e possui uma boa interface. A semelhança visual do QNX com o Linux é explicada pelo fato de ambos os projetos fazerem uso da interface gráfica PHOTON. Versões mais recentes do QNX possuem diversas aplicações nativas, dentre as quais se destaca o seu navegador de internet, o Voyager, que renderiza praticamente todo tipo de conteúdo (streaming de áudio e vídeo, flash, etc.) usado atualmente na web.

Por se basear em UNIX, o QNX é confiável e estável, podendo ser ideal para profissionais da área gráfica (3D, edição de imagem e vídeo e similares).

Líderes mundiais como a Cisco, General Eletric e Siemens dependem da tecnologia QNX para roteadores de rede, instrumentos médicos, unidades telemáticas de veículos, sistemas de segurança e de defesa, robótica industrial e outras aplicações de missões críticas.

Em 2010, a Research In Motion (RIM), fabricante do BlackBerry, adquiriu o QNX e o implementou em seu primeiro tablet PC, o PlayBook, concorrente direto do iPad, da Apple.

O fato de Gordon Bell e Dan Dodge, fundadores da QNX Software Systems, ainda representarem um papel ativo no desenvolvimento e codificação do QNX até hoje dá um respaldo maior à comunidade QNX no mundo.

8. REFERÊNCIAS

MACHADO, Francis; MAIA, Luiz. Arquitetura de Sistemas Operacionais. 4 ed. Rio de Janeiro: LTC Editora. Rio de Janeiro, 2007.

DO PRADO, Rodrigo; VICENTE, William. Sistema Operacional QNX. Monografia apresentada para banca na Universidade de Campinas: 1998.

TENENBAUM, Andrew S. Sistemas Operacionais Modernos. 2 ed. São Paulo: Pearson Education do Brasil, 1994.

KRTEN, Rob. QNX Neutrino RTOS. Ottawa: QNX Software Systems GmbH & Co. KG., 2009.


Switch no Java

A estrutura Switch é interessante para fazer testes e executar um comando a partir dos resultados obtidos.

Cada caso é testado, e se não for encontrado nenhum valor, é executado o default.

Exemplo:

public class Swtich {


 public static void main(String[] args) {

 int num = 6;
 
 switch (num) {
 
 case 5:
 
 System.out.println("É igual a 5");
 break;
 
 case 6:
 
 System.out.println("É igual a 6");
 break;
 
 case 111:
 
 System.out.println("É igual a 111");
 break;
 
 default:
 
 System.out.println("É diferente dos números anteriores");
 
 }

 }

}

Inproprietário: O Mundo do Software Livre

O documentário Inproprietário: O Mundo do Software Livre, com duração de 32 minutos, conta com a participação de Richard Stallman e outros amantes de software livre e aborda desde a história da criação do Unix que teve durante um breve período de vida o seu código aberto e que tornou assim a sua derivação e larga utilização em universidades nos EUA possível em meados da década de 70, mas que foi fechado pela AT&T e que fez nascer assim a ideia do software livre e o surgimento do movimento GNU e mais adiante o kernel do Linux.

Leia mais sobre o filme aqui: http://www.vivaolinux.com.br/dica/Documentario-INPROPRIETARIO-O-Mundo-do-Software-Livre


  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress