Buscar

Sistemas Operacionais- Assunto completo

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

Continue navegando