Your SlideShare is downloading. ×
Sistema Computacao Revisao 2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Sistema Computacao Revisao 2

2,291
views

Published on

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,291
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Sistemas de Computação Revisão 2 Duílio Andrade [email_address]
  • 2. 1) SISTEMAS OPERACIONAIS 2) LINGUAGENS DE PROGRAMAÇÃO 3) ARMAZENAMENTO E RECUPERAÇÃO DE DADOS 4) SEGURANÇA DA INFORMAÇÃO
  • 3. Sistemas Operacionais
    • É um conjunto de programas que gerenciam os softwares aplicativos
    • Cria uma camada de abstração entre o aplicativo e o hardware
    • Ele está em contato direto com a máquina e por isso é tão importante em um ambiente computacional
  • 4. Sistemas Operacionais
    • Podem ser classificados de 3 formas:
      • Pelo tipo de núcleo do sistema
      • Como gerenciam os programas em execução
      • Pelo número de usuários que podem operá-lo simultaneamente
  • 5. Sistemas Operacionais - Classificação
    • Quanto ao tipo do núcleo
      • Podem ser: monolíticos ou micro Kernel
    • Quanto ao gerenciamento dos programas em execução
      • Podem ser: monotarefa, multitarefa cooperativa ou multitarefa preemptiva
  • 6. Sistemas Operacionais - Módulos
    • Gerenciamento de Processos
    • Gerenciamento de Memória
    • Gerenciamento de Arquivos
    • Gerenciamento de Entrada/Saída
  • 7. Gerenciamento de Processos
    • Módulo responsável por gerenciar os programas em execução.
    • Escalona (ou seja, define uma fatia de tempo do processador) para as tarefas do usuário (essencialmente, aplicativos e funções dos aplicativos que são executados pelo usuário)
  • 8. Gerenciamento de Processos
    • Cada processo deve conter as seguintes informações:
      • Identificador
      • Informações sobre localidade de memória em que se encontra seu conteúdo
      • Prioridade de processo
      • Estado interno ao SO
  • 9. Gerenciamento de Processos
    • Estados gerais de um processo
  • 10. Gerenciamento de Memória
    • Módulo que gerencia a memória de forma mais adequada possível, é responsável por alocar e liberar espaços na memória para os processos em execução e fazer o chaveamento swapping entre a memória principal e o disco
    • Para um programa ser executado, precisa estar em memória
  • 11. Gerenciamento de Memória
    • Princípio da localidade de referência
      • Princípio da localidade espacial: uma vez acessados, a probabilidade de acessá-los novamente é muito grande
      • Princípio da localidade temporal: a probabilidade de se acessar conteúdos à volta(próximos) de um conteúdo já acessado é alta
  • 12. Gerenciamento de Memória
    • Existem basicamente dois tipos de gerenciadores de memória:
      • com paginação: utilizam o princípio da localidade de referência para fazer o chaveamento das informações entre o disco e a memória
      • Sem paginação: não fazem gerenciamento de informações
  • 13. Gerenciamento de Arquivos
    • Módulo responsável por manipular arquivos
      • Possibilidade de armazenar e recuperar uma grande quantidade de informação
      • A informação gerada por um aplicativo ou processo deve continuar a existir após a finalização desse processo
      • Múltiplos aplicativos ou processos podem acessar a mesma informação de forma concorrente
    • Gerenciador de arquivos, chamadas do sistema (System Calls)
  • 14. Gerenciamento de Arquivos
    • Existem duas camadas:
      • Camada de alto nível: interface com o usuário cujas tarefas de visualização, manutenção e apagamento são realizadas pelo usuário
      • Camada de baixo nível: define como os arquivos são armazenados fisicamente, como os arquivos são referenciados; além disso, é responsável também por converter os comandos de interface para os comandos de system calls
  • 15. Gerenciamento de Entrada/Saída
    • Também pode ser chamado de Gerenciador de Dispositivos
    • Camadas do gerenciador de dispositivos
  • 16. Gerenciamento de Entrada/Saída
    • Drivers
      • Módulos que são acoplados ao SO e possibilitam fazer uma ponte entre o SO e o dispositivo
    • Camadas de serviços mais padronizados e genéricos
      • Software do usuário, Software de E/S, Drivers
    • Camadas de serviços mais específicos
      • Manipuladores de Interrupção, Hardware
  • 17. Linguagens de Programação
    • Uma linguagem de programação possui uma estrutura própria que permite ao usuário se comunicar com o computador
    • Cada linguagem de programação possui dois tipos de regras:
      • Sintáticas - refere-se à formação das palavras, ou seja, quais as palavras (no caso de linguagens de programação, chamamos essas de tokens ) que podem ser utilizadas
      • Semânticas - refere-se às regras de formação de frases, ou seja, como devo agrupar cada token para formar uma sentença lógica
  • 18. Linguagens de Programação
    • Etapas de um processo de criação de um programa
  • 19. Linguagens de Programação
    • Etapas de um processo de criação de um programa
      • Interpretação, o código-fonte de uma linguagem é traduzido à medida que ele é executado
      • Compilação, traduz todo o código-fonte e transforma-o em um arquivo executável
  • 20. Linguagens de Programação -Classificação
    • Quanto ao paradigma – as linguagens se diferenciam segundo a forma de abordar a sua sintaxe
    • Quanto à estrutura de tipos – as linguagens são definidas como fracamente tipada, fortemente tipada ou dinamicamente tipada
    • Quanto ao grau de abstração – as linguagens são definidas quanto se distanciam dos detalhes de hardware, podem ser, baixo nível, médio nível e alto nível
  • 21. Linguagens de Programação -Paradigmas
    • Um paradigma de programação define, de maneira geral, como deve ser estruturada uma sintaxe de uma linguagem
      • Programação estruturada – define que todos os programas podem ser escritos a partir de 3 estruturas básicas: sequência, decisão e iteração
      • Programação orientada a objetos – define as etapas de análise, modelagem e programação. Principais elementos:
        • Classe, Método, Atributo, Objeto, Sobrecarga, Herança
      • Programação funcional
      • Programação Lógica
  • 22. Linguagens de Programação -Paradigmas
    • Programação funcional
      • Trata a programação como uma avaliação de funções matemáticas. Exemplos deste tipo de linguagem podem ser: R, Mathematica, Haskell, ML, etc.
    • Programação Lógica
      • É o tipo de programação que faz uso da lógica de primeira ordem. A linguagem mais conhecida é o Prolog. É muito utilizada no contexto da Inteligência Artificial
  • 23. Linguagens de Programação –Tipos
    • Tipo da variável, dependendo da linguagem é preciso definir o tipo da variável no momento da declaração, ou de acordo com o valor da atribuição, com isso as linguagens se definem em:
      • Fracamente Tipada (ex. Smalltalk)
      • Fortemente Tipada (ex. Java)
      • Dinamicamente Tipada (ex.: Python)
  • 24. Linguagens de Programação – Grau de Abstração
    • Quanto mais perto do hardware a estrutura de uma linguagem está próxima, menos abstrata ela será
    • Assim, existem: linguagens de baixo nível (ex.: Assembly), linguagens de médio nível (ex.: C) e linguagens de alto nível (ex.: SQL)
  • 25. Armazenamento e Recuperação de Dados
    • Dados, Informação e Conhecimento
    • A tecnologia para gerenciar dados em um computador é denominada de Banco de Dados e a interface que nos permite gerenciar estes dados diretamente é denominada de Sistemas de Gerenciamento de Banco de Dados
  • 26. Banco de Dados
    • Um banco de dados (BD) se assemelha muito aos módulos gerenciadores de arquivos dos SO’s
    • Os dados dentro de um BD são também organizados em arquivos
    • Elementos gerais de um BD
      • Tabela – estrutura lógica em que são armazenadas as informações
      • Campos – atributos da tabela
      • Registros – linhas da tabela
      • Tipo – tipo do campo
  • 27. Banco de Dados
    • Modelos mais importantes em que os BD’s se baseiam:
      • BD Relacional – Todos os dados estão armazenados logicamente em tabelas
      • BD Orientado a Objetos – Os elementos são organizados como objetos (assim como no paradigma orientado a objetos)
  • 28. Banco de Dados Relacional
    • Elementos
      • Campo, Tabela, Registros e Tipo
      • Chave Primária - é um campo que define exclusivamente os registros de uma tabela. Em outras palavras, cada elemento deste campo deve ser único e não pode se repetir
      • Chave Estrangeira - é um campo de uma tabela que possui um relacionamento com outro campo em outra tabela
  • 29. Banco de Dados Relacional
    • Para gerenciar os elementos é necessário uma linguagem específica que nos permite criar desde os elementos básicos(tabela, campos, chaves) até inserir, atualizar ou apagar registros no sistema
    • Linguagem SQL – Structured Query Language ou Linguagem de Pesquisa Estruturada
  • 30. Linguagem SQL
    • Padrão de quase todos os SGBD’s relacionais no mercado
    • Pode ser dividido em 3 grupos de comandos:
      • DML ( Data Manipulation Language )
      • DDL ( Data Definition Language )
      • DCL ( Data Control Language )
  • 31. Linguagem SQL - DML
    • Linguagem de Manipulação de Dados – provê comandos para manipulação dos registros em uma ou mais tabelas, possui as seguintes estruturas:
      • SELECT
      • INSERT
      • UPDATE
      • DELETE
  • 32. Linguagem SQL - DDL
    • Linguagem de Definição de Dados – provê comandos para gerenciamento e criação de tabelas e seus elementos. Possui os seguintes comandos:
      • CREATE
      • DROP
      • ALTER
  • 33. Linguagem SQL - DCL
    • Linguagem de Controle de Dados – provê comandos para o controle dos aspectos de autorização de dados. Possui os seguintes comandos:
      • GRANT
      • REVOKE
      • COMMIT
      • ROLLBACK
  • 34. DML - SELECT
    • SELECT: comando utilizado para consulta de registros em uma ou mais tabelas. Possui a seguinte estrutura
    • SELECT <campos> FROM <tabela> WHERE <condição>;
  • 35. DML - INSERT
    • INSERT: comando utilizado para inserir registros em uma tabela. Não devemos nos esquecer que as regras de chave primária e estrangeira deverão ser tratadas pelo SGBD, quando tentarmos executar este comando. Possui a seguinte estrutura
    • INSERT INTO <tabela> (<campos>) VALUES (<valores>);
  • 36. DML - DELETE
    • DELETE: comando para apagar um ou mais registros. Também aqui as regras para chaves primárias e estrangeiras devem ser obedecidas. Possui a seguinte estrutura
    • DELETE FROM <tabela> WHERE <condição>;
  • 37. DML - UPDATE
    • UPDATE: comando para atualizar um ou mais registros. A utilização deste comando também deve obedecer às regras de chave primária e chave estrangeira. Possui a seguinte estrutura
    • UPDATE <tabela> SET <atribuições> WHERE <condições>;
  • 38. Segurança da Informação
    • Há 3 aspectos básicos em que se baseia a área de Segurança de Informação
      • Confidencialidade – é a propriedade que limita o acesso a determinadas informações a pessoas autorizadas
      • Integridade - é a propriedade pela qual um determinado conjunto de informações deverá manter suas características primárias, sem serem corrompidas de nenhuma forma
      • Disponibilidade - é a propriedade pela qual a informação deve estar disponível sempre que seu proprietário ou pessoas autorizadas queiram acessá-la
  • 39. Segurança da Informação
    • Áreas
      • Mecanismos
      • Ameaças
      • Níveis
      • Políticas
  • 40. Mecanismos de Segurança
    • Controle Físico
      • Ferramentas físicas que podem ser utilizadas para manter as informações confidenciais, íntegras e disponíveis
      • O controle físico pode ser utilizado através de: trancas, portas blindadas, mecanismos contra invasão humana ou contra fogo, enchente, etc
  • 41. Mecanismos de Segurança
    • Controle Lógico
      • Softwares aplicativos ou até mesmo circuitos eletrônicos específicos, especializados em manter as informações livres de intrusos
        • Criptografia - mecanismo para esconder a informação
        • Assinatura Digital - mecanismo para garantir a integridade da informação
        • Controle de Acesso
        • Honeypot – servidor falso como alvo
  • 42. Ameaças à Segurança
    • Perfis
      • Hackers – são indivíduos que podem tanto violar sistemas alheios como também ajudar a encontrar falhas de segurança para que sistemas de informação possam ser protegidos.
      • Crackers – são indivíduos que essencialmente têm como objetivo quebrar (cracker) um sistema de segurança de forma ilegal e antiética.
      • Phreakers – são crackers especializados em telefonia móvel ou fixa
  • 43. Ameaças à Segurança
    • Programas
      • Vírus – são programas especializados em corromper a integridade lógica de um sistema computacional a fim de causar danos nos dados armazenados.
      • Trojans – também chamados de “Cavalo de Tróia”, são softwares especializados em abrir acessos em um sistema com o objetivo de pessoas não especializadas roubarem informações confidenciais
  • 44. Níveis de Segurança
    • Físico
      • Ameaças físicas: incêndios, desabamentos, relâmpagos, alagamentos e acesso indevido de pessoas
    • Lógico
      • Ameaças lógicas: vírus e trojans
      • Definir políticas de segurança para evitar tanto ataques quanto perdas lógicas de informações
  • 45. Políticas de Segurança
    • Critérios
      • Disponibilidade – dados críticos devem estar sempre disponíveis
      • Utilização – os sistemas devem cumprir sempre seus objetivos
      • Integridade – os sistemas devem estar sempre em condições de uso
      • Autenticidade – os sistemas devem poder distinguir um usuário autorizado de outro não-autorizado
      • Confidencialidade – somente pessoas autorizadas devem acessar informações internas