Interação entre memória secundária
e Sistemas Operacionais
Funções que os Sistemas Operacionais
devem prover
• Funções da baixo nível
• Funções de alto nível
2
Funções de baixo nível
• Referem-se à transferência de blocos de bytes
entre as memórias principal e secundária,
compreendendo:
–
–
–
–
–
3
Detecção e correção de erros;
Escalonamento ou programação de transferência;
Cache;
Criptografia;
Compressão de Dados.
Funções de alto nível
• Fazem o acesso à memória secundária
mais conveniente para os usuários.
• As funções de alto nível são:
– Estrutura do sistema de arquivos ;
– Segurança;
– Integridade;
– Alocação de Espaço.
4
Funções de baixo nível
Detecção e correção de erros
Detecção de erros
7
Detecção e correção de erros
8
Cyclic Redundancy Check (CRC)
9
Correção de erros
10
Programação de transferência
Disco magnético
12
Disco magnético
13
Programação de transferência
• Nas operações de leitura e gravação, observa-se que o
movimento das cabeças representa a parcela de tempo
mais significativa
• Um controlador de dispositivos inteligente organiza uma
série de transferências para minimizar a perda de tempo
devida ao movimento das cabeças
• Um modelo de organização é o “modelo elevador” que
na “subida” não atende às requisições para descer, ou
seja, os movimentos são alternados porém não
aleatórios
14
Cache
Memória cache
16
Memória cache
17
Memória cache
18
Como manipular gravações
• write through, quando uma palavra é escrita no cache, ela é
imediatamente escrita de volta à memória
• transferência das posições alteradas do cache para a memória
principal a intervalos constantes garantindo que o tempo de
inconsistência entre as duas memórias seja tão pequeno quanto for
desejado pelo projetista
• copy back, ou memória suja, não atualiza a memória quando o
cache é alterado
– A memória somente é atualizada quando a entrada é expurgada do cache para
permitir que outra entrada tome conta do slot
– Quando copy back é usado, um bit é necessário em cada entrada do cache,
dizendo se a entrada foi modificada desde que foi carregada para o cache
19
Criptografia
Conceito de criptografia
• Criptografia é uma transformação de informação para
que a mesma se torne ilegível aos usuários não
autorizados.
• A informação legível ou texto em claro é transformada
em texto criptografado escolhendo-se uma chave, que é
um parâmetro que seleciona uma transformação
criptográfica dentre uma família delas
21
Criptografia - notação
•
•
•
•
•
•
M= informação legível, mensagem, plaintext
C= informação criptografada, ciphertext
E= transformação criptográfica, encrypt
D= transformação decriptográfica, decrypt
K= chave, key
I = função identidade
C=Ek(M)
M=Dk(Ek(M))
Dk(E) = I
22
Criptografia de chave secreta
23
Criptografia de chave pública
24
Gerencia de chaves secretas
25
Gerencia de chaves públicas
26
Message Digest ou One-Way Hash
27
Message Authentication Code (MAC)
28
Assinatura digital
29
O mundo da criptografia
30
Ataques aos serviços
31
Criptografia de chave secreta
32
Criptografia de chave pública
Alice envia mensagem criptografada usando a chave
pública de Bob
33
Criptografia de chave pública
Bob envia mensagem criptografada usando a chave
pública de Alice
34
Criptografia de chave pública
Alice assina mensagem usando sua chave privada
35
Criptografia de chave pública
Autenticação e privacidade
36
Funções Hash
37
Message Authentication Codes (MAC)
38
HMAC: Keyed-hashing for message authentication
39
Assinaturas digitais
40
Diffie-Hellman Key agreement
cálculo da chave secreta
41
Diffie-Hellman Key agreement
Ataque “homem no meio”
42
Sistema assimétricos
Sistemas assimétricos adotam duas
chaves, S1 and S2 (chamas de chave
privada e chave pública) tais que:
CiphertextS1 = En(S1, Plaintext)
Plaintext = De(S2, CiphertextS1)
CiphertextS2 = En(S2, Plaintext)
Plaintext = De(S1, CiphertextS2)
43
Funções de alto nível
Estrutura do Sistema de arquivos
Conceito
• Um SO habilita os usuários a criar e
manipular arquivos de dados
• Um sistema arquivos mapeado nos
dispositivos de armazenamento
secundário, e os arquivos, podem ser
referenciados pelo nome
• Informações sobre os arquivos de um
usuário são armazenados em um arquivo
denominado diretório
46
Diretórios
• Em um diretório cada registro caracteriza
um arquivo do usuário, contendo:
–
–
–
–
–
47
Nome
Tamanho
Endereço
Data da última modificação
Outras informações
Diretórios e convenções
• Existem diretórios para volumes de disco
e outros agrupamentos
• Cada usuário tem um diretório raiz mas
pode também possuir outros diretórios
agrupando arquivos
• Casa SO possui suas convenções de
notação de diretórios e arquivo
(separadores /, |, .)
48
Segurança
Controle de acesso lógico
• O controle de acesso tem por objetivo
garantir que todos os acessos diretos a
objetos sejam autorizados
- A maioria dos controles de acesso incorpora
o conceito de propriedade de objetos através
do qual os usuários podem conceder e
revogar direitos de acesso a objetos que
possuam
50
Controle de acesso lógico
• Premissas do controle de acesso
– Precisa identificação de usuários
– Os direitos de acesso de cada usuário são
protegidos contra modificação não autorizada
51
Controle de acesso lógico
• A política de controle de acesso
especifica quais são os acessos
autorizados em um sistema
- Os mecanismos de controle de acesso
implementam a política de controle de acesso
52
Modelo da Matriz de Acesso
• Modelo desenvolvido em paralelo em SO
e BD
- Este modelo é definido em termos de
estados e transição de estados
- Os estados são representados por
matrizes e as transições de estados são
descritas por comandos
53
Estado da Proteção de um Sistema
Estado de Proteção de um Sistema
(S,O,A)
S -> Sujeitos - Entidades ativas do modelo
O -> Objetos - Entidades protegidas
A -> Matriz de acesso - Linhas de sujeitos e colunas de
objetos
A[s,o] Mostra os direitos de acesso do sujeito s
sobre o objeto o, nos SO
A[s,o] Mostra a regra de decisão especificando os
direitos de acesso, em BD
54
Matriz de acesso
SO
BD
Objetos
arquivos
segmentos de
memória
processos
arquivos
relações
registros
campos
Sujeitos
usuários
processos
domínios
usuários
• Domínio é um ambiente protegido no qual um
processo é executado
– Pode variar dinamicamente
• Os direitos mais comuns são leitura, gravação
e execução
55
SI03.044.070
Interfaces de controle de acesso (1)
56
Interfaces de controle de acesso (2)
57
Níveis ou camadas de segurança
58
ACL (Access Control Lists)
Listas de autorização ou listas de acesso
são listas de sujeitos autorizados a ter acesso
a particulares objetos
59
ACL (Access Control Lists)
Lista de autorização para um arquivo
Diretório de Arquivos
F
User ID
Art
Arquivo
F
60
Direitos
Possui,RW
PAT
RW
ROY
R
SAM
R
Lista de autorização para F
Conjuntos de acesso
Conjuntos de acesso podem ser
usados para agrupar objetos em
conjuntos de objetos e definir
acessos sobre objetos e conjuntos de
objetos
61
Exemplos de interface de ACL
62
Exemplos de interface de ACL
63
Exemplos de interface de ACL
64
Exemplos de interface de ACL
65
Exemplos de interface de ACL
66
Integridade
Integridade mantida por replicação
• Arquivos armazenados podem tornar-se
irreparavelmente comprometidos por falhas de
“hardware”, “software” ou operação
• Pode-se evitar maiores danos armazenando cópias de
arquivos “off-line”
• Chama-se de “back-up” a cópia feita de arquivos com
essa finalidade
• Presentemente o “back-up” mais usado em grandes
instalações é feito em fitas magnéticas
• O meio de armazenamento é guardado em fitotecas
68
Integridade mantida por replicação
• Fitotecas:
– de serviço
• Junto do servidor ou “main frame”
– de segurança
• Longe do servidor ou “main frame” par evitar acidentes ou
sabotagem
• Usualmente no mesmo edifício
– de contingência
• Em local fisicamente distante do servidor ou “main frame”
69
Fitoteca automatizada
70
Fitoteca automatizada
71
Fitoteca automatizada
72
Fitoteca automatizada
73
Fitoteca automatizada
74
Fitoteca automatizada
75
Biblioteca de CD automatizada
76
Modos de Backup
– Total (completo)
• cópia de todos os arquivos
– Incremental (gravação mais rápida)
• cópia de todos os arquivos que sofreram alteração
desde o último backup
– Diferencial (recuperação mais rápida)
• cópia de todos os arquivos que sofreram alteração
desde o último backup total
77
Biblioteca de CD automatizada
78
Estratégias de backup
79
Estratégias de backup
80
Estratégias de backup
81
Opções e estratégia de backup
•
Opções
– Total & incremental
– Total & diferencial
•
Exemplo de estratégia de “back-up” :
1. no início de cada mês fazer um “back-up” total;
2. no início de cada semana fazer um “back-up”
incremental;
3. diariamente fazer um “back-up” diferencial.
82
Alocação de espaços
O problema
• Alocação de espaços
– A memória secundária é um dos recursos
gerenciados pelo SO
– Os trechos de memória são considerados
livres ou alocados à usuários
– Pode-se manter registro dos setores livres e
alocados por vetores ou mapas de bits,
armazenados no próprio disco
84
Critérios de distribuição de espaços entre usuários
• cotas fixas
– usuário que atingir sua cota e desejar gravar algo deve apagar arquivos
• ausência de cotas
– quando o SO aceita qualquer gravação. Quando o espaço se esgota
apagam-se todos os arquivos que possuam “back-up”
• receita diária
–
–
–
–
85
usuário tem uma conta-corrente de blocos * dia de armazenamento
diariamente, cada bloco armazenado consome um bloco * dia
saldo positivo é limitado a, por exemplo, dez vezes a receita diária
saldo negativo recebe uma penalidade (por exemplo a impossibilidade
de acesso aos arquivos)