Escolar Documentos
Profissional Documentos
Cultura Documentos
SOFTWARE
• Software de SISTEMA
• Software de APLICAÇÃO
SOFTWARE de APLICAÇÃO
Aplicações Utilizador
Sistema Operativo
UTILIZADOR
APLICAÇÕES
INTERFACE
SISTEMA (Shell de comandos)
OPERATIVO NÚCLEO
(Kernel)
Hardware
Funções do Sistema Operativo
• Processador e Processos
– Um processo é basicamente um programa em execução
– Num sistema multi-programado, vários processos
podem estar a correr simultaneamente
– Contudo, quando existe um só processador, apenas um
processo pode utilizá-lo em cada instante
– Os processos concorrem pelo processador e cooperam
entre si para realizar tarefas mais complexas
Conceitos de processador e processo
• Processador e Processos
– Processador (CPU)
• Elemento activo do sistema que executa processos
– Modo utilizador (User Mode)
• Disponível um subconjunto das instruções do CPU. É
neste modo que correm as aplicações
– Modo núcleo (Kernel Mode)
• Modo privilegiado do processador, para o qual todas as
instruções estão disponíveis.
Só o Sistema Operativo é que tem acesso a este modo
17
Conceitos associados
• Memória e Gestão de memória
– Divisão estruturada da memória de modo a ser possível o
carregamento de diversos programas na memória principal
• Colocação e Protecção
– Existência de mecanismos que permitam o crescimento da
memória de dados de um programa
• Reserva de memória
– Gestão do espaço de endereçamento de modo a que se
possa ter uma capacidade de memória superior à da
memória principal (a RAM)
• Memória Virtual
Conceitos associados
– Hierarquia da memória
Registos
Cache
Maior Maior
Memória principal
rapidez capacidade
Discos
Tapes
Conceitos associados
Sistemas mono-programados e multi-programados
Memória principal Memória principal
Programa Programa 1
Dados 1
Dados
Programa 2
Dados 2
Sistema Sistema
Operativo Operativo
Sistema Sistema
Mono-programado Multi-programado
Conceitos associados
Sistemas de ficheiros
– Gestão da informação não-volátil armazenada
em memória secundária (discos, tapes)
– Providenciar um nível de abstracção para que
o utilizador não se preocupe com os detalhes
da utilização de discos, disquetes, etc.
– Chamadas ao sistema:
• Criação, remoção, cópia, escrita e leitura de
ficheiros
Conceitos associados
– Estrutura hierárquica (em árvore) - directórios
directório raíz
(root)
Trabalhos Jogos
AC SO Quake Half-Life
Classificação
Classificação de SOs
• Multi-utilizador
– O tempo de processamento do CPU de um
computador pode ser partilhado por mais do que
um utilizador de forma interactiva.
• Unix, Linux
• Mono-utilizador
– O CPU só pode estar dedicado de forma interactiva
a um conjunto de processos do mesmo utilizador
• MS-DOS, todos os Windows
Classificação de SOs
• Multi-programação
– Capacidade de correr vários programas
simultaneamente (em concorrência)
• Unix, Linux, todos os Windows
• Mono-programação / Processamento por lotes
– Cada programa monopoliza o processador até
terminar
• Spectrum
• DOS
Classificação de SOs
• Dedicado
– Sistema Operativo projectado para aplicações específicas
– Exemplos:
• Controlo de uma linha de montagem - SOs em tempo real
• Gestão de transacções numa companhia aérea - SOs para
Mainframes
• Interface para um telemóvel – SO embedded
• Uso geral
– Projectados para uma fácil utilização
– Permitem a execução de uma grande variedade de programas
– Reconhecem uma grande diversidade de periféricos
Classificação de SOs
• Centralizado
– O Sistema Operativo cria uma máquina virtual sobre
um único computador
• Distribuído
– O Sistema Operativo que corre sobre um conjunto de
computadores, dando a ilusão de que este conjunto
é uma entidade única
• Sistemas distribuídos puros
• Sistemas em rede
• Sistemas multi-processador
Arquitectura
• Quando se desenvolve um sistema operativo, são
obrigatoriamente observados pelo menos dois tipos de
requisitos:
– REQUISITOS DE UTILIZADOR
Procura-se um sistema fácil de utilizar, com uma aprendizagem fácil,
rápido e suficientemente dinâmico para se adaptar às tarefas a que se
destina.
– REQUISITOS DE SOFTWARE
Procura-se facilidade de manutenção, forma de funcionamento,
restrições de utilização, eficiência, tolerância ou intolerância a erros e
flexibilidade.
Arquitectura
• Para além dos requisitos a observar, também a sua estrutura
varia, sendo as estruturas mais comuns:
– Estrutura MONOLÍTICA
– Estrutura MODULAR
Arquitectura
• Estrutura MONOLÍTICA
É o tipo de estrutura que caracterizava os primeiros
sistemas operativos, composto por um único programa
e sub-rotinas. As suas características são:
– Programa Final resultado da Linkagem de módulos
compilados separadamente
– Boa definição de parâmetros de ligação entre rotinas o que
permite índices maiores de acoplamento.
– Precisam de protecções e previlégios de execução das rotinas
de manipulação de recursos de sistema
– Geralmente são sistemas desenvolvidos à medida, o que
resulta numa elevada eficiência mas baixa flexibilidade.
Arquitectura
• Estrutura MONOLÍTICA Nível de Procedimento
Principal
Nível de Procedimento de
Serviços
Nível de Procedimento de
Utilidades e Utilitários
Modelos de Sistemas Operativos
• Monolítico
– O exemplo mais comum de sistema operativo, no qual
aparentemente não existe estrutura...
– Qualquer função do sistema operativo pode comunicar
com qualquer uma das outras.
Procedimento
principal
Procedimentos
de serviço
Procedimentos
auxiliares
Modelos de Sistemas Operativos
• Camadas (Layers)
– O SO encontra-se estruturado segundo um
conjunto de camadas funcionais
– Cada camada utiliza serviços de camadas que lhe
são interiores
– Em suma, cada camada é uma máquina virtual com
uma interface bem definida
– À camada mais baixa (gestão de processos)
corresponde o núcleo do sistema operativo
Modelos de Sistemas Operativos
• Camadas (Layers)
Aplicações e utilizadores
Chamadas ao sistema
Sistema de ficheiros
Comunicação e I/O
Gestão de memória
Gestão de processos
Hardware
Modelos de Sistemas Operativos
• Modular
– O SO encontra-se organizado segundo módulos à volta de um
núcleo (kernel)
– O núcleo é geralmente pequeno (Micro-kernel), comunicando
com o hardware e estabelecendo a comunicação entre os
diversos módulos
– Pode introduzir-se o conceito de processo cliente e de
processo servidor que correm em modo utilizador
– Facilmente adaptável a sistemas distribuídos
– Estrutura mais estável
Modelos de Sistemas Operativos
• Modular
Aplicações e utilizadores
Chamadas ao sistema
Micro-Kernel
Hardware
Modelo de um SO
• Modular (Cliente-Servidor)
Modo Núcleo
Micro-Kernel
Mensagens
38
Sistemas Operativos
• Como vimos, o Hardware de um computador comporta a
possibilidade de executar diferentes funções mediante as
instruções que lhe são fornecidas
• Quando o Computador é ligado, a CPU vai à primeira posição
de memória procurar as primeiras instruções que deve
executar.
• A primeira posição de memória está alojada em ROM e o
código chama-se Firmware
• O Firmware contém as instruções necessárias ao arranque da
máquina e serve de base para o funcionamento do Sistema
Operativo
Sistemas Operativos
Utilizadores
Aplicações
Sistema Operativo
FirmWare
Hardware
Sistemas Operativos
AmigaOS
BeOS
PC com processador INTEL ou compativel
PLATAFORMA
(x86)
CARACTERÍSTICAS Sistema Modular (pagam-se os módulos)
FreeBSD
Linux
PLATAFORMA x86, DEC Alpha, UltraSpark, MIPS e Power PC
INTERFACES
Gnome, KDE, Window Maker, Enlightment, Blackbox, Afterstep …
GRAFICOS
MacOS (X)