• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Visão Geral: Introdução
 

Visão Geral: Introdução

on

  • 1,480 views

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

Statistics

Views

Total Views
1,480
Views on SlideShare
1,480
Embed Views
0

Actions

Likes
0
Downloads
99
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Visão Geral: Introdução Visão Geral: Introdução Presentation Transcript

    • Visão Geral: IntroduçãoSistemas Operacionais IProf. Alexandre Duarte : http://alexandrend.comCentro de Informática / Universidade Federal da Paraíba
    • Objetivos Fazer um tour pelos principais conceitosrelacionados ao sistemas operacionais Fazer uma revisão rápida sobre conceitos deorganizaç ão de computadores
    • 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
    • Estrutura de um sistema computacional Os sistemas computacionais podem serdivididos em quatro componentes Usuários Aplicativos Sistema Operacional Hardware
    • 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.
    • 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
    • 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
    • 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!)
    • 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 !
    • 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
    • Timeline de uma interrupção
    • 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
    • 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
    • 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
    • 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
    • Hierarquia de dispositivos dearmazenamento
    • 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
    • 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
    • Arquitetura de multi-processamento simétrico
    • Dual-Core
    • 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!
    • 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
    • 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
    • Layout de memória para sistemasmultiprogramados
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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)
    • 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
    • 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
    • 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