Você está na página 1de 4

Aula 2

1- O kernel e suas caractersticas


Como j fora discutido, o kernel do Linux ,de alguma forma, uma implementao reescrita a partir de sistemas Unixes. Por isso, ele herda as caractersticas e principais qualidades dessa famlias de sistemas. Dentre estas, podemos enumerar as mais importantes: - Multitarefa: Sistema multitarefa, multiprogramado. - Modularidade: Inicialmente o kernel foi construdo para que fosse um sistema monoltico, entretanto sua evoluo o deixou hbrido, portando caractersticas de um kernel modular. - Multiusurio: sistema com permisso para diversos processos de variados usurios concorrendo pela execuo simultaneamente. - Segmentao de espaos(nveis): segurana garantida pela diviso de kernel space e user space. O nvel de usurio no age diretamente no nvel de sistema. - Escalonamento de processos: O linux possui duas classificaes segundo a natureza dos threads para compor a prioridades: (i) dinmicas e (ii) estticas. As dinmicas so aquelas que servem para controlar processos interativos e processos de execuo em lote, em geral possuindo tempo compartilhado. J as estticas, so aquelas utilizadas em processos de tempo real, onde filas de execuo FIFO so mais adequadas. O escalonador, como era de se esperar, d uma preferncia maior aos processos de prioridade esttica, colocando-os em uma fila FIFO sem preempo (exceto quando houver um novo processo em estado de pronto tambm da mesma fila). Por conta da necessidade de vazo desses processos, se um conjunto de threads de tempo real fica pronto para processamento simultaneamente; o sistema operacional adiciona todos os itens desse conjunto em uma nica fila circular com quantum de execuo para cada um deles. Por sua vez, as threads de prioridade dinmica, muitas vezes representados por processos interativos e em lote, so colocados em vetores de processos ativos ou expirados. Cada CPU recebe esses dois vetores, onde cada entrada desse vetor representa uma fila de prioridade atravs da estrutura de uma lista duplamente ligada. Isto , cada entrada do vetor aponta para uma lista de prioridades que executada por uma fatia de tempo. Ao fim da fatia de tempo, se o processo no terminar, ele supostamente dever mudar para o vetor expirado em nova posio. Ao varrer o vetor de ativos inteiramente, o escalonador deve alternar o vetor expirado para ativo e vice-versa. Cada um dos vetores possui 140 entradas, onde as mais baixas so as de maior prioridade. Do ponto de vista da administrao do sistemas, as prioridades mesmas podem ser alteradas pelo usurio atravs do comando renice. Lembrando que a prioridade do comando nice ou renice varia de -20 a 19, enquanto que vetor vai possuir 140 entradas. - Gerenciamento da memria: Um dos pontos mais crticos nos sistemas operacionais modernos o gerenciamento de memria. Sendo assim, no linux, isso no diferente, e a tcnica de memria virtual j bastante utilizada em todos os sistemas modernos tambm est presente aqui e realizada com a ajuda do hardware que tem suporte a paginao e segmentao. Na prtica, a segmentao quase no usada pelo fato da paginao ser muito mais simples e melhor aproveitada pelo kernel. O tamanho das pginas de memria so fixos e utilizados de forma contgua para o endereo virtual. Para fazer a alocao dos espaos da memria, o MMU (memmory management unit) utiliza o algoritmo de alocao Buddy com filas de tamanhos diferentes para as diversas potncias de 2. Por causa da grande fragmentao interna, o Linux ainda usa um segundo subsistema de alocao de memria para realocar os buracos perdidos com a fragmentao e

torn-los disponveis em filas de potncias menores. Outro terceiro e ltimo alocador de memria, um subsistema que fornece memria contgua no espao virtual, mas no necessariamente no espao fsico que supostamente deve depreciar a rapidez para os processos. O uso de paginao feito em geral de 3 a 4 nveis de arquivos de paginao. Isso tudo para diminuir a quantidade de tabela de pginas em memria carregadas pelo MMU. Em suma, os algoritmos de LRU (last recently used) so preferidos para escolher a retirada de pginas da memria. Mais precisamente, a poltica preferencial de troca de pgina uma implementao de LRU em nveis. E para este caso do Linux, um LRU com dois nives (LRU/2). - Sistemas de arquivos: O ncleo do sistema Linux implementa um VFS (virtual file system) que serve como interface para o desenvolvimento de gerenciadors de sistemas de arquivos que desejem manipular os dados em um sistema Linux. Atualmente os sistemas mais utilizados so: EXT4 e o ResiserFS. O ReiserFS apresenta um desempenho com performance superior aos sistemas EXT, principalmente em se tratando de acesso a arquivos pequenos. No entanto, esse tipo de sistema de arquivos apresenta problemas ao interagir com outros sistemas acoplados, como por exemplo sistemas de rede (NFS). A estrutura de dados utilizada em Reiser uma arvore B+ e um mapa de bits para alocar os espaos em blocos fixos Nos sistemas EXT4, geralmente encontramos blocos de 4 KB, organizados em ns de rvores, que so sutilmente mais lentos quando tratamos de arquivos pequenos.

