Universidade Federal Rural de Pernambuco – UFRPE

Departamento de Física e Matemática

 

 

 

 

 

 

 

 

 

SISTEMA OPERACIONAL – LINUX/DEBIAN

 

 

 

 

 

Trabalho apresentado à turma de Licenciatura em Computação, para a disciplina de Sistemas Operacionais.

 

 

 

 

 

Focando o conteúdo visto durante a disciplina de sistemas operacionais do curso de Licenciatura em Computação da UFRPE, produzimos este trabalho abordando os seguintes aspectos referente ao DEBIAN:

·        Origem;

·        Gerenciamento de Processos;

·        Gerenciamento de Memória;

·        Entrada e Saída de Dados;

·        Sistemas de Arquivos.

 

 

Anderson Campelo

Geraldo Wellington

 

 

 

 

 

Recife

Janeiro – 2005


SISTEMA OPERACIONAL BEOS

 

 

Ø    Origem

 

O Projeto Debian é uma associação de indivíduos que têm como causa comum criar um sistema operacional livre. O sistema operacional  é chamado Debian GNU/Linux, ou simplesmente Debian.

Um sistema operacional é o conjunto de programas básicos e utilitários que fazem seu computador funcionar. No núcleo do sistema operacional está o kernel. O kernel é o programa mais fundamental no computador e faz todas as operações mais básicas, permitindo que você execute outros programas.

Os sistemas Debian atualmente usam o kernel Linux. O Linux é uma peça de software criada inicialmente por Linus Torvalds com a ajuda de milhares de programadores espalhados por todo o mundo.

No entanto, há trabalho em andamento para fornecer o Debian com outros kernels, primeiramente com o Hurd. O Hurd é um conjunto de servidores que rodam no topo de um micro kernel (como o Mach), os quais implementam diferentes características. O Hurd é software livre produzido pelo projeto GNU.

Uma grande parte das ferramentas básicas que formam o sistema operacional são originadas do projeto GNU; daí os nomes: GNU/Linux e GNU/Hurd. Essas ferramentas também são ferramentas livres.

O Debian vem com mais de 8710 pacotes (softwares pré-compilados e empacotados em um formato amigável, o que faz com que sejam de fácil instalação em sua máquina) - todos eles são livres.

É mais ou menos como uma torre: Na base dela está o kernel. Sobre ele todas as ferramentas básicas e acima estão todos os outros softwares que você executa em seu computador. No topo da torre está o Debian - organizando e arrumando cuidadosamente as coisas, de modo que tudo funcione bem quando todos esses componentes trabalham em conjunto.

GERENCIAMENTO DE  I/O

Porta de Entrada/Saída

Cada dispositivo possui um endereço de porta. O endereço é uma localização da memória usada pelo computador para enviar dados ao dispositivo e onde o dispositivo envia dados ao computador. Ao contrário da IRQ e DMA, o dispositivo pode usar mais de uma porta de Entrada/Saída ou uma faixa de endereços. Por exemplo, uma placa de som padrão usa as portas 0x220, 0x330 e 0x388, respectivamente audio digital, midi e opl3.

As placas de rede normalmente transferem grandes quantidades de dados, assim ocupam uma faixa de endereços. Uma placa NE2000, por exemplo, pode ocupar a faixa de endereços 0x260 a 0x27F (0x260-0x27F). O tamanho da faixa de endereços varia de acordo com o tipo de dispositivo.

Os endereços de I/O em uso no sistema podem ser visualizados com o comando cat /proc/ioports.

Endereços das portas de entrada/saída não podem ser compartilhados

 

 

Ø    Sistema de arquivos

 

Cada sistema de arquivos tem uma característica em particular mas seu propósito é o mesmo: Oferecer ao sistema operacional a estrutura necessária para ler/gravar os arquivos/diretórios.

Entre os sistemas de arquivos existentes citamos:

* Ext2 - Usado em partições Linux Nativas para o armazenamento de arquivos. Seu tamanho deve ser o suficiente para acomodar todo os arquivos e programas que deseja instalar.Não utiliza o recurso de "journaling"

*  Ext3 - Este sistema de arquivos possui melhorias em relação ao ext2, como destaque o recurso de journaling. O journal mantém um log de todas as operações no sistema de arquivos, caso aconteça uma queda de energia elétrica (ou qualquer outra anormalidade que interrompa o funcionamento do sistema), o fsck verifica o sistema de arquivos no ponto em que estava quando houve a interrupção, evitando a demora para checar todo um sistema de arquivos (que pode levar minutos em sistemas de arquivos muito grandes). Este sistema é totalmente compatível com o ext2 em estrutura.

