Interação entre memória secundária e Sistemas Operacionais

Preview:

Citation preview

Interação entre memória secundária e Sistemas OperacionaisInteraçã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

• Referem-se à transferência de blocos de bytes entre as memórias principal e secundária, compreendendo:– Detecção e correção de erros;– Escalonamento ou programação de transferência;– Cache;– Criptografia;– Compressão de Dados.

Funções de baixo nível

3

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ívelFunções de baixo nível

Detecção e correção de errosDetecçã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ênciaProgramação de transferência

Disco magnético

12

13

Disco magnético

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

CacheCache

Memória cache

16

Memória cache

17

18

Memória cache

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

CriptografiaCriptografia

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 agreementAtaque “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ívelFunções de alto nível

Estrutura do Sistema de arquivosEstrutura 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:– Nome– Tamanho– Endereço– Data da última modificação– Outras informações

47

• 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

Diretórios e convenções

SegurançaSeguranç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

• 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

Controle de acesso lógico

51

• 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

Controle de acesso lógico

52

• 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

Modelo da Matriz de Acesso

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

SI03.044.070

• 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

SO BD

Objetos arquivossegmentos de memóriaprocessos

arquivosrelaçõesregistroscampos

Sujeitos usuáriosprocessosdomínios

usuários

Matriz de acesso

55

Interfaces de controle de acesso (1)

56

Interfaces de controle de acesso (2)

57

Níveis ou camadas de segurança

58

Listas de autorização ou listas de acessosão listas de sujeitos autorizados a ter acessoa particulares objetos

ACL (Access Control Lists)

59

ACL (Access Control Lists)

Arquivo F

F

User ID Direitos

Lista de autorização para F

R

R

RW

Possui,RWArt

PAT

ROY

SAM

Diretório de Arquivos

Lista de autorização para um arquivo

60

Conjuntos de acesso podem ser usados para agrupar objetos em conjuntos de objetos e definir acessos sobre objetos e conjuntos de objetos

Conjuntos de acesso

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

IntegridadeIntegridade

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çosAlocaçã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– 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)

85

Recommended