Artigos Gerais

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.


Cerca de 90% dos 500 Maiores Supercomputadores Usam Linux

A informação é de Junho, mas acho válido colocar aqui pra que quem ainda não sabe, fique sabendo! 🙂

Em 2010, no ranking dos 500 melhores supercomputadores mostra que o Linux está na frente, como o Sistema Operacional mais utilizado. Segundo o site TOP 500 Supercomputer Sites, cerca de 90% dessas grandes máquinas utilizam Linux. Veja as estatísticas aqui: http://www.top500.org/stats/list/35/os

O gráfico ilustra o uso dos mais importantes sistemas operacionais nos maiores supercomputadores com o passar dos anos

Veja aqui o gráfico original

O ranking foi divulgado nesta segunda-feira, 31/05, durante a International Supercomputing Conference 2010, que acontece em Hamburgo, na Alemanha.

Como o alto índice indica, os computadores com Linux estão nas primeiras posições da lista. A colocação pode ser justificada pelo fato das máquinas com sistema operacional aberto serem mais estáveis, adaptáveis, além de terem licença que permite o uso de alterações sem que para isso seja preciso desembolsar muito dinheiro.

A lista dos 500 supercomputadores é divulgada a cada dois anos. De acordo com informações de gráficos elaborados pela BBC, as melhores máquinas estão localizadas nos Estados Unidos.


Recupere seu notebook roubado com o Prey

O Brasil é um país bastante violento. Roubos e furtos são uma preocupação constante para parte considerável dos brasileiros – pelo menos para os que não vivem em uma redoma. Às vezes guardamos dinheiro por vários meses ou pagamos parcelas por muito tempo para conseguir comprar um notebook ou smartphone, mas aparece um engraçadinho para furtá-lo ou roubá-lo. O Prey é um software (livre) que pode te ajudar a encontrar o ladrão, recuperar seu notebook ou smartphone, e entregá-lo à polícia.

Baixe o Prey aqui.

Funciona da seguinte forma:

  1. Você instala um programa pequeninho. Esse programa funciona em Windows, Linux e Mac OS X. Além de funcionar em alguns Smartphones. Ele é grátis e livre!
  2. Depois de instalado, pelo próprio programa você pode criar uma conta e é com ela que você vai cadastrar seus aparelhos. Você pode cadastrar até 3 computadores ou smartphones. Vá até seu e-mail e confirme a criação da conta, assim que você terminar de se inscrever.
  3. Logue na conta. Agora você tem controle sobre seu computador. Através do site do Prey, você pode configurar para que o programa envie de tempos em tempos (o padrão é 20 minutos, mas você pode configurar isso) relatórios de uso do seu aparelho. Os relatórios só são enviados quando você marca o aparelho como desaparecido (missing).
  4. A partir de agora você vai ter várias opções, entre elas:
  • Capturar fotos da webcam;
  • Capturar fotos da tela;
  • Enviar uma mensagem de alerta personalizada para o ladrão, que aparecerá na tela do computador;
  • Bloquear o computador – essa não é tão eficiente, pois o ladrão pode formatar o computador;
  • Limpar as informações pessoais, como senhas;
  • Tocar um alarme barulhento, caso você ache que o aparelho ainda está por perto.

É isso. Não é bom ter nada roubado, mas se houver algo que nos ajude a encontrar, é bastante interessante.

Se gostou do artigo, mostre a seus amigos!


Proteja seus arquivos com o TrueCrypt

A Policia Federal gastou cinco meses. Pediu arrego e foi atrás do FBI. Passou-se mais de um ano e nada foi descoberto. Você não sabe do que estou falando? Estou falando do TrueCrypt! Um poderosíssimo software de encriptação de dados que o então banqueiro Daniel Dantas, do Banco Opportunity usou para manter em sigilo seus preciosos dados.

