Sistemas Operacionais

Description

Mapa Mental 2
Thaise Melo
Mind Map by Thaise Melo, updated more than 1 year ago
Thaise Melo
Created by Thaise Melo about 7 years ago
30
0

Resource summary

Sistemas Operacionais
  1. Tipos de Sistemas Operacionais
    1. Sistemas Monoprogramaveis/Monotarefas

      Annotations:

      • Os primeiros sistemas operacionais eram tipicamente voltados para a execução de um único programa. Qualquer outra aplicação, para ser executada, deveria aguardar o término do programa corrente. Os sistemas monoprogramáveis, como vieram a ser conhecidos, se caracterizam por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Neste tipo de sistema, enquanto um programa aguarda por um evento, como a digitação de um dado, o processador permanece ocioso, sem realizar qualquer tipo de processamento. A memória é subutilizada, caso o programa não a preencha totalmente e os periféricos, como discos e impressoras, estão dedicados a um único usuário, nem sempre utilizados de forma integral. Comparados a outros sistemas, os sistemas monoprogramáveis ou monotarefa são de simples implementação, não existindo muita preocupação com problemas decorrentes do compartilhamento de recursos, como memória, processador e dispositivos de E/S.
      1. Sistemas Multiprogramaveis/Multitarefas

        Annotations:

        • Os sistemas multiprogramáveis ou multitarefa são uma evolução dos sistemas monoprogramáveis.  Neste tipo de sistema, por exemplo, enquanto um programa espera por uma operação de leitura ou gravação em disco, outros programas podem estar sendo processados neste mesmo intervalo de tempo. Nesse caso, podemos observar o compartilhamento da memória e do processador. O sistema operacional se preocupa em gerenciar o acesso concorrente aos seus diversos recursos, como memória, processador e periféricos, de forma ordenad e protegida, entre os diversos programas. A principal vantagem dos sistemas multiprogramáveis é a redução de custos em função da possibilidade de compartilhamento dos diversos recursos entre as diferentes aplicações. Além disso, sistemas multiprogramáveis possibilitam na média a redução total do tempo de execução das aplicações. Apesar de mais eficientes que os monoprogramáveis, são de implementação muito mais complexa. A partir do número de usuários que interagem com o sistema operacional, podemos classificar os sistemas multiprogramáveis como monousuário ou multiusuário. Os sistemas multiprogramáveis ou multitarefa podem ser classificados pela forma com que suas aplicações são gerenciadas, podendo ser divididos em sistemas batch, de tempo compartilhado ou de tempo real. Um sistema operacional pode suportar um ou mais desses tipos de processamento, dependendo de sua implementação.
        1. Concorrencia
          1. Interrupção e exceção

            Annotations:

            • Interrupção X Exceção Interrupção gerada por evento síncrono e Exceção gerada por evento assíncrono. Evento síncrono – Resultado direto da execução do programa corrente e são previsíveis. Evento assíncrono – Ocorre independentemente da execução do programa corrente e são imprevisíveis. Interrupções Tornou possível a implementação da concorrência nos sistemas multiprogramáveis. Eventos que causam intervenção no Sistema Operacional durante a execução de programas. Gerados pelo próprio Sistema Operacional ou por Hardware. O sistema é desviado para uma rotina especial de tratamento. Vetor de Interrupção – Relação de todas as rotinas de tratamento das interrupções. Mecanismo de Interrupção – Procedimento para detectar a interrupção, salvar o contexto do programa e desviar para a rotina de tratamento.  Na maioria das vezes implementados pelos projetistas e realizados pelo harware. Mascaráveis (podem ser desabilitadas) X Não-Mascaráveis (tratamento obrigatório). As interrupções possuem prioridades de execução. Controlador de pedidos de interrupção – avalia as interrupções geradas e suas prioridades de atendimento. Exceção Resultado direto da execução de uma instrução do próprio programa (ex: divisão por zero, overflow). Muitas vezes pode ser escrita pelo próprio programador, sendo possível evitar que um programa seja encerrado no caso de alguma exceção ocorrer.
            1. Controlador
              1. Entrada/Saída

                Annotations:

                • Primitivo. Comunicação entre a CPU e os periféricos controladas por um conjunto de instruções especiais.Limitava a comunicação do processador a um conjunto particular de dispositivos.
                1. Buffering

                  Annotations:

                  • Utilização de uma área da memória para transferência de dados entre periféricos e memória principal denominada buffer. Os dado são transferidos para o buffer. O dispositivo pode iniciar nova leitura enquanto a CPU manipula os dados do buffer. O mesmo pode ser aplicado para operações de gravação. Minimiza o problema da disparidade da velocidade de processamento e dispositivos de E/S Objetiva manter CPU e dispositivos de E/S ocupados na maior parte do tempo. O buffer possui uma fila FIFO podendo conter vários registros (unidade de transferência usada no mecanismo de buffering).
                  1. Spooling

                    Annotations:

                    • Surgiu no final dos anos 50.Base dos Sistemas BatchAntes, as Operações I/O eram lentas, deixando a CPU ociosa. No spooling vários programas (JOBS) eram armazenados em uma fita magnética, então eram enviados para processamento. Diminuição do tempo de execução dos jobs e transição entre eles. Da mesma forma um job poderia direcionar as saídas para impressora para outra fita. Sistemas estritamente sequenciais devido as fitas magnéticas. Mais eficiência com o surgimento de dispositivos de acesso direto, como discos e atribuição de prioridades aos jobs.
                    1. Reentrancia

                      Annotations:

                      • Diversos usuários podem estar rodando o mesmo utilitário (compartilhado) simultaneamente. Não precisa ter mais de uma cópia do mesmo utilitário na memória Exige que o código reentrante não possa ser modificado por nenhum usuário enquanto está sendo executado. Diversos usuários podem acessar partes diferentes do código manipulando seus próprios dados Exemplo: Editores de texto, compiladores, linkers.
                  2. Sistemas com Multiplos Processadores

                    Annotations:

                    • Os sistemas com múltiplos processadores caracterizam-se por possuir duas ou mais UCPs interligadas e trabalhando em conjunto. A vantagem deste tipo de sistema é permitir que vários programas sejam executados ao mesmo tempo ou que um mesmo programa seja subdividido em partes, para serem executadas simultaneamente em mais de um processador. Com múltiplos processadores, foi possível a criação de sistemas computacionais voltados, principalmente, para processamento científico, aplicado, por exemplo, no desenvolvimento aeroespacial, prospecção de petróleo, simulações, processamento de imagens e CAD. A princípio, qualquer aplicação que faça uso intensivo da UCP será beneficiada pelo acréscimo de processadores ao sistema. A evolução desses sistemas deve-se, em grande parte, ao elevado custo de desenvolvimento de processadores de alto desempenho. Os conceitos aplicados ao projeto de sistemas com múltiplos processadores incorporam os mesmos princípios básicos e benefícios apresentados na multiprogramação, além de outras características e vantagens específicas como escalabilidade, disponibilidade e balanceamento de carga. Escalabilidade é a capacidade de ampliar o poder computacional do sistema, apenas adicionando novos processadores. Em ambientes com um único processador, caso haja problemas de desempenho, seria necessário substituir todo o sistema por uma outra configuração com maior poder de processamento. Com a possibilidade de múltiplos processadores, basta acrescentar novos processadores à configuração. Disponibilidade é a capacidade de manter o sistema em operação, mesmo em casos de falhas. Neste caso, se um dos processadores falhar, os demais podem assumir suas funções de maneira transparente aos usuários e suas aplicações, embora com menor capacidade de computação. Balanceamento de carga é a possibilidade de distribuir o processamento entre os diversos processadores da configuração, a partir da carga de trabalho de cada processador, melhorando, assim, o desempenho do sistema como um todo. Um fator-chave no desenvolvimento de sistemas operacionais com múltiplos processadores é a forma de comunicação entre as UCPs e o grau de compartilhamento da memória e dos dispositivos de entrada e saída. Em função desses fatores, podemos classificar os sistemas com múltiplos processadores em fortemente acoplados ou fracamente acoplados.
                    1. Fortemente Acoplados

                      Annotations:

                      • Nos sistemas fortemente acoplados (tightly coupled) existem vários processadores compartilhando uma única memória física (shared memory) e dispositivos de entrada/saída sendo gerenciados por apenas um sistema operacional. Em função desta características, os sistemas fortemente acoplados também são conhecidos como multiprocessadores. Os sistemas fortemente acoplados podem ser divididos em SMP (Symmetric Multiprocessors) e NUMA (Non-Uniform Memory Access). Os sistemas SMP caracterizam-se pelo tempo uniforme de acesso à memória principal, pelos diversos processadores. Os sistemas NUMA apresentam diversos conjuntos, reunindo processadores e memória principal, sendo que cada conjunto é conectado aos outros através de uma rede de interconexão. O tempo de acesso à memória pelos processadores varia em função da sua localização física. Nos sistemas SMP e NUMA todos os processadores têm as mesmas funções. Inicialmente, os sistemas com múltiplos processadores estavam limitados aos sistemas de grande porte, restritos ao ambiente universitário e às grandes corporações. Com a evolução dos computadores pessoais e das estações de trabalho, os sistemas multitarefa evoluíram para permitir a existência de vários processadores no modelo simétrico. Atualmente, a grande maioria dos sistemas operacionais, como o UNIX e o Windows, implementa esta funcionalidade.
                      1. Fracamente Acoplados

                        Annotations:

                        • Os sistemas fracamente acoplados (loosely coupled) caracterizam-se por possuir dois ou mais sistemas computacionais conectados através de linhas de comunicação. Cada sistema funciona de forma independente, possuindo seu próprio sistema operacional e gerenciando seus próprios recursos, como UCP, memória e dispositivos de entrada/saída. Em função destas características, os sistemas fracamente acoplados também são conhecidos como multicomputadores. Neste modelo, cada sistema computacional também pode ser formado por um ou mais processadores. Até meados da década de 1980, as aplicações eram tipicamente centralizadas em sistemas de grande porte, com um ou mais processadores. Neste tipo de configuração, os usuários utilizam terminais não inteligentes conectados a linhas seriais dedicadas ou linhas telefônicas públicas para a comunicação interativa com esses sistemas. No modelo centralizado, os terminais não tem capacidade de processamento. Sempre que um usuário deseja alguma tarefa, o pedido é encaminhado ao sistema, que realiza o processamento e retorna uma resposta, utilizando as linhas de comunicação. Com a evolução dos computadores pessoais e das estações de trabalho, juntamente com o avanço das telecomunicações e da tecnologia de redes, surgiu um novo modelo de computação, chamado modelo de rede de computadores. Em uma rede existem dois ou mais sistemas independentes (hosts), interligados através de linhas de comunicação, que oferecem algum tipo de serviço aos demais. Neste modelo, a informação deixa de ser centralizada em poucos sistemas de grande porte e passa a ser distribuída pelos diversos sistemas da rede. Com base no grau de integração dos hosts da rede, podemos dividir os sistemas fracamente acoplados em sistemas operacionais de rede e sistemas distribuídos. A grande diferença entre os dois modelos é a capacidade do sistema operacional em criar uma imagem única dos serviços disponibilizados pela rede. Os Sistemas Operacionais de Rede (SOR) permitem que um host compartilhe seus recursos, como uma impressora ou diretório, com os demais hosts da rede. Um exemplo deste tipo de sistema são as redes locais, onde uma estação pode oferecer serviços de arquivos e impressão para as demais estações da rede, dentre outros serviços. Enquanto nos SORs os usuários têm o conhecimento dos hosts e seus serviços, nos sistemas distribuídos o sistema operacional esconde os detalhes dos hosts individuais e passa a tratá-los como um conjunto único, como se fosse um sistema fortemente acoplado. Os sistemas distribuídos permitem, por exemplo, que uma aplicação seja dividida em partes e que cada parte seja executada por hosts diferentes da rede de computadores. Para o usuário e suas aplicações é como se não existisse a rede de computadores, mas sim, um único sistema centralizado. Outro exemplo de sistemas distribuídos são os clusters. Em um cluster existem dois ou mais servidores ligados, normalmente, por algum tipo de conexão de alto desempenho. O usuário não conhece os nomes dos membros do cluster e não sabe quantos são. Quando ele precisa de algum serviço, basta solicitar ao cluster para obtê-lo. Atualmente, sistemas em cluster são utilizados para serviços de bancos de dados e Web, garantindo alta disponibilidade, escalabilidade e balanceamento de carga à solução.
                    2. Estrutura do Sistema Operacional
                      1. System Calls

                        Annotations:

                        • Comunicação do usuário ou aplicação com o núcleo do sistema operacional. Para cada serviço existe uma system call. System call X modularização. Grupos de funções: Gerência de processos: Criação e eliminação de processos; Alteração das características do processo; Sincronização e comunicação entre processos. Gerência de memória: Alocação e desalocação de memória Gerência de entrada e saída: Operações de entrada/saída; Manipulação de Arquivos.
                        1. Sistemas Monoliticos

                          Annotations:

                          • Mais comum de ser encontrada Rotinas interagem livremente umas com as outras
                          1. Sistema em Camadas

                            Annotations:

                            • Sistema operacional dividido entre camadas sobrepostas Cada módulo possui um conjunto de funções que podem ser utilizadas por outro módulo Módulos de uma camada podem apenas fazer referência a módulos das camadas inferiores Camadas internas tem mais privilégios que as camadas externas
                            1. Sistema Cliente-Servidor

                              Annotations:

                              • Tendência de tornar o núcleo menor e mais simples possível. Sistema dividido em processos, cada qual responsável por um conjunto de serviços Núcleo é responsável pela comunicação entre clientes e servidores Apenas núcleo executa no modo kernel Caso um servidor dê problemas, não compromete o funcionamento do resto do sistema Mais fácil manutenção do Sistema Operacional Permite que um cliente solicite um serviço e a resposta seja processada remotamente Na prática, implementação muito difícil e combinada com o sistema em camadas.
                              1. Modos de acesso

                                Annotations:

                                • Restrição quanto à utilização de algumas funções do sistema  Instruções privilegiadas oferecem perigo ao sistema) funcionam no modo kernel  acesso ao conjunto total de instruções do processador Instruções não privilegiadas não oferecem perigo ao sistema funcionam no modo usuário acesso à um número reduzido de instruções A system call altera o modo de acesso do processador para o modo kernel Quando uma aplicação necessita  de um serviço de risco a um sistema, chama uma system call.
                                1. Kernel

                                  Annotations:

                                  • Kernel -> conjunto de rotinas que oferecem serviços aos usuários do sistema e suas aplicações, bem como a outras rotinas do próprio sistema. Principais rotinas: tratamento de interrupções; criação e eliminação de processos; sincronização e comunicação entre processos; escalonamento e controle dos processos; gerência da memória; gerência do sistema de arquivos; operações de entrada e saída; contabilização e segurança do sistema.
                                2. Processos

                                  Annotations:

                                  • De forma simples, o processo é um programa em execução. Extensão do conceito:  Estrutura responsável pela manutenção de todas as informações necessárias à execução de um programa, como conteúdo de registradores e espaço na memória
                                  1. Modelo de Processo

                                    Annotations:

                                    • Processo = ambiente onde se executa um programaUm mesmo programa pode produzir resultados diferentes, dependendo do processo no qual ele é executado. Bloco de controle do processo (Process Control Block – PCB) – Estrutura onde o SO guarda todas as informações do processo, contendo sua identificação, prioridade, estado corrente, recursos alocados por ele e informações sobre o programa em execução O Sistema Operacional gerencia os processos através de System Calls.Processo : contexto de hardware, software e espaço de endereçamento. Processo = ambiente onde se executa um programa Um mesmo programa pode produzir resultados diferentes, dependendo do processo no qual ele é executado. Bloco de controle do processo (Process Control Block – PCB) – Estrutura onde o SO guarda todas as informações do processo, contendo sua identificação, prioridade, estado corrente, recursos alocados por ele e informações sobre o programa em execução O Sistema Operacional gerencia os processos através de System Calls.Processo : contexto de hardware, software e espaço de endereçamento.
                                    1. Contexto de Hardware

                                      Annotations:

                                      • Constitui-se do conteúdo de registradores A troca de um processo por outro na CPU, pelo sistema operacional, é denominada mudança de contexto. Mudança de Contexto -  salva o conteúdo dos registradores da CPU e carregá-los com os valores referente ao do processo que está ganhando a utilização do processador.
                                      1. Contexto de Software

                                        Annotations:

                                        • Características do processo incluídas na execução de um programa, divididas em: Identificação – Principalmente número (PID) de identificação e identificação do processo ou usuário (UID) que o criou. Quotas – Limites de cada recurso do sistema que um processo pode alocar Privilégios – o que o processo pode ou não fazer em relação ao sistema e aos outros processos.
                                        1. Espaço de Endereçamento

                                          Annotations:

                                          • Área da memória do processo onde o programa será executado e para dados utilizados por ele. Deve ser protegido do espaço de endereçamento dos demais processos
                                          1. Estado do Processo

                                            Annotations:

                                            • Em sistemas Multitarefas o processo não é executado todo o tempo pelo processador 3 tipos de estados: Execução (running)  – O processo está sendo executado pela CPU. Pronto (ready) – O processo está pronto e esperando para ser executado pela CPU. Espera (wait) – O processo está esperando algum evento externo ou por algum recurso para poder prosseguir seu processamento. Bloqueado – O processo está esperando por algum recurso do sistema que não se encontra disponível.
                                            1. Mudança de estado do Processo

                                              Annotations:

                                              • Mudança de estado por eventos do próprio processo (eventos voluntários) ou causados pelo sistema operacional (eventos involuntários).  Dividido em 4 mudanças:Pronto -> Execução = Quando um processo é criado, é colocado em uma lista de processos no estado pronto. Então é escolhido pelo sistema para ser executado.Execução -> Espera = O processo passa para espera quando aguarda a conclusão de um evento solicitado.Espera -> Pronto = O processo passa para pronto quando a operação solicitada é atendida ou o recurso esperado é concedido.Execução -> Pronto = O processo passa de execução para pronto por eventos gerados pelo sistema.
                                              1. Subprocesso e Thread

                                                Annotations:

                                                • Subprocesso ou processo filho processos criados por um outro processo, de maneira hierárquica. O subprocessos são eliminados quando o processo pai deixa de existir. Permite dividir a aplicação para trabalhar de forma concorrente. Cada processo e subprocesso possui seu ambiente e recursos alocados. Thread ou Linha de Controle No ambiente multthread cada processo pode responder a várias solicitações concorrentes ou mesmo simultaneamente, se houver mais de um processador. Threads compartilham o processador da mesma forma que um processo. Cada Thread possui seu próprio conjunto de registradores, porém compartilha o mesmo espaço de endereçamento com as demais threads do processo. Uma Thread pode alterar os dados de outra Thread.
                                                1. Processos do Sistema

                                                  Annotations:

                                                  • Grande parte do núcleo do sistema é executada no contexto de processos, inclusive no contexto de processos de usuários, como: auditoria e segurança: serviços de rede; contabilização do uso de recursos; contabilização de erros; gerência de impressão; gerência de jobs batch; temporização; comunicação de eventos; inteface de comando (shell).
                                                  1. Tipos de Processos

                                                    Annotations:

                                                    • CPU-bound (Ligado à CPU) O processo passa a maior parte do tempo no estado de execução. Realiza poucas operações de I/O Encontrado em aplicações que efetuam muitos cálculos. I/O-bound (Ligado à E/S) O processo passa a maior parte do tempo no estado de espera Encontrado em aplicações comerciais com bastante leitura, processamento e gravação. Encontrado também em aplicações interativas.
                                                  Show full summary Hide full summary

                                                  Similar

                                                  QUESTIONÁRIO DE INFORMÁTICA: SISTEMAS OPERACIONAIS
                                                  anapaulabrasilam
                                                  Sistemas operacionais
                                                  Fabricio Santos
                                                  SISTEMAS OPERACIONAIS
                                                  Hugo Deiró
                                                  Computadores
                                                  profmarcelasantos
                                                  SISTEMAS OPERACIONAIS
                                                  lorranz sousa
                                                  Sistema Computacional
                                                  profmarcelasantos
                                                  Quiz - Sistemas Operacionais
                                                  Deivson Santos
                                                  AVALIAÇÃO - SISTEMAS OPERACIONAIS
                                                  Leandro almeida
                                                  Sistemas Operacionais
                                                  Angelo Cedaspy
                                                  Sistemas Operacionais
                                                  Jociel Souza
                                                  Quiz - Windows e suas Configurações
                                                  Nilton Oliveira