A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Conceitos de Sistemas Operacionais Prof. Alexandre Las Casas.

Apresentações semelhantes


Apresentação em tema: "Conceitos de Sistemas Operacionais Prof. Alexandre Las Casas."— Transcrição da apresentação:

1 Conceitos de Sistemas Operacionais Prof. Alexandre Las Casas

2 Sistema operacional n Camada de software entre o hardware e as aplicações dos usuários Hardware Sistema operacional Aplicação usuários

3 Funções do sistema operacional n A partir da máquina real (hardware), criar uma máquina abstrata. n Gerenciar os recursos de hardware disponíveis às aplicações.

4 O SO como máquina abstrata n Ocultar a complexidade do hardware. n Oferecer interfaces padronizadas de acesso ao hardware. n Permitir uma visão homogênea de dispositivos distintos.

5 O SO como máquina abstrata Sistema operacional aplicação Clicar em um arquivo Assign(file, D:\README.TXT); open(file); read(file, ch); … close(file); Move head to sector 123 in FAT read 256 bytes to mem 36234H move head to sector read 1024 bytes to mem

6 O SO como gerente de recursos n Recursos da máquina processadores espaço em memória arquivos conexões de rede dispositivos externos n Controle de acesso equilibrar uso evitar conflitos

7 O SO como gerente de recursos Sistema operacional aplicação source app sdgf jhgsdfj dsjhf khj khj HKjhkjghj hg jhgj jgh jhg jhg jhg jhg kjhg jhgj hg jhg kjhkjhgjhg jhg jhg jhg jh kjhjkhgjhgjh kgjhgjhgjhgj

8 Componentes de um SO kernel entradas e saídas arquivos processos memória rede erros usuários contabi- lidade segurança interface gráfica

9 O kernel n Concentra o acesso ao hardware drivers de dispositivo gerência de acesso n Provê funções básicas operações de acesso ao hardware noção básica de processos comunicação entre processos (IPC) n É executado em modo privilegiado

10 Programas e processos n Programa: noção estática conjunto de instruções não possui um estado interno n Processo: noção dinâmica programa em execução possui um estado interno

11 Estados dos processos novoprontorodandosuspenso terminado admissão alocação da CPU fim do quantum espera de condição condição satisfeita fim de execução programa carga

12 Compartilhamento de tempo n Processos prontos compartilham CPU n Ilusão de uma CPU por processo n Cada processo recebe uma pequena fatia de tempo (< 20 mS) P1 P2P3P4P2P3 t

13 Processo = contexto + atividade n Contexto: estruturas de dados (variáveis em memória) descritores de arquivos e sockets outros recursos exclusivos n Atividade: fluxo de execução registradores, pilha de execução n Alternar processos = trocar contextos

14 A troca de contexto n A troca de contexto é uma operação cara (+/- 10% do tempo de CPU) n Para trocar de atividade, precisamos sempre trocar de contexto ? Aplicações com concorrência interna n Solução = threads: múltiplas atividades em um mesmo contexto

15 Threads n Permitem separar contexto de tarefa –Processo: unidade de contexto –Thread: unidade de atividade thread memória conexões arquivos abertos

16 Vantagens das threads n Menor custo para alternar atividades Trocar de thread é muito mais rápido que trocar de processo n Permite trocas mais freqüentes melhor tempo de resposta das aplicações n Maior facilidade para construir aplicações com múltiplas atividades Mais adequado para implementar diversas atividades que compartilham recursos comuns

17 Desvantagens das threads n Nem todos os sistemas as suportam n Falta de padronização n Exigem maior controle de concorrência no acesso aos recursos comuns n Risco de dados inconsistentes n Aplicações menos robustas se uma thread travar, a aplicação pode travar

18 Implementação de threads n No kernel: o núcleo do SO oferece os recursos para criar e gerenciar múltiplas threads por processo Em sistemas modernos (NT, Solaris, Linux) n Por bibliotecas: o núcleo do SO somente conhece processos trocas de contexto explícitas (programadas) Presente em SOs antigos (Posix, Netware)

19 Gerência de memória n Proteger contexto dos processos Cada processo tem sua área de memória evitar interferências entre processos evitar acessos de memória indevidos n Flexibilizar o uso da RAM aplicações usam muita memória gerenciar memórias virtuais (discos) compartilhar memória entre processos

20 Gerência de memória n Computadores têm memória limitada Desktops atuais: ~ 4 Gb de RAM n Grandes sistemas e aplicações Windows VISTA: ~ 4 Gb de RAM Outlook : ~ 30 Mbytes RAM n Em suma: Memória é um recurso escasso Seu uso deve ser otimizado

21 Memória real X virtual n Memória real: quantidade de RAM no computador acesso direto só permitido ao kernel dividida em quadros com ~ 4 Kbytes n Memória virtual: imagem da memória vista pelos processos maior que a RAM (CPUs 32 bits: 4 Gbytes) estruturada em páginas com ~ 4 Kbytes

