Computadores são aparelhos extremamente complexos. Para compreender o seu funcionamento, precisamos entender várias camadas de abstração diferente.
A camada mais baixa de todas é aquela formada por transistores, tensão e corrente elétrica. Quem costuma lidar com esta camada são físicos e engenheiros elétricos. Nesta camada estuda-se o funcionamento de transistores e circuitos sempre levando em conta as propriedades físicas da corrente elétrica.
Uma camada acima, estão as portas lógicas - todas elas compostas por transistores. Neste nível estuda-se como criar estruturas mais complexas combinando-se as diversas portas como AND, OR e NOT para criar estruturas como multiplexadores, flip-flops e somadores. Neste estágio pode-se usar linguagens como o Verilog ou VHDL para programar circuitos.
Subindo mais um nível de abstração, começamos a lidar com estruturas mais complexas como registradores e unidades lógicas aritméticas - todas compostas por muitos flip-flops, somadores e multiplexadores. Vemos como todas essas estruturas realmente geram as instruções de cada máquina e como cada instrução funciona. É neste nível que costuma trabalhar um Arquiteto.
Um nível além, estuda-se como combinar as instruções da camada anterior para realizar comandos mais sofisticados como as operações da lingüagem C e como coordenar o funcionamento de um sistema operacional por meio de interrupções e outros recursos.
Diagrama que representa o Kernel de um Sistema Operacional sendo usado como um meio de comunicação entre o Software e o Hardware: |
Acima desta camada, está o estudo do funcionamento de funções de bibliotecas, APIs e a programação de aplicativos e programas de computador simples.E finalmente, na camada de abstração mais superior está o funcionamento de um programa de computador do ponto de vista do usuário. Como utilizar um aplicativo já criado.
Nenhum comentário:
Postar um comentário