FUNÇÕES DO NÚCLEO DO SISTEMA OPERACIONAL
As tarefas do núcleo (kernel) do SO se enquadram em cinco categorias:
a) Interface de programação de aplicativos: As interfaces de programação de aplicativos (APIs) permitem que os programadores de aplicativos usem funções do computador e do SO sem a necessidade de conhecer os detalhes do hardware e os detalhes da operação da CPU. Como o SO esconde os detalhes do hardware para o programador, é por meio da API que um programa tem acesso aos recursos de hardware, tais como unidades de armazenamento e acesso à rede, além de utilizar as rotinas de manipulação das janelas, menus, ícones e botões;
b) Interface de usuário: Assim como a API fornece uma maneira consistente para que os aplicativos usem os recursos do sistema de computador, uma interface de usuário (User Interface UI) oferece uma estrutura para a interação entre um usuário e o computador, especialmente com a interface gráfica do usuário (GUI), nativas no Windows e no MacOS e incorporadas ao Linux. Existem outras interfaces de usuário, algumas gráficas e outras não, para outros SOs. O Unix, por exemplo, possui interfaces de usuário chamadas shells, que apresentam uma interface de usuário mais flexível e poderosa do que a interface baseada em texto nativa do SO. Programas como o Korn Shell e o C Shell são interfaces baseadas em texto que adicionam funcionalidades importantes, mas cujo principal objetivo é o de facilitar o uso para manipular as funções do SO. Há também interfaces de usuário gráficas, como X-Windows, Gnome e KDE (vistas na unidade anterior), que tornam o Unix e o Linux mais parecido com os computadores Windows e Macintosh do ponto de vista do usuário. A interface do usuário é um programa, ou um conjunto de programas, que executa como uma camada acima do próprio SO. A diferença como essa camada está vinculada ao núcleo do SO diferencia os sistemas atuais e influencia de maneira significativa o seu desempenho. No Windows e no MacOS a interface gráfica executa no mesmo nível do SO, enquanto que no Linux ele é apenas um programa, como outro qualquer, executando sobre o núcleo, o que gera uma certa perda no desempenho das aplicações gráficas neste sistema;
c) Gerenciamento do processador: o gerenciamento de processador ou de processos é a atividade na qual o SO é responsável por atender cada um dos processos, que são os programas em execução, com uma determinada fatia de tempo da CPU. Na prática, todos os processos que estão em execução são colocados em uma fila pelo SO e cada um deles recebe de 20 a 100 milissegundos para executar na CPU. Durante esse tempo, ele pode executar até aproximadamente 40 milhões de instruções ou cálculos e, depois disso, vai para o final da fila, passando a executar o processo que estava na frente na fila. Essa alternância entre os processos que estão em execução é tão rápida que não percebemos e temos a impressão que todos estão sendo executados ao mesmo tempo, quando na verdade estão sendo alternados de forma muito rápida;
d) Gerenciamento da memória: o gerenciamento de memória é a atividade na qual o SO gerencia quais partes da memória serão destinadas a quais processos, garantindo que nenhum processo invada a área de memória de outro processo. Além disso, para proporcionar que mais memória seja usada, o SO carrega para a memória principal somente o que está em uso, armazenando o restante temporariamente no disco rígido, em um processo denominado swaping, carregando e retirando da memória sempre que necessário. Alguns SOs como o Mac OS e o Windows 10 também realizam um processo de compactação da memória das partes que não estão em uso;
e) Gerenciamento de dispositivos de entrada e saída: o gerenciamento de Entrada e Saída é encarregado de realizar a comunicação do SO com dispositivos de entrada e saída, por meio dos drivers de dispositivos, fornecendo uma forma padronizada para os programas solicitarem os acessos a esses dispositivos. Os drivers, por sua vez, enviam os dados para os dispositivos propriamente ditos. Devido a isso, quando compramos uma impressora nova, ela só funciona corretamente depois de instalarmos os drivers adequados. O programa envia o comando para o SO realizar a impressão. Porém, como o SO não conhece os detalhes de como a impressora funciona, ele envia a requisição para o driver da impressora, que é um programa que “entende” o que o SO vai pedir e traduz com os comandos adequados para a impressora. Além disso, o SO também precisa gerenciar o armazenamento dos dados nos discos rígidos (HD), pendrives e unidades de estado sólido (SSD), por meio de um sistema de arquivos.
A Figura 35 apresenta a estrutura do SO como intermediário entre o hardware, os programas (aplicativos) e o usuário.
Figura 35 – Estrutura do Sistema Operacional

Comentários
Postar um comentário