1 - Introdução
Prof. Ricardo Silva
S. Operativos e S. Distribuídos Prof. Ricardo Silva 2
Sumário
● Função dos Sistemas Operativos
● Critérios de Qualidade
● Evolução Histórica
● Classificação de Sistemas Operativos
S. Operativos e S. Distribuídos Prof. Ricardo Silva 3
1.1 – Função dos Sistemas Operativos
S. Operativos e S. Distribuídos Prof. Ricardo Silva 4
Função dos Sistemas Operativos
● A principal função de um sistema informático
consiste na execução de aplicações e tratamento de
dados.
● Uma aplicação é um conjunto de programas e de
dados (informação).
● Para que os programas executem são necessários
recursos de nível físico e lógico.
● Recursos físicos – processador, memória, discos,
periféricos (Hardware)
● Recursos lógicos – programas, ficheiros, bases de dados
(Software)
S. Operativos e S. Distribuídos Prof. Ricardo Silva 5
Função dos Sistemas Operativos
● O Sistema Operativo (SO) é um programa, ou
programas, responsável pela gestão de
recursos lógicos e físicos.
● É igualmente o responsável por criar uma
interface entre os recursos físicos (Hardware) e
as aplicações (Software).
S. Operativos e S. Distribuídos Prof. Ricardo Silva 6
1.1 – Função dos Sistemas Operativos
● Gestor de recursos
● processos
● memória virtual
● sistema de ficheiros
● periféricos
● utilizadores
● Interface
● Máquina virtual
S. Operativos e S. Distribuídos Prof. Ricardo Silva 7
1.1.1 – Gestão de Recursos
● 1.1.1.1 – Processos
● A principal função de um sistema informático
consiste em executar programas
● Um processo é um programa em execução
S. Operativos e S. Distribuídos Prof. Ricardo Silva 8
1.1.1 – Gestão de Recursos
● 1.1.1.2 – Memória Virtual
● Um processo necessita do seu espaço de
memória
● A memória principal (RAM) é escassa
● A memória secundária (discos rígidos) é mais
abundante
● O SO permite criar uma memória virtual que usa
a memória secundária como extensão do
espaço de endereçamento da memória principal
S. Operativos e S. Distribuídos Prof. Ricardo Silva 9
1.1.1 – Gestão de Recursos
● 1.1.1.3 – Sistema de ficheiros
● A memória secundária tem como função guardar
um conjunto de informação persistente
● A informação encontra-se organizada
hierarquicamente em ficheiros e pastas
● Um sistema de ficheiros, é uma forma de
guardar e organizar os ficheiros e pastas,
permitindo a sua pesquisa, leitura e gestão
S. Operativos e S. Distribuídos Prof. Ricardo Silva 10
1.1.1 – Gestão de Recursos
● Periféricos
● O computador interage com diversos periféricos
● O SO funciona como interface entre as aplicações
e os periféricos
● A comunicação entre os periféricos e o SO
depende dos device drivers
S. Operativos e S. Distribuídos Prof. Ricardo Silva 11
1.1.1 – Gestão de Recursos
● Utilizadores
● O SO mantém informação sobre os seus
utilizadores
– Controla acesso a recursos
– Controla acções
– Efectua contabilidade
S. Operativos e S. Distribuídos Prof. Ricardo Silva 12
1.1.1 – Gestão de Recursos
Objectos do Sistema Operativo
Processos
Espaços de Endereçamento Virtuais
Ficheiros
Periféricos Virtuais
Utilizadores
S. Operativos e S. Distribuídos Prof. Ricardo Silva 13
1.1.2 - Interface
● O SO é uma interface que virtualiza o
computador
● A interface é intuitiva para o utilizador e
permite-lhe efectuar diversas operações
● Existem 2 tipos de interfaces
● Interface operacional
● Interface de chamada do sistema
S. Operativos e S. Distribuídos Prof. Ricardo Silva 14
1.1.2 - Interface
● Interface operacional
● Permite realizar operações de controle sobre o
computador, SO e aplicações
● Pode ser de 2 tipos:
– CLI – Command line interface
● O utilizador digita comandos numa shell
– GUI – Graphical user interface
● O utilizador usa uma interface gráfica para executar as
operações de gestão
S. Operativos e S. Distribuídos Prof. Ricardo Silva 15
1.1.2 - Interface
● Interface de chamada do sistema ou system
calls
● É uma interface de programação, vulgarmente
chamada de API (Application programming interface)
● Usada pelas aplicações para interagir com os
objectos geridos pelo SO
● Cada SO tem a sua API própria
S. Operativos e S. Distribuídos Prof. Ricardo Silva 16
1.1.3 – Máquina Virtual
● O SO tem como função virtualizar o nível de
Hardware, homogeneizando o sistema
computacional para as aplicações
● O SO implementa então uma máquina
independente do Hardware
● Para a maioria das aplicações é irrelevante o
tipo de Hardware
● P ex: é indiferente usar um processador Intel ou
AMD
S. Operativos e S. Distribuídos Prof. Ricardo Silva 17
1.1.3 – Máquina Virtual
Hardware
Sistema Operativo
Aplicações Aplicações
Máquina Virtual
Máquina Física
S. Operativos e S. Distribuídos Prof. Ricardo Silva 18
1.2 – Critérios de Qualidade
S. Operativos e S. Distribuídos Prof. Ricardo Silva 19
1.2 - Critérios de Qualidade
● É natural que exista um conjunto de critérios
que possam avaliar o desempenho geral de um
SO
● São critérios que podem ajudar a escolher qual
o melhor SO para determinadas tarefas
S. Operativos e S. Distribuídos Prof. Ricardo Silva 20
1.2 – Critérios de Qualidade
● Desempenho
● O SO tem um impacto enorme no desempenho
das aplicações
● Deve explorar ao máximo os recursos
disponíveis
● Deve ocupar ao mínimo os recursos disponíveis
● Devem estabelecer bons compromissos entre
desempenho, modularidade, fiabilidade e
escalabilidade
S. Operativos e S. Distribuídos Prof. Ricardo Silva 21
1.2 – Critérios de Qualidade
● Segurança
● O SO deve garantir a segurança na utilização
dos recursos disponíveis
– Protecção de memória
– Protecção de acesso a ficheiros
– Definição de políticas de acesso
● O SO deve ter código robusto
– Menos código = menos erros
● Modularidade
– A ocorrência de um erro não deve afectar o
desempenho de outras aplicações ou do SO
S. Operativos e S. Distribuídos Prof. Ricardo Silva 22
1.2 – Critérios de Qualidade
● Fiabilidade
● Mede a probabilidade de, num dado espaço de
tempo, não existir nenhuma paragem do sistema
● Exemplo:
robôs em Marte. O que aconteceria se o SO destes
robôs falhasse 1 vez por mês?
S. Operativos e S. Distribuídos Prof. Ricardo Silva 23
1.2 – Critérios de Qualidade
● Disponibilidade
● É a probabilidade de o sistema estar operacional
num dado instante
● Especialmente crítico em servidores
S. Operativos e S. Distribuídos Prof. Ricardo Silva 24
1.3 – Evolução Histórica
● Dois motivos estiveram na origem dos SO's.
São cruciais para compreender as suas
funções:
● Transformar o Hardware numa máquina simples de
usar
● Obter o máximo rendimento do Hardware
S. Operativos e S. Distribuídos Prof. Ricardo Silva 25
1.3 – Evolução Histórica
S. Operativos e S. Distribuídos Prof. Ricardo Silva 26
1.3 – Evolução Histórica
S. Operativos e S. Distribuídos Prof. Ricardo Silva 27
I – Open Shop
 I - Open Shop
 Primeiro computador da IBM (IBM 701)
 O programador reservava tempo de computador
 O programador configurava o computador consoante
