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

  1. Ligar
  2. BIOS
  3. Teste de Hardware
  4. Master Boot Record
  5. Boot Loader
  6. Inicialização do Kernel
  7. Logon
  8. 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.

Entradas relacionadas: