Your SlideShare is downloading. ×
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
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

Aula 5a - Sistemas Operacionais

3,577

Published on

Aula 5a da disciplina Computação Aplicada, Unijorge, 2012.2

Aula 5a da disciplina Computação Aplicada, Unijorge, 2012.2

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,577
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
173
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. Noções de computação – Sistemas Operacionais Em 2008... e agora, como estão?Profª Jocelma RiosSet/2012
  • 2. O que pretendemos:● Apresentar os conceitos básicos de SO● Descrever as principais funções dos SO, explicitando as ações, regras e particularidades de cada uma● Refletir sobre a importância dos sistemas operacionais para o desempenho dos sistemas computacionais
  • 3. Sistemas Operacionais● É um software ou um conjunto deles que tem como função gerenciar os recursos do sistema computacional, fornecendo uma interface entre o usuário e a máquina.● A maioria dos computadores pessoais o executa através de outro programa armazenado numa memória ROM chamado BIOS num processo chamado "bootstrapping", ou simplesmente BOOT.● Após executar testes e iniciar os componentes da máquina (monitor, memória discos etc.), o BIOS procura pelo SO em alguma unidade de armazenamento, geralmente o Disco Rígido, e a partir daí, assume o controle da máquina.
  • 4. Sistemas Operacionais● É o mais importante pacote de software de uma máquina → qualquer outro sistema opera sobre ele – Ex.: Windows 9x, Windows NT, OS/2, Unix, Linux, MAC OS, Android, etc.● Funcionalidades: – Interface com o usuário – Gerenciamento de processos – Gerenciamento de memória – Gerenciamento de arquivos – Gerenciamento de dispositivos – Gerenciamento de proteção e segurança
  • 5. Market Share dos SO (Ago/2012)Estimativa do uso de sistemas operacionais segundo uma amostra de computadores comacesso a Internet (sempre verificar atualização na fonte) (Fonte: W3counter).
  • 6. Visões possíveis sobre o SO
  • 7. Gerenciamento de memória● Por que gerenciar memória? R: A memória principal é um recurso caro e escassoRAM: R$ 30 / Gb Disco: R$ 0,154 / Gb
  • 8. Por que gerenciar a memória?● É necessário maximizar o número de usuários e aplicações (processos) que utilizem de forma eficiente o espaço de memória física disponível● É preciso evitar que um processo use/invada o espaço de memória de outro causando paralisação do sistema● É preciso possibilitar ao usuário alternar entre uma aplicação e outra
  • 9. Gerenciamento de memória: funções básicas● Transferir programas da memória secundária para a memória principal● Reduzir o número de operações de E/S nessa transferência (pois a memória secundária é lenta)● Manter na memória o maior número possível de processos residentes, maximizando a utilização de recursos
  • 10. Gerenciamento de memória: funções básicas● Permitir que novos programas sejam aceitos mesmo que não exista espaço livre de memória● Permitir a execução de programas maiores do que a memória física● Proteger as áreas de memória ocupadas por cada processo● Oferecer mecanismos de compartilhamento de dados e informações
  • 11. Endereço Memória Conteúdo A memória pode ser vista como um array(vetor) de células de armazenamento(palavras ou bytes),cada partição com seu endereço
  • 12. Memória – hardware básico A memória principal e os registradores embutidos no próprio processador são osúnicos tipos de armazenamento acessíveis diretamente pela CPU. CPU Portanto, quaisquer instruções em execução (e os dados relacionados) precisam estar em umdesses dispositivos de armazenamento com acesso direto. Se os dados não estiverem na memória, eles deverão ser movidos para lá antes que a CPU possa fazer qualquer operação sobre eles.
  • 13. Memória vs. registradores● O acesso à memória principal pela CPU é mais lento que no caso dos registradores porque os dados precisam passar pelo barramento de memória● Existe um delay (espera) muito grande entre a velocidade de processamento da CPU e a leitura na memória principal – Solução: memória cache – fica entre os registradores e a memória RAM● Proteção da memória exigida para garantir a operação correta
  • 14. Memória
  • 15. Gerenciamento de memória● O sistema operacional tem acesso completo à memória e deve permitir que os processos dos usuários tenham acesso seguro a ela quando o requisitam.● Vários SO usam memória virtual, que possui 3 funções básicas: – assegurar que cada processo tenha seu próprio espaço de endereçamento, começando em zero, para evitar ou resolver o problema de relocação – prover proteção da memória para impedir que um processo utilize um endereço de memória que não lhe pertença – possibilitar que uma aplicação utilize mais memória do que a fisicamente existente
  • 16. Memórias física e virtual● Memória física – É a memória implementada pelo hardware (RAM, ROM, Disco) – Memória lógica de um processo – É a memória endereçada pelas instruções de máquina do processo● Memória Virtual – É implementada pelo SO, com o auxílio da memória secundária (através de paginação ou segmentação) – Normalmente, é maior que a memória física
  • 17. Gerenciamento de memória - Swapping● Ocorre quando não existir memória suficiente para alocar um dado processo, já que nem sempre é possível manter todos os processos em memória – Para isso, a gerência de memória reserva uma área do disco para o seu uso em determinadas situações, e um ou mais arquivos são copiado da memória para o disco – Com isso, o SO consegue executar mais processos do que caberia em um mesmo instante na memória
  • 18. Gerenciamento de memória - Swapping● Swapping impõe aos programas um grande custo em termos de tempo de execução, pois é necessário copiar arquivos para o disco e mais tarde copiar novamente para a memória.● Em sistemas onde o usuário interage com o programa durante sua execução, o mecanismo de swapping é utilizado em último caso, quando não se é possível manter todos os processos na memória, visto que a queda no desempenho do sistema é imediatamente sentida pelo usuário.
  • 19. Gerenciamento de arquivos● Arquivos – Criação, alteração e remoção – Mapeamento em armazenamento secundário – Suporte a primitivas para manipulação● Diretórios – Criação, alteração e remoção● Segurança – Backup – Mecanismos de proteção
  • 20. Gerenciamento de arquivos● É um utilitário do SO que gerencia discos rígidos, volumes ou partições nele contidos● Permite inicializar discos, criar volumes, formatar volumes com sistemas de arquivos FAT (12…16), FAT32 ou NTFS e criar sistemas de disco tolerantes a falhas● Permite executar a maioria das tarefas relacionadas a discos sem reiniciar o sistema ou interromper os usuários O uso de arquivos em disco é necessário pela limitação de espaço da memória
  • 21. Disco rígido●As trilhas são círculos concêntricos, que começam nofinal do disco e vão se tornando menores conforme seaproximam do centro.●Cada trilha recebe um número de endereçamento, quepermite sua localização. A trilha mais externa recebeo número 0 e as seguintes recebem os números 1, 2, 3,e assim por diante.●As trilhas se dividem em setores, que são pequenostrechos onde são armazenados os dados, sendo que cadasetor guarda 512 bytes de informações.●Um disco rígido atual possui até 900 setores em cadatrilha (o número varia de acordo com a marca emodelo), possuindo sempre mais de 3000 trilhas.
  • 22. Disco rígido●Um HD é formado internamente por vários discosempilhados, sendo o mais comum o uso de 2 ou 3discos, podendo fazer gravação nas duas faces.●Apesar de haver várias cabeças de leitura, elas nãose movimentam independentemente, pois são todaspresas à mesma peça metálica, chamada braço deleitura (peça triangular, que pode se moverhorizontalmente). Assim, passa-se a considerar oconjunto de trilhas como um cilindro. ● Por exemplo, o cilindro 1 é formado pela trilha 1 de cada face de disco, o cilindro 2 é formado pela trilha 2 de cada face, e assim por diante.
  • 23. Disco rígidoSaiba mais: www.hardware.com.br/livros/hardware-manual/trilhas-setores-cilindros.html
  • 24. Gerenciamento de processos● É utilizada para investigar e depurar processos irregulares, parar e reinicializar processos e mostrar os processos que estão sendo executados – O escalonamento é feito com base em time- sharing ● Atribui o processador para um processo da fila de aptos para processar – Prioriza I/O bound – Modo usuário tem menor prioridade que o modo kernel – Utiliza semáforos e monitores como mecanismos para garantir o escalonamento adequado
  • 25. Processo - Definição● Um processo é a unidade de trabalho em um sistema moderno de tempo compartilhado● Os termos tarefa, job ou processo são equivalentes● É o ambiente onde se executa um software● O processo é quem define o ambiente, os recursos, e os buffers disponíveis a este. Nenhum programa é executado diretamente na memória e sim em forma processo
  • 26. Processo - Definição● Diferenciação entre software e sua execução (processo) – Software: entidade estática e permanente ● Sequência de instruções ● Passivo sob o ponto de vista do SO – Processo ● Entidade dinâmica e efêmera ● Altera seu estado à medida em que avança sua execução ● Composto por código, dados e contexto (valores) ● Identificado por um número único (PID)
  • 27. Hierarquia entre processos● Um processo (pai) pode criar outros processos (filhos) e que podem, por sua vez, criarem também outros processos de maneira hierárquica (subprocesso)● Quando um processo pai morre, todos os filhos morrem● Depois de um certo número de subprocessos, a situação pode se tornar crítica gerando erros no sistema Processos independentes: não apresentam relacionamento com outros processos
  • 28. Criação de processos● Inicialização de um software● Logon de usuários● Processo criado para execução de um determinado serviço (daemons)● Processo criado a partir de um processo já existente (spawn)
  • 29. Término de processos● Final de execução (normal)● Situações “anormais” – Exceder tempo limite – Falta de memória – Erros de proteção ● Ex: tentativa de escrita em arquivo read- only; acesso à área de memória não autorizadas – Erros aritméticos ● Ex: divisão por zero, overflow – Erro em periféricos – Execução de instruções inválidas (ex: privilegiadas) – Deadlocks
  • 30. Estados de um processoExecução (Running):→ Quando um processo está sendo processado pelaCPU. Tais processos se revezam na execução.Pronto (Ready):→ Quando um processo aguarda que o sistemaoperacional aloque a CPU para sua execução.Espera (Wait):→ Quando um processo está aguardando algumevento externo para prosseguir com oprocessamento
  • 31. Threads● É onde um processo pode efetuar várias operações concorrentemente ou simultaneamente através das chamadas "Linhas de execução" – Uma linha de execução permite que o usuário de programa, por exemplo, utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam outros cálculos e operações● Compartilham o mesmo espaço de endereçamento
  • 32. Threads● Thread em modo kernel
  • 33. Threads● Thread em modo usuário
  • 34. Gerenciamento de dispositivos● Implementado através de uma estrutura de camadas de software e hardware● Procura oferecer uma interface simples e confiável para o usuário e as aplicações● “Esconde” detalhes das camadas inferiores● Dividido em dois grupos: – 1o: visualiza os dispositivos de um modo único – 2o: é específico para cada dispositivo● A maior parte da gerência de E/S trabalha independentemente de dispositivo, permitindo a comunicação dos processos com qualquer tipo de periférico, proporcionando maior flexibilidade
  • 35. Gerenciamento de dispositivos – Subsistema de E/S● Independência de dispositivos - o sistema deve se comunicar com qualquer tipo de dispositivo conectado ao computador● Acesso a dispositivos através bibliotecas● Linguagens de auto nível permitem portabilidade, como C ou Pascal● A independência de dispositivos deve ser realizada através de system calls, presentes na camada de mais alto nível implementada pelo sistema operacional
  • 36. Gerenciamento de dispositivos – Funções do Device Drivers● Implementar todo o mecanismo de proteção de acesso aos dispositivos.● Mapear o nome do dispositivo com seu respectivo driver, para acesso pelas camadas superiores● Controlar os dispositivos de E/S de forma segura e confiável obtendo um maior compartilhamento● Bufferização, permitindo reduzir o número de operações de E/S, utilizando-se de uma área de memória intermediária chamada buffer● Tratar erros que podem independente de dispositivos (uma parte apenas)
  • 37. Gerenciamento de dispositivos - Controladoras● São componentes eletrônicos (hardware) responsáveis por manipular diretamente os dispositivos de E/S● Serve de comunicação do SO com os Dispositivos● Em geral, possui memória e registradores próprios para executar instruções enviadas pelo device driver● Em operações de leitura, armazena uma sequência de bits vinda do dispositivo no seu buffer interno e verifica a ocorrência de erros, não havendo erros, o bloco é transmitido para a memória principal (ex: como ocorre no HD)
  • 38. Gerenciamento de dispositivos - Controladoras● Na maioria dos dispositivos orientados a bloco, como discos, é implementada a técnica de DMA para transferência de dados entre o controlador e a memória principal: – O device driver executa as operações de E/S gravando os comandos nos registradores da controladora – A controladora executa a operação com o dispositivo enquanto a CPU pode realizar outras tarefas. – O device driver, então, testa os resultados através dos registradores do controlador.
  • 39. Gerenciamento de dispositivos● SCSI (Small Computer Systems Interface) – Padrão popular para conexão de dispositivos ao computador – Inicialmente utilizado em RISC – Define padrões de hardware e software que permitem conectar ao computador qualquer tipo de dispositivo, mesmo de fabricantes diferentes – O Sistema Operacional deve estar configurado com um driver SCSI e o hardware com um controlador SCSI onde os periféricos são conectados
  • 40. Gerenciamento de dispositivos – Dispositivos de E/S● Responsáveis pela comunicação entre o computador e o mundo externo.● Podem ser de 3 tipos: Entrada, Saída e Entrada/Saída● Comunicação efetuada através de blocos de informações ou palavra a palavra, realizando-se a transferência através de controladoras sob supervisão da CPU
  • 41. Gerenciamento de dispositivos – Dispositivos de E/S● Dispositivos Estruturados: – Armazenam informações em blocos de tamanho fixo, cada um com um endereço – Blocos pode ser lidos ou gravados de forma independentes (Ex: discos) – Acesso Direto – blocos de dados pode ser recuperados diretamente através de um endereço (Ex: discos) – Acesso sequencial – para acessar um bloco de dados, o dispositivo deve percorrer sequencialmente o meio de armazenamento à procura do bloco (ex: fita)● Dispositivos não-Estruturados: – Podem enviar ou receber uma sequência de caracteres sem estar estruturada no formato de um bloco (Ex: impressoras, interfaces de rede)
  • 42. Gerenciamento deProteção e Segurança
  • 43. Gerenciamento de Proteção e Segurança● Proteção: refere-se a qualquer mecanismo através do qual seja possível controlar o acesso de programas, processos e usuários a programas recursos definidos por um sistema de computação● Segurança: é um conceito mais abrangente; requer não somente um ambiente adequado de proteção bem como considera o ambiente externo no qual o sistema opera
  • 44. Gerenciamento de Proteção e Segurança● Mecanismos de proteção, portanto, são ferramentas utilizadas para implementar a política de segurança definida pela organização● Mecanismos de proteção não é o mesmo que políticas de proteção – Mecanismos determinam como algo será feito – Políticas decidem o quê será feito
  • 45. Gerenciamento deProteção e Segurança - Objetivos● A proteção pode melhorar a confiabilidade, confiabilidade detectando erros latentes nas interfaces entre subsistemas componentes● A detecção antecipada de erros da interface pode impedir a contaminação de um subsistema saudável por um subsistema defeituoso● Um recurso não-protegido não pode se proteger contra uso (ou mau uso) por um usuário não- autorizado ou leigo● Um sistema orientado a proteção provê meios de distinguir entre o uso autorizado e o não- autorizado
  • 46. Gerenciamento deProteção e Segurança - Objetivos● O papel da proteção em um sistema computacional é prover um mecanismo para a execução das políticas que governam o uso do recurso – Tais políticas podem ser definidas no projeto do SO ou pelo próprio usuário – Podem variar com o tempo, por aplicação e com a situação● Princípio do menor privilégio – O SO implementa seus recursos, programas, chamadas de sistema e estruturas de dados de modo que a falha ou o comprometimento de um componente realize o mínimo de dano
  • 47. Gerenciamento de Proteção e Segurança - Domínio● Um computador é uma coleção de processos e objetos – Objetos de hardware (CPU, memória, mouse) – Objetos de software (arquivos, semáforos) – Os objetos são essencialmente tipos de dados abstratos● Um processo só deverá ter permissão para acessar os recursos para os quais tem autorização● Num dado momento, um processo só deve ser capaz de acessar aqueles recursos exigidos para concluir sua tarefa → essa limitação reduz os danos que podem ser causados por acesso indevido
  • 48. Para refletir...Analisando tecnicamente oWindows sempre perde para o Unix. Por que então algumas empresas ainda mantém parte de seus servidores na plataforma Windows?
  • 49. Referências● SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Sistemas operacionais com Java. Tradução de Daniel Vieira. Revisão técnica de Sérgio Guedes de Souza. 7. ed. Revista e ampliada. Rio de Janeiro: Elsevier, 2008. Cap. 22● TANENBAWN, A. Sistemas operacionais Modernos. Tradução de Nery Machado Filho. Rio de Janeiro: Prentice Hall, 1995. Cap. 1
  • 50. Vídeos sugeridos● Como funciona um Sistema Operacional – www.youtube.com/watch?v=nt0P8ZAYuUo● Introdução aos Sistemas Operacionais – www.youtube.com/watch?v=Zl9w2HbUecU● Entrevista sobre Sistemas Operacionais – Parte I - www.youtube.com/watch?v=5H5nFPPnB4A – Parte II - www.youtube.com/watch?v=cTFIR54UcL8● História do Linux – www.youtube.com/watch?v=OlQvGjX71cw

×