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.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay