Buscar

Aula_01_SOP_2020_1

Prévia do material em texto

Sistemas Operacionais
Análise e Desenvolvimento de Sistemas 
Ciência da Computação
Engenharia da Computação
Redes de Computadores
Professor: André Sobral
e-mail: asobral@unicarioca.edu.br
Introdução
�O que se espera de um sistema de 
computação?
�Execução de programas de usuários
�Permitir a solução de problemas
�Sistema Operacional (SO) é um programa 
colocado entre o hardware do computador e os 
programas dos usuários de forma a atingir esses 
dois objetivos.
Sistemas Operacionais
Introdução
�Estrutura do Sistema Computacional:
�O sistema computacional pode ser dividido em 4 
componentes genéricos:
�Hardware - recursos básicos (CPU, memória, 
dispositivos de E/S)
�Sistema Operacional - controla e coordena o uso 
do hardware entre vários programas aplicativos e 
usuários
�Programas aplicativos e de sistema - define 
como os recursos de hardware são empregados na 
solução de um problema (Processadores de texto, 
compiladores, browsers, SGBDs, vídeos, jogos, etc)
�Usuários - Pessoas, máquinas, outros
Sistemas Operacionais
Introdução
�Sistema Operacional - Conceito
�Um programa que controla a execução de programas 
aplicativos
�Interface entre aplicativos e hardware
�Duas visões para definir o Sistema Operacional:
�SO é um alocador de recursos
�Gerencia todos os recursos
�Decide entre requisitos conflitantes para uso mais 
eficiente dos recursos
�SO é um programa de controle
� Controla a execução dos programas para 
prevenir erros e uso impróprio do computador
Sistemas Operacionais
Introdução
�Objetivos do Sistema Operacional
�Tornar mais conveniente a utilização de um 
computador
�“Esconder” detalhes internos de funcionamento
�Tornar mais eficiente a utilização de um 
computador
�Gerenciamento “justo” dos recursos do sistema
�Facilitar a evolução do sistema
�Desenvolvimento, teste e atualização de novas 
facilidades
Sistemas Operacionais
Introdução
�Sistema Operacional: Interface entre usuário / 
computador
Sistemas Operacionais
Introdução
�Serviços oferecidos pelo Sistema Operacional:
�Criação de programas (Editores, depuradores, 
compiladores)
�Execução de programas (Carga de programas em 
memória)
�Acesso a dispositivos de E/S
�Controle de acesso a arquivos
�Acesso a recursos de sistema (Proteção entre 
usuários)
�Contabilidade (Estatísticas, monitoramento de
desempenho, sinalizar upgrades
necessários de hardware)
Sistemas Operacionais
Introdução
�As diferentes imagens de um Sistema Operacional:
�Sistema operacional na visão do usuário:
�Imagem que o usuário tem do sistema
�Interface oferecida ao usuário para ter 
acesso a recursos do sistema:
�Chamadas de sistema
�Programas de sistema
�Sistema operacional na visão do projeto
�Mecanismos empregados para gerenciar 
recursos do sistema
Sistemas Operacionais
Introdução
�Chamadas de sistema:
�Forma que programas solicitam serviços ao 
sistema operacional:
� Análogo a sub-rotinas: transferem controle 
para o sistema operacional invés de transferir 
para outro ponto do programa;
�É o núcleo (kernel) do sistema operacional que 
implementa as chamadas de sistema:
�Existem chamadas de sistema associadas a 
gerência do processador, de memória, arquivos
e de E/S
Sistemas Operacionais
Introdução
�Programas de sistema:
�Programas executados fora do kernel (utilitários)
�Implementam tarefas básicas:
�Muitas vezes confundido com o próprio SO 
(por exemplo compiladores, assemblers e etc.)
�Interpretador de comandos (ativado sempre 
que o SO inicia uma seção de trabalho / interface 
gráfica de usuário)
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Primórdios (década de 40): Sistema operacional 
inexistente
�O programador também é o operador
�Existe uma planilha para alocação de horário 
da máquina
�O programador controla todo o equipamento
�O programa acessa diretamente os periféricos
�Programação feita em painéis
�Problema: diferença entre velocidade de 
processamento e codificação do programa
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Primórdios (década de 40): Sistema operacional 
inexistente
�Von Neumann propôs um computador com 
capacidade de armazenar instruções em uma 
memória
�Processo de programação mais rápido e 
flexível
�Conceito de “programa 
armazenado” – “Arquitetura
de Von Neumann”.
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistema em lote (batch):
�Um conjunto de programas era submetido ao 
computador de uma só vez
�Diminuía o tempo de espera entre a execução 
dos programas
�Permite o melhor aproveitamento do 
processador
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Monitor residente (década de 50): é um programa 
que fica permanentemente em memória.
�Função: automatizar a transição entre 
programas
�Funcionamento do monitor residente:
�Execução inicial
�Controle é transferido para o job (cartões 
controle)
�Quando um job termina o controle retorna ao 
monitor
�O monitor residente carrega o próximo 
programa
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Linguagens de Programação:
�Com o surgimento das primeiras linguagens 
(COBOL, FORTRAN) os programas deixaram de 
ter relação direta com o hardware
�O Monitor Residente incorpora rotinas de 
leitura/gravação
�Eliminou a necessidade dos programadores 
desenvolverem suas próprias rotinas –
“Independência de dispositivos”
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistema batch multiprogramado – multitarefa 
(década de 60)
�No monitor residente um programa é 
executado de cada vez
�Evolução:
�Manter diversos programas na memória ao 
mesmo tempo
�Enquanto um programa realiza E/S, outro pode 
ser executado
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistema batch multiprogramado – multitarefa 
(década de 60)
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistema batch multiprogramado – multitarefa 
(década de 60)
�Multiprogramação:
� Manter mais de um programa em 
“execução” simultaneamente
�O tempo do processador é dividido entre 
vários programas
�Os periféricos são melhor utilizados
�O processador fica menos tempo parado
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistema batch multiprogramado – multitarefa 
(década de 60)
�Multiprogramação:
� Duas inovações de hardware possibilitaram 
o surgimento da multiprogramação:
�Interrupções: sinalizações de eventos
�Aviso do periférico (início ou término)
�Discos magnéticos
�Acesso randômico a diferentes jobs no 
disco
�Melhor desempenho em acesso de E/S
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistemas Timesharing (década de 70):
�Tipo de multiprogramação onde cada usuário 
podia utilizar o processador por pequenos 
intervalos de tempo
�Cada usuário possui um terminal 
�Interação com o programa em execução
�Ilusão de possuir a máquina dedicada a 
execução de seu programa
� Divisão do tempo de processamento 
entre usuários
�Diminui o tempo de resposta
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistemas Timesharing (década de 70):
�Sistema Monousuário vs. Multiusuário
�Sistema monousuário - Projetados para 
serem usados por um único usuário
�Ex. MS-DOS, Windows 3.x, Windows9x, 
Millenium
�Sistema multiusuário - Projetados para 
suportar várias sessões de usuários em um 
computador
�Ex. Windows NT (2000), UNIX
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistemas Timesharing (década de 70):
�Sistema Monotarefa vs. Multitarefa
�Sistema monotarefa - Capazes de executar 
apenas uma tarefa de cada vez
�Ex. MS-DOS
�Sistema multitarefa – Projetados para 
suportar várias sessões de usuários em um 
computador. Existem dois tipos de sistemas 
multitarefas:
�Não preemptivos (cooperativo)
�Preemptivos
Sistemas Operacionais
Introdução
�Tipos de Sistemas Operacionais:
Sistemas OperacionaisSistemas 
Monoprogramáveis/
Monotarefa
Sistemas 
Multiprogramáveis/
Multitarefa
Sistemas com 
Múltiplos 
Processadores
Tipos de Sistemas 
Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistemas com Múltiplos Processadores:
�Possui duas ou mais UCPs interligadas e 
trabalhando em conjunto
�Permite a execução de vários programas ao 
mesmo tempo 
�Permite que um programa seja subdividido 
e executado em mais de um processador
�Apresenta os mesmos benefícios da 
multiprogramação:
�Escalabilidade, disponibilidade e 
balanceamento de carga
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistemas com Múltiplos Processadores :
�Sistemas fracamente acoplados (loosely 
coupled system):
�Máquinas independentes (cada máquina 
possui seu próprio sistema operacional)
�Sistemas computacionais conectados 
através de linhas de comunicação
�Cada sistema tem sua própria memória 
principal
Sistemas Operacionais
Introdução
�Histórico dos Sistemas Operacionais:
�Sistemas com Múltiplos Processadores:
�Sistemas fortemente acoplados (tightly coupled 
system)
�Processadores compartilham memória e 
relógio comuns
�Dispositivos de E/S gerenciados pelo 
mesmo Sistema Operacional
�Comunicação é realizada através de 
memória
Sistemas Operacionais
Introdução
�Tipos de Sistemas Operacionais:
Sistemas Operacionais
Sistemas 
Fortemente 
Acoplados
Sistemas 
Fracamente 
Acoplados
Sistemas com 
Múltiplos 
Processadores
Introdução
�Histórico dos Sistemas Operacionais:
�Sistemas Operacionais de tempo real:
�Empregado para o controle de procedimentos 
que devem responder dentro de um certo 
intervalo de tempo
�Ex. Experimentos científicos, tratamento de 
imagens médicas, controle de processos etc.
�Noção de tempo real é dependente da 
aplicação (milisegundos, minuto, horas etc)
Sistemas Operacionais
Introdução
�Tipos de Sistemas Operacionais:
Sistemas Operacionais
Sistemas Batch
Sistemas de Tempo 
Compartilhado
Sistemas de Tempo 
Real
Sistemas 
Multiprogramáveis/
Multitarefa
Próxima Aula
�Componentes de um Sistema Operacional
Sistemas Operacionais

Continue navegando