2 Hardware e requisitos
Devido grande miscelnea de aplicaes existentes em Linux, no h uma regra que permita afirmar quais so os requisitos mnimos de hardware para um sistema a ser instalado. Costuma-se dizer que um sistema bsico em modo texto (dependendo da compilao e verso de kernel) pode solicitar apenas 128 MB de RAM com qualquer pentium 32 bits de 200 Mhz ou superior e ao menos 300 MB de disco. Considerando o uso do sistema grfico de janelas, a memria deveria ser aumentada para 256 MB, mas na prtica, 512 MB se tornam suportveis.

2.1 Instalao

importante entender, que independente da distribuio, existem dois ambientes que conduzem a instalao: modo texto ou modo grfico. Naturalmente, o modo grfico muito mais amigvel e intuitivo, mas podemos dizer que a maioria dos instaladores tem passos bem distintos, sendo eles, em geral: - Escolher a linguagem do sistema - Configurao do teclado - Nome do sistema - Horrio do sistema - Particionamento dos discos - Configurao da rede - Instalao do sistema e pacotes - Usurios e senhas - Carregador de SO

2.2 Discos e parties

Dentre os passos citados acima, o item que exige conhecimento do hardware e tem maior profundidade aquele que diz respeito ao particionamento e disco rgido. Por isso, vamos analisar um pouco mais em detalhes como o Linux trata esses dispositivos e como os usurios podem enxerg-los. No momento da instalao sugerido que seja feito o particionamento manual dos discos . De forma alternativa, possvel fazer o particionamento automtico. A grande vantagem do particionamento manual que este exige um certo conhecimento sobre como o sistema e como este administra o disco. Primeiramente, importante salientar que os discos de um sistema Linux so nomeados com siglas que indicam o modelo da controladora ou do hardware em questo. Por exemplo, discos SCSI ou SATA so identificados pelas siglas sd. Onde sda, por exemplo, primeiro disco SATA ou SCSI e o sdb o segundo, sdc o terceiro e assim por diante. Alm dos discos, podemos encontrar vrias parties dentro de um mesmo disco. Por questes de compatibilidades histricas, os discos para arquiteturas intel x86 podem receber apenas quatro parties primrias. Isto se deve ao fato, de em 1981, os computadores IBM terem reservado somente 2 bits para a alocao das parties. Para superar esse problema, existe a possibilidade de se criar uma partio estendida que normalmente costumava ser nica. Hoje em dia, podemos criar at 4 delas, mas elas substituem o lugar de uma partio primria. Dessa forma, cada disco pode possuir no mximo 4 parties. Um exemplo seriam 3 primrias e 1 estendida em um disco. Por sua vez, essa partio estendida, pode sim conter outras parties lgicas. Em geral, os sistemas podem receber entre 16 at 24 parties lgicas dentro de uma estendida, chegando ao mximo de 255. O importante aqui respeitar a alocao das parties lgicas em modo contguo. Outra caracterstica da BIOS do intel x86 que ela tambm exige que as parties para carregamento (bootveis) sejam colocadas em parties primrias. Voltando a denominao das parties, temos que em DOS/Windows, as parties so designadas por letras como C:, D:, E:, etc. Nos sistemas Linux, como fora citado h pouco, os dispositivos so designados por siglas sda (primeiro HD SCSI) ou hdb (segundo HD IDE), mas para cada partio h uma juno dos dispositivos com o nmero daquela partio. Desse modo a primeira partio de um disco rgido IDE seria hda1, a segunda hda2 e assim por diante. Outra partio importante a ser criada no momento da instalao partio de memria virtual (swap) que deve ser definida em alguma das parties de disco criadas e supostamente deve conter pelo menos o dobro da memria fsica existente. Atualmente, com memrias fsicas cada vez maiores, a antiga regra que exigia o uso do dobro de memria virtual para a quantidade da memria fsica, tem cado em desuso. De qualquer forma, ainda til em sistemas com pouca memria fsica ou com espao em disco em abundncia. No restante, no h muito o que fazer em relao ao hardware, a no ser para algumas distribuies que solicitam informaes sobre a placa de vdeo e o teclado. O que na maioria dos casos est longe de ser uma tragdia, haja visto que as placas atuais suportam bem o modo grfico do principal sistema grfico do Linux, o Xserver, e tambm pelo fato da maioria dos teclados dos computadores brasileiros seguirem o modelo definido pela ABNT (Associao Brasileira de Normas Tcnicas), utilizando uma nomenclatura de br-abnt2. Mais a frente, um assunto importante que completa essa rpida apresentao sobre instalao, a definio da rvore de diretrios padro do Linux e os pontos de montagens.

3 - Questes
1) O escalonamento de processos no Linux diferencia os processos de que forma? O escalonamento sempre igual para qualquer tipo de processo?

2) O que significa dizer em termos de hardware uma partio sda2 e outra hdc1 em
sistemas Linux?

3) O que um usurio deve saber sobre memria virtual para instalar um sistema Linux
qualquer?

4 - Bibliografia

Nemeth, E. , Synder, G. e Hein, T. R. .Manual Completo do Linux: Guia do Administrador. 1 edio, 2004, Pearson Editora, So Paulo. Oliveira, R, Silva , Toscani S. S., Carissimi, A. S., , Sistemas Operacionais, Editora Bookman, Porto Alegre, 3 Edio, 2008. 259 pginas.

- TANENBAUM, Andrew S. Sistemas operacionais modernos.2. ed. So Paulo: Prentice Hall, 2003. 695p.

Você também pode gostar