Você está na página 1de 19

Fundamentos para Computação Sistemas Operacionais

Sistemas
Operacionais
Fundamentos para Computação

Por: Sandro Alex


http://www.sandroalex.info

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

Usuário Usuário ... Usuário


Sistema O peracional
1 2 n

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

▪ ... as instruções internas orientam-no para


encontrar e executar o SO
▪ O SO opera todo o tempo em que a máquina
estiver ligada

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

“SO são programas que tornam o hardware usável. O SO


tem o poder computacional do hardware disponível
convenientemente para o usuário e gerencia o hardware
cuidadosamente a fim de obter boa performance”
“SO é um programa que age como um intermediário
entre o usuário e o hardware, com o propósito de prover
um ambiente no qual um usuário possa executar
Definições

programas de forma conveniente e eficiente”

“SO é um conjunto de módulos de software que servem


como uma interface entre programas aplicativos e o
sistema de hardware, objetivando alcançar um sistema
computacional eficiente, seguro e fácil de usar”

“SO provê meios para o uso apropriado dos recursos de


hardware, software e dados durante a operação do sistema
computacional”

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

Interação entre Usuário –


Shell/Chamada de Sistema – Kernel
▪ Modo como o hardware é usado
▪ O SO é intermediário entre programas e hardware
▪ Uso de memória, unidades de disco, ...
Usuári
o
Interface com o usuário
(tela do programa)
Shell Progra
ma
Interface com o programa
(system calls)
SO
Kernel

teclado memória CPU vídeo mouse unidades de disco

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

2ª Fase: Início da Redução de


Tempo Desperdiçado
▪ 1952-1964 (2ª geração da evolução)
▪ Computadores baseados em transístores 
Tecnologia mais confiável para comercialização
▪ Computadores ainda caros
▪ Uso de diferentes computadores para a área comercial e
para a área científica
▪ Início da utilização de um sistema que originou o
SO como conhecemos
▪ Início de outras linguagens de programação: Baixo
Nível e FORTRAN

2ª Fase: Início da Redução de


Tempo Desperdiçado
▪ Processamento em Lote (Batch)
▪ Programas armazenados em fitas para serem M
executados de forma sequencial O
▪ O computador continuava a ter todos os seus E
N
recursos computacionais voltados a execução de M
um único programa O
▪ Processos em dois estados T
L
▪ Executando: Sendo processado pela UCP A
O
▪ Bloqueado: Aguardando retorno de um dispositivo R T
de E/S E
E
F
A

http://www.sandroalex.info 7
Fundamentos para Computação Sistemas Operacionais

2ª Fase: Início da Redução de


Tempo Desperdiçado

2ª Fase: Início da Redução de


Tempo Desperdiçado
▪ SOs Monotarefas
▪ Vantagens
▪ Simplicidade de implementação
▪ Utilização de toda a capacidade da máquina para
execução da tarefa fim, sem perdas de tempo em
tarefas de gerenciamento do SO
▪ Desvantagens
▪ Limita a performance da máquina. Recursos
Computacionais subutilizados
▪ Enquanto um programa utiliza um recurso, os demais
recursos ficam inativos
▪ Só se aplica à máquinas dedicadas a um usuário

3ª Fase: Utilização do Computador


de Forma Interativa
▪ 1964-1981 (3ª e 4ª gerações da evolução)
▪ Surgimento de um computador que servia tanto
para a área comercial quanto para a área científica
▪ Série 360 IBM
▪ Início da multiprogramação ou multitarefa
▪ Capacidade de gerenciar o processamento de mais um
programa ao mesmo tempo (pseudoparalelismo)
▪ Os recursos computacionais são compartilhados entre os
diversos programas
▪ O SO se preocupa em gerenciar o acesso concorrente
aos seus diversos recursos de forma ordenada e
protegida, entre os vários programas

http://www.sandroalex.info 8
Fundamentos para Computação Sistemas Operacionais

3ª Fase: Utilização do Computador


de Forma Interativa
Processo 3 Partições
▪ Memória Processo 2 da
▪ Dividida em várias Processo 1 memória
partes para acomodar Sistema
diferentes processos Operacional

▪ Processos
▪ Novo estado
▪ Pronto: Aguardando a Executando
liberação da UCP

Pronto Bloqueado

3ª Fase: Utilização do Computador


de Forma Interativa
▪ Novos Requisitos para a Multitarefa
▪ Gerenciamento de Memória
▪ Memória compartilhada entre diversos processos
▪ Escalonamento de Processos
▪ O sistema deve escolher entre vários processos
prontos para executar
▪ Alocação dos Demais Recursos
▪ Recursos disputados por diversos processos  uso
eficiente dos recursos

3ª Fase: Utilização do Computador


de Forma Interativa
▪ 1º Multitarefa: Processamento em Lote
▪ 2º Multitarefa: Tempo Compartilhado ou Time-
Sharing
▪ Permitem a interação do usuário com o sistema
▪ através de terminais que incluem vídeo, teclado e mouse
▪ Também conhecidos como sistemas on-line
▪ Fornecem serviços a diversos usuários concorrentemente
– SOs Multiusuários
▪ O efeito da simultaneidade é atingido pelo
compartilhamento do tempo da UCP (e dos outros
recursos) entre os diversos usuários que estão no
sistema

http://www.sandroalex.info 9
Fundamentos para Computação Sistemas Operacionais

3ª Fase: Utilização do Computador


de Forma Interativa
▪ Continuação...
▪ Usuários ativos recebem fatias de tempo (time-
slice) para explorar os recursos da máquina
▪ O sistema cria para o usuário um ambiente de
trabalho próprio, dando a impressão que todo o
sistema esta dedicado a ele
▪ São de implementação complexa, mas
aumentam a produtividade e reduz o custo de
utilização do sistema

3ª Fase: Utilização do Computador


de Forma Interativa
▪ Continuação...
▪ Novos Requisitos para Multitarefa de Tempo
Compartilhado
▪ Recursos de proteção de memória
▪ Um processo de um usuário não poderá interferir no
processo de um outro usuário
▪ Escalonamento de Processos, Alocação de Recursos

3ª Fase: Utilização do Computador


de Forma Interativa
▪ Continuação...
▪ Vantagens
▪ Aumento da performance
▪ Aumento da produtividade dos usuários
▪ Redução de custos a partir do compartilhamento de
recursos
▪ Geralmente é permitido que mais de um usuário
utilize o SO
▪ Desvantagem
▪ Implementação mais complexa

http://www.sandroalex.info 10
Fundamentos para Computação Sistemas Operacionais

4ª Fase: Utilização do Computador


para Diversas Finalidades
▪ 1981-?? (5ª geração da evolução)
▪ Surgimento dos SOs Multitarefa de Tempo Real
▪ Estamos atingindo os limites de velocidade com
a atual arquitetura de computadores
▪ Miniaturização do processador x Aquecimento
▪ Solução
▪ Surgimento dos SOs Multiprocessadores
▪ Executar processos em paralelo

4ª Fase: Multitarefa Tempo Real

▪ 3º Multitarefa: Tempo Real


▪ Semelhantes em implementação aos sistemas
de tempo compartilhado
▪ Diferem no tempo de resposta exigido no
processamento das aplicações
▪ Os tempos de resposta devem estar dentro de
limites rígidos, que devem ser obedecidos, caso
contrário podem ocorrer problemas irreparáveis

4ª Fase: Multitarefa Tempo Real

▪ 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

4ª Fase: SOs Multiprocessadores

▪ 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

4ª fase: SOs Multiprocessadores


▪ Vantagens
▪ Aumento da quantidade de trabalho realizado por
unidade de tempo com menor custo
▪ Com o aumento no número de processadores, espera-se realizar
mais tarefas em um menor período de tempo
▪ Reconfiguração e Balanceamento do sistema
▪ Economia
▪ Devido ao compartilhamento de arquivos/programas/recursos
▪ Confiabilidade
▪ Uma falha de um processador dificilmente provocará parada do
sistema
▪ Desvantagem
▪ Implementação bastante complexa

http://www.sandroalex.info 12
Fundamentos para Computação Sistemas Operacionais

4ª fase: SOs Multiprocessadores


▪ Classificados quanto a forma de comunicação entre
os processadores e o grau de compartilhamento da
memória e de outros recursos

Multiprocessadores

Fortemente Fracamente
Acoplados Acoplados

Sistemas Sistemas SO de SO
Simétricos Assimétricos Redes Distribuídos

Sistemas Fortemente Acoplados

▪ Várias UCPs compartilham uma única


memória

UC Memória UC
P P

▪ São gerenciados por um único SO


▪ Preocupação
▪ Problema da concorrência
▪ Organização eficiente das UCPs

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

Sistemas Fracamente Acoplados

▪ Caracterizam-se por dois ou mais sistemas


de computação interligados através de
linhas de comunicação
▪ Cada sistema funciona de forma
independente:
▪ Tem seu próprio SO
▪ Gerencia seus próprios recursos

Sistemas Fracamente Acoplados

Link de Comunicação
UC UC
P P

Memória E/S Memória E/S

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

Sistemas Operacionais de Rede

▪ 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

Sistemas Operacionais de Rede

Servidor de
Impressão

Servidor de Servidor de
Unidade de Fita Arquivos

Sistemas Operacionais Distribuídos

▪ Cada componente da rede também possui seu


próprio SO e recursos computacionais
▪ As diferenças em relação aos SOs de Redes são:
▪ A existência de um relacionamento mais forte entre os
componentes do sistema
▪ Geralmente, os SOs são os mesmos
▪ Para o usuário e suas aplicações é como se não
existisse uma rede de computadores e sim um
único sistema centralizado

http://www.sandroalex.info 16
Fundamentos para Computação Sistemas Operacionais

Sistemas Operacionais Distribuídos

▪ 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

Sistemas Operacionais Distribuídos

Quadro Comparativo

http://www.sandroalex.info 17
Fundamentos para Computação Sistemas Operacionais

Sistemas Fortemente Acoplados X


Sistemas Fracamente Acoplados
▪ Memória
▪ Em sistemas fortemente acoplados existe
apenas um espaço de endereçamento
compartilhado enquanto no fracamente
acoplados cada sistema tem sua própria
memória
▪ Transferência de dados UCP e Memória
▪ A taxa de transferência entre UCPs e memória
em sistemas fortemente acoplados é maior que
nos fracamente acoplados

Vantagens dos SO Multiprocessadores


em relação aos Monoprocessadores
Item Descrição
Os microcomputadores oferecem
Economia melhor relação preço/performance
do que Mainframes
SO Multiproc pode ter seu poder de
Velocidade processamento maior que
qualquer Mainframe
Distribuição Algumas aplicações envolvem
Inerente máquinas separadas fisicamente
Se uma máquina sair do ar,
Confiabilidade
o sistema ainda pode sobreviver
Crescimento O poder computacional pode
Incremental crescer aos poucos

Vantagens dos SO Multiprocessadores


em relação aos PCs Independentes
Item Descrição
Compartilhament
Permite que mais de 1 usuário
o
acesse uma base de dados comum
de dados
Compartilhament
Permite que mais de 1 usuário
o
usufrua de recursos caros
de recursos
Torna mais simples a comunicação
Comunicação
entre as pessoas
Pode espalhar a carga de trabalho
Flexibilidade
em outras máquinas do sistema

http://www.sandroalex.info 18
Fundamentos para Computação Sistemas Operacionais

Desvantagens dos SO
Multiprocessadores
Item Descrição

Software Menor disponibilidade

A rede pode saturar, se tornar


Ligação em Rede
indisponível
Dados secretos podem ser
Segurança
acessíveis

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

Você também pode gostar