Escolar Documentos
Profissional Documentos
Cultura Documentos
•Pereira, F., Linux – Curso Completo, 3ª Edição, FCA – Editora de Informática, 2000
•Alcade, E./ Morera, J., Introdução aos Sistemas Operativos MS/DOS, UNIX/OS/2
PROGRAMA TEMÁTICO
◊ Gestão da concorrência
controlar diversos fluxos de actividade independentes que se executam “em
paralelo”.
◊ etc…
Objectivos
• Super computadores
• Mainframes
• Mini computadores
• Workstations
• PC’s (microcomputadores)
• Computadores de bolso
Evolução dos Sistemas Operativos
Sem Sistema Operativo (serial Processing ): UNIVAC, IBM 701, IBM 650
Multiprogramação: Multics
Tempo Partilhado
Memória Virtual: UNIX
Sistemas
Distribuídos
• Baixa produtividade
– era sempre necessário introduzir tudo à mão
Leitor de Cartões
Unidade Dados
Central de
Processamento Programa
Monitor
Memória
Impressora
O Monitor de Controlo
• Atribuição a cada utilizador de quotas de tempo de
utilização da máquina, dispondo da máquina como
um todo
• Permitia ao utilizador carregar os seus programas
em memória, editá-los e verificar a sua execução
• Execução das operações necessárias através de
comandos do monitor
• No final da sessão guardavam os programas e
resultados sob a forma de listagens, fitas de papel
perfuradas ou, nos sistemas mais evoluídos, em fita
magnética
• Rotinas de I/O reutilizáveis
O Monitor de Controlo - Composição
• Um monitor típico era composto por um conjunto de
rotinas utilitárias que facilitavam a interacção
(operação) com máquina:
• Interpretadores de uma linguagem de comando que
permite fazer executar os restantes módulos
– Tradutor de linguagem simbólica (Assembler )
– Editor de ligações (Linker )
– Carregador de programas em memória (Loader )
• Rotinas utilitárias para o controlo de periféricos:
consola; leitor de cartões; leitor/perfurador de fita de
papel; bandas magnéticas
Monitor de Controlo – Ineficiência
• Problemas:
• Os primeiros sistemas de
Multiprogramação não permitiam a
interacção com o utilizador
Sistemas de partilha de tempo - Computação Interactiva
Solução
• Objectivos
– Permitir a um utilizador isolado o acesso a um
sistema de computação
– Maximizar a conveniência de utilização
• Primeira geração
– Mono-utilizador
– Sem multitarefa
– Ex: MS-DOS
Sistemas de Secretária (Desktop )
• Geração 1.5
– Mono-utilizador
– Algumas capacidades de multitarefa, mas o
mecanismo de escalonamento ainda não
permite a execução concorrente
– Sem multitarefa
– Ex: Windows 3.0 e 3.1
Sistemas de Secretária (Desktop )
• Segunda Geração
– Multi-utilizador
– Sistema de ficheiros multi-utilizador
– Multi-tarefa
– Conexão à rede
– Exemplos
• Windows 95/NT/XP
• Linux
• MAC
• OS/2
Sistemas Multi-Processador
Desenvolvimento de PCs
partilhado!
• Hard-real time :
– Controlo industrial
– Sistemas automóveis
–Avionics
• Soft-real time :
– Sistemas multimédia
– Dispositivos de rede (router )
Sistemas de Bolso
• Características:
– Memória pequena
– Processador lento
– Ecrã pequeno
– Sistemas de I/O limitados
• Exemplos:
– PDAs
– Telemóveis
Tipos de Sistemas Operativos - Resumo
1. Sistemas de Tratamento em Lotes Rudimentares (Simple Batch
Operating Systems )
2. Sistemas Multiprogramados (Multiprogrammed Batch Operating
Systems )
3. Sistemas de tempo Partilhado (Timesharing Operating Systems )
4. Sistemas de Tempo Real (Real Time Operating Systems )
5. Sistemas Distribuídos (Distributed Operating Systems )
6. Sistemas Paralelos (Parallel Systems )
2
Sistemas Operativos: Processos & Threads
Estrutura de um Sistema Operativo
Componentes do Sistema
Gestão de Processos
Gestão da memória
Comunicação e Gestão do sistema I/O
Gestão de Ficheiros
Protecção do sistema
Controlo da distribuição
Sistema do Interpretador de comandos
Componentes do Sistema
Conceito básico ...
– Dividir para reinar(divide-and-conque r) - Modularização
Event
Occurs
Event
Wait
Blocked
Estados importantes:
1. Estado de execução (running)
• O Processo está nesse momento a ser executado pelo
CPU
2. Estado de pronto a executar (ready)
• Qualquer processo que possa retomar a sua execução
imediatamente
◊ Running Ready
◊ Ready Exit
· Tratamento de deadlock.
Criar Processos
Terminar Processos
Algumas razões para terminar um processo:
Tempo excedido
Falta de memória
Uso de instrução privilegiada
...
Programa
Sequência de acções, descritas numa determinada linguagem, sem actividade
própria
Aplicação
Conjunto de actividades cooperantes a decorrer em um ou mais processos
segundo as directivas de um ou mais programas
Executável (ficheiro)
Bloco de instruções máquina e dados resultantes da tradução (compilação) de um
programa
Espaço de endereçamento:
• Conjunto de posições de memória a que um programa executado num
processo pode aceder
• Região de memória onde está o código, os dados e a pilha (stack ) do
processo
Contexto de execução:
Valor dos registos do processador e de outras unidades de controlo
(memória, etc.) em cada instante
Arquitecturas dos sistemas operativos
1. Arquitectura monolítica
Todas as funções num único programa ou bloco de código
Ocupa muito espaço residente na memória (mais, à medida que o número de
funções aumenta)
Desenho antigo; pouco usado actualmente
Exemplo:
Layer 0: Alocação do processador e multiprogramação
Layer 1: Gestão de memória
Layer 2: Comunicação entre processos
Layer 3: Entrada/Saída
3. Arquitectura cliente-servidor
Arquitectura demicrokernel
A parte central do sistema operativo contém apenas as funções essenciais
Gestão do espaço de endereçamento dos processos
Comunicação entre processos (IPC)
Escalonamento
Multithreading
Possibilidade de divisão de um processo em vários fluxos de execução (threads )que
podem correr simultaneamente
Threads
Multiprocessamento simétrico
• Podem existir vários processadores no sistema de computação
• Os processadores partilham a memória e os módulos de E/S
• Todos os processadores podem efectuar qualquer tarefa