Escolar Documentos
Profissional Documentos
Cultura Documentos
OPERACIONAIS
Daniel Menezes
daniel.meenezes@fametro.edu.br
1. S. O Monoprogramável/Monotarefa
2. Processo
3. Familia de S. O Windows
4. Linux
O QUE É UM SISTEMA
OPERACIONAL
Objetivos
Executar programas e facilitar as tarefas dos
usuários
Permitir que o usuário utilize convenientemente o
computador
Permitir o uso eficiente do hardware do
computador
3
COMPONENTES DE UM SISTEMA
COMPUTACIONAL
Hardware
Fornece recursos básicos (CPU, memória,
Sistema operacional
Controla e coordena o uso do hardware por vários
Programas (aplicativos)
Define como os recursos são utilizados para
Usuários
Pessoas, máquinas, outros computadores, etc.
4
VISÃO ABSTRATA DOS COMPONENTES DE UM SISTEMA
5
CLASSIFICAÇÃO DE SISTEMAS
OPERACIONAIS
6
CONFIGURAÇÃO DA MEMÓRIA PARA UM
SISTEMA TIPO BATCH
MONOPROGRAMADO
7
CONFIGURAÇÃO DA MEMÓRIA PARA
UM SISTEMA TIPO BATCH
MULTIPROGRAMADO
8
SISTEMAS DE TEMPO
REAL
9
CLASSIFICAÇÃO DE
SISTEMAS OPERACIONAIS
Monotarefa ou monoprocessados
Executa uma única tarefa de cada vez
Multitarefa ou multiprogramáveis
Compartilha recursos entre diversos programas
simultaneamente
10
CARACTERÍSTICAS
NECESSÁRIAS PARA
MULTIPROGRAMAÇÃO
Alocação de dispositivos
11
SISTEMAS DE TEMPO
COMPARTILHADO
COMPUTAÇÃO INTERATIVA
12
CLASSIFICAÇÃO DE
SISTEMAS OPERACIONAIS
Monoprocessados
Um único processador
Multiprocessados
Mais do que um processador
13
CARACTERÍSTICAS DE UM SISTEMA
PARALELO
Vantagens:
Aumento do throughput (quantidade de
programas executados por unidade de tempo)
Economia (compartilhamento de recursos)
Confiabilidade (redundância)
14
CARACTERÍSTICAS DE UM SISTEMA
PARALELO
SMP
Multiprocessamento Assimétrico
Cada processador executa uma
determinada tarefa
Um processador master aloca as
sistemas
15
SISTEMAS COM MÚLTIPLOS
PROCESSADORES
16
SISTEMAS COM MÚLTIPLOS
PROCESSADORES
17
SISTEMAS FORTEMENTE
ACOPLADOS
Memória Compartilhada entre Processadores
18
SISTEMAS FRACAMENTE
ACOPLADOS
Memória privada em cada processador
Um SO em cada nó
19
CLUSTER
Distribuição de carga
Fornece alta confiabilidade
Permite que 2 ou mais sistemas compartilhem
armazenamento
Cluster assimétrico
Um servidor funciona como interface (front-end) e
distribui para outro servidor
Cluster simétrico
Todos os servidores executam a mesma aplicação com
prioridades iguais
20
SOFTWARE – PROCESSO DE
GERAÇÃO
Interpretador
Lê e executa linha a linha do programa fonte
Montador
Converte de mnemônico para binário
Compilador
Converte de linguagem de programação para linguagem de
máquina
Linker ou linkeditor
Gera um programa de um ou mais módulos objetos e
bibliotecas
21
COMPILAÇÃO DE UM PROGRAMA C
2
7
REGIÕES DE UM PROGRAMA EM
EXECUÇÃO
Text
Código executável
Data
Variáveis estáticas
Variáveis globais
Stack
Pilha (endereço de retorno)
Variáveis dinâmicas
23
CARACTERÍSTICAS DE SISTEMAS
DESKTOP
MacOS
Unix
Linux
24
SISTEMAS
HANDHELD
Problemas:
Pouca memória
Processadores lentos
Telas pequenas
25
MIGRAÇÃO DOS SISTEMAS OPERACIONAIS CONCEITOS E
CARACTERÍSTICAS
26
AULA 04
Estrutura de um Sistema
Computacional
Daniel Menezes
daniel.meenezes@fametro.edu.br
Estrutura de um Sistema Computacional
29
ARQUITETURA DE UM SISTEMA COMPUTACIONAL
30
OPERAÇÃO DE UM SISTEMA
COMPUTACIONAL
31
FUNCIONALIDADES COMUNS
DE INTERRUÇÕES
32
TRATAMENTO DE
INTERRUPCÕES
O sistema operacional preserva o estado da CPU
armazenando registradores, incluido o PC
33
Estrutura de Acesso Direto a Memória
(DMA)
34
ESTRUTURA DE
ARMAZENAMENTO
Memória principal
Único tipo de armazenamento que a CPU
pode acessar diretamente
Memória secundária
Estenção da memória principal
Memória não volátil de alta capacidade
Disco magnético
Superfície dividida logicamente em trilhas que
são subdivididas em setores
O controlador do disco determina a interação
lógica entre o dispositivo e o computador
35
MECANISMO DO DISCO
36
HIERARQUIA DE
ARMAZENAMENTO
Sistema de armazenamento é
organizado de forma hierarquica
Velocidade
Custo
Volatilidade
Cache
Técnica de copiar a informação para um
sistema de armazenamento mais rápido. A
memória principal pode ser vista como um
cache para o armazenamento secundário
37
HIERARQUIA DE DISPOSITIVOS DE
ARMAZENAMENTO
38
CACHE
gerenciamento de cache
Dados armazenados simultaneamente em
pontos diferentes da hierarquia precisam
estar consistentes
Cache introduz um novo nível na
hierarquia de armazenamento
39
MIGRAÇÃO DO DISCO PARA O REGISTRADOR
40
PERGUNTAS?
41
PROTEÇÕES POR
HARDWARE
Operação em 2 modos
Proteção de I/O
Proteção de Memória
Proteção de CPU
42
OPERAÇÃO EM 2
MODOS
43
OPERAÇÃO EM 2
MODOS
Modo usuário
Acesso a suas instruções e dados
Modo Supervisor
Acesso a instruções e dados privilegiados
Acesso a dispositivos de I/O
44
OPERAÇÃO EM 2
MODOS
monitor user
set user mode
45
PROTEÇÃO DE
I/O
46
USE DE UMA SYSTEM CALL PARA REALIZAR I/O
47
PROTEÇÃO DE
MEMÓRIA
protegida)
Memória fora destas faixas não
estão protegidas
48
USO DOS REGISTRADORES BASE E LIMITE
49
PROTEÇÃO DE ENDEREÇO POR HARDWARE
50
PROTEÇÃO POR
HARDWARE
Quando executando no modo monitor, o
sistema operacional tem acesso irrestrito a
TODA memória do sistema
51
PROTEÇÃO DA
CPU
Timer
Temporizadores interrompem o processador
depois de um período de tempo pré-determinado
Normalmente utilizados para implementar time
sharing
Pode ser utilizado também para manter relógio
(calendário)
Modificar o timer é uma instrução privilegiada
52
INTERRUPÇ
ÕES
Internas
Instrução inválida
Violação de privilégio
Divisão por zero
Externas
Produzidas por periféricos
Trap
Interrupção por software
Geralmente usada para realizar chamadas ao SO (System Call)
Muda o PSR para o modo supervisor
53
TRAP – SYSTEM
CALL
Parâmetros necessários:
Número do serviço
Nome do arquivo
Modo, etc
Passagem de parâmetros
Por registradores
Na pilha (Stack)
54
ATENDIMENTO DE
INTERRUPÇÃO
55
ATENDIMENTO DE
INTERRUPÇÃO
56
EXEMP
LO
fopen() open()
open() trap
1. mov 10,r0
2. trap
Retorno
ret
57
NÍVEIS DE
INTERRUPÇÃO
58
ALGUMAS CHAMADAS
AO SO
Controle de Processo
Término de programa
Executar programa
Obter e alterar atributos de processos
Sincronismo
Manipulação de arquivos
Criar
Remover
Abrir
Fechar
Ler
Escrever
59
OPERAÇÕES DE ENTRADA E
SAÍDA
Buffer
Esquema de produtor-consumidor
Arquivo
I/O somente depois do arquivo fechado
60
PERGUNTAS?
61
ESTRUTURA INTERNA DE
UM SO
Núcleo Monolítico
Composto por um conjunto de rotinas
62
ESTRUTURA INTERNA DE
UM SO
Núcleo em Camadas
Rotinas do SO em Hierarquia
63
ESTRUTURA DE
UM SO
Microkernel
SO dividido em processos servidores
Vantagens
Mais flexível
Altamente modular
Fácil de depurar, instalar e adicionar novos serviços
Tendência de sistemas distribuídos
64
PERGUNTAS
65
Sistemas operacionais podem ser vistos de dois pontos de vista: como
gerenciadores de recursos e como máquinas estendidas. Como
gerenciador de recursos, o trabalho do sistema operacional é gerenciar as
diferentes partes do sistema de maneira eficiente. Como má- quina
estendida, o trabalho do sistema é proporcionar aos usuários abstrações
que sejam mais convenientes para usar do que a máquina real. Essas
incluem processos, espaços de endereçamento e arquivos.
Sistemas operacionais têm uma longa história,
começando nos dias quando substituíam o operador,
até os sistemas de multiprogramação modernos.
Destaques incluem os primeiros sistemas em lote,
sistemas de multiprogramação e sistemas de
computadores pessoais.
Como os sistemas operacionais interagem
intimamente com o hardware, algum conhecimento
sobre o hardware de computadores é útil para
entendê-los. Os computadores são constituídos de
processadores, memórias e dispositivos de E/S.
Essas partes são conectadas por barramentos.
Os conceitos básicos sobre os quais todos os
sistemas operacionais são construídos são os
processos, o gerenciamento de memória, o
gerenciamento de E/S, o sistema de arquivos e a
segurança. Cada um deles será tratado em um
capítulo subsequente.
O coração de qualquer sistema operacional é o
conjunto de chamadas de sistema com que ele
consegue lidar. Essas chamadas dizem o que o
sistema operacional realmente faz. Para UNIX,
examinamos quatro grupos de chamadas de
sistema.
O primeiro grupo diz respeito à criação e ao término
de processos. O segundo é para a leitura e escrita de
arquivos. O terceiro é para o gerenciamento de
diretórios. O quarto grupo contém chamadas
diversas.
Sistemas operacionais podem ser estruturados de
várias maneiras. As mais comuns são o sistema
monolítico, a hierarquia de camadas, o micronúcleo,
o cliente- -servidor, a máquina virtual e o exonúcleo.
1. Windows
2. MacOS
3. Unix
4. Linux
5. One UI