22 RAM P1 Memória paginada Páginas da memória virtual Quadros da memória real P2 P4 P3

23 Memória paginada n Relação entre páginas e quadros tabelas mantidas pelo kernel mapeamento pode ser trabalhoso é necessário o auxílio do hardware n Uso da RAM torna-se muito flexível Toda a RAM é aproveitável (não há buracos) Processos vêem os mesmos endereços Possibilidade de swapping em disco Quadros de RAM podem ser compartilhados

24 RAM P1 Swapping em disco Tabela de páginas da memória virtual Quadros da memória real Área de swapping em disco

25 RAM P1 Passos do swapping Tabela de páginas da memória virtual Quadros da memória real Área de swapping em disco

26 Passos do swapping 1 : O processo tenta acessar uma área de memória não mapeada em RAM, gerando um page fault. 2: O kernel escolhe um frame de RAM a ser liberado, e envia sua página para a área de swap. 3: A tabela de páginas do processo vítima é atualizada (página enviada para o swap). 4: A página solicitada é carregada no quadro livre. 5: A tabela de página do processo é atualizada. 6: O processo acessa o endereço desejado.

27 Compartilhamento de memória n Processos podem compartilhar páginas vários processos com o mesmo código processos que precisam compartilhar dados n Manipulação das tabelas de páginas mesma posição da RAM (mesmo quadro) endereço distinto (página) em cada processo

28 RAM P1 Compartilhamento de RAM P2 Dados compartilhados Código comum

29 Sistema de arquivos n Dispositivos com tecnologias variadas DVD, CD-ROM, DAT, HD, Floppy, ZIP SCSI, IDE, ATAPI,... sistemas de arquivos em rede n Interfaces de acesso uniforme visão homogênea dos dispositivos transparência para as aplicações

30 Arquit. da gerência de arquivos Sistema de arquivos lógicosOrganização de arquivosSistema de arquivos básicoControle de entrada/saídaDispositivos físicosAPI de acesso a arquivos aplicação Application Programming Interface (ou Interface de Programação de Aplicativos)

31 Dispositivos e drivers n Dispositivo físico: armazenamento dos dados estruturados em blocos de bytes (~ 512 bytes) CD-ROM, hard disk, floppy, fitas n Driver de dispositivo: acesso em baixo nível aos dispositivos gerencia interrupções e DMA - "Direct Memory Access" mapeia acessos a trilhas/setores/cabeças em operações sobre portas de E/S do dispositivo

32 Visão dos dispositivos n Visão física: cabeças, trilhas, setores n Visão lógica: vetor de blocos idênticos n Função do sistema de arquivos básico Visão físicaVisão lógica

33 Sistema de arquivos básico n Aciona comandos de leitura/escrita nos drivers de dispositivos. n Mostra o dispositivo como um vetor de blocos de mesmo tamanho. Blocos lógicos entre 512 bytes e 8 Kbytes n Pode efetuar buffering e caching: Buffering: otimizar acessos reais em escrita. Caching: otimizar acessos reais em leitura.

34 Buffering & caching Buffer – escritaCache - leitura disco processo kernel bufferingcaching

35 Escalonamento de disco n Acesso ao disco por vários processos –processos acessam áreas distintas –o disco é um dispositivo LENTO –desempenho de I/O pode ser péssimo n Acesso ao disco deve ser escalonado –escolher ordem de atendimento dos pedidos de acesso aos discos –buscar o melhor desempenho

36 Exemplos de escalonamento bom ruim

37 Organização de arquivos n Problema: Como armazenar diversos arquivos dentro de um único vetor de blocos lógicos ? Cada arquivo também deve ser visto como uma seqüência de blocos lógicos. n Restrições: flexibilidade de alocação rapidez de acesso (seqüencial e aleatório) eficiência no uso do espaço real em disco

38 Organização de arquivos ? readme.txt 012 prova.doc aula.pdf Dispositivo físico Vetor de blocos lógicos Arquivos

39 Interfaces n Tipos de interface –Texto Linha de comando Dispositivos compactos (celulares) –Gráfica Orientada a eventos Orientada a objetos –Interface com processos físicos ou sistemas controlados

40 Interfaces gráficas

41 Classificação dos SO n Executar tarefas simultâneas mono-tarefa, multi-tarefas n Suporte a várias CPUs mono ou multi-processados (SMP) n Usuários simultâneos mono-usuário, multi-usuários n Tempo de resposta batch, interativos, de tempo real

42 Tarefas de um servidor n Esperar e atender requisições dos clientes. n Suportar requisições simultâneas. n Oferecer níveis de prioridade de serviço. n Executar tarefas de gerenciamento local. n Ser robusto e confiável. n Ser modular e escalável. n >>> O sistema operacional deve contribuir.


Carregar ppt "Conceitos de Sistemas Operacionais Prof. Alexandre Las Casas."

Apresentações semelhantes


Anúncios Google