* ReiserFs - Este é um sistema de arquivos alternativo ao ext2/3 que também possui suporte a journaling. Entre suas principais características, estão que ele possui tamanho de blocos variáveis, suporte a arquivos maiores que 2 Gigabytes (esta é uma das limitações do ext3) e o acesso mhash a árvore de diretórios é um pouco mais rápida que o ext3.

O princípio da segurança no sistema de arquivos é definir o acesso aos arquivos por donos, grupos e outros usuários:

Dono

 É a pessoa que criou o arquivo ou o diretório.

As permissões de acesso do dono de um arquivo somente se aplicam ao dono do arquivo/diretório. A identificação do dono também é chamada de user id (UID).

grupo

Para permitir que vários usuários diferentes tivessem acesso a um mesmo arquivo (já que somente o dono poderia ter acesso ao arquivo), este recurso foi criado. Cada usuário pode fazer parte de um ou mais grupos e então acessar arquivos que pertençam ao mesmo grupo que o seu (mesmo que estes arquivos tenham outro dono).

outros

É a categoria de usuários que não são donos ou não pertencem ao grupo do arquivo.

Cada um dos tipos acima possuem três tipos básicos de permissões de acesso que são:

* r - Permissão de leitura para arquivos. Caso for um diretório, permite listar seu conteúdo (através do comando ls, por exemplo).

* w - Permissão de gravação para arquivos. Caso for um diretório, permite a gravação de arquivos ou outros diretórios dentro dele.

* x - Permite executar um arquivo (caso seja um programa executável).

* Há suporte para outros sistemas de arquivos, entre eles:

* FAT12 - Usado em disquetes no DOS

* FAT16 - Usado no DOS e oferece suporte até discos de 2GB

* FAT32 - Também usado no DOS e oferece suporte a discos de até 2 Terabytes

 

 

 

Ø    Gerenciamento de Processos

 

O escalonamento é baseado em prioridades, no qual cada processo possui uma prioridade, que muda com o tempo (de acordo com seu histórico de uso da CPU). O kernel sempre seleciona o processo de mais alta prioridade num esquema preemptivo com fatias de tempo para processos de igual prioridade e mesmo que não tenha acabado a fatia de tempo, aloca CPU para novo processo de maior prioridade.

 

 

·        Hyperthreading

O hyperthreading é a capacidade de um único processador aparecer como dois (ou mais) processadores a partir da perspectiva do sistema operacional. A coisa mais incrível sobre isto é que o Linux foi o primeiro SO a trazer esta funcionalidade ao mercado, apesar de que processadores compatíveis terem sido lançados pela Intel quase um ano atrás. Existem boatos de que a Microsoft não está certa se vai cobrar a licença para um processador com hyperthreading como uma ou duas CPUs. O modelo aberto do Linux (e a ausência de licenças) permitiram ao Linux OS ser o primeiro a suportar esta nova funcionalidade. Obviamente, um único processador que finge ser dois ainda é um único processador e a performance não melhora muito.

 

 

·        SMP

 

Um dos tipos de Processamento Paralelo é realizado através de SMP (Symmetric Multi-Processor ou multi processamento simétrico). O Multi processamento simétrico trata todos os processadores como iguais. Qualquer processador pode fazer o trabalho de qualquer outro processador e as aplicações são divididas em correntes que podem rodar concorrentemente em qualquer processador disponível.

 

 

Ø    Gerenciamento de Memória

 

O processo de gerenciamento da memória, no linux, é executado pela técnica de paginação. O espaço de endereçamento lógico de um processo é dividido em páginas lógicas de amanho fixo. A memória física também é dividida em páginas físicas com tamanho fixo, idêntico ao tamanho da página lógica. Um programa é carregado página a página. Cada página lógica do processo ocupa exatamente uma página física da memória física. Entretanto, a área ocupada pelo processo na memória física não precisa ser contígua. Mais do que isso, a ordem em que as páginas lógicas aparecem na memória física pode ser

Qualquer uma, não precisa ser a mesma da memória lógica. Durante a carga é montada uma tabela de páginas para o processo. Essa tabela informa, para cada página lógica, qual a página física correspondente.

Quando um processo executa, ele manipula endereços lógicos. O programa é escrito com a suposição que ele vai ocupar uma área contígua de memória, que inicia no endereço zero, ou seja, vai ocupar a memória lógica do processo. Para que o programa execute corretamente, é necessário transformar o endereço lógico especificado em cada instrução executada, no endereço físico correspondente. Isso é feito com o auxílio da tabela de páginas.

 

 

Mecanismo básico de paginação

 

 

 

 

 

 

 

 

 

Ø      Notas

 

·        Prós
Estável, seguro e fácil de manipular com farta documentação.

 

·        Contras
instalação um pouco complexa

 

 

 

Ø       Bibliografia

 

http://www.debian.org/intro/about

www.guiadohardware.com.br

Guia Foca           GNU/Linux

Capítulo 5 - Discos e Partições