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)