Postagens

Gerência de entrada e saída

O controle da entrada e saída (E/S) de dados dos dispositivos é uma das funções principais de um SO, pois ele precisa promover o compartilhamento seguro dos recursos e permitir o seu uso de modo que os processos não tenham acesso direto aos dispositivos de entrada e saída, mas sim, por meio dos serviços implementados pelas chamadas de sistema, que permitem ler e escrever dados nos dispositivos. Os dispositivos são os componentes que realizam alguma operação de entrada ou saída de dados, como o teclado, o mouse, o monitor, a placa de rede, a placa de vídeo, o disco rígido ou um pendrive, por exemplo. Para que cada um desses dispositivos funcione, é necessário um driver que deve ser instalado para que o SO possa se comunicar com esse dispositivo. O responsável pelo desenvolvimento do driver, normalmente é o próprio fabricante do dispositivo. O controle de E/S é implementado por meio de uma estrutura de camadas de software e hardware que busca oferecer uma interface simples e confiável pa...

Gerência de Memória no Linux

Para visualizar dados sobre o uso de memória no Linux, basta acessar a ferramenta de monitoramento dos recursos do sistema, clicando no botão principal e pesquisando por monitor para abrir a ferramenta System Monitor ou Monitor do Sistema, como mostra a Figura 75, onde é possível visualizar que estão em uso 1,3GB de 3,17GB de memória RAM disponíveis, enquanto que o arquivo de swap não está sendo usado e tem 3,9GB disponíveis. A memória virtual no Linux é o total do espaço de endereço reservado pelo SO para o processo para o seu código, dados e pilha. O tamanho da memória virtual relatado pelo Linux inclui todo o código, dados e espaço de pilha reservado para uso por um processo, em memória física e espaço de swap. Este valor inclui o espaço utilizado por todas as bibliotecas compartilhadas usadas pelo processo. O tamanho da memória residente, de um processo exibido pelo Linux, inclui apenas a quantidade de memória física do processo e as bibliotecas compartilhadas, que são referenciada...

Gerência de Memória no Windows

O Windows implementa um gerenciamento de memória com suporte à memória virtual, que é transparente ao usuário, mas é possível gerenciá-la conforme a necessidade. O arquivo de paginação da memória virtual no Windows pode ser encontrado na unidade C com o nome “pagefile.sys”, normalmente com 2 ou 3GB de tamanho. Para gerenciar e alterar as configurações do arquivo de paginação do Windows, entre no Painel de Controle e, em seguida, em Sistema ou clique com o botão direito do mouse sobre o ícone do Meu Computador, no gerenciador de arquivos e escolha a opção Propriedades ou, ainda, acesse diretamente, pressionando simultaneamente as teclas Windows e Pause/Break. No menu do canto esquerdo, na parte inferior, clique em Configurações avançadas do sistema. Clique na aba Avançado, nas opções de Desempenho, clique novamente em Avançado e, na opção de Memória Virtual, pode-se alterar o gerenciamento da mesma, clicando em Alterar. Isso vai abrir uma caixa onde é possível alterar a configuração. Ne...

Memória Virtual

A memória virtual é uma técnica que os SOs utilizam para gerenciar a memória que permite que os processos (programas) consigam endereçar muito mais memória do que a fisicamente disponível (DEITEL, 2005). A ideia básica da memória virtual é que o tamanho combinado do programa e seus dados podem exceder a quantidade de memória física disponível para o mesmo (TANNENBAUM, 2016). A memória virtual disponibiliza para os programas uma quantidade de memória que é a soma da memória primária (RAM) com uma área de troca de dados em disco, denominada área de swap. O swapping é uma técnica que retira os dados que não estão em uso da memória primária (RAM) e armazena temporariamente em uma área de troca do disco rígido e transfere do disco rígido para a memória RAM, sempre que for referenciada ou necessária. A memória virtual pode ser implementada basicamente por meio dos seguintes mecanismos: a) Paginação: técnica em que o espaço de endereçamento virtual é dividido em blocos, denominados páginas, ...

Gerência de Memória

Imagem
O gerenciamento de memória é necessário porque a memória primária (ou memória principal - RAM), que é um dos elementos básicos da arquitetura computacional atual, tem a velocidade de suas operações de leitura e escrita consideravelmente mais baixas, do que a velocidade dos processadores, o que é conhecido como gargalo de Von Neumann. Como todo processo utiliza memória primária, ao gerenciarmos memória estamos, indiretamente, gerenciando os processos. A gerência de memória é a parte do SO responsável por garantir que cada programa tenha uma área de memória para o seu código e os seus dados, garantidas a segurança e integridade para a sua execução. Em um computador atual, vários processos estão em execução simultaneamente e, para isso, precisam estar alocados na memória. Em um sistema computacional o armazenamento de dados ocorre hierarquicamente, ou seja, em diversos níveis de acordo com os tipos de dispositivos, devido a quatro fatores básicos: Tempo de acesso;  Velocidade de opera...

Comandos para Interagir com Processos no SO Linux

Imagem
A interação do usuário com os processos no SO Linux ocorre principalmente por meio dos comandos top, kill, killall, bg, fg, nice e renice. O comando top exibe os processos em execução no sistema obedecendo uma taxa de atualização. Por meio deste comando, o usuário pode monitorar como os processos utilizam os recursos do computador, tais como a CPU e a memória. Além disto, este comando possibilita ao usuário interagir com os processos enviando sinais, os quais serão detalhados no decorrer da seção. A Figura 68 apresenta o resultado da execução deste comando. O comando kill permite ao usuário enviar sinais para os processos. A Tabela 1 apresenta os principais tipos de sinais deste sistema. Para enviar um sinal por meio do comando kill, torna-se necessário conhecer previamente o PID do processo. Para obter esta informação você pode usar o comando ps, conforme mostrado previamente. A título de exemplo, considere que obtemos o número 9000 como PID do processo que desejamos enviar o sinal HU...

Comandos para Visualização de Processos

Imagem
Devido ao fato de que o SO Linux possui seu código de fonte aberto, temos a opção de explorar com mais detalhes o funcionamento da gerência de processos.  Uma forma intermediária de fazer isto consiste em explorar a utilização de comandos. Podemos classificar os principais comandos do SO Linux relacionados com a gerência de processos em dois grupos: os comandos para visualização e para interação com os processos.  Os comandos ps e pstree pertencem ao grupo de visualização. Na sequência, cada um destes comandos será explicado e veremos sua utilização prática. Antes de iniciarmos a discussão técnica sobre estes comandos, precisamos aprender como podemos executá-los.  As diferentes variações do SO Linux possuem uma característica em comum, todas proporcionam a utilização de pelo menos uma ferramenta de terminal shell . A principal função desta ferramenta consiste em interpretar e executar comandos, proporcionando aos usuários mais experientes uma interface avançada de in...