Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas
Operacionais
Fundamentos para Computação
Software
▪ Parte lógica que permite utilizar os recursos
computacionais para a resolução de
problemas específicos
▪ Finalidades determinadas previamente
▪ Diferentes formas de distribuição
▪ Tipos:
▪ Aplicativo
▪ Linguagem de Programação
▪ Sistema Operacional
Formas de Distribuição
▪ Proprietário
▪ Nº de Cópias - estabelecido em contrato
▪ Código “Fechado”
▪ Liberdade apenas de uso (execução)
▪ Software Livre
▪ Estudar como o programa funciona, e adaptá-lo para as suas
necessidades
▪ Redistribuir cópias
▪ Aperfeiçoar o programa e liberar os seus aperfeiçoamentos
▪ Acesso ao código-fonte – Código “Aberto”
▪ Shareware
▪ Softwares que podem ser copiados livremente mas requer
pagamento de licença em caso de uso continuado
▪ Freeware
▪ Software que podem ser copiados livremente - Gratuitos
http://www.sandroalex.info 1
Fundamentos para Computação Sistemas Operacionais
Aplicativo
▪ Programa voltado para a solução de
problemas do usuário
▪ Categorias:
▪ Uso Geral
▪ Podem ser utilizados em vários tipos de aplicações
▪ Ex: editores de texto, planilhas, gerenciadores de BD
▪ Uso Específico
▪ Destinam exclusivamente a um único tipo de
aplicação
▪ Ex: folha de pagamento, imposto de renda
Sistema
Operacional
▪ Tipo de programa especial, também
chamado de programa básico
▪ Contém um conjunto de programas
necessários ao funcionamento do
computador
▪ É através do SO que o usuário pode se
comunicar com o computador
Todo computador tem, em seu nível mais básico,
uma camada de inteligência que dá vida à máquina
Visão Geral
usuários
programadores programas,
e analistas sistemas e
aplicativos
Usuários
memória discos
Hardware
fitas
Programas do Usuário
UCP
Sistema Operacional
impressoras monitores
Hardware
http://www.sandroalex.info 2
Fundamentos para Computação Sistemas Operacionais
Ao ligar o computador...
▪ Autoteste
▪ Identifica memória, discos, teclado, sistema de vídeo e
qualquer dispositivo ligado a ele
▪ Boot
▪ Inicialização do sistema
▪ Procura o SO a ser inicializado
▪ Objetivo
▪ Colocar o computador em condições de funcionamento
▪ Carregar o computador com rotinas essenciais ao atendimento
dos diversos programas de aplicação que lhe serão
posteriormente submetidos
Ao ligar o computador...
Área do
Sistema
Operacional
bo ot
Sistema
Operacional
Disco Memória
Principal
SO
▪ Exemplos de atividades realizadas:
▪ Permite que os programas armazenem e recuperem
informações
▪ Esconde dos programas os detalhes específicos de
hardware
▪ Permite que programas sejam executados sem a
interferência de outros programas
▪ Controla o fluxo de dados entre os componentes de um
computador
▪ Responde às solicitações dos usuários
▪ ...
http://www.sandroalex.info 3
Fundamentos para Computação Sistemas Operacionais
Justificativa
▪ Porque o uso de uma camada intermediária
de software chamada de SO?
▪ Escrever programas para controlar discos,
leitores de CD e outras partes do hardware é
bastante complexo
▪ Fazer todos as partes do hardware trabalharem
de forma integrada e otimizada é mais
complexo ainda
▪ Para afastar o desenvolvedor da camada do
hardware
Funções do SO
▪ Máquina Virtual ou Estendida
▪ Cria uma máquina virtual equivalente ao hardware
porém muito mais simples de programar
▪ Afasta o usuário dos detalhes físicos da máquina
▪ Gerenciador de Recursos
▪ Propicia a utilização dos recursos computacionais de
forma otimizada entre usuários e programas que os
solicitam
▪ Fornece uma alocação ordenada e controlada dos
recursos computacionais (processador, memória,
dispositivos de E/S)
http://www.sandroalex.info 4
Fundamentos para Computação Sistemas Operacionais
Conceitos Básicos
▪ Processo
▪ Também chamado de Tarefa
▪ Programa em execução e o seu contexto (código
executável, dados, registradores, arquivos sendo
utilizados, etc.)
▪ Entidade ativa que compete pelos recursos do sistema e
interage com outros processos
▪ Kernel - Núcleo do SO
▪ Controla suas funções centrais, contém código de
máquina de baixo nível que controla o gerenciamento de
hardware, permanece na memória o tempo todo
Conceitos Básicos
▪ Shell - Interpretador de comandos
▪ Assume o controle da tela, recebe as inserções do
usuário, as interpreta e as executa
▪ Exemplos de serviços: login/logout, manipulação de
arquivos, entre outros
▪ Chamadas de Sistema (System Calls)
▪ Interface entre os aplicativos e o SO
▪ Exemplos de serviços: entrada/saída, comunicação inter-
processos, ler arquivo, escrever arquivo, alocar memória
http://www.sandroalex.info 5
Fundamentos para Computação Sistemas Operacionais
Tarefas Básicas
I. Proporcionar interface usuário/computador
II. Gerenciar dispositivos de hardware
III. Gerenciar e manter sistemas de arquivos em
disco
IV. Dar suporte a outros programas
Usuário Programas
Sistema Operacional
Sistema de
Hardware
Arquivos
Histórico
1ª Fase: No início...
ENIAC, 1945
http://www.sandroalex.info 6
Fundamentos para Computação Sistemas Operacionais
1ª Fase: No início...
▪ 1940-1952 (1ª geração da evolução)
▪ Computadores baseados a válvulas
M
▪ Não existia SO O
▪ A programação era feita em Linguagem de N
Máquina O
▪ O controle da máquina e monitoração da T
execução eram feitos através de painéis de A
controle primitivos R
▪ O computador tinha todos os seus recursos E
computacionais (memória, processador, ...) F
voltados a execução de um único programa
A
http://www.sandroalex.info 7
Fundamentos para Computação Sistemas Operacionais
http://www.sandroalex.info 8
Fundamentos para Computação Sistemas Operacionais
▪ Processos
▪ Novo estado
▪ Pronto: Aguardando a Executando
liberação da UCP
Pronto Bloqueado
http://www.sandroalex.info 9
Fundamentos para Computação Sistemas Operacionais
http://www.sandroalex.info 10
Fundamentos para Computação Sistemas Operacionais
▪ Continuação...
▪ Não existe a idéia de fatia de tempo
▪ Um programa detém o processador (ou outro
recurso) o quanto for necessário, até que
apareça outro prioritário
▪ Presentes em controles de processo, como
monitoramento de refinarias de petróleo, tráfego
aéreo ou em qualquer aplicação onde o tempo
de resposta é fator fundamental
http://www.sandroalex.info 11
Fundamentos para Computação Sistemas Operacionais
4ª Fase: Multitarefa
▪ Classificação dos SOs Multitarefas quanto à
utilização da UCP
▪ Multitarefa Cooperativa
▪ Cooperação entre SO e aplicativos (verificação da
existência de outros programas precisando da CPU,
cedendo então).
▪ Ex: DOS com Windows 3x
▪ Multitarefa Preemptiva
▪ SO mantém uma lista dos processos que estão sendo
executados, cada processo recebe uma prioridade e
quota de tempo para a tarefa. A qualquer momento o
SO pode modificar a prioridade, reordenando a lista
▪ Ex: UNIX, Windows NT, Windows 95
▪ SOs Multiprocessadores
▪ Caracteriza-se por possuir 2 ou mais UCPs
interligadas, trabalhando em conjunto
▪ Com a implementação de sistemas com
múltiplos processadores, o conceito de
simultaneidade ou paralelismo pôde ser
expandido a um nível mais amplo, onde
▪ uma tarefa pode ser dividida e executada por mais de
um processador ou
▪ vários programas podem ser executados ao mesmo
tempo
http://www.sandroalex.info 12
Fundamentos para Computação Sistemas Operacionais
Multiprocessadores
Fortemente Fracamente
Acoplados Acoplados
Sistemas Sistemas SO de SO
Simétricos Assimétricos Redes Distribuídos
UC Memória UC
P P
Sistemas Assimétricos
▪ Também chamados de Mestre/Escravo
▪ Somente um processador (mestre) pode
executar serviços do SO
▪ Por exemplo, operações de E/S
▪ Sempre que o processador do tipo escravo
precisar realizar um serviço do SO, terá que
requisitar tal serviço ao processador mestre
http://www.sandroalex.info 13
Fundamentos para Computação Sistemas Operacionais
Sistemas Assimétricos
▪ Problemas
▪ Dependendo do volume de solicitações a
serviços do SO destinadas aos processadores
escravos, o sistema pode se tornar ineficiente
▪ Número alto de requisições ao processador mestre
▪ Se o processador mestre falhar, todo o sistema
ficará incapaz de continuar o processamento
UCP
UCP
Escrav
Mestre
o
Process Process
os E/S os
Sistemas Simétricos
▪ Não existe hierarquia entre os processadores
▪ Todas as tarefas podem ser feitas em qualquer UCP
▪ SO responsável pelo gerenciamento dos recursos
compartilhados
▪ Um programa pode ser executado por qualquer
processador, inclusive por vários processadores ao
mesmo tempo (paralelismo)
▪ Quando um processador falha, o sistema continua
sem nenhuma interferência manual, porém com
menor capacidade
Sistemas Simétricos
▪ Poucas funções ficam a cargo de um único
processador
▪ Por exemplo: Inicialização do sistema
UCP UCP
SO Process
os
http://www.sandroalex.info 14
Fundamentos para Computação Sistemas Operacionais
Link de Comunicação
UC UC
P P
Motivações
▪ Necessidade de compartilhar recursos e
informações
▪ Surgimento e avanços das Redes de
Computadores
▪ Possibilidade de ligar dois sistemas
independentes
▪ Capacidade de processamento própria
▪ Redução de custos de estações
▪ Maturação das tecnologias de software
http://www.sandroalex.info 15
Fundamentos para Computação Sistemas Operacionais
▪ Cada computador
▪ tem seu próprio SO, além de hardware e software que
possibilitam o acesso a outros computadores da rede
▪ Provê compartilhamento de recursos
▪ Provê esquema de comunicação
▪ É totalmente independente do outro, podendo inclusive
possuir SOs diferentes
▪ Vantagem
▪ Caso uma conexão seja interrompida, a rede
pode continuar funcionando, apesar de alguns
recursos poderem não estar funcionando
temporariamente
Servidor de
Impressão
Servidor de Servidor de
Unidade de Fita Arquivos
http://www.sandroalex.info 16
Fundamentos para Computação Sistemas Operacionais
▪ Vantagem
▪ Possibilidade de balanceamento de carga
▪ Levantar as atividades de cada processador dos
computadores do sistema e o processador mais livre
é escolhido para realizar a próxima tarefa
▪ Redundância
▪ Como as aplicações estão distribuídas, caso ocorra
algum problema com um dos componentes é possível
que um deles assuma o papel do defeituoso
Quadro Comparativo
http://www.sandroalex.info 17
Fundamentos para Computação Sistemas Operacionais
http://www.sandroalex.info 18
Fundamentos para Computação Sistemas Operacionais
Desvantagens dos SO
Multiprocessadores
Item Descrição
SOSim
▪ Simulador para o Ensino de Sistemas
Operacionais Versão 2.0
▪ http://www.training.com.br/sosim
Checklist
▪ Tipos de SO
▪ Monotarefa ▪ Multitarefa
▪ Simples ▪ Utilização da UCP:
▪ Preemptiva
▪ Em Lote (Batch)
▪ Cooperativa
▪ Multitarefa
▪ Multiprocessadores
▪ Execução dos Processos:
▪ Fortemente Acoplados
▪ Em Lote (Batch)
▪ Assimétrico
▪ Tempo Compartilhado
▪ Simétrico
▪ Tempo Real
▪ Fracamente Acoplados
▪ Redes
▪ Distribuídos
http://www.sandroalex.info 19