DEV Community

Igor
Igor

Posted on

Sistemas Operacionais - Parte 2

O que é um Sistema Operacional?
É difícil cravar o que um SO (Sistema Operacional) é além dizer que é um software que roda no modo Kernel - e até isso às vezes não é verdade. Parte do problema é que SOs executam duas funções essenciais não-relacionadas:
Fornecer um conjunto abstrato e objetivo de recursos ao invés da bagunça vinda do hardware e gerenciar esses recursos.


A arquitetura (conjunto de instruções, organização da memória, I/O e estrutura de barramento) da maioria dos computadores no nível de linguagem da máquina é primitivo e estranho de programar, especialmente a parte de Entrada/Saída.
Todos os SOs fornecem uma camada de abstração para usar discos: os arquivos.
Usando essa abstração, programas podem criar, escrever e ler arquivos, sem precisar lidar com os detalhes de como o hardware realmente funciona.
Essa abstração é a chave para gerenciar toda essa complexidade. Boas abstrações tornam uma tarefa impossível em duas gerenciáveis.
A primeira é definir e implementar as abstrações.
A segunda é usar essas abstrações para resolver o problema atual.


O "arquivo" é uma abstração muito conhecida e muito útil. Um arquivo é como uma foto digital, mensagens salvas de e-mails, músicas ou páginas web.
É muito mais fácil lidar com fotos, emails, músicas e páginas web do que com detalhes de SATA (ou outros) discos.
O trabalho do SO é criar boas abstrações e, então, implementar e gerenciar os objetos abstratos assim criados.

Top comments (0)