Informática Aplica Prof.: Bruno Rafael de Oliveira Rodrigues Software Livre Software livre, segundo a definição criada pela Free Software Foundation é qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribuído sem nenhuma restrição. Um software é considerado como livre quando atende aos quatro tipos de liberdade para os usuários do software definidas pela Free Software Foundation: A liberdade para executar o programa, para qualquer propósito (liberdade nº 0); A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade nº 1). Acesso ao código-fonte é um prérequisito para esta liberdade; A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2); A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade nº 3). Acesso ao código-fonte é um pré-requisito para esta liberdade. Linux Distribuições Linux: Debian, Fedora, Mandriva, Red Hat, Slackware, SuSE, Ubuntu FireFox OpenOffice BrOffice Sistemas Operacionais Sistemas Operacionais Conjunto de programas (rotinas) executado pelo processador que serve de INTERFACE (?) entre o HARDWARE do computador e os PROGRAMAS do usuário. Funções Fornece uma interface de alto nível Dá suporte aos programas executados Sincronização e comunicação de processos Gerencia os recursos de hardware Gerencia o sistema de arquivos SO: Características desejáveis Pequena dimensão (baixa ocupação de memória) Facilidade de manutenção e correção de erros Confiabilidade (poucos ou nenhuma falha) Eficiência (baixo tempo de resposta) Conceitos: Programa: conjunto estático de instruções PROCESSO: programa em execução Propriedades mudam à medida que o tempo avança Atividade dinâmica Multiprogramação: execução concorrente de vários programas em uma única CPU. Compartilhamento no tempo (time-sharing): rodízio de vários processos para execução no processador em intervalos de tempos iguais ou diferentes. MODOS DE OPERAÇÃO Modo supervisor: execução sem restrições Supervisor e qualquer instrução pode ser executada. Modo usuário: execução com restrições e usuário algumas instruções (privilegiadas) não podem ser executadas. Kernel Núcleo do SO que controla o computador e opera no modo supervisor sendo inacessível aos nós usuários. Único meio de acesso é pela Shell. Shell Interpretador de comandos com uma liguagem de programação embutida. “Interface” entre o usuário e o sistema operacional. Chamada de Sistema (System Call) Forma dos programas solicitarem serviços ao SO. Estas chamadas transferem a execução para o SO. Gerenciador de Memória Gerencia o uso da memória principal (ocupada, livre, alocação) Trata do problema de swap Gerenciador de Arquivos Controla os dispositivos de armazenamento. Gerencia, organiza e fornece informações sobre os arquivos armazenados no sistema por meio de sistema de arquivos. Arquivo Conjunto de dados eletrônicos que fazem sentido ao usuário. São agrupados em diretório ou pasta Geralmente possuem extensão Gerenciador de Arquivos O SO é o único que manipula o sistema de arquivos. As operações comuns são: Criar, excluir (create; delete) diretórios e arquivos Ler, gravar (read; write) Abrir, fechar (open; close) Alterar nome (rename) Ler e escrever atributos (get/set attributes) Adicionar novos sistemas de arquivos (CD-ROM, Flash) Sistema de Entrada e Saída Gerenciar o uso destes dispositivos Comanda os dispositivos de interação como o usuário(pessoa e computador) Controlador (Driver): bloco de código que permite ao kernel entender e controlar um dispositivo periférico Driver É um trecho de código inserido no kernel que permite o sistema operacional interaja com um determinado componente de hardware.