Universidade Federal Rural de Pernambuco

 

Departamento de Informática

Disciplina: Sistema Operacional

Profº-: Jones

Tema: OpenBSD

 

Jose Vieira de Oliveira Junior

 

 

 

Introdução

 

 

Os sistemas operacionais estão ficando cada vez mais segmentados. O Windows, por exemplo, é o preferido dos usuários domésticos, já o Red Hat Linux é uma boa escolha para quem quer estabilidade. Mas quando o assunto é segurança, há um novo software que está conquistando os profissionais.

Trata-se do OpenBSD, um sistema operacional gratuito (código-fonte e binários baseados na licença BSD), multiplataforma, multiusuário e baseado no UNIX . Seus pontos fortes são a consistencia, segurança, padronização, e portabilidade. Para garantir a segurança, o código-fonte do OpenBSD é extensivamente auditado por profissionais de segurança, e sua criptografia implementada no próprio sistema operacional. O OpenBSD suporta emulação binária da maioria dos binários de SRV4 (Solaris), FreeBSD, Linux, SunOS e HPUX.

O OpenBSD é o menos amistoso quando falamos em instalação de BSDs. Não é muito difícil, mas o particionamento não é nem um pouco intuitivo. Depois da instalação, o usuário administrador recebe um e-mail direcionando-o a página de manual “afterboot” .

 

OpenBSD

 

Por definição temos:

Open à abrir

BSD à Berkeley Software Distributions (distribuição)

(((

O OpenBSD é a distribuição BSD mais voltada para a questão da segurança. no sistema operacional OpenBSD você encontrará a maior quantidade de informação sobre como proteger um sistema, além da grande quantidade de ferramentas para este intuito;

 

 

Geralmente, muita segurança é sinônimo de lentidão. Veja o exemplo dos antivírus: quanto mais esses programas protegem o seu computador, mais tempo de espera é requerido para a realização de algumas tarefas. Mas essa regra não se aplica ao OpenBSD.

Este sistema não é um Linux, mas sim um Unix da família BSD. Mesmo considerando que ele perca um tempo de velocidade com as criptografias, ainda assim ele consegue ser mais rápido que qualquer Linux que esteja instalado em um hardware semelhante.

Outra vantagem muito útil deste sistema operacional é o gerenciamento de pacotes.

 

 

Um aspecto negativo deste sistema é a impossibilidade de utilizar a placa de som, já que o sistema não possui as bibliotecas padrão POSIX necessárias, que necessitariam serem compiladas no próprio kernel do sistema, o que demanda experiência do usuário para realizar algumas tarefas. 

 

 

 

O OpenBSD é um dos SO mais seguros da atualidade. Para se ter uma idéia de como os programadores investem nesta característica, o mascote deste sistema não é um pingüim, mas sim um peixe espinhoso e similar a um baiacu.

Todos os processos já vem pré-configurados, visando atingir a proteção máxima. Neste último caso vale lembrar que é muito difícil encontrar distribuições que tenham essa preocupação.

 

 

Tudo no OpenBSD gira em torno de criptografia, ou seja, seu conceito está baseado que a segurança não é um produto, mas sim um processo. É mais que criar uma proteção eficiente para o software. É desenvolver um sistema operacional com todas as medidas de segurança, incluindo a criptografia.

Uma curiosidade é que o OpenBSD é um produto canadense, que ao contrário das leis aplicadas nos EUA é possível exportar softwares criptográficos.

 

 

Gerenciamento de Processos

 

            O gerenciamento de processos é um trabalho fundamental para o administrador de sistemas. Em muitos casos os processos são ativados, executados e mortos sem a intervenção de um usuário. Isto ocorre por que eles estão sendo automaticamente gerenciados pelo Kernel  (é responsável pela manutenção de todas as abstrações importantes do sistema operacioal, incluindo elementos como a memória virtual e os processos).

Uma das características do OpenBSD é a facilidade com que múltiplos processos podem ser criados e manipulados, os quais são representados por vários blocos de controle, e armazenados no kernel. As informações desses blocos são usadas pelo kernel para o controle de processos e escalonamento de CPU.

 

Um processo é um programa em execucao. Os processos são identificados por seu identificador de processo. Um novo processo é criado pela chamada ao sistema fork e consiste em uma cópia do espaço de endereçamento do processo original.

Todos os processos de usuário são descendentes de um processo original, chamado init. Assim no OpenBSD temos como exemplo a criação das portas de terminais que são a base do processo getty, o qual foi criado pelo init.

 

 

Gerenciamento de Memória

 

O OpenBSD é um sistema de memória virtual (separação da memória lógica do usuário da memória física) com paginação sob demanda (os processos residem na memória secundaria). Essa memória é um conjunto de técnicas que permitem a execução de um programa que não está todo na memória. A paginação por demanda.

            A memória virtual no OpenBSD funciona da seguinte maneira:

O programa fica no disco e no momento de ser executado, ele é copiado para a memória, mas não todo. Cada pagina só é copiada no momento em que é necessária, pois o programa pode acessar uma pagina que não está na memória. A falta de uma página na memória só é notada quando ela é utilizada realmente. O hardware tenta traduzir o endereço lógico para um endereço físico.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sistemas de Arquivos

 

O sistema de arquivos do OpenBSD suporta dois objetos principais: arquivos e diretórios. Os diretórios são apenas arquivos com um formato especial, por isso a representação de um arquivo é o conceito básico do OpenBSD.

O sistema de arquivos do OpenBSD suporta ponteiros de arquivos com 32 ou 64 bits.

No OpenBSD, assim como no Linux/Unix, tudo é manipulado como arquivo, ou seja, uma seqüência de bytes. Estes arquivos estão organizados em diretórios estruturados em árvores. Os diretórios propriamente ditos são arquivos que contêm informações sobre como localizar outros arquivos. Sintaticamente, temos um barra (/) dividindo o caminho entre diretórios.

 

 

Boa parte do sistema de arquivos é ocupada por blocos de dados, que contêm dados inseridos pelos usuários nos seus arquivos, são armazenados no disco. Os sistemas de arquivos do OpenBSD geralmente contêm um número enorme de arquivos pequenos, blocos muito maiores causariam fragmentação interna excessiva.

 

 

Sistema de I / O

 

O sistema de I/O do BSD é uma seqüência de bytes que podem ser acessados randomicamente ou seqüencialmente Diferentes programas esperam vários níveis de estrutura, mas o kernel não impõe estrutura de I/O.

Processos UNIX usam descritores para referenciar I/O streams (mover rapidamente) São inteiros, obtidos nas chamadas de sistemas open. A chamada de sistema open pega como argumentos: o nome do arquivo e o modo de permissão, para especificar se o arquivo é aberto para escrita, leitura ou ambos. Pode ser usada para criar um arquivo em vazio

No BSD, 3 grupos de objetos podem ser representados por descritores: files(fila), pipes(canais), end sockets(encaixe). Um arquivo é um array (disposição) de bytes com no mínimo um nome. Um processo adquire um descritor para um arquivo abrindo pelo nome, com chamada de sistema. Dispositivos de I/O são acessados como arquivos

 

 

 

Referências Bibliográficas

 

Silberschatz, ª, Galvin, P.B. e Gangne, G. Applied Operatin g system Concepts. Nova York: Wiley, 2000.

 

Tanenbaum, Andrew S. – Sistemas Operacionais Modernos. 2 – Seller Mundial. Pearson, São Paulo, Prentice Hall, 2003.

 

www.samabsd.com.br

 

www.openbsd.org