as necessidades do seu programa
 O programador inseria o input e iniciava a execução do
seu programa; esperava pelos resultados
 Muito tempo desperdiçado na preparação do sistema
 Tempo de processamento desperdiçado
 Foram fabricados 15 computadores
S. Operativos e S. Distribuídos Prof. Ricardo Silva 28
S. Operativos e S. Distribuídos Prof. Ricardo Silva 29
II - Batch processing
 Menor desperdício de tempo
 Operadores recebiam os programas (cartões perfurados) e, utilizavam
um computador satélite para inserir os programas numa fita magnética.
 Os trabalhos eram executados pela ordem de escrita na fita magnética.
 O output era escrito noutra fita magnética.
 Um computador satélite imprimia os resultados.
 Sistema first-come, first-served
 Demorava horas ou dias para receber resultados
 Por vezes o programador estava dois dias à espera para ver que se tinha
esquecido de um ;
S. Operativos e S. Distribuídos Prof. Ricardo Silva 30
IBM 709 (consola de operação)
S. Operativos e S. Distribuídos Prof. Ricardo Silva 31
S. Operativos e S. Distribuídos Prof. Ricardo Silva 32
III - Multiprogramação
 Criava a ilusão que vários programas
executavam em simultâneo.
 Os interrupts permitiram ao computador simular
