260 likes | 448 Views
O Sistema Operacional Linux. Universidade Federal Fluminense Escola de Engenharia Departamento de Engenharia de Telecomunicações Sistemas de Computação para Telecomunicações. Autores: Bruno Peres Karina Damasceno Cunha Mariana da Costa Santos Victor Ribeiro Leite do Amaral.
E N D
O Sistema Operacional Linux Universidade Federal Fluminense Escola de Engenharia Departamento de Engenharia de Telecomunicações Sistemas de Computação para Telecomunicações • Autores: Bruno Peres • Karina Damasceno Cunha • Mariana da Costa Santos • Victor Ribeiro Leite do Amaral
Histórico do Linux • Sistema UNIX • Padrão POSIX • Projeto GNU • Relação entre UNIX e Linux • Ano 1969 – AT&T Bells Labs • Ano 1976 - Universidades • Ano 1991 – Linus Torvalds • Distribuições do Linux
Distribuições do Linux • Tabela 1: Distribuições do Sistema Linux
Componentes do Sistema Linux Figura 1: Diagramada do LINUX.
Instalação do Linux • Facilidade de instalação; • Opção de ser o único Sistema operacional ou não; • Diversos meios de instalação: • Live CD/DVD; • Live USB; • Diretamente no HD. • Instalação e desinstalação de programas; • Diversas distribuições;
Licenciamento do Linux • Não é de domínio público; • O kernel do Linux é distribuído sob GPL (General PublicLicense);
Inicializandoo Linux • Duas formas: automática e manual; • Inicialização do kernel: • Configuração de Hardware; • Dispositivos físicos; • Drivers. • Threads de kernel • Processos filhos; • Fork(); • Processo init
Inicializandoo Linux • Intervenção do Operador; • Execução de scripts de inicialização; • Níveis de execução: • Nível 0; • Nível 1; • Nível 2 a 5; • Nível 6. • Operação multiusuário.
Sistema de Arquivos • Histórico: Minix e EXT • Principais características do ext2: Nomes de arquivos até 255 caracteres; Tamanho máximo por arquivo: 16GB a 2TB; Tamanho máximo de partição 2 a 32TB. • O ext3 e o journaling.
Sistema de Arquivos • Desvantagens do ext3: • Limite de 31.998 subdiretórios por diretório; • Não há suporte para recuperação de arquivos deletados; • Ausência do checksum no journaling. • O sucessor ext4: • Suporta até 16GB por arquivo; • Totalmente compatível com as versões anteriores; • Limite de 64.000 subdiretórios por diretório; • Journalchecksumming.
Sistema de Arquivos • Diretório raiz “/” • Sistema de arquivos bagunçado: arquivo regular, diretório, pipes, link simbólico, etc. • Analisar o tipo de arquivo: ls -l • Tabela 2: Análise tipo de arquivo.
Chamadas de sistema • O que são chamadas de sistema • O que é uma API • Tipos de chamadas de sistema: Controle de processos Manipulação de arquivos Manipulação de dispositivos Manutenção de informação Comunicações Proteção
Gerenciamento de Memória • Controla quais partes da memória está em uso e quais não estão; • Possui dois componentes: • Lida com Liberação e alocação da memória física; • Manipula a memória virtual;
Gerenciamento de memória física • A memória física é dividida em 3 regiões: • Zone_DMA; • Zone_NORMAL; • Zone _HIGHMEM. • As zonas são específicas da arquitetura; • Alocador de páginas:principal gerenciador de memória física; • Utilização de sistemas de pares;
Gerenciamento de memória física • Diversos subsistemas especializados de gerenciamento de memória utilizam o alocador de página para gerenciar: • Sistema de memória virtual; • Cache de páginas; • Alocador de tamanho variável; • Alocação de placas.
Memória virtual • Linux é um sistema operacional com memória virtual paginada; • Gerencia o conteúdo do espaço de endereçamento virtual de cada processo; • Mantém visível o espaço de endereçamento para cada processo; • Possui duas visões do espaço de endereçamento de um processo: • Conjunto de regiões separadas; • Conjunto de páginas.
Gerenciamento de Processo • Criação de processo • Descritores de processo e estrutura de tarefas Figura 2: Descritores
Gerenciamento de Processo • Estados do processo do kernel do Linux Figura 3: Estados do processo.
Gerenciamento de Processo • Contexto do Processo • Árvore do Processo • Threads • Chamadas de sistema clone() : • clone(CLONE_VM |CLONE_FS|CLONE_SIGHAND); • CLONE_VM:pai e filho compartilham o espaço de endereçamento; • CLONE_FS:pai e filho compartilham informações do sistema de arquivos; • CLONE_FILES:pai e filho compartilham arquivos abertos; • CLONE_SIGHAND:pai e filho compartilham tratadores de sinais bloqueados.
Escalonamento de Processo • No Linux tem dois algoritmos de escalonamento: • Compartilhamento de tempo: • Valor altos → baixa prioridade ->tempo menor. • Valor baixos → alta prioridade ->tempo maior. • Baseado em prioridade de tempo real.
Escalonamento de Processo • Família de chamada de sistema para gerenciar o escalonador: Tabela 3: Estados do processo
Escalonamento de Processo • Sincronização de processo é feita por spinlock e semáforos; • Comunicação interprocesso: pipes e memória compartilhada.
Segurança • Dois problemas: • Autenticação: • Arquivo de senhas; • Combinação de caracteres com “salt”; • O problema; • O mecanismo PAM. • Controle de acesso: • Dois identificadores (UID & GID); • Aplicação em diversos objetos; • Máscara de proteção;
Perguntas: • Qual é o primeiro processo a ser inicializado no Linux? • Cite as duas formas de algoritmo de escalonador. • Cite os principais componentes do kernel. • Qual a principal vantagem que o algoritmo ext3 trouxe ao sistema de arquivos? • Quais são os dois componentes de gerenciamento de memória do Linux?