SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Noções de computação –
                      Sistemas Operacionais


              Em 2008...
               e agora,
              como estão?




Profª Jocelma Rios
Set/2012
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
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.
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
Market Share dos SO
                                (Ago/2012)




Estimativa do uso de sistemas operacionais segundo uma amostra de computadores com
acesso a Internet (sempre verificar atualização na fonte) (Fonte: W3counter).
Visões possíveis sobre o SO
Gerenciamento de memória
●   Por que gerenciar memória?
    R: A memória principal é um recurso caro e escasso




RAM: R$ 30 / Gb               Disco: R$ 0,154 / Gb
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
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
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
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
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 um
desses 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.
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
Memória
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
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
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
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.
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
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
Disco rígido
●As trilhas são círculos concêntricos, que começam no
final do disco e vão se tornando menores conforme se
aproximam do centro.
●Cada trilha recebe um número de endereçamento, que
permite sua localização. A trilha mais externa recebe
o 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 pequenos
trechos onde são armazenados os dados, sendo que cada
setor guarda 512 bytes de informações.
●Um disco rígido atual possui até 900 setores em cada
trilha (o número varia de acordo com a marca e
modelo), possuindo sempre mais de 3000 trilhas.
Disco rígido

●Um HD é formado internamente por vários discos
empilhados, sendo o mais comum o uso de 2 ou 3
discos, podendo fazer gravação nas duas faces.
●Apesar de haver várias cabeças de leitura, elas não
se movimentam independentemente, pois são todas
presas à mesma peça metálica, chamada braço de
leitura (peça triangular, que pode se mover
horizontalmente). Assim, passa-se a considerar o
conjunto 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.
Disco rígido




Saiba mais: www.hardware.com.br/livros/hardware-manual/trilhas-setores-cilindros.html
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
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
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)
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
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)
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
Estados de um processo

Execução (Running):
→ Quando um processo está sendo processado pela
CPU. Tais processos se revezam na execução.
Pronto (Ready):
→ Quando um processo aguarda que o sistema
operacional aloque a CPU para sua execução.
Espera (Wait):
→ Quando um processo está aguardando algum
evento externo para prosseguir com o
processamento
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
Threads
●   Thread em modo kernel
Threads
●   Thread em modo usuário
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
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
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)
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)
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.
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
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
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)
Gerenciamento de
Proteção e Segurança
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
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
Gerenciamento de
Proteçã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
Gerenciamento de
Proteçã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
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
Para refletir...

Analisando tecnicamente o
Windows sempre perde para
   o Unix. Por que então
  algumas empresas ainda
    mantém parte de seus
 servidores na plataforma
          Windows?
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
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

Más contenido relacionado

La actualidad más candente

Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Leinylson Fontinele
 
Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Paulo Guimarães
 
Visão geral do sistema operacional
Visão geral do sistema operacionalVisão geral do sistema operacional
Visão geral do sistema operacionalLuciano Crecente
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Leinylson Fontinele
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoHus Juky
 
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Leinylson Fontinele
 
Arquitetura de um computador
Arquitetura de um computadorArquitetura de um computador
Arquitetura de um computadorFilipe Duarte
 
Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresJorge Ávila Miranda
 
Introdução à informática
Introdução à informáticaIntrodução à informática
Introdução à informáticaAdeildo Telles
 
Aula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorAula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorSuzana Viana Mota
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadoresDaniel Moura
 
Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosCarlos Eduardo Teruel
 
Infraestrutura e Componentes de Redes de Dados
Infraestrutura e Componentes de Redes de DadosInfraestrutura e Componentes de Redes de Dados
Infraestrutura e Componentes de Redes de Dadostiredes
 
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)Luis Ferreira
 
Informática Básica - conhecendo o computador
Informática Básica - conhecendo o computadorInformática Básica - conhecendo o computador
Informática Básica - conhecendo o computadorClaudio Queiroz Nascimento
 
Arquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesArquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesAlex Camargo
 

La actualidad más candente (20)

Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
 
Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)
 
Visão geral do sistema operacional
Visão geral do sistema operacionalVisão geral do sistema operacional
Visão geral do sistema operacional
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºano
 
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
 
Arquitetura de um computador
Arquitetura de um computadorArquitetura de um computador
Arquitetura de um computador
 
Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de Computadores
 
Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!
 
Introdução à informática
Introdução à informáticaIntrodução à informática
Introdução à informática
 
Aula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorAula 09 - Memórias do Computador
Aula 09 - Memórias do Computador
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos Básicos
 
Infraestrutura e Componentes de Redes de Dados
Infraestrutura e Componentes de Redes de DadosInfraestrutura e Componentes de Redes de Dados
Infraestrutura e Componentes de Redes de Dados
 
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
 
Informática Básica - conhecendo o computador
Informática Básica - conhecendo o computadorInformática Básica - conhecendo o computador
Informática Básica - conhecendo o computador
 
Diferença osi tcp ip
Diferença osi tcp ipDiferença osi tcp ip
Diferença osi tcp ip
 
Arquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesArquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruções
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 

Destacado

Sistemas Operacionais aula 01
Sistemas Operacionais aula 01Sistemas Operacionais aula 01
Sistemas Operacionais aula 01Diego Rodrigues
 
Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmosJocelma Rios
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma Rios
 
Noções básicas de computação hardware
Noções básicas de computação   hardwareNoções básicas de computação   hardware
Noções básicas de computação hardwareJocelma Rios
 
Memórias digitais1
Memórias digitais1Memórias digitais1
Memórias digitais1Sérgio Reis
 
Apresentação1
Apresentação1Apresentação1
Apresentação1Hebert3
 
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...Jocelma Rios
 
Aula seis Sistemas Operacionais
Aula seis Sistemas OperacionaisAula seis Sistemas Operacionais
Aula seis Sistemas OperacionaisLabin2bpm
 
Aula 5b - História do Windows
Aula 5b - História do WindowsAula 5b - História do Windows
Aula 5b - História do WindowsJocelma Rios
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Aulas 6 e 7 - Redes e Telecomunicações
Aulas 6 e 7 - Redes e TelecomunicaçõesAulas 6 e 7 - Redes e Telecomunicações
Aulas 6 e 7 - Redes e TelecomunicaçõesJocelma Rios
 
Montagem e Manutenção de Micros - Aula 17/05 - SETUP - BIOS - CMOS - T7006B
Montagem e Manutenção de Micros - Aula 17/05 - SETUP - BIOS - CMOS - T7006BMontagem e Manutenção de Micros - Aula 17/05 - SETUP - BIOS - CMOS - T7006B
Montagem e Manutenção de Micros - Aula 17/05 - SETUP - BIOS - CMOS - T7006BAlexandre Da Silva Azevedo
 
09 hardwere (configuração do set up)
09   hardwere (configuração do set up)09   hardwere (configuração do set up)
09 hardwere (configuração do set up)Elizeu Ferro
 
Aulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de BooleAulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de BooleJocelma Rios
 
Aula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoAula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoJocelma Rios
 
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...Jocelma Rios
 

Destacado (20)

Sistemas Operacionais aula 01
Sistemas Operacionais aula 01Sistemas Operacionais aula 01
Sistemas Operacionais aula 01
 
Aula de Informática Básica
Aula de Informática BásicaAula de Informática Básica
Aula de Informática Básica
 
Lógica e algoritmos
Lógica e algoritmosLógica e algoritmos
Lógica e algoritmos
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Noções básicas de computação hardware
Noções básicas de computação   hardwareNoções básicas de computação   hardware
Noções básicas de computação hardware
 
Memórias digitais1
Memórias digitais1Memórias digitais1
Memórias digitais1
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
BIOS
BIOSBIOS
BIOS
 
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
Fortec2014 mesa redonda dinâmicas de comunidades de práticas baseadas na web_...
 
Aula seis Sistemas Operacionais
Aula seis Sistemas OperacionaisAula seis Sistemas Operacionais
Aula seis Sistemas Operacionais
 
Aula 5b - História do Windows
Aula 5b - História do WindowsAula 5b - História do Windows
Aula 5b - História do Windows
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Bios
BiosBios
Bios
 
Aula 3 - Software
Aula 3 - SoftwareAula 3 - Software
Aula 3 - Software
 
Aulas 6 e 7 - Redes e Telecomunicações
Aulas 6 e 7 - Redes e TelecomunicaçõesAulas 6 e 7 - Redes e Telecomunicações
Aulas 6 e 7 - Redes e Telecomunicações
 
Montagem e Manutenção de Micros - Aula 17/05 - SETUP - BIOS - CMOS - T7006B
Montagem e Manutenção de Micros - Aula 17/05 - SETUP - BIOS - CMOS - T7006BMontagem e Manutenção de Micros - Aula 17/05 - SETUP - BIOS - CMOS - T7006B
Montagem e Manutenção de Micros - Aula 17/05 - SETUP - BIOS - CMOS - T7006B
 
09 hardwere (configuração do set up)
09   hardwere (configuração do set up)09   hardwere (configuração do set up)
09 hardwere (configuração do set up)
 
Aulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de BooleAulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de Boole
 
Aula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoAula 4 - Sistemas de Informação
Aula 4 - Sistemas de Informação
 
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
Fortec2015 comunidades de práticas baseadas na web um estudo de caso no progr...
 

Similar a Aula 5a - Sistemas Operacionais

12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3Universal.org.mx
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: IntroduçãoAlexandre Duarte
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)Vitor Hugo Melo Araújo
 
Estrutura e funcionamento de um sistema informático.
Estrutura e funcionamento de um sistema informático.Estrutura e funcionamento de um sistema informático.
Estrutura e funcionamento de um sistema informático.Andreia Gonçalves
 
