Você está na página 1de 23

HARDWARE E SISTEMAS OPERACIONAIS

Clarindo Rodrigues
clarindo.rodrigues@gmail.com
• Sistemas Operacionais
– Conceitos de SO
– Motivações para o estudo de SO
– A evolução do SO
– Componentes de SO
– Software Livre x Software Proprietário
• Definição

– Um sistema operacional (em inglês: Operating System -


OS) ou ainda software de sistema é um programa ou um
conjunto de programas cuja função é gerenciar os recursos do
sistema (definir qual programa recebe atenção do
processador, gerenciar memória, criar um sistema de arquivos,
etc.), fornecendo uma interface entre o computador e o usuário.
(http://pt.wikipedia.org/wiki/Sistema_operativo)
• Características de um SO
– Gerência de Processos
– Interrupção de Hardware
– Gerenciamento de memória
– Sistemas de arquivos
– Driver de dispositivo
– Rede de computadores (TCP/IP, UDP)
– Segurança
– Entrada e Saída (E/S – I/O Input Output)
• Funções de um SO
– Controlar a interação entre:
• Usuário e Hardware
• Diversos Usuários

– Coordenar recursos:
• Memória
• CPU
• Dispositivos Entrada e Saída

– Permitir múltiplas aplicações/usuários trabalharem


simultaneamente de forma eficiente.
• Concorrência
• Proteção de memória
• Proteção de arquivos

– Padroniza a interface a fim de facilitar a programação e uso.


• Motivações para o estudo de SO
– Entender SO > entender computadores.
• Ajuda a usá-los, melhorar a utilização.

– SO conectam hardware e software


• O entendimento do sistema revela pontos fortes e limitações.
• Explica porque eu posso usar esse ou aquele sistema para certas
aplicações.

– SOs combinam conceitos de quase todas as áreas de


computação. Seu conhecimento fornece bases sólidas para
contrução de sistemas complexos.
• Linguagens
• Hardware
• Estrutura de dados
• Algoritmos
• Teoria
• Evolução
– Fase 0 (Inexistência de SOs).
• Programação através de chaves no painel.
• Conjuntos de cartões manualmente carregados para execução dos
programas.
• Usuário presente todo o tempo. Toda a atividade é sequencial.
Nenhuma sobreposição entre computação, entrada e saída e tempo de
pensar do usuário.

Problemas:
• Muito tempo de espera
• Usuário tem que esperar a máquina
• Máquina tem que esperar o usuário
• Todos tem que esperar pela leitora de cartões
• Evolução
– Fase 1 (Primeiros SOs - Multiprogramação).
• Vários programas são carregados na memória simultaneamente.
• Utilização mais eficiente, permite a sobreposição de computação, E/S e
usuário.

Complicações:
• O/S 360 liberado com 1000 bugs
• Escalonamento de memória
• Escalonamento de CPU
• Proteção
• Gerenciamento de memória

Problemas:
• Usuários ainda esperam pelo computador
• Evolução
– Fase 2 (Time Sharing – Interatividade)
• Usuários acessam a CPU diretamente conectados a terminais online.
• Base dos SOs modernos

Complicações:
• Multics anunciado em 63, concluído em 69
• Unix foi simplificado a partir do Multics
• Escalonamento e proteção passam a ser críticos:
– Tempo de resposta
– Hackers
• Dados devem ser acessados continuamente
– Sistema de arquivos

Problemas:
• Falta de disciplina dos programadores
• Evolução
– Fase 3 (Computadores Pessoais)
• Inicialmente baratos mas com pouca potência
• SOs foram simplificados correspondentemente
• DOS/Windows: proteção totalmente eliminada
• Sistemas mono-usuário
• Usuários acessam a CPU diretamente conectados a terminais online.
• Base dos SOs modernos

Melhoramentos futuros:
• Windows NT (95, 98...)
• Linux, Free BSD, ...
• Macs
• Evolução
– Fase 4 (Sistemas paralelos e distribuídos)
• Sistema multi-usuários
• Multiprocessadores
• Acesso a rede torna-se importante
– Os recursos usados frequentemente não são locais e são acessados
via rede:
– Ex: arquivos, impressoras

Sistemas distribuídos:
• Você sabe que está usando sistemas distribuídos quando não
consegue trabalhar porque um computador que você não está usando
e do qual nunca ouviu falar está fora do ar.
• Trabalho
– Pesquisar sobre Sistemas Operacionais modernos, apresentando
suas principais características, como no slide 4.
• Gerência de Processos
• Interrupção de Hardware
• Gerenciamento de memória
• Sistemas de arquivos
• Driver de dispositivo
• Rede de computadores (TCP/IP, UDP)
• Segurança
• Entrada e saída

– Cite pelo menos 3 Sistemas Operacionais, de preferência (mas não


obrigatoriamente) de empresas diferentes:
• Exemplo: Linux, Microsoft, Apple
• Sistemas Livres x Sistemas Proprietários
– Classificação de Sistemas
• Software Livre
• Domínio Público
• Freeware
• Shareware
• Software proprietário
– Comparativo Teórico
• SL x Bolo
• Linux x Windows x Mac
• Sistemas Livres x Sistemas Proprietários
– Classificação de Sistemas
• Software Livre (Free Software)
• Domínio Público (Public Domain Software)
• Freeware
• Shareware
• Software proprietário
– Comparativo Teórico
• SL x Bolo
• Linux x Windows x Mac
• Software Livre x Bolo
– Imagine que um programa para computador, um software,
seja um bolo:
• Algoritmo = receita
• Sem receita = comprar o bolo pronto e, assim, ser
dependente de quem o produz.
• Com receita é possível compartilhar com os amigos.
Alguém pode fazer alguma mudança interessante
criando um novo bolo.
• Ainda mais, se você gosta de fazer bolos e todo mundo
gosta de comê-los, talvez você tenha encontrado uma
boa atividade de renda.
• Software Livre x Bolo
– SL e Bolo: Certamente, como não são todos que gostam de
cozinhar, não são todos que vão desenvolver programas para
computadores. Mesmo assim, quem não quiser cozinhar poderá
usufruir do trabalho de, provavelmente, muitos cozinheiros.

– Comunidade de SL: agregam pessoas em comunidades de


apoio que criam documentação e oferecem apoio na Internet. É
um sistema de suporte de ajuda horizontal e solidária, gerando
redes de conhecimento e compartilhamento de informação.

– http://www.idbrasil.gov.br/menu_software_livre/01-inclusao_social
• Software Livre: As 4 Liberdades
– Executar o programa, para qualquer propósito (liberdade nº 0)
– Estudar como o programa funciona e adaptá-lo para as suas
necessidades (liberdade nº 1)
– Redistribuir cópias de modo que você possa ajudar ao seu
próximo (liberdade nº 2).
– Aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de
modo que toda a comunidade beneficie deles (liberdade nº 3)
• Código Fonte
– O código fonte deve ir junto com o software?
• Não obrigar que os usuários lidem com pessoas que não darão
suporte ao mesmo.
– Como fazer quando há um erro em um software?
• Esperamos pela ação corretiva do fornecedor
– Você desenvolve sempre igual?
– Se eu pedir pra ver seu código-fonte você deixa?
– Será que se você souber que o seu código-fonte será
– visto você não será mais caprichoso? Será que você não se
esforça mais se souber que será “vigiado”?
• Código Fonte
– O código fonte deve ir junto com o software?
• Não obrigar que os usuários lidem com pessoas que não darão
suporte ao mesmo.
– Como fazer quando há um erro em um software?
• Esperamos pela ação corretiva do fornecedor
– Você desenvolve sempre igual?
– Se eu pedir pra ver seu código-fonte você deixa?
– Será que se você souber que o seu código-fonte será
– visto você não será mais caprichoso? Será que você não se
esforça mais se souber que será “vigiado”?
• Código Fonte
– Ao se deparar com uma nova funcionalidade necessária a seu
sistema, o que você prefere?
• Ligar para o fornecedor e solicitar?
• Quanto tempo demorará?
• Quanto custará?
• Será que estará conforme?
• Você mesmo implementa?
• Quanto tempo demorará?
• Quanto custará?
• Será que estará conforme?
• Código Fonte
– Ao se deparar com uma nova funcionalidade necessária a seu
sistema, o que você prefere?
• Ligar para o fornecedor e solicitar?
• Quanto tempo demorará?
• Quanto custará?
• Será que estará conforme?
• Você mesmo implementa?
• Quanto tempo demorará?
• Quanto custará?
• Será que estará conforme?
• Software Livre
– Pessoas importantes:
• Richard Stallman
• Projeto GNU
• Linus Torvalds
• Kernel do Linux
• Tim Berners-Lee
• Web

– Movimentos conhecidos:
• Projeto Software Livre Brasil
• PSL-MG
• www.softwarelivre.org
• http://www.linux-mg.org
• Linux x Windows x Mac

Você também pode gostar