Sistemas Operacionais: Kernel, Processos e Memória
Classificado em Computação
Escrito em em
português com um tamanho de 4,79 KB
Kernel
O kernel é a ligação entre o processamento dos dados e os programas; é responsável por ser o elo do hardware (parte física) com o software (parte lógica) 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.
Processos
Processo é um módulo executável único, que corre concorrentemente com outros módulos executáveis. Processos são módulos separados e carregáveis, ao contrário de threads, que não podem ser carregadas da mesma forma. Múltiplas threads de execução podem ocorrer dentro de um mesmo processo. Além das threads, o processo também inclui certos recursos, como arquivos, alocações dinâmicas de memória e espaços de endereçamento.
Hierarquia de Memória
Três características principais da memória: custo, capacidade e tempo de acesso.
- Tempo de acesso mais rápido — custo por bit maior.
- Capacidade maior — custo por bit menor.
- Capacidade maior — tempo de acesso maior.
Sistema Operacional
O sistema operacional gerencia os recursos de hardware e software do sistema, cuida para que cada aplicativo tenha os recursos necessários para o funcionamento e administra a capacidade limitada do sistema para atender a todos os usuários e aplicativos.
Definição de Sistema Operacional
Um sistema operacional é o conjunto de programas que torna possíveis operações (interface) entre o usuário e o computador. O sistema operacional certifica que o hardware é inicializado e que os seus processos funcionam corretamente.
Sequência de inicialização
- Ligar
- BIOS
- Teste de Hardware
- Master Boot Record
- Boot Loader
- Inicialização do Kernel
- Logon
- Windows
Multiprogramação
Multiprogramação ou multitarefa é o nome dado à característica de alguns sistemas operacionais de rodar diversas aplicações simultâneas. Na execução multitarefa, o tempo do processador é dividido entre as aplicações em execução, e a execução das tarefas passa rapidamente de uma para a outra, criando a ilusão de que as aplicações ocorrem de forma conjunta.
Monoprogramação
Monoprogramação é a execução por um único processador capaz de gerenciar a execução de um único programa do usuário por vez. Permite que o processador, a memória e os periféricos fiquem dedicados a um único usuário; são, portanto, sistemas monousuário.
Time sharing
Time sharing consiste em alternar entre diferentes processos de forma que o usuário tenha a percepção de que todos os processos estão sendo executados simultaneamente, permitindo a interação com múltiplos processos em execução. Esta percepção é dada pela velocidade em que as trocas de tempos de execução na CPU ocorrem, sendo tão frequentes que tornam-se imperceptíveis do ponto de vista do usuário.
Cliente-servidor
Em uma aplicação cliente-servidor existe um servidor que provê algum tipo de serviço, e clientes que solicitam esse serviço ao servidor. O usual é este modelo ser implementado utilizando-se uma rede de computadores. O servidor fica rodando aguardando a chegada de solicitações dos clientes, processa essas solicitações e envia a resposta ao solicitante. O cliente envia uma solicitação para o servidor, aguarda a resposta e processa a resposta recebida.
Escalabilidade
Escalabilidade é a capacidade de manipular uma porção crescente de trabalho de forma uniforme, ou estar preparado para crescer. Por exemplo, isto pode se referir à capacidade de um sistema em suportar um aumento de carga total quando os recursos são requeridos.
Escalonamento de processos
Um Escalonador de Processos é um subsistema do sistema operacional responsável por decidir o momento em que cada processo obterá a CPU. São utilizados algoritmos de escalonamento que estabelecem a lógica dessa decisão. Ao definir qual algoritmo será utilizado no sistema operacional, cabe avaliar o cenário em que o sistema será utilizado.
Software
Software é uma sentença escrita em uma linguagem computável, para a qual existe uma máquina capaz de interpretá-la. A sentença é composta por uma sequência de instruções e declarações de dados, armazenável em meio digital.