Sistemas Operacionais
Pode-se definir, de um modo resumido, que um sistema operacional é um conjunto de rotinas executadas pelo processador. O objetivo principal de um sistema operacional é gerenciar o conjunto de hardware de um computador, tornando-o utilizável pelos usuários. Atualmente, existem muitos tipos de Sistemas Operacionais, cuja complexidade varia e depende das funções que o sistema disponibiliza e para que tipo de equipamento ele será usado. Alguns sistemas são responsáveis pela gerência de muitos usuários, outros controlam dispositivos de hardware. Nesta unidade de aprendizagem serão abordados os principais conceitos relacionados a sistemas operacionais, seus dispositivos e o acesso direto à memória.
Módulos de um Sistema Operacional
Num sistema operacional de computador, há milhões de linhas de instruções escritas por programadores. Para tornar os sistemas operacionais mais fáceis de serem escritos, eles são desenvolvidos em módulos, cada módulo sendo responsável por uma função. Os módulos típicos em um sistema operacional multiusuário geralmente são: (i) núcleo; (ii) gerenciador de processos; (iii) gerenciador de memória; e (iv) gerenciador de arquivos.
Núcleo (Kernel)
Ele é responsável pelas funções de baixo nível, como gerenciamento de memória, gerenciamento de processos, subsistemas de arquivos, rede, suporte aos dispositivos e periféricos conectados ao computador. O núcleo é responsável por ser o elo do hardware com o software do computador. Em outras palavras, o principal objetivo é gerenciar o computador e permitir que os aplicativos sejam executados e façam uso dos recursos que a máquina tem. O núcleo também tem que garantir, por exemplo, que a memória RAM seja usada em seu potencial sem risco para o computador.
Em resumo, o kernel é o componente central do sistema operacional, sendo responsável por gerenciar os recursos do sistema, permitindo que outros aplicativos (programas) usufruam destes recursos, sendo responsabilidade do núcleo oferecer formas de acessos a estes recursos.
Gerenciamento de Processos
Para que o sistema operacional consiga gerenciar os processos a serem executados, utiliza-se um descritor de processo, também conhecido como bloco de controle de processo (PCB). O descritor permite o monitoramento e controle da execução de um processo. Os sistemas operacionais criam identificadores de processos que fazem referência a um descritor de processo.
Uma estrutura PCB contém as seguintes informações:
- Estado do processo;
- Valor do apontador de instruções;
- Espaço de armazenamento dos valores de registradores;
- Informações para escalonamento do processo;
- Informações para o gerenciamento de memória;
- Informações para contabilidade do processo.
Gerenciamento de Memória
Os sistemas de gerenciamento de memória podem ser divididos em duas categorias: sistemas que, durante a execução, levam e trazem processos entre a memória principal e o disco (troca de processos e paginação), e sistemas mais simples, que não o fazem.
Existem dois modos de gerenciamento de memória:
- Monoprogramação sem Troca ou Paginação: Um único processo é executado por vez, de forma que o mesmo possa utilizar toda a memória disponível, com exceção da parte reservada ao sistema operacional.
- Multiprogramação: Tem a característica de execução de múltiplos processos, aumentando a utilização da CPU. Um bom exemplo são os servidores de rede, que necessitam executar processos para diferentes clientes.
Gerenciador de Arquivos
O módulo do sistema operacional que gerencia os arquivos e as operações de arquivos é a gerência do sistema de arquivos. A gerência do sistema de arquivos também cuida da segurança no acesso aos arquivos, garantindo que um usuário não tenha acesso a um arquivo que pertence a outro usuário. A gerência de arquivos também cuida do compartilhamento dos arquivos, através de uma rede, por vários processos e usuários do sistema operacional.
Normalmente são utilizados três métodos diferentes para acessar os dados nos arquivos:
- Acesso Sequencial: O acesso aos registros é realizado na ordem em que os registros foram gravados, não sendo possível acessar diretamente um registro específico.
- Acesso Direto: Só é possível quando o arquivo é definido com registros de tamanho fixo. Um cálculo de deslocamento permite encontrar a posição exata do registro.
- Acesso Indexado: Baseado no acesso direto, utiliza uma área de índice com ponteiros para os diversos registros, permitindo a busca direta pelo registro usando uma chave.
0 Comentários