a execução concorrente de programas.
 As chamadas de I/O de um processo eram
aproveitadas para executar outros processos.
 Esta nova fase só foi possível devido ao
aparecimento de memórias core e memórias
drum (armazenamento secundário).
S. Operativos e S. Distribuídos Prof. Ricardo Silva 33
Memória core de 2KB
Memória drum
S. Operativos e S. Distribuídos Prof. Ricardo Silva 34
Multiprogramação
 Quando um processo espera por uma
operação de I/O, o processador pode executar
outro programa
S. Operativos e S. Distribuídos Prof. Ricardo Silva 35
Multiprogramação
S. Operativos e S. Distribuídos Prof. Ricardo Silva 36
Efeitos da Multiprogramação
Uniprogramação Multiprogramação
Processador 22% 43%
Memória 30% 67%
Disco 33% 67%
Impressora 33% 67%
Tempo decorrido 30 min. 15 min.
Trabalho 6 jobs/hr 12 jobs/hr
Tempo resposta 18 min. 10 min.
S. Operativos e S. Distribuídos Prof. Ricardo Silva 37
IV - Time sharing
 O computador interage com vários utilizadores
simultâneamente.
 Cada utilizador opera um terminal, tem a ilusão que o
computador é só seu.
 O tempo de processador é partilhado entre vários
utilizadores
 A memória primária tinha de ser grande pois havia uma
contínua troca de processos em execução.
 Uma memória secundária mantinha os ficheiros dos
utilizadores (evitava o uso de fitas magnéticas ou cartões
perfurados)
S. Operativos e S. Distribuídos Prof. Ricardo Silva 38
Multiprogramação vs Time Sharing
Comandos inseridos num
terminal
Comandos de uma linguagem de
controlo fornecida com o
processo
Origem das directivas
para o SO
Minimizar tempo resposta
Maximizar uso processador
Principal objectivo
Time Sharing
Multiprogramação
S. Operativos e S. Distribuídos Prof. Ricardo Silva 39
PDP 11 a correr SO UNIX com time sharing
PDP 11 a correr SO UNIX com time sharing
S. Operativos e S. Distribuídos Prof. Ricardo Silva 40
V - Programação Concorrente
 O SO foi dividido em vários níveis de abstracção.
 Existiam vários processos em execução, cada qual
com a sua tarefa.
 Processos de utilizador
 Processos de I/O
 Processos de controlo
 Existência de mecanismos de sincronização e
comunicação entre processos.
 Primeira noção de Kernel
S. Operativos e S. Distribuídos Prof. Ricardo Silva 41
VI - Computação pessoal
 "There is no reason anyone would want a computer in their home."
 --Ken Olson, President, Chairman and founder of Digital Equipment
Corp., 1977
Alto Xerox Parc
Alto Xerox Parc
S. Operativos e S. Distribuídos Prof. Ricardo Silva 42
VII - Sistemas Distribuídos
 Generalizam-se as redes de computadores
 Primeiros servidores de ficheiros
 Sem segurança
 Sem estruturas de pastas
 UNIX RPC (Remote procedure calls)
 Modelo cliente-servidor
S. Operativos e S. Distribuídos Prof. Ricardo Silva 43
1.3 – Evolução Histórica
S. Operativos e S. Distribuídos Prof. Ricardo Silva 44
Evolução Histórica
● Os motivos históricos que estiveram na origem
do desenvolvimento dos sistemas operativos
foram:
● Transformar o Hardware num sistema simples de
utilizar
● Obter o máximo rendimento do Hardware,
utilizando o mais eficazmente possível a
capacidade de processamento de um computador.
S. Operativos e S. Distribuídos Prof. Ricardo Silva 45
1.3 – Evolução Histórica
Maiores realizações:
 Monitor de controlo
 Tratamento em lotes (batch)
 Multiprogramação
 Sistemas interactivos
 Memória virtual
 Sistemas distribuídos