Ao todo confiscados em uma apreensão em sua casa cerca de 2TB (2 TeraBytes) distribuídos em seis discos rígidos externos e um computador portátil. A criptografia utilizada foi a AES 256, uma das mais usadas e mais difíceis de serem quebradas.

O programa tem alguns recursos interessantes. A primeira barreira contra curiosos é – obviamente – uma senha. O fabricante recomenda que se use uma senha de 20 a 25 caracteres (meio grande, mas muito seguro!), com números, letras e caracteres especiais (? ! @ # $ % & * etc.). Além disso podem ser utilizados arquivos na autenticação. O software é open source e roda em Linux, Windows e Mac OS X. Na versão para Windows também é possível fazer uma instalação portable (para usar em pen drives e afins).

Você pode colocar um arquivo de imagem, uma música, um vídeo, e os dados só são liberados quando você digita a senha e insere o arquivo no programa, na hora do desbloqueio. E como se não bastasse, ainda existe mais um recurso interessantíssimo. Você pode criar um volume escondido dentro de outro. Assim se alguém descobrir a senha do primeiro volume, ainda tem que descobrir a do segundo volume (que fica dentro do primeiro). E não tem como ele saber se tem ou não um volume escondido.

Depois que o arquivo é montado, o programa cria uma unidade (no Windows), e você acessa normalmente, como se fosse um pen drive, por exemplo. Quando terminar de trabalhar com os arquivos que estão dentro do volume, é só desmontar, e pronto. Tudo está trancado a sete chaves.

Veja mais:


Mosaico dos sites mais acessados na internet

O site nmap cria um mosaico a partir dos sites mais acessados na internet. O sistema criado utiliza os favicons (ícones que aparecem ao lado da barra de endereços) para demonstrar o “tamanho” de cada site. Os dados que foram utilizados foram os fornecidos pelo site Alexa.


Como criar uma conta no Dropbox

Imagine que você acessa diariamente seu desktop, seu notebook, o computador da sua empresa e seu Smart Phone (iPhone, celular com Android ou BlackBerry) ou iPad. Organizar seus arquivos deve ser um problema, certo? Agora imagine que você está viajando e percebeu que precisa urgentemente de um arquivo que está no seu computador, em casa, mas não tem ninguém em casa. O que você faz?

Agora imagine uma terceira situação: deu problema em seu computador, e tinha um arquivo importantíssimo que estava só nele e você perdeu. Como se resolve isso?

O Dropbox é um sistema multi-plataforma (funciona em Linux, Windows, Mac, iPad e Smart Phones) e com ele você pode resolver todos esses problemas. Você pode deixar todos os seus arquivos na nuvem. Mas como funciona isso na prática?

Pra que o Dropbox funcione, você tem que instalar ele em cada computador ou Smart Phone que deseja ter os arquivos sincronizados. A partir do momento que você instala, uma pasta é criada com o nome de Dropbox. No Windows ela ficará na pasta Meus Documentos. No Linux, na sua pasta home.

A partir dalí, tudo que você jogar nessa pasta será mandado automaticamente para o servidor do Dropbox, e assim que esse arquivo tiver sido enviado, todos os outros dispositivos onde você instalou o Dropbox começarão a baixar esse arquivo. Tudo automaticamente. Legal né?

Dessa forma você tem seus arquivos importantes sempre compartilhados entre todos os seus dispositivos!

O serviço disponibiliza gratuitamente 2GB para você armzenar seus arquivos, mas se você precisar de mais espaço, existem contas pagas de 50GB e 100GB. Mas tem um presentinho do Dropbox pra você!

Quando você se inscreve, você recebe um link que pode enviar para seus amigos. Cada vez que alguem se inscreve e começa a usar o Dropbox através desse link, você ganha 250MB. Sua conta pode ficar com até 10GB! Se inscrevendo por esse link, você já ganha 250MB.

Informação adicionada em 06/06/2011: Depois de utilizar o Dropbox por alguns anos, hoje estou utilizando o SpiderOak.com. Clique aqui e saiba o motivo. Se mesmo assim você quer usar o Dropbox, siga os passos abaixo para criar sua conta.

Abaixo vou mostrar telas de como se inscrever no Dropbox. Se você não tem dificuldades com inglês, o site é bastante intuitivo. Basta clicar aqui.

 

Se você se interessou pela receita de bolo de caneca que eu esqueci de tirar da minha barra de favoritos antes de tirar os prints da tela, ela tá aqui: http://comidinhasdamiss.blogspot.com/2008/01/bolo-da-caneca-3-minutos.html 😛


Criando formulários HTML rapidamente com o pForm

O “pForm – Free HTML Form Builder“, é uma ferramenta online que auxilia a criar formulários em HTML de forma bastante fácil. A ferramenta disponibiliza diversos templates para facilitar a criação.

Depois de escolhido o template, você monta o form de maneira bem prática. Escolhe cada tipo de campo e personaliza tudo, e depois exporta como HTML.

Mas atenção. O utilitário serve apenas para criar os formulários, e não os scripts para envio (de e-mail por exemplo). Se você não tiver o script ele não irá funcionar. É interessante algum conhecimento em HTML para que você possa manipular o formulário posteriormente, caso queira.

Acesse o site em:  www.phpform.org


Fishing para clientes Bradesco

Recebi esse fishing por e-mail, temos que ser cautelosos com informações que mandamos por e-mail e os links que clicamos nas mensagens. Lembre-se que geralmente os bancos nunca solicitam informações por e-mail, justamente pra evitar esse tipo de fraude.

O estelionatário não teve nem grandes cuidados. Utilizou o seguinte e-mail pra enviar a mensagem: [email protected]. Poderia pelo menos ter usado um domínio com o no bradesco no meio né? 😛

Além disso, o link aponta pra uma página PHP. Nunca vi um banco utilizar PHP para seus sistemas…

PS: Pra quem não conhece o termo, e-mails de fishing (“pescaria”) são e-mails falsos que estelionatários mandam pra grandes listas de e-mail a fim de obter informações importantes, como contas e senhas de banco. Repasse esse e-mail pra quem puder.

Prezado Cliente.

Informamos que o período de uso das suas chaves de segurança Bradesco expiraram, para continuar utilizando o mesmo cartão de chaves e os serviços Bradesco tais como Caixas Eletrônicos, Fone fácil e Internet Banking será necessário realizar o recadastramento.

Caso o recadastramento não seja efetuado, as chaves de segurança serão desativadas e seu acesso em todos os canais Bradesco serão bloqueados. O recadastramento é simples e rápido, basta clicar no botão Recadastrar Agora, acessar sua conta e seguir as instruções que irão aparecer dentro de sua conta.

O uso do Cartão Chave de Segurança Bradesco é indispensável para evitar fraudes e garantir sua segurança e comodidade.

Recadastrar Agora

Atenciosamente
Bradesco S.A.


2010 Direitos reservados Banco Bradesco S.A.


Geradores de CPF e CNPJ

O site Gerador de CPF permite que você gere CPF’s (válidos) aleatórios, que podem ser bastantes úteis para que programa ou precisa testar algum software que utilize CPF. Para gerar CNPJ’s válidos, você pode usar o Gerador de CNPJ. Além disso, o site ainda demonstra como funciona o Algoritmo de validação do CPF e do CNPJ.

Uma solução melhor ainda – caso você use o Firefox – é a extensão de nome bem sugestivo: Gerador de CPF e CNPJ.


Criando Gifs de Loading personalizados para Ajax

A maioria dos scripts feitos usando Ajax exibe um Gif Animado – Loading… – para o usuário enquanto as informações estão sendo carregadas. Veja como criar um que se encaixe no seu layout.

Com o site ajaxload.info você pode criar um Gif desse tipo totalmente personalizado. Existem vários modelos prontos, e você pode definir as cores que quizer, de forma rápida e prática.

Visite o site: ajaxload.info


  • 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