Your SlideShare is downloading. ×
Visão Geral: Introdução
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Visão Geral: Introdução

1,944
views

Published on

Os objetivos desta apresentação são: …

Os objetivos desta apresentação são:

* Fazer um tour pelos principais conceitos relacionados a sistemas operacionais
* Fazer uma revisão rápida sobre conceitos de organização de computadores

Published in: Education

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

No Downloads
Views
Total Views
1,944
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
140
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. Visão Geral: IntroduçãoSistemas Operacionais IProf. Alexandre Duarte : http://alexandrend.comCentro de Informática / Universidade Federal da Paraíba
  • 2. Objetivos Fazer um tour pelos principais conceitosrelacionados ao sistemas operacionais Fazer uma revisão rápida sobre conceitos deorganizaç ão de computadores
  • 3. O que é um sistema operacional? Um programa que atua como intermediário entreo usuário de um computador e o hardware Objetivos de um sistema operacional: Executar programas do usuário de forma a ajudá-loa resolver seus problemas de forma mais simples Facilitar o uso de um sistema computacional Utilizar o hardware disponível de forma eficiente
  • 4. Estrutura de um sistema computacional Os sistemas computacionais podem serdivididos em quatro componentes Usuários Aplicativos Sistema Operacional Hardware
  • 5. Definição de sistema operacional Não háuma definiç ão universalmente aceita “Tudo que o vendedor entrega quanto vocêcompra um sistema operacional” é uma boaaproximaç ão Varia amplamente “O programa que estáem execuç ão o tempo todono computador” é o núcleo Todo o resto são programas de sistema (vêm juntocom o SO) ou aplicativos.
  • 6. Definição de sistema operacional SO é um a alocador de recursos Gerencia todos os recursos da máquina Decide entre requisiç ões conflitantes de forma afazer uso eficiente e justo dos recursos SO é um programa de controle Controla a execuç ão dos programas paraprevenir erros e uso indevido do computador
  • 7. Organização de um sistema computacional Um ou mais CPUs e controladores de dispositivosconectados através de um barramento único que provêacesso a uma memó ria compartilhada Execuç ão concorrente das CPUs e dispositivos competindo porciclos de acesso à memó ria
  • 8. Operação de um sistema computacional Dispositivos de E/S e CPU podem executarconcorrentemente Cada controlador de dispositivo possui um buffer local Operaç ões de E/S são realizadas do dispositivo para obuffer local do seu controlador O controlador de dispositivo informa à CPU quandotermina de realizar uma operaç ão de E/S através deuma interrupç ão O CPU move dados entre a memó ria principal eos buffers locais dos controladores (nemsempre!)
  • 9. Funcionamento das interrupções A ocorrência de uma interrupç ão transfere ocontrole para uma rotina de tratamento deinterrupç ão, É preciso salvar o endereç o da instruç ãointerrompida A ocorrência de novas interrupç ões fica desabilitadaenquanto uma interrupç ão estásendo processada Um trap é uma interrupç ão gerada por software Um sistema operacional é baseado eminterrupç ões !
  • 10. Tratamento de interrupções O sistema operacional preserva o estado da CPUarmazenando seus registradores e o contador deprograma Determina que tipo de interrupç ão ocorreu: Polling Sistema vetorial Segmentos separados de có digo determinam queaç ões devem ser tomadas para cada tipo deinterrupç ão
  • 11. Timeline de uma interrupção
  • 12. Estrutura de E/S E/S síncrona: o controle retorna para o programa dousuário somente apó s a conclusão da operaç ão No máximo uma operaç ão de E/S em execuç ão por vez Não háparalelismo de E/S E/S assíncrona: o controle retorna para o programa dousuário antes da conclusão da operaç ão Interrupç ões são utilizadas para informar o programa dousuário sobre conclusão das operaç ões de E/S O programa do usuário pode utilizar uma chamada de sistemapara esperar explicitamente pela conclusão de uma operaç ãode E/S
  • 13. Estrutura para acesso direto àmemória Utilizado por dispositivos de E/S rápidos,capazes de transmitir dados a velocidadespró ximas a da memó ria principal O controlador de dispositivo transfere blocosde dados diretamente do buffer local para amemó ria principal sem intervenç ão da CPU
  • 14. Estrutura da armazenamento Memó ria principal: única unidade de memó ria dealta capacidade acessada diretamente pela CPU Armazenamento secundário: extensão não volátil ede alta capacidade da memó ria principal Discos magnéticos: pratos rígidos de metal ouvidro cobertos por um material magnético gravável A superfície do disco é dividida logicamente emtrilhas, que são subdivididas em setores O controlador de disco determine a interaç ãoló gica entre o dispositivo e o computador
  • 15. Hierarquia de armazenamento Sistemas de armazenamento são organizadosde forma hierárquica Velocidade Custo Volatilidade Cache: có pia armazenada em uma memó riamais rápida; a memó ria principal pode servista com um cache para dispositivos dearmazenamento secundário
  • 16. Hierarquia de dispositivos dearmazenamento
  • 17. Cache Princípio muito importante, realizado em vários níveis diferentes emum computador (hardware, sistemas operacional, software) Os dados em uso são copiados de um armazenamento mais lentopara um mais rápido O dispositivo mais rápido (cache) é consultado primeiro paradeterminar se os dados estão disponíveis Se estão, os dados são utilizados diretamente do cache (rápido) Se não, os dados são copiados para o cache e utilizados a partir dele O cache tem menor capacidade do que o dispositivo mais lentoassociado Gerenciamento de cache é um importante problema de projeto Políticas para tamanho do cache e substituiç ão de dados
  • 18. Arquitetura de um sistema computacional A maioria dos sistemas utiliza um único processador depropó sito geral (de PDAs a mainframes) A maioria dos sistemas possuem também processadores depropó sito específico Multiprocessadores têm aumentando em uso e em importância Também conhecidos como sistemas paralelos, sistemas de altoacoplamento Vantagens incluem1. Maior vazão (throughput)2. Economia de escala3. Maior confiabilidade: degradaç ão suave ou tolerância a falhas Dois tipos1. Multi-processamento Assimétrico2. Multi-processamento Simétrico
  • 19. Arquitetura de multi-processamento simétrico
  • 20. Dual-Core
  • 21. Clusters Como multiprocessadores, porém formado pormúltiplos sistemas trabalhando juntos Geralmente compartilham armazenamento atravésde uma rede Fornece um serviç o com alta disponibilidade, quesobrevive a falhas Clusters são comumente utilizados para computaç ãode alto desempenho (HPC) As aplicações precisam ser projetadas para explorar oparalelismo!
  • 22. Estrutura do sistema operacional Multiprogramaç ão é necessária para garantir usoeficiente dos recursos Um único usuário não consegue manter a CPU e osdispositivos de E/S ocupados o tempo todo Multiprogramaç ão organiza jobs (có digo e dados) deforma a permitir que a CPU sempre tenha algo paraexecutar Um subconjunto de todos os jobs do sistema é mantido emmemó ria Um dos jobs é selecionado para executar por umescalonador de jobs Quando o job precisar esperar por algo (E/S, por exemplo), oSO passa a executar outro job
  • 23. Estrutura do sistema operacional Compartilhamento de tempo (multi-tarefas) Rápida alternância da CPU entre vários jobs Fundamental para a computaç ão interativa Tempo de resposta deve ser << 1 segundo Cada usuário tem pelo menos um programa executando namemó ria: processo Se vários jobs estão prontos para serem executados aomesmo tempo: escalonamento de CPU Se os processos não cabem na memó ria, swap os move(parcialmente) para fora e para dentro da memó ria quandonecessário Memó ria Virtual permite que um processo possa serexecutado sem estar totalmente carregado na memó riaprincipal
  • 24. Layout de memória para sistemasmultiprogramados
  • 25. Operação do sistema operacional Comunicaç ão baseada em eventos Interrupç ões geradas pelo hardware Traps gerados por software Requisiç ão de um serviç o do sistema operacional Divisão por zero, loops infinitos, processos modificando/acessandomemó ria de outros processos ou do sistema operacional, etc Operaç ão em dual-mode permite que o SO se protejae proteja outros componentes do sistema Modo usuário e modo kernel Bit de modo fornecido pelo hardware Permite distinguir quando o sistema estáexecutando có digo dousuário ou có digo do núcleo Algumas instruç ões são designadas como privilegiadas,executadas apenas em modo kernel Uma chamada de sistema altera para modo kernel, retorno dachamada altera de volta para modo usuário
  • 26. Transição do modo usuário para omodo kernel Timer para prevenir loops infinitos / processossobrecarregando os recursos Agenda a ocorrência de uma interrupç ão Sistema Operacional decrementa um contador Quando chega a zero, ocorre uma interrupç ão Configurado antes de ativar o processo para reobter o controleou encerrar um processo que exceda o tempo permitido
  • 27. Gerenciamento de processos Um processo é um programa em execução É uma unidade de trabalho no sistema Um programa é uma entidade passiva e um processo é uma entidade ativa Precisam de recursos para desempenhar sua tarefa CPU, memó ria, E/S, arquivos, dados de inicializaç ão Finalizaç ão de um processo requer liberaç ão de recursos reutilizáveis Mono-threaded versus multi-threaded Único thread = um único contador de programa Múltiplos threads = um contador de programa por thread Tipicamente um sistema possue vários processos, algumusuário e algum sistema operacional executandoconcorrentemente em uma ou mais CPUs
  • 28. Funções do gerenciamento de processos Criaç ão e remoç ão de processos do usuário e dosistema Suspender e reiniciar a execuç ão de processos Prover mecanismos para permitir a sincronizaç ão entreprocessos Prover mecanismos para permitir a comunicaç ão entreprocessos Prover mecanismos para lidar com deadlocks
  • 29. Gerenciamento de memória Todos os dados na memó ria antes e depois de sua utilização Todas as instruções na memó ria para serem executadas O gerenciamento de memó ria determina o que estánamemó ria Tarefas Manter um registro sobre que partes da memó ria estão sendoatualmente utilizados e por quem estão sendo utilizadas Decidir que processo (ou partes de processos) e dados mover paradentro e para fora da memó ria Alocar e liberar espaç o de memó ria de acordo com a necessidade
  • 30. Gerenciamento de armazenamento SO provêuma visão ló gica uniforme para o armazenamento deinformaç ões Abstrai propriedades físicas em unidades ló gicas de armazenamento:arquivo Cada mídia é controlada por um dispositivo (ex., drive de disco, drive defita) As propriedades variáveis incluem velocidade de acesso, capacidade, taxa detransferência, método de acesso (sequencial ou aleató rio) Gerenciamento do sistema de arquivos Arquivos geralmente organizados em diretó rios Controle de acesso na maioria dos sistemas determina quem podeacessar o que Atividades do SO incluem Criar e remover arquivos e diretó rios Primitivas para manipular arquivos e diretó rios Mapear arquivos no armazenamento secundário Fazer backup de arquivos em mídias de armazenamento não volátil
  • 31. Gerenciamento de armazenamento demassa Discos são geralmente utilizados para armazenar dados que não cabem namemó ria principal ou que devem ser mantidos por um “longo” período detempo Um gerenciamento correto é de fundamental importância neste cenário A velocidade de todo o sistema computacional depende das engrenagens envolvidasna operaç ão do sub-sistema de disco e de seus algoritmos Atividades do SO Gerenciamento do espaç o livre Alocaç ão de armazenamento Escalonamento de disco Algumas mídias de armazenamento não precisam ser rápidas Armazenamento terciário inclui armazenamento ó tico, fitas magnéticas Mas ainda assim precisa ser gerenciado Variam entre WORM (write-once, read-many-times) e RW (read-write)
  • 32. Migração de um inteiro do disco para umregistrador Ambientes multi-tarefa precisam ter o cuidado de utilizar osvalores mais recentes, não importando onde eles seencontram na hierarquia de armazenamento Um ambiente com múltiplos processadores precisa provercoerência de cache em hardware para garantir que todosas CPUs tenham o valor mais recente em seus caches Em ambientes distribuídos a situação é ainda maiscomplexas Podem existir várias có pias completas dos dados
  • 33. Subsistema de E/S Uma das funç ões do SO é esconderpeculiaridades do hardware de seus usuários O subsistema de E/S é responsável por Gerenciamento da memó ria de E/S, incluindobuffers, cache e spooling (a sobreposiç ão dasaída de uma job com a entrada de outros) Interface comum para drivers de dispositivo Drivers para dispositivos específicos de hardware
  • 34. Proteção e segurança Proteç ão: qualquer mecanismo para controlar o acesso deprocessos ou usuários aos recursos definidos pelo SO Seguranç a: defesa do sistema contra ataques internos ouexternos Incluindo negaç ão de serviç o, vermes, vírus, roubo de identidade Os sistemas geralmente distinguem os usuários paradeterminar quem pode fazer o que A identificaç ão dos usuários inclui nome e um número associado Essa identificaç ão é então associada com todos os arquivos eprocessos desse usuário para determinar o controle de acesso Identificaç ão de grupos permite a definiç ão de conjuntos de usuáriose sua associaç ão com processos e arquivos Mecanismos para mudanç a de privilé gio permitem que usuáriospossam ganhar mais privilégios de acesso