A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

GNU/ Linux O Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia. É um sistema Operacional de código.

Apresentações semelhantes


Apresentação em tema: "GNU/ Linux O Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia. É um sistema Operacional de código."— Transcrição da apresentação:

1

2 GNU/ Linux

3 O Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia. É um sistema Operacional de código aberto distribuído gratuitamente pela Internet. Seu código fonte é liberado como Free Software (software livre), sob licença GPL, o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele não pode fechar o sistema para que seja usado apenas comercialmente. Isto quer dizer que você não precisa pagar nada para usar o Linux, e não é crime fazer cópias para instalar em outros computadores, inclusive a incentivo para que isso seja feito. Ser um sistema de código aberto pode explicar a performance, estabilidade e velocidade em que novos recursos são adicionados ao sistema. O requisito mínimo para rodar o Linux depende do kernel que será usado.

4 Para espaço em disco é requerido 500MB para uma instalação básica usando modo texto com suporte a rede. O sistema segue o padrão POSIX que é o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux você não encontrará muita dificuldade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema. O Linux é desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuição ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e na coordenação dos grupos de trabalho do kernel. O suporte ao sistema também se destaca como sendo o mais eficiente e rápido do que qualquer programa comercial disponível no mercado. Existem milhares de consultores e empresas especializadas no suporte e treinamento espalhados ao redor do mundo.

5  O kernel é o coração do Sistema Operacional Linux. Ele é o responsável por garantir que todos os programas terão acesso aos recursos de que necessitam (memória RAM, por exemplo) simultaneamente, fazendo com que haja um compartilhamento concorrente – mas sem oferecer riscos à integridade da máquina. O conjunto de um kernel e demais programas responsáveis pela comunicação com este é o que denominamos sistema operacional Kernel monolítico ou mono-bloco é um kernel que implementa uma interface de alto nível para possibilitar chamadas de sistema específicas para gestão de processos, concorrência e gestão de memória por parte de módulos dedicados que são executados com privilégios especiais. Desenvolvido por diversos programadores ao redor do mundo, não se pode ter um controle fino do que é implementado no kernel, com isso não e comum se descobrir falhas graves de segurança.

6  Convivem sem nenhum tipo de conflito com outros sistemas operacionais.  Multitarefa real.  Multiusuário.  Suporte a nomes extensos de arquivos e diretórios (255 caracteres).  Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc.  Utiliza permissões de acesso a arquivos, diretórios e programas em execução na memória RAM.  Proteção entre processos executados na memória RAM.  Suporte a mais de 63 terminais virtuais (consoles).  Modularização - O Linux somente carrega para a memória o que é usado durante o processamento, liberando totalmente a memória assim que o programa/dispositivo é finalizado.

7 ARQUITETURA LINUX

8

9  Micro-kernel: uma porção mínima de código responsável por atividades básicas, sendo os demais recursos providos por servidores localizados em espaço de usuário; facilita a programação e aumenta a segurança, uma vez que ha menos código dependente de hardware e em modo kernel.  Monolítico: todas as atividades básicas são executadas em modo kernel, sendo que novas funcionalidades são providas como módulos de kernel, ao invés de servidores em espaço de usuário; busca maior eficiência ao evitar trocas de contexto.

10  Sistema operacional composto de dois níveis.

11 Em uma visão mais rápida, o Linux pode ser dividido em alguns subsistemas principais:

12 PROCESSAMENTO LINUX

13  Na fase de inicialização do Linux a função “start_kernel” é responsável por criar um thread, este é o processo de número zero, o primeiro e o ascendente de todos os outros processos. Depois de inicializar toda a estrutura de dados para este processo, esta mesma função é responsável por chamar a função “init” que por sua vez utiliza a chamada de sistema “execve” para rodar o executável init, que será o processo número 1, mais conhecido como init.  Estados : Uma das coisas que o escalonador precisa ter ciência é em qual estado está cada processo, na estrutura que armazena os dados de cada processo temos um array de possíveis estados onde apenas uma das opções abaixo estará ativa.

14  TASK_RUNNING Em execução ou aguardando para ser executado.  TASK_INTERRUPTIBLE O processo está suspenso até que determinada condição se torne verdadeira.  TASK_STOPPED Execução do processo foi parada.  TASK_ZOMBIE O processo está terminado, mas o processo pai ainda não executou uma chamada de sistema para retornar informações sobre o processo morto – “wait”, as informações não são descartadas pois ainda podem ser utilizadas.