O interior do computador
O interior do computadorO interior do computador
O interior do computadorguest5c96f
 
O interior do computador
O interior do computadorO interior do computador
O interior do computadorinesfurtado
 
O interior do computador
O interior do computadorO interior do computador
O interior do computadorguest5c96f
 
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSilvano Oliveira
 
Introdução a Informática - Arquitetura
Introdução a Informática - ArquiteturaIntrodução a Informática - Arquitetura
Introdução a Informática - ArquiteturaRaphael Marques
 
03 FTI Hardware e Software-atualizado.pptx
03 FTI Hardware e Software-atualizado.pptx03 FTI Hardware e Software-atualizado.pptx
03 FTI Hardware e Software-atualizado.pptxEduardoHernandes9
 
Informática - Aula 3
Informática - Aula 3Informática - Aula 3
Informática - Aula 3IBEST ESCOLA
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativosMaria194536
 
Aula 3- Disciplina:Pratica Técnico Profi
Aula 3- Disciplina:Pratica Técnico ProfiAula 3- Disciplina:Pratica Técnico Profi
Aula 3- Disciplina:Pratica Técnico ProfiSaquina1
 

Similar a Aula 5a - Sistemas Operacionais (20)

12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
Gerenciamento memoria
Gerenciamento memoriaGerenciamento memoria
Gerenciamento memoria
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)
 
Estrutura e funcionamento de um sistema informático.
Estrutura e funcionamento de um sistema informático.Estrutura e funcionamento de um sistema informático.
Estrutura e funcionamento de um sistema informático.
 
teAula 11
teAula 11teAula 11
teAula 11
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
O interior do computador
O interior do computadorO interior do computador
O interior do computador
 
O interior do computador
O interior do computadorO interior do computador
O interior do computador
 
O interior do computador
O interior do computadorO interior do computador
O interior do computador
 
MemóRias
MemóRiasMemóRias
MemóRias
 
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
 
Introdução a Informática - Arquitetura
Introdução a Informática - ArquiteturaIntrodução a Informática - Arquitetura
Introdução a Informática - Arquitetura
 
S.o aula 2324
S.o aula 2324S.o aula 2324
S.o aula 2324
 
03 FTI Hardware e Software-atualizado.pptx
03 FTI Hardware e Software-atualizado.pptx03 FTI Hardware e Software-atualizado.pptx
03 FTI Hardware e Software-atualizado.pptx
 
Informática - Aula 3
Informática - Aula 3Informática - Aula 3
Informática - Aula 3
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
 
Aula 3- Disciplina:Pratica Técnico Profi
Aula 3- Disciplina:Pratica Técnico ProfiAula 3- Disciplina:Pratica Técnico Profi
Aula 3- Disciplina:Pratica Técnico Profi
 
Componentes basicos do pc
Componentes basicos do pcComponentes basicos do pc
Componentes basicos do pc
 
Aula 09 Processadores memórias e armazenamento Operador de microcomputador
Aula 09 Processadores memórias e armazenamento Operador de microcomputadorAula 09 Processadores memórias e armazenamento Operador de microcomputador
Aula 09 Processadores memórias e armazenamento Operador de microcomputador
 

Aula 5a - Sistemas Operacionais

  • 1. Noções de computação – Sistemas Operacionais Em 2008... e agora, como estão? Profª Jocelma Rios Set/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 com acesso a Internet (sempre verificar atualização na fonte) (Fonte: W3counter).
  • 7. Gerenciamento de memória ● Por que gerenciar memória? R: A memória principal é um recurso caro e escasso RAM: 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 um desses 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
  • 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 no final do disco e vão se tornando menores conforme se aproximam do centro. ●Cada trilha recebe um número de endereçamento, que permite sua localização. A trilha mais externa recebe o 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 pequenos trechos onde são armazenados os dados, sendo que cada setor guarda 512 bytes de informações. ●Um disco rígido atual possui até 900 setores em cada trilha (o número varia de acordo com a marca e modelo), possuindo sempre mais de 3000 trilhas.
  • 22. Disco rígido ●Um HD é formado internamente por vários discos empilhados, sendo o mais comum o uso de 2 ou 3 discos, podendo fazer gravação nas duas faces. ●Apesar de haver várias cabeças de leitura, elas não se movimentam independentemente, pois são todas presas à mesma peça metálica, chamada braço de leitura (peça triangular, que pode se mover horizontalmente). Assim, passa-se a considerar o conjunto 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ígido Saiba 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 processo Execução (Running): → Quando um processo está sendo processado pela CPU. Tais processos se revezam na execução. Pronto (Ready): → Quando um processo aguarda que o sistema operacional aloque a CPU para sua execução. Espera (Wait): → Quando um processo está aguardando algum evento externo para prosseguir com o processamento
  • 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)
  • 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 de Proteçã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 de Proteçã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 o Windows 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