Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE ESTADUAL DA PARAÍBA - UEPB CENTRO DE CIÊNCIAS E TECNOLOGIA - CCT DISCIPLINA: SISTEMAS OPERACIONAIS PROFESSOR: CAMILA SARMENTO CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCENTE : KAMILA DA SILVA ALBUQUERQUE SISTEMAS OPERACIONAIS 2.TIPOS 3.PROCESSO 16 DE SETEMBRO DE 2017 2 - TIPOS DE SISTEMAS OPERACIONAIS 2.1 - Introdução Os tipos de sistemas operacionais e a sua evolução estão relacionados diretamente com a evolução do hardware e das aplicações por ele suportadas. Temos três tipos de sistemas operacionais que são os sistemas monoprogramáveis /monotarefa, multiprogramáveis/multitarefa e com múltiplos processadores. 2.2 - Estrutura do Sistema Operacional Existem três tipos de estruturas de sistema operacional que são : sistemas monolíticos, sistemas em camadas e sistemas cliente-servidor. 2.2.1 - Sistemas Monolíticos O sistema monolítico não possui nenhuma estrutura interna no seu núcleo. Ele é um conjunto de procedimentos, cada um deles livre para chamar o outro sempre que necessário. Os parâmetros de cada processo devem ser bem definidos assim como o seu resultado, permitindo que qualquer um dos processos aproveite o resultado de algum outro. 2.2.2 - Sistemas em camadas O sistema em camadas é estruturado em uma série de camadas , onde cada camada implementa uma parte do sistema. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores, onde a camada mais baixa presta serviços à camada de cima. 2.2.3 - Sistemas Cliente-Servidor O sistema cliente-servidor possuem servidores para arquivos, banco de dados, entre outros. Na maioria das vezes os clientes e servidores comunicam por meio de uma rede de computadores, onde os clientes geralmente usam microcomputadores PCs ligados em rede e servidores são equipamentos com maior poder de processamento e armazenamento. 2.3 - Sistemas Monoprogramáveis / Monotarefas Ambiente que o usuário executa um programa de cada vez , qualquer outro programa, para ser executado, deveria aguardar o término do programa corrente. Os sistemas monoprogramáveis:caracterizam-se por permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Os sistemas monotarefa: caracterizam-se por permitir que todos os recursos do sistema fiquem exclusivamente dedicados a uma única tarefa. 2.4 - Sistemas Multiprogramáveis / Multitarefa Neste tipo de sistema, os recursos computacionais são compartilhados entre os diversos usuários e aplicações. A vantagens do uso de sistemas multiprogramáveis são a redução do tempo de resposta das aplicações Sistemas Multiprogramáveis: vários programas podem utilizar o mesmo recurso. Sistemas de Multitarefas : permite ao usuário editar textos, imprimir arquivos, ou seja, várias tarefas ao mesmo tempo. .Os sistemas multiprogramáveis ou multitarefas podem ser classificados pela forma que suas aplicações são gerenciadas. 2.4.1 - Sistemas Batch Os sistemas batch armazenam os seus programas em discos ou fitas, onde esperam para serem executados sequencialmente. Quando um programa termina , é colocado outro programa na execução imediatamente. Os JOBS não exigem interação com o usuário. 2.4.2 - Sistemas de tempo compartilhado Nesse sistema existe interação com o usuário, onde se comunica diretamente com o sistema operacional. Diversos programas são executados a partir da divisão de tempo do processador em pequenos intervalos, chamados fatia de tempo. Se caso não der tempo para o programa ser executado, é substituído por outro e fica aguardando uma nova fatia de tempo. 2.4.3 - Sistemas de tempo real Esse sistema é semelhante ao sistema de tempo compartilhado , porém os programas devem ser executados dentro do tempo imposto pela aplicação. 2.5 - Sistemas com Múltiplos Processadores; Esse sistema é caracterizado por ter uma ou mais CPUs interligadas, trabalhando em conjunto. Nesse sistema é permitido 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. 2.6 - Sistemas fortemente acoplados Nesse sistema existem vários processadores compartilhando uma única memória e apenas um sistema operacional , permitem que vários programas sejam executados ao mesmo tempo, ou que um programa seja dividido em subprogramas, para execução simultânea em mais de um processador. Dessa forma, é possível ampliar a capacidade, adquirindo apenas novos processadores, menos custos. 2.6.1 - Sistemas assimétricos e simétricos Sistemas Assimétricos: caracterizam-se por possuir um processador primário, responsável pelo controle dos demais processadores (secundários) e pelo sistema operacional. Os processadores secundários apenas processam programas de usuários e, se o processador primário falhar, o sistema para. Neste caso, o sistema deve ser reconfigurado para outro assumir. Esse tipo de sistema não utiliza eficientemente o hardware, devido à assimetria dos processadores, que não realizam as mesmas funções. Sistemas Simétricos: todos os processadores realizam as mesmas funções. Executam o sistema operacional independentemente. A solução desses conflitos fica a cargo do hardware e do sistema operacional. Quando um processador falha, o sistema continua em funcionamento. Os sistemas simétricos são mais poderosos que os assimétricos, permitindo um melhor balanceamento do processamento e das operações de entrada/saída, apesar de sua implementação ser bastante complexa. 2.6.2 - Multiprocessamento Nesse sistema uma tarefa pode ser dividida e executada, ao mesmo tempo, por mais de um processador. 2.6.3 - Processamento vetorial Processadores vetoriais podem realizar operações vetoriais e operações escalares como um processador comum. Normalmente eles são constituídos de duas partes: uma unidade escalar e uma unidade vetorial. 2.6.4 - Processamento paralelo Nos processadores paralelos , uma aplicação pode ser executada por mais de um processador ao mesmo tempo. Nesse tipo de ambiente, só existirá ganho real de tempo caso a aplicação possa ser dividida em partes independentes para execução simultânea. 2.6.5 - Organização funcional As organizações funcionais de multiprocessadores podem ser divididas, basicamente, em três tipos: barramento comum, barramento cruzado e memória multiport. 2.7 - Sistemas fracamente acoplados Esse sistema caracterizam-se por possuir dois ou mais sistemas de computação interligados, sendo que cada sistema possui o seu próprio sistema operacional, gerenciando os seus recursos, como processador, memória e dispositivos de entrada/saída. 2.7.1 - Sistemas operacionais de rede Nesse sistema, cada nó possui seu próprio sistema operacional, além de um hardware e software que possibilitam ao sistema ter acesso a outros componentes da rede, compartilhando seus recursos. Cada nó é totalmente independente do outro, podendo inclusive possuir sistemas operacionais diferentes. Caso a conexão entre os nós sofra qualquer problema, os sistemas podem continuar operando normalmente. 2.7.2 - Sistemas operacionais distribuídos Em sistemas distribuídos, cada componente da rede também possui seu próprio SO, memória, processador e dispositivos. O que define um sistema distribuído é a existência de um relacionamento mais forte entre os seus componentes, onde geralmente os sistemas são os mesmos. Para o usuário e suas aplicações, é como se não existisse uma rede de computadores, mas sim um único sistemacentralizado. A grande vantagem desses sistemas é a possibilidade do balanceamento de carga. 2.7.3 - Sistemas multiprogramáveis 2.7.3.1 - Introdução Os sistemas multiprogramáveis surgiram de um problema existente nos sistemas monoprogramáveis, que é a baixa utilização de recursos do sistema, com processador, memória e periféricos. 2.7.3.2 - Interrupção e exceção Quando ocorre algum problema na execução, acontece a intervenção do SO, que é chamado de interrupção ou exceção. Nestas situações o fluxo de execução do programa é desviado para uma rotina especial de tratamento. O que diferencia uma interrupção de uma exceção é o tipo de evento que gera esta condição. 2.7.3.3 - Operações de entrada e saída Em sistemas mais primitivos, a comunicação entre a UCP e os periféricos era controlada por um conjunto de instruções especiais, denominadas instruções de entrada/saída, executadas pela própria UCP. Essas instruções continham detalhes específicos de cada periférico, como quais trilhas e setores de um disco deveriam ser lidos ou gravados em determinado bloco de dados. Esse tipo de instrução limitava a comunicação do processador a um grupo particular de dispositivos. 2.7.3.4 - Buffering O objetivo do buffering é manter, na maior parte do tempo, UCP e dispositivos ocupados. O buffering veio permitir que, quando um dados fosse transferido para o buffer após uma operação de leitura, o dispositivo de entrada pudesse iniciar uma nova leitura. 2.7.3.5 - Spooling A técnica de buffering permite que um job utilize um buffer concorrentemente com um dispositivo de E/S. O spooling, basicamente, utiliza os disco como um grande buffer, permitindo que dados sejam lidos e gravados em disco, enquanto outros jobs são processados. 2.7.3.6 - Reentrância Reentrância é a capacidade de um código de programa (código reentrante) poder ser compartilhado por diversos usuários, exigindo que apenas uma cópia do programa esteja na memória. Uma característica da reentrância é que o código não pode ser modificado por nenhum usuário no momento em que está sendo executado. 2.7.3.7 - Proteção do sistema Nos sistemas multiprogramáveis, onde diversos usuários compartilham os mesmos recursos, deve existir uma preocupação, por parte do SO, de garantir a integridade dos dados pertencentes a cada usuário. Problemas como um programa acessar (acidentalmente ou não) a área de memória pertencente a outro programa ou ao próprio SO tornaria o sistema pouco confiável. Para isso, todo sistema implementa algum tipo de proteção aos diversos recursos que são compartilhados, como memória, dispositivos de E/S e UCP. 3 – PROCESSO 3.1 - Introdução Os processos representam tarefas em execução, mas nem todas têm relação direta com algum aplicativo. Muitas delas são executadas em pano de fundo e mantêm o sistema trabalhando - gerenciando redes, memória, disco, checagem antivírus, etc. Logo, podemos definir processos como softwares que executam alguma ação e que podem ser controlados de alguma maneira, seja pelo usuário, pelo aplicativo correspondente ou pelo sistema operacional. 3.2 - Modelo de processo O SO materializa o processo através de uma estrutura chamada bloco de controle do processo. A partir do PCB, o SO mantém todas as informações sobre o processo, como sua identificação, prioridade, estado corrente, recursos alocados por ele e informações sobre o programa em execução. 3.2.1 - Contexto de hardware O contexto de hardware constitui-se do conteúdo de registradores: program counter (PC), stack pointer (SP) e bits de estado. Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador. No momento em que o processo perde a utilização da UCP, o sistema salva suas informações no seu contexto de hardware. 3.2.2 - Contexto de software O contexto de software define três grupos de informações sobre um processo: sua identificação, suas quotas e seus privilégios. Especifica características do processo que vão influir na execução de um programa, como por ex., o número máximo de arquivos abertos simultaneamente ou o tamanho do buffer para operações de E/S. Essas características são determinadas no momento da criação do processo, podendo algumas ser alteradas durante sua existência. 3.2.3 - Espaço de endereçamento É a área de memória do processo onde o programa será executado, além do espaço para os dados utilizados por ele. Cada processo possui seu próprio espaço de endereçamento, que deve ser protegido do acesso dos demais processos. 3.3 - Estados do processo Existem três estados em que um processo pode se encontrar no sistema: Execução (running) – Um processo é dito no estado de execução quando está sendo processado pela UCP. Em sistemas com apenas um processador, somente um processo pode estar sendo executado em um dado instante de tempo. Pronto (ready) – Um processo está no estado de pronto quando apenas aguarda uma oportunidade para executar, ou seja, espera que o SO aloque a UCP para sua execução. Espera (wait) – Um processo está no estado de espera quando aguarda algum evento externo ou por algum recurso para poder prosseguir seu processamento. 3.4 - Mudança de estado do processo Um processo muda de estado diversas vezes, durante seu processamento, em função de eventos originados por ele próprio (eventos voluntários) ou pelo SO (eventos involuntários).Basicamente existem 5 mudanças de estado que podem ocorrer a um processo: Pronto à Execução Execução à Espera Espera à Pronto Execução à Pronto 3.5 - Subprocesso e Thread Um processo pode criar outros processos de maneira hierárquica. Quando um processo (processo pai) cria um outro, chamamos o processo criado de subprocesso ou processo filho. O subprocesso, por sua vez, pode criar outros subprocessos. A utilização de subprocessos permite dividir uma aplicação em partes que podem trabalhar de forma concorrente. Threads compartilham o processador da mesma maneira que um processos. Por exemplo, enquanto uma thread espera por uma operação de E/S, outra thread pode estar executando. Cada thread possui seu próprio conjunto de registradores (contexto de HW) , porém compartilha o mesmo espaço de endereçamento com as demais threads do processo. 3.6 - Processos do Sistema Algumas das funções 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, gerência de impressão, gerência de jobs batch, temporização, comunicação de eventos e interface de comandos. 3.7 - Tipos de processo Existem dois tipos de processamento que podem ser realizados: • CPU- bound quando o processo passa a maior parte do tempo no estado de execução • I/O-bound Quando passa a maior parte do tempo em estado de espera, pois realiza um elevado número de operações de entrada e saída. Bibliografia http://slideplayer.com.br/slide/3080306/ https://docente.ifrn.edu.br/rodrigotertulino/livros/notas-sobre-sistemas- operacionais http://slideplayer.com.br/slide/287939/ https://pt.slideshare.net/luiz_arthur/sistemas-operacionais-introducao http://gutoffc.blogspot.com.br/2009/04/estrutura-de-sistemas-operacionais.html https://pt.slideshare.net/MauroDuarte1/03-tipos-e-estrutura-dos-so https://pt.slideshare.net/marciaabrahim/arquitetura-cliente-servidor https://www.tecmundo.com.br/memoria/3197-o-que-sao-processos-de-um- sistema-operacional-e-por-que-e-importante-saber.htm https://www.passeidireto.com/disciplina/sistemas- operacionais?type=6&materialid=1643658 https://pt.wikipedia.org/wiki/Processo_(inform%C3%A1tica)http://ctd.ifsp.edu.br/~marcio.andrey/images/Introducao-Processo.pdf https://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_aos_Sistemas_Opera cionais/Ger%C3%AAncia_de_Processos https://www.passeidireto.com/disciplina/sistemas- operacionais?type=6&materialid=2542891 https://pt.wikipedia.org/wiki/Organiza%C3%A7%C3%A3o_funcional https://pt.scribd.com/doc/56411727/Sistemas-com-Multiplos-Processadores
Compartilhar