15 LIMITE (recurso de processo) Por padrão o Linux limita os recursos que cada processo pode ter. Isto é, quanto de recursos do sistema ele pode utilizar. Isso é uma proteção para que caso o usuário faça algo errado, não prejudique a estabilidade do sistema. VAMOS ANALISAR ALGUNS DESSES LIMITES  RLIMIT_AS O tamanho máximo que um processo pode ter em bytes  RLIMIT_CORE Quando um processo é abortado, o kernel pode gerar um arquivo core contendo as informações desse aborto.

16  RLIMIT_CPU O tempo máximo em segundos que um processo pode ser executado.  RLIMIT_DATA O tamanho máximo do heap ou memória de dados em bytes.  RLIMIT_FSIZE O tamanho máximo em bytes permitido para um arquivo.  RLIMIT_NOFILE O número máximo de descritores de arquivos abertos.  RLIMIT_NPROC O número máximo de processos que um usuário pode ter.  RLIMIT_RSS A quantidade máxima de memória física que um processo pode ter.

17 Os processos do Linux são preemptivos, isso significa que quando um processo entra no estado TASK_RUNNING o kernel vai checar se existe alguma prioridade maior do que o processo corrente. Caso exista, o processo corrente é interrompido e o que tem prioridade maior começa a rodar.

18  A prioridade de um processo no Linux está em constante alteração, o escalonador se mantém informado sobre o que os processos estão fazendo e assim torna-se possível ajustar a prioridade. Dessa maneira os processos que ficaram proibidos de utilizar o CPU por um longo intervalo de tempo, tem sua prioridade incrementada automaticamente, contrariamente os processos que passaram um longo período dentro do CPU são penalizados tendo sua prioridade decrementada.  Quando tocamos no assunto escalonamento é importante notar que os processos são classificados como da Forma E/S e Forma CPU. O primeiro faz uso extenso dos recursos de entrada e saída, isso significa que grande parte do seu tempo é utilizado no aguardo da conclusão das operações de Entrada e Saída, já o segundo são processos que necessitam de um longo tempo dentro do CPU.

19  Veremos 3 classes de processos de Classificação Alternativa:  Processos Interativos - Os processos que estão em constante interação com o usuário, sendo assim eles perdem grande parte do tempo esperando uma atividade do usuário, como um clique do mouse ou o aperto de uma tecla. Quando qualquer dessas ações for recebida o sistema precisa responder de forma ágil suspendendo qualquer processo que estiver rodando e colocar o processo interativo no CPU para processar a requisição solicitada pelo usuário, caso contrário ele pode pensar que o sistema não está respondendo. Um bom tempo de resposta é em torno de 50 e 150 ms.

20  Processos em Lote - Não necessitam de nenhuma interação do usuário e por isso muitas vezes rodam em background. Como são processos de baixa prioridade, são freqüentemente penalizados pelo escalonador. Programas de processamento em lote comuns são editores de texto, compiladores e programas gráficos.  Processos em Tempo Real - Esses processos nunca devem ser bloqueados por processos de baixa prioridade, precisam de um tempo de resposta super rápido e com uma variação bastante baixa. Alguns aplicativos que fazem uso do tempo real são som, vídeo, controladores de robôs e equipamentos que envolvem a segurança humana.

21 O algoritmo de escalonamento do Linux funciona dividindo o tempo do CPU em fatias.  Prioridade Estática Definido pelo usuário para processos que necessitam de tempo real, os valores variam de 1 até 99 que nunca são modificados pelo escalonador.  Prioridade Dinâmica Esta é aplicada para os processos convencionais. A prioridade dinâmica dos processos convencionais é sempre inferior aos processos com prioridade estática. Se existir um processo com prioridade estática no estado TASK_RUNNING nenhum processo dinâmico irá rodar até que ele pare de executar.

22 MEMÓRIA

23  Cada processo no Linux possui prioridades com relação à alocação de memória. O Linux também possui uma característica de alocar determinados recursos dos processos que foram executados para garantir que estes retornem de maneira mais eficiente quando estes forem requisitados novamente. Caso a memória física (memória RAM) esteja totalmente carregada, é iniciado um processo de operação com a memória virtual, a memória SWAP  À medida que mais processos vão sendo executados, e como estes tem preferência de alocação na memória física, o Linux começa a jogar estes recursos alocados para a memória SWAP.

24  Somente os dados na memória RAM são processados pelo processador, por ser mais rápida. Desta forma quando você está executando um programa e a memória RAM começa a encher, o GNU/Linux move automaticamente os dados que não estão sendo usados para a partição Swap e libera a memória RAM para a continuar carregando os dados necessários. Quando os dados movidos para a partição Swap são solicitados, o GNU/Linux move os dados da partição Swap para a Memória. Por este motivo a partição Swap também é chamada de Troca ou memória virtual.  Esse sistema de paginação é dividido em duas seções: o algoritmo de políticas, o qual é responsável por decidir qual página deverá ser transferida para o disco e quando esta página deve ser transferida; e o sistema de paginação, o qual transfere os dados novamente para a memória física quando estes se tornam necessários novamente

25  O Linux decide qual das páginas deve sofrer swapping através de um algoritmo chamado LFU, ou Least Frequently Used. Nesse algoritmo, as páginas com menor frequência de utilização são selecionadas para a realização da operação de swapping, com intuito de realizar o menor número possível de trocas de páginas.

26 ARQUIVOS

27 É criado durante a “formatação” da partição de disco (quando se usa o comando mkfs.ext3). Após a formatação toda a estrutura para leitura, gravação, permissões de arquivos e diretórios pelo sistema operacional estará pronta para ser usada. Normalmente este passo é feito durante a instalação de sua distribuição GNU/Linux. 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 posso citar: • EXT2; • EXT3; • EXT4.

28  Ext2 - Usado em partições Linux Nativas para o armazenamento de arquivos. É identificado pelo código 83. Seu tamanho deve ser o suficiente para acomodar todo os arquivos e programas que deseja instalar no GNU/Linux (você encontra isto no manual de sua distribuição). Você deverá usar preferencialmente o ext3 para a instalação de seu sistema operacional.  Ext3 - Este sistema de arquivos possui melhorias em relação ao ext2, como destaque o recurso de jornaling e suporte a arquivos de até 16Gb. Ele também é identificado pelo tipo 83 e totalmente compatível com o ext2 em estrutura. 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.

29  Reiserfs - Possui os mesmos recursos do ext3, mas seu design é bastante diferente. Bastante recomendável para sistemas que possuem muitos arquivos pequenos (servidor web, etc). Possui o tempo de recuperação em caso de queda de energia menor que o ext3.  Swap - Usado em partições Linux Swap para oferecer memória virtual ao sistema. Note que é altamente recomendado o uso de uma partição Swap no sistema.  proc - Sistema de arquivos do kernel.

30  FAT12 - Usado em disquetes no DOS. Não possui suporte a permissões, journaling.  FAT16 - Usado no DOS e oferece suporte até discos de 2GB. Não possui suporte a permissões e journaling.  FAT32 - Também usado no DOS e oferece suporte a discos de até 2 Terabytes. Não possui suporte a permissões e journaling. NTFS - Formato nativo de discos de sistemas operacionais Windows XP e superiores. Possui suporte a permissões de acesso e compactação nativa.

31  A partição EXT2 é o tipo usado para criar o sistema de arquivos Linux Native usado para armazenar o sistema de arquivos EXT2 (após a formatação) e permitir o armazenamento de dados.  Este tipo de partição é normalmente identificado pelo código 83 nos programas de particionamento de disco. Note que também é possível criar um sistema de arquivos EXT2 em um arquivo (ao invés de uma partição) que poderá ser montado e acessado normalmente pelo sistema de arquivos.  Logo que foi inventado, o GNU/Linux utilizava o sistema de arquivos Minix (e consequentemente uma partição Minix) para o armazenamento de arquivos. Com a evolução do desenvolvimento, foi criado o padrão EXT (Extended Filesystem) e logo evoluiu para o EXT2 (Second Extended Filesystem). O padrão mais usado nos dias de hoje é o EXT3 devido ao Journaling.

32  O sistema de journaling grava qualquer operação que será feita no disco em uma área especial chamada “journal”, assim se acontecer algum problema durante alterações no disco, ele pode voltar ao estado anterior do arquivo, ou finalizar a operação.  Desta forma, o journal acrescenta ao sistema de arquivos o suporte a alta disponibilidade e maior tolerância a falhas.  Após uma falha de energia, por exemplo, o journal é analisado durante a montagem do sistema de arquivos e todas as operações que estavam sendo feitas no disco são verificadas. Dependendo do estado da operação, elas podem ser desfeitas ou finalizadas. O retorno do servidor é praticamente imediato (sem precisar a enorme espera da execução do fsck em partições maiores que 10Gb), garantindo o rápido retorno dos serviços da máquina.

33 O sistema de arquivos ext3 faz parte da nova geração extended file system do Linux, sendo o padrão atual e tem como seu maior benefício o suporte a journaling e armazenamento eficiente de arquivos com até 16Gb de tamanho. O uso deste sistema de arquivos comparado ao ext2, na maioria dos casos, melhora o desempenho do sistema de arquivos através da gravação seqüencial dos dados na área de metadados e acesso mhash a sua árvore de diretórios. Mas pode trazer impactos na performance no caso de dispositivos de memória flash e quando utiliza arquivos para armazenar o sistema de arquivos. A estrutura da partição ext3 é semelhante a ext2, o journaling é feito em um arquivo chamado.journal que fica oculto pelo código ext3 na raiz da partição (desta forma ele não poderá ser apagado, comprometendo o funcionamento do sistema).

34  Diretório /etc/alternatives Este diretório contém links para diversos aplicativos padrões utilizados pelo sistema. Dentre eles são encontrados links para o editor do sistema e o xterm padrão usado pelo sistema.  Arquivo /etc/default/devpts Este arquivo contém algumas configurações para os pseudo terminais em /dev/pts.  Arquivo /etc/default/rcS Contém variáveis padrões que alteram o comportamento de inicialização dos scripts em /etc/rcS.d  Arquivo /etc/console-tools/config Este arquivo contém configurações padrões do pacote console-tools para as fontes de tela e mapas de teclado usados pelo sistema. A fonte de tela é especificada neste arquivo (as fontes disponíveis no sistema estão localizadas em /usr/share/consolefonts

35  Journal: os metadados e os dados (conteúdo) dos arquivos são escritos no journal antes de serem de fato escritos no sistema de arquivos principal. Isso aumenta a confiabilidade do sistema com uma perda de desempenho, devido a necessidade de todos os dados serem escritos no disco duas vezes.  Writeback: os metadados são escritos no journal mas não o conteúdo dos arquivos. Essa opção permite um melhor desempenho em relação ao modo journal, porém introduz o risco de escrita fora de ordem onde, por exemplo, arquivos que são apensados durante um crash podem ter adicionados a eles trechos de lixo na próxima montagem  Ordered: é como o writeback, mas força que a escrita do conteúdo dos arquivos seja feita após a marcação de seus metadados como escritos no journal. Esse é considerado um meio-termo aceitável entre confiabilidade e performance, sendo, portanto, o nível padrão.

36  Ext4 é a evolução do sistema de arquivos mais usados no Linux, o Ext3. De muitas maneiras, Ext4 é uma profunda melhoria sobre o Ext3, sendo o Ext3, com muitas melhorias frente o Ext2. No Ext3 foi principalmente a adição de Journaling sobre o Ext2, mas Ext4 teve mudanças importantes na estrutura do sistema de arquivos destinado ao armazenamento de dados. O resultado é um sistema de arquivos com um design aperfeiçoado, melhor performance, confiável e com muitos recursos.  Um sistema de arquivos Ext3 existente, pode ser migrado para Ext4 com um procedimento fácil, onde consiste a execução de um casal de comandos em modo “read-only”. Por meio disto você melhora a performance, limites de armazenamentos e recursos do sistema de arquivos corrente, com ou sem a “reformatação” e/ou reinstalação do SO e softwares “environment”.

37  Processos unix habitualmente possuem três dispositivos de I/O padrões, a "saída padrão", a "entrada padrão" e a "saída de erros". O sistema unix permite que esses dispositivos sejam definidos no momento da execução, podendo ser o console, um "pipe", a impressora, um circuito virtual de rede conectando duas máquinas, uma linha física serial ou outras coisas para as quais haja suporte no sistema.  Usuários de msdos talvez estejam habituados a fazer coisas como: C> DIR >PRN: para imprimir a saída de um comando. A sintaxe dos shells unix é a mesma (na verdade o msdos herdou-a do unix): hal:~$ ls -l >/dev/lp1

38 Shells do estilo "bourne" como o bash permitem redirecionamento da saída de erros através da seguinte sintaxe: hal:~$ rm /bin/ls 2>/tmp/error A entrada pode ser redirecionada de forma semelhante: hal:~$ wc

39 SEGURANÇA

40  O kernel Linux por ser descendente da filosofia Unix pode ser considerado seguro. Porém como o projeto do kernel é descentralizado e seu foco é obter um grande suporte a hardware novos, não é incomum se descobrir falhas do tipo buffer overflow, negação de serviço (DOS) e alguns que levam até a privilégios de super usuário (root).  Quando uma falha desses é encontrada rapidamente é liberado um patch para correção.  O kernel do linux possui o firewall a nível de pacotes Iptables. Ele é bastante sofisticado e robusto. Possui filtro a nível de pacotes, marcação de pacotes, nat, port redirection, ip redirection, source nat, destination nat entre muitas outras features.

41 BENEFÍCIOS

42  Custo baixo e gratuito Por serem baseadas em software livre, as distribuições Linux podem ser encontradas gratuitamente. Algumas distribuições, como o Ubuntu, disponibilizam em seus sites oficiais links de download das imagens dos CDs de instalação ou até mesmo disponibilizam um formulário onde você pode solicitar a entrega de mídias de instalação através do correio. Versões mais “elaboradas”, como aquelas dedicadas exclusivamente a servidores, podem apresentar um pequeno custo por causa da licença, mas esse custo ainda é muito menor do que licenças de outros sistemas operacionais, como os sistemas da família Windows.

43  SEGURANÇA E ESTABILIDADE: Os sistemas Linux são mais estáveis, pois conseguem gerenciar de maneira mais eficiente os recursos de hardware. Isso permite que até máquinas mais antigas possam rodar versões mais novas das distribuições. Além disso, são mais seguros, pois o número de pragas virtuais para sistemas Linux ainda é muito reduzido, além de que códigos que modifiquem qualquer parte do sistema sempre são interceptados com a autenticação obrigatória o superusuário (root). Esse recurso inclusive começou a ser incorporado de maneira similar a partir do Windows Vista na família Windows, através do Controle de Conta de Usuário.  COMUNIDADE EXTENSA: A comunidade Linux é muito ativa. Manifesta-se através de fóruns, listas de discussão e outros meios através da internet, meios de fácil acesso. Isso garante suporte quando necessário, inclusive em português. Você pode obter auxílio para problemas bem básicos como para problemas mais complexos.

44 LIMITAÇÕES

45  INCOMPATIBILIDADE (equipamentos): Alguns fabricantes de equipamentos não escrevem drivers para o sistema Linux para seus equipamentos, como é o caso de algumas impressoras da HP. Existem alternativas para estes casos, porém geralmente são tortuosas de serem implementadas e podem desencorajar os usuários a utilizarem as distribuições Linux.  INCOMPATIBILIDADE (formatos de arquivos): Alguns formatos de arquivos, principalmente os proprietários da Microsoft, não são executados com toda a fidelidade, como é o caso do formato de vídeo WMV. Existem plug-ins para executá-los, mas estes não acabam oferecendo a mesma qualidade que se o arquivo estivesse sendo executado no Windows Media Player.

46  DIFICULDADE NO USO (usuário): Mesmo com o MODO esforço de algumas distribuições como o Ubuntu, o Linux não consegue oferecer a mesma facilidade de uso que o Windows. Isso talvez se deva mais a um fator cultural, mas o fato é que se você entregar um computador com Linux pra alguém que trabalha com Windows, este certamente sentirá um pouco de dificuldade, o que não acontece geralmente ao contrário.

47  Concluímos que o sistema operacional Linux tem evoluído muito em suas funções, com muitas melhorias. Por ser um software livre, gratuito, não quer dizer que o sistema é de má qualidade como muitas pessoas pensam. Com diversas distribuições, o Linux é usado em varias empresas como: Banco do Brasil, Petrobrás, Casas Bahia, Lojas Colombo, Lojas Renner, Governo Federal, etc. O sistema roda tranquilamente com outros sistemas, isso quer dizer que a pessoa poderá usar o Linux, sem trocar o seu sistema atual que sempre usa (Dual Boot).

48 guiaFoca + iniciante + intermediario, pdf Gonçalves, A., Luvizotto, D., Nascimento, H., Santos, L., Martins, L.Sistemas Linux. Universidade Estadual de Londrina,Londrina, Júnior, J., Alvarez, D. Gerenciamento de memória no Linux. Instituto Tecnológico da Aeronáutica (ITA). São José dos Campos.


Carregar ppt "GNU/ Linux O Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia. É um sistema Operacional de código."

Apresentações semelhantes


Anúncios Google