Universidade Federal Rural de Pernambuco – UFRPE
Departamento de Física e Matemática
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
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.
Ø
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:
É 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
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.
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.
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
Guia Foca GNU/Linux
Capítulo 5 - Discos e Partições