S. Operativos e S. Distribuídos Prof. Ricardo Silva 46
S. Operativos e S. Distribuídos Prof. Ricardo Silva 47
Monitor de controlo
● Os primeiros computadores não possuíam SO
● A prioridade estava centrada no desenvolvimento do
Hardware
● Quando o Hardware se tornou suficientemente fiável,
começaram a analisar a forma de rentabilizar o
dispendioso Hardware
● A prioridade agora era desenvolver um programa que
facilitasse a realização de algumas tarefas, tais como:
carregar programas na memória; editar programas;
verificar a execução de programas. Estes programas
eram chamados de monitores de controlo
S. Operativos e S. Distribuídos Prof. Ricardo Silva 48
Monitor de controlo
● Um monitor de controlo era composto por um
interpretador de comandos e um conjunto de
outros programas que facilitavam a interação
com o Hardware:
● Interpretador de comandos
● Assembler (traduz linguagem assembly para
linguagem máquina)
● Linker (editor de ligações)
● Loader (carregador de programas em memória)
● Biblioteca de rotinas (para controlo de periféricos)
S. Operativos e S. Distribuídos Prof. Ricardo Silva 49
S. Operativos e S. Distribuídos Prof. Ricardo Silva 50
Tratamento em lotes (Batch)
● Atribuir um computador para apenas um utilizador durante um período de
tempo era muito pouco rentável.
● Uma solução consistia na gravação de uma tape com muitos programas
que seriam executados em modo sequencial.
● Esta solução levou ao surgir de muitos melhoramentos nos periféricos de
I/O, bem como, no desenvolvimento de uma linguagem de controlo que
preparasse o computador para o próximo programa na fila de execução.
● Existia igualmente o problema de decidir quais os programas que seriam
executados em primeiro lugar e quais os que ficariam para último,
definindo-se políticas de gestão de processos, designado por
escalonamento.
S. Operativos e S. Distribuídos Prof. Ricardo Silva 51
S. Operativos e S. Distribuídos Prof. Ricardo Silva 52
Multiprogramação
● A utilização de mecanismos de interrupções, permitem
multiplexar o processador por diversos programas que
executam de uma forma concorrente.
● A execução concorrente maximiza a execução do
processador, pois, enquanto existirem programas à espera de
serem executados, o processador está sempre ocupado.
● A multiprogramação só é eficaz se os programas concorrentes
residirem na memória, contudo, esta é limitada.
● Este problema levou ao surgir de um sistema de hierarquia de
memória.
S. Operativos e S. Distribuídos Prof. Ricardo Silva 53
S. Operativos e S. Distribuídos Prof. Ricardo Silva 54
Sistemas interactivos
● Os sistemas interactivos permitiram ao utilizador do computador ter
a percepção que o computador estava a trabalhar só para ele.
● A partilha do tempo de processador por diversos utilizadores obriga
que cada programa execute durante um pequeno período de
tempo, findo o qual, terá de dar a vez a outro programa.
● A utilização simultânea de um computador por vários utilizadores
só foi possível graças à utilização dos CRT's.
● Este tipo de conceito levantou muitos problemas, tais como:
interface com o sistema de ficheiros, protecção contra acessos
indevidos; quotas de utilização de disco, etc.
S. Operativos e S. Distribuídos Prof. Ricardo Silva 55
S. Operativos e S. Distribuídos Prof. Ricardo Silva 56
Memória virtual
● A execução de vários programas concorrentes é um sério problema quando a
memória primária de um computador é limitada. No limite, a sua capacidade pode
esgotar-se e inviabilizar a execução dos programas.
● A solução consistiu em criar um sistema hierárquico de memórias, em que, só
estariam presentes na memória primária o programa em execução e os programas
que estariam prestes a executar. Os restantes seriam transferidos para memórias
secundárias onde esperariam que chegasse a sua vez de executar. Quando esse
momento estivesse prestes a acontecer, seriam novamente transferidos para a
memória primária.
● Este tipo de solução permite que, num dado momento, estejam mais programas em
execução do que a capacidade da memória principal, ou seja, o tamanho total dos
programas em execução, é maior que a capacidade da memória primária. Criamos
assim um sistema de memória virtual.
S. Operativos e S. Distribuídos Prof. Ricardo Silva 57
S. Operativos e S. Distribuídos Prof. Ricardo Silva 58
Computadores pessoais
● O desenvolvimento das técnicas de produção em
série e redução constante do tamanho dos
componentes diminuiu os custos de produção e o
tamanho dos computadores.
● A utilização do computador pessoal por indivíduos
sem experiência, originou ao desenvolvimento de
interfaces que tentavam simplificar a utilização do
computador.
● As interfaces gráficas actuais são o resultado da
maximização da simplificação da interacção do
utilizador com o computador.
S. Operativos e S. Distribuídos Prof. Ricardo Silva 59
Sistemas distribuídos
● O aparecimento das redes informáticas originou
ao desenvolvimento de novas aplicações que
tirassem partido desta nova forma de meio de
comunicação.
● Serviços considerados hoje como
imprescindíveis, eram à pouco menos de 20
anos completamente impensáveis: email, www,
chat, voip, iptv, homebanking, compras online,
etc.
S. Operativos e S. Distribuídos Prof. Ricardo Silva 60
1.4 – Classificação de Sistemas Operativos
S. Operativos e S. Distribuídos Prof. Ricardo Silva 61
1.4 – Classificações de Sistemas Operativos
● 1.4.1 – Sistemas de tempo virtual e tempo real
● Tempo virtual
– O tempo de execução dos programas não tem
relação com o tempo exterior à máquina
– Windows, Unix, Linux, Mac OS, etc
● Tempo real
– O SO tem de garantir uma resposta a um
acontecimento externo num período de tempo pré-
estabelecido
– Consolas de jogos, centralinas automóveis, etc
S. Operativos e S. Distribuídos Prof. Ricardo Silva 62
Quota mercado SO's
(dados relativos a acessos web)
S. Operativos e S. Distribuídos Prof. Ricardo Silva 63
S. Operativos e S. Distribuídos Prof. Ricardo Silva 64
1.4.2 – Sistemas Embebidos
● Os SO's são programas de dimensão muito grande, que
consomem muitos recursos
● Existem dispositivos que requerem SO's minimalistas pois
a capacidade de processamento e a memória disponível é
diminuta
● Estes SO's minimalistas chamam-se sistemas embebidos
● Presentes em Telemóveis, activos de rede, equipamentos de
som, fotografia, automóveis, máquinas de lavar e muitos
outros dispositivos que incorporam microprocessadores
S. Operativos e S. Distribuídos Prof. Ricardo Silva 65
1.4.3 – Sistemas Proprietários e Sistemas Abertos
● Sistemas proprietários (década 70)
● O fabricante de hardware fornecia igualmente o
software para o seu produto; o software dependia
do hardware
– IBM, DEC, Bull, Unisys, ControlData
● Sistemas abertos (década 80)
● O software é independente do hardware, logo, é
portável (Unix foi o primeiro)
● Começaram a aparecer empresas de
desenvolvimento exclusivo de software: Microsoft

1 introdução - sistemas operativos

  • 1.
  • 2.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 2 Sumário ● Função dos Sistemas Operativos ● Critérios de Qualidade ● Evolução Histórica ● Classificação de Sistemas Operativos
  • 3.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 3 1.1 – Função dos Sistemas Operativos
  • 4.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 4 Função dos Sistemas Operativos ● A principal função de um sistema informático consiste na execução de aplicações e tratamento de dados. ● Uma aplicação é um conjunto de programas e de dados (informação). ● Para que os programas executem são necessários recursos de nível físico e lógico. ● Recursos físicos – processador, memória, discos, periféricos (Hardware) ● Recursos lógicos – programas, ficheiros, bases de dados (Software)
  • 5.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 5 Função dos Sistemas Operativos ● O Sistema Operativo (SO) é um programa, ou programas, responsável pela gestão de recursos lógicos e físicos. ● É igualmente o responsável por criar uma interface entre os recursos físicos (Hardware) e as aplicações (Software).
  • 6.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 6 1.1 – Função dos Sistemas Operativos ● Gestor de recursos ● processos ● memória virtual ● sistema de ficheiros ● periféricos ● utilizadores ● Interface ● Máquina virtual
  • 7.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 7 1.1.1 – Gestão de Recursos ● 1.1.1.1 – Processos ● A principal função de um sistema informático consiste em executar programas ● Um processo é um programa em execução
  • 8.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 8 1.1.1 – Gestão de Recursos ● 1.1.1.2 – Memória Virtual ● Um processo necessita do seu espaço de memória ● A memória principal (RAM) é escassa ● A memória secundária (discos rígidos) é mais abundante ● O SO permite criar uma memória virtual que usa a memória secundária como extensão do espaço de endereçamento da memória principal
  • 9.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 9 1.1.1 – Gestão de Recursos ● 1.1.1.3 – Sistema de ficheiros ● A memória secundária tem como função guardar um conjunto de informação persistente ● A informação encontra-se organizada hierarquicamente em ficheiros e pastas ● Um sistema de ficheiros, é uma forma de guardar e organizar os ficheiros e pastas, permitindo a sua pesquisa, leitura e gestão
  • 10.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 10 1.1.1 – Gestão de Recursos ● Periféricos ● O computador interage com diversos periféricos ● O SO funciona como interface entre as aplicações e os periféricos ● A comunicação entre os periféricos e o SO depende dos device drivers
  • 11.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 11 1.1.1 – Gestão de Recursos ● Utilizadores ● O SO mantém informação sobre os seus utilizadores – Controla acesso a recursos – Controla acções – Efectua contabilidade
  • 12.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 12 1.1.1 – Gestão de Recursos Objectos do Sistema Operativo Processos Espaços de Endereçamento Virtuais Ficheiros Periféricos Virtuais Utilizadores
  • 13.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 13 1.1.2 - Interface ● O SO é uma interface que virtualiza o computador ● A interface é intuitiva para o utilizador e permite-lhe efectuar diversas operações ● Existem 2 tipos de interfaces ● Interface operacional ● Interface de chamada do sistema
  • 14.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 14 1.1.2 - Interface ● Interface operacional ● Permite realizar operações de controle sobre o computador, SO e aplicações ● Pode ser de 2 tipos: – CLI – Command line interface ● O utilizador digita comandos numa shell – GUI – Graphical user interface ● O utilizador usa uma interface gráfica para executar as operações de gestão
  • 15.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 15 1.1.2 - Interface ● Interface de chamada do sistema ou system calls ● É uma interface de programação, vulgarmente chamada de API (Application programming interface) ● Usada pelas aplicações para interagir com os objectos geridos pelo SO ● Cada SO tem a sua API própria
  • 16.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 16 1.1.3 – Máquina Virtual ● O SO tem como função virtualizar o nível de Hardware, homogeneizando o sistema computacional para as aplicações ● O SO implementa então uma máquina independente do Hardware ● Para a maioria das aplicações é irrelevante o tipo de Hardware ● P ex: é indiferente usar um processador Intel ou AMD
  • 17.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 17 1.1.3 – Máquina Virtual Hardware Sistema Operativo Aplicações Aplicações Máquina Virtual Máquina Física
  • 18.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 18 1.2 – Critérios de Qualidade
  • 19.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 19 1.2 - Critérios de Qualidade ● É natural que exista um conjunto de critérios que possam avaliar o desempenho geral de um SO ● São critérios que podem ajudar a escolher qual o melhor SO para determinadas tarefas
  • 20.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 20 1.2 – Critérios de Qualidade ● Desempenho ● O SO tem um impacto enorme no desempenho das aplicações ● Deve explorar ao máximo os recursos disponíveis ● Deve ocupar ao mínimo os recursos disponíveis ● Devem estabelecer bons compromissos entre desempenho, modularidade, fiabilidade e escalabilidade
  • 21.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 21 1.2 – Critérios de Qualidade ● Segurança ● O SO deve garantir a segurança na utilização dos recursos disponíveis – Protecção de memória – Protecção de acesso a ficheiros – Definição de políticas de acesso ● O SO deve ter código robusto – Menos código = menos erros ● Modularidade – A ocorrência de um erro não deve afectar o desempenho de outras aplicações ou do SO
  • 22.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 22 1.2 – Critérios de Qualidade ● Fiabilidade ● Mede a probabilidade de, num dado espaço de tempo, não existir nenhuma paragem do sistema ● Exemplo: robôs em Marte. O que aconteceria se o SO destes robôs falhasse 1 vez por mês?
  • 23.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 23 1.2 – Critérios de Qualidade ● Disponibilidade ● É a probabilidade de o sistema estar operacional num dado instante ● Especialmente crítico em servidores
  • 24.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 24 1.3 – Evolução Histórica ● Dois motivos estiveram na origem dos SO's. São cruciais para compreender as suas funções: ● Transformar o Hardware numa máquina simples de usar ● Obter o máximo rendimento do Hardware
  • 25.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 25 1.3 – Evolução Histórica
  • 26.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 26 1.3 – Evolução Histórica
  • 27.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 27 I – Open Shop  I - Open Shop  Primeiro computador da IBM (IBM 701)  O programador reservava tempo de computador  O programador configurava o computador consoante as necessidades do seu programa  O programador inseria o input e iniciava a execução do seu programa; esperava pelos resultados  Muito tempo desperdiçado na preparação do sistema  Tempo de processamento desperdiçado  Foram fabricados 15 computadores
  • 28.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 28
  • 29.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 29 II - Batch processing  Menor desperdício de tempo  Operadores recebiam os programas (cartões perfurados) e, utilizavam um computador satélite para inserir os programas numa fita magnética.  Os trabalhos eram executados pela ordem de escrita na fita magnética.  O output era escrito noutra fita magnética.  Um computador satélite imprimia os resultados.  Sistema first-come, first-served  Demorava horas ou dias para receber resultados  Por vezes o programador estava dois dias à espera para ver que se tinha esquecido de um ;
  • 30.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 30 IBM 709 (consola de operação)
  • 31.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 31
  • 32.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 32 III - Multiprogramação  Criava a ilusão que vários programas executavam em simultâneo.  Os interrupts permitiram ao computador simular a execução concorrente de programas.  As chamadas de I/O de um processo eram aproveitadas para executar outros processos.  Esta nova fase só foi possível devido ao aparecimento de memórias core e memórias drum (armazenamento secundário).
  • 33.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 33 Memória core de 2KB Memória drum
  • 34.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 34 Multiprogramação  Quando um processo espera por uma operação de I/O, o processador pode executar outro programa
  • 35.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 35 Multiprogramação
  • 36.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 36 Efeitos da Multiprogramação Uniprogramação Multiprogramação Processador 22% 43% Memória 30% 67% Disco 33% 67% Impressora 33% 67% Tempo decorrido 30 min. 15 min. Trabalho 6 jobs/hr 12 jobs/hr Tempo resposta 18 min. 10 min.
  • 37.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 37 IV - Time sharing  O computador interage com vários utilizadores simultâneamente.  Cada utilizador opera um terminal, tem a ilusão que o computador é só seu.  O tempo de processador é partilhado entre vários utilizadores  A memória primária tinha de ser grande pois havia uma contínua troca de processos em execução.  Uma memória secundária mantinha os ficheiros dos utilizadores (evitava o uso de fitas magnéticas ou cartões perfurados)
  • 38.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 38 Multiprogramação vs Time Sharing Comandos inseridos num terminal Comandos de uma linguagem de controlo fornecida com o processo Origem das directivas para o SO Minimizar tempo resposta Maximizar uso processador Principal objectivo Time Sharing Multiprogramação
  • 39.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 39 PDP 11 a correr SO UNIX com time sharing PDP 11 a correr SO UNIX com time sharing
  • 40.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 40 V - Programação Concorrente  O SO foi dividido em vários níveis de abstracção.  Existiam vários processos em execução, cada qual com a sua tarefa.  Processos de utilizador  Processos de I/O  Processos de controlo  Existência de mecanismos de sincronização e comunicação entre processos.  Primeira noção de Kernel
  • 41.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 41 VI - Computação pessoal  "There is no reason anyone would want a computer in their home."  --Ken Olson, President, Chairman and founder of Digital Equipment Corp., 1977 Alto Xerox Parc Alto Xerox Parc
  • 42.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 42 VII - Sistemas Distribuídos  Generalizam-se as redes de computadores  Primeiros servidores de ficheiros  Sem segurança  Sem estruturas de pastas  UNIX RPC (Remote procedure calls)  Modelo cliente-servidor
  • 43.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 43 1.3 – Evolução Histórica
  • 44.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 44 Evolução Histórica ● Os motivos históricos que estiveram na origem do desenvolvimento dos sistemas operativos foram: ● Transformar o Hardware num sistema simples de utilizar ● Obter o máximo rendimento do Hardware, utilizando o mais eficazmente possível a capacidade de processamento de um computador.
  • 45.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 45 1.3 – Evolução Histórica Maiores realizações:  Monitor de controlo  Tratamento em lotes (batch)  Multiprogramação  Sistemas interactivos  Memória virtual  Sistemas distribuídos
  • 46.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 46
  • 47.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 47 Monitor de controlo ● Os primeiros computadores não possuíam SO ● A prioridade estava centrada no desenvolvimento do Hardware ● Quando o Hardware se tornou suficientemente fiável, começaram a analisar a forma de rentabilizar o dispendioso Hardware ● A prioridade agora era desenvolver um programa que facilitasse a realização de algumas tarefas, tais como: carregar programas na memória; editar programas; verificar a execução de programas. Estes programas eram chamados de monitores de controlo
  • 48.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 48 Monitor de controlo ● Um monitor de controlo era composto por um interpretador de comandos e um conjunto de outros programas que facilitavam a interação com o Hardware: ● Interpretador de comandos ● Assembler (traduz linguagem assembly para linguagem máquina) ● Linker (editor de ligações) ● Loader (carregador de programas em memória) ● Biblioteca de rotinas (para controlo de periféricos)
  • 49.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 49
  • 50.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 50 Tratamento em lotes (Batch) ● Atribuir um computador para apenas um utilizador durante um período de tempo era muito pouco rentável. ● Uma solução consistia na gravação de uma tape com muitos programas que seriam executados em modo sequencial. ● Esta solução levou ao surgir de muitos melhoramentos nos periféricos de I/O, bem como, no desenvolvimento de uma linguagem de controlo que preparasse o computador para o próximo programa na fila de execução. ● Existia igualmente o problema de decidir quais os programas que seriam executados em primeiro lugar e quais os que ficariam para último, definindo-se políticas de gestão de processos, designado por escalonamento.
  • 51.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 51
  • 52.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 52 Multiprogramação ● A utilização de mecanismos de interrupções, permitem multiplexar o processador por diversos programas que executam de uma forma concorrente. ● A execução concorrente maximiza a execução do processador, pois, enquanto existirem programas à espera de serem executados, o processador está sempre ocupado. ● A multiprogramação só é eficaz se os programas concorrentes residirem na memória, contudo, esta é limitada. ● Este problema levou ao surgir de um sistema de hierarquia de memória.
  • 53.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 53
  • 54.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 54 Sistemas interactivos ● Os sistemas interactivos permitiram ao utilizador do computador ter a percepção que o computador estava a trabalhar só para ele. ● A partilha do tempo de processador por diversos utilizadores obriga que cada programa execute durante um pequeno período de tempo, findo o qual, terá de dar a vez a outro programa. ● A utilização simultânea de um computador por vários utilizadores só foi possível graças à utilização dos CRT's. ● Este tipo de conceito levantou muitos problemas, tais como: interface com o sistema de ficheiros, protecção contra acessos indevidos; quotas de utilização de disco, etc.
  • 55.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 55
  • 56.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 56 Memória virtual ● A execução de vários programas concorrentes é um sério problema quando a memória primária de um computador é limitada. No limite, a sua capacidade pode esgotar-se e inviabilizar a execução dos programas. ● A solução consistiu em criar um sistema hierárquico de memórias, em que, só estariam presentes na memória primária o programa em execução e os programas que estariam prestes a executar. Os restantes seriam transferidos para memórias secundárias onde esperariam que chegasse a sua vez de executar. Quando esse momento estivesse prestes a acontecer, seriam novamente transferidos para a memória primária. ● Este tipo de solução permite que, num dado momento, estejam mais programas em execução do que a capacidade da memória principal, ou seja, o tamanho total dos programas em execução, é maior que a capacidade da memória primária. Criamos assim um sistema de memória virtual.
  • 57.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 57
  • 58.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 58 Computadores pessoais ● O desenvolvimento das técnicas de produção em série e redução constante do tamanho dos componentes diminuiu os custos de produção e o tamanho dos computadores. ● A utilização do computador pessoal por indivíduos sem experiência, originou ao desenvolvimento de interfaces que tentavam simplificar a utilização do computador. ● As interfaces gráficas actuais são o resultado da maximização da simplificação da interacção do utilizador com o computador.
  • 59.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 59 Sistemas distribuídos ● O aparecimento das redes informáticas originou ao desenvolvimento de novas aplicações que tirassem partido desta nova forma de meio de comunicação. ● Serviços considerados hoje como imprescindíveis, eram à pouco menos de 20 anos completamente impensáveis: email, www, chat, voip, iptv, homebanking, compras online, etc.
  • 60.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 60 1.4 – Classificação de Sistemas Operativos
  • 61.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 61 1.4 – Classificações de Sistemas Operativos ● 1.4.1 – Sistemas de tempo virtual e tempo real ● Tempo virtual – O tempo de execução dos programas não tem relação com o tempo exterior à máquina – Windows, Unix, Linux, Mac OS, etc ● Tempo real – O SO tem de garantir uma resposta a um acontecimento externo num período de tempo pré- estabelecido – Consolas de jogos, centralinas automóveis, etc
  • 62.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 62 Quota mercado SO's (dados relativos a acessos web)
  • 63.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 63
  • 64.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 64 1.4.2 – Sistemas Embebidos ● Os SO's são programas de dimensão muito grande, que consomem muitos recursos ● Existem dispositivos que requerem SO's minimalistas pois a capacidade de processamento e a memória disponível é diminuta ● Estes SO's minimalistas chamam-se sistemas embebidos ● Presentes em Telemóveis, activos de rede, equipamentos de som, fotografia, automóveis, máquinas de lavar e muitos outros dispositivos que incorporam microprocessadores
  • 65.
    S. Operativos eS. Distribuídos Prof. Ricardo Silva 65 1.4.3 – Sistemas Proprietários e Sistemas Abertos ● Sistemas proprietários (década 70) ● O fabricante de hardware fornecia igualmente o software para o seu produto; o software dependia do hardware – IBM, DEC, Bull, Unisys, ControlData ● Sistemas abertos (década 80) ● O software é independente do hardware, logo, é portável (Unix foi o primeiro) ● Começaram a aparecer empresas de desenvolvimento exclusivo de software: Microsoft