Noções de Sistemas Operacionais  Sistemas Operacionais Linux, Mac Os e Windows Visão Geral sobre os SistemasOperacionais p...
é o Bash. Esse é um tipo de comando utilizado para executar tarefas de modo muito maisrápido.Exemplo de comandos via termi...
Painel de Controle do Ubuntu   Mensagens Instantâneas (MSN) As mensagens instantâneas (IM) são uma forma decomunicar com o...
Aplicativo para Navegar na Internet com o Ubuntu O Ubuntu vem, por omissão, com onavegador web Mozilla Firefox. O Firefox ...
Barra de Menus do Mac Os X Aparece na parte superior da tela contém menus tais como,Arquivo e Editar, os quais oferecem um...
portanto o Sistema Operacional Linux é Copyleft,isto é, todos os direitos são livres, então épossível modificar o kernel d...
Sistema Operacional Monolítico- Sistema Operacional Monolítico é um termo oriundo dosestudos referentes a sistemas operaci...
distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizandodeterminados tipos de processos,...
O escalonador do SO utiliza alguns critérios de escalonamento, como: a taxa de utilizaçãode CPU, que é a fração de tempo d...
Como pode ser visto facilmente, alguns destes objetivos são contraditórios, pois dado que aquantidade de tempo disponível ...
    FIFO (First in, first out) ou FCFS (First come, first served): Onde como seu próprio nome já     diz, o primeiro que ...
Mesmo com a aplicação de prioridades e algoritmos melhor implementados, algunsprocessos ainda correm o risco de sofrer sta...
programação e execução. Quando programas são divididos em threads, podemos ter partes doprocesso rodando em paralelo, pois...
simultaneamente. Já que cada ação ou comando em um sistema de tempo compartilhadotende a ser pequena, apenas uma pequena q...
Memória Virtual  Se você é interessado em mexer nas configurações do sistema, certamente já se deparoucom o termo “memória...
Por que usar a memória RAM? Não seria mais fácil simplesmente utilizar o HD para colocaros dados temporários?  Não necessa...
Swapping em Memória Virtual   A técnica de swapping também pode ser aplicada em sistemas com memória virtual,permitindo au...
reserva um espaço no arquivo de swap para o processo. Da mesma forma, quando umprocesso é eliminado o sistema libera a áre...
Curso: Gestão em Tecnologia da InformaçãoDisciplina: Intro. Computação e suas aplicaçõesProfessor: AdemarAlunos: Joel Nery...
Upcoming SlideShare
Loading in …5
×

Introdução a computação e suas aplicações seminário

904 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
904
On SlideShare
0
From Embeds
0
Number of Embeds
57
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introdução a computação e suas aplicações seminário

  1. 1. Noções de Sistemas Operacionais Sistemas Operacionais Linux, Mac Os e Windows Visão Geral sobre os SistemasOperacionais para Computadores.LinuxÁrea de Trabalho do Sistema Operacional Ubuntu - Linux Definição de área de Trabalho (Desktop) Todo Sistema Operacional apresenta uma área detrabalho, ou seja, um ambiente gráfico para que o usuário possa trabalhar. Em todosencontramos os ícones (Figuras que representam arquivos ou programas). A área de trabalhoé a primeira tela que visualizamos após efetuar o logon ou ligar o computador, os programassão executados dentro de janelas que ficam na área de trabalho. Kernel O Kernel controla todos os dispositivos do computador, como por exemplo a placa desom, placa de vídeo, HD, memória RAM sistemas de arquivos etc.) O Kernel do Linux tem ocódigo aberto, desta forma todos que entende de programação pode acessar e modificar deacordo com sua necessidade, habilitando suporte a novos dispositivos. Shell Sell é um interpretador de comandos, ou seja, o tradutor de uma ordem dada pelousuário através do teclado ao Kernel. O Linux apresenta vários tipos de Shell e o mais utilizado
  2. 2. é o Bash. Esse é um tipo de comando utilizado para executar tarefas de modo muito maisrápido.Exemplo de comandos via terminalObservação: No caso do Sistema Operacional Windows, chamamosde Prompt de Comandos.
  3. 3. Painel de Controle do Ubuntu Mensagens Instantâneas (MSN) As mensagens instantâneas (IM) são uma forma decomunicar com os amigos e a família, enviando mensagens uns aos outros através da internet.As mensagens instantâneas são em tempo real, e não existe qualquer atraso desde omomento em que digita a mensagem e a outra pessoa a recebe. O Pidgin é o cliente demensagens instantâneas por omissão do Ubuntu, anteriormente conhecido por Gaim. Com oPidgin pode conversar com pessoas que usam AIM/ICQ, Gadu-Gadu, GroupWise, IRC, Jabber,MSN, Napster, Bonjour e Yahoo, e listar todos os seus contactos numa só janela. Programa para Mensagem Instantânea (MSN) - Ubuntu
  4. 4. Aplicativo para Navegar na Internet com o Ubuntu O Ubuntu vem, por omissão, com onavegador web Mozilla Firefox. O Firefox tornou-se rapidamente num dos navegadores maispopulares, sendo utilizado em dezenas de milhares de sistemas em todo o mundo. Sistema Operacional Mac Os Ao iniciar o computador com Sistema Operacional Mac Os X,uma barra de menus na parte superior da tela, o Dock na parte inferior e uma janela do Findercom ícones e botões, tudo isso igual a outros sistemas operacionais. Área de Trabalho do Mac Os X Finder Para organizar arquivos e programas no Mac Os X,utilizamos o Finder.
  5. 5. Barra de Menus do Mac Os X Aparece na parte superior da tela contém menus tais como,Arquivo e Editar, os quais oferecem uma lista de comandos para realizar as tarefas. Ampliação do Dock O Dock é um jeito bastante prático de acessar os aplicativos, arquivos epastas mais usados. Assim que você arrasta um ícone para o Dock, ele é redimensionadoautomaticamente para acomodar novos itens. Calculadora falante O OS X vem com uma calculadora que fala ao pressionar cada botão,assim como os resultados. Ela tem três modos: uma calculadora simples, uma científica e umapara programadores. Windows XP Definição: O Windows XP é o Principal Sistema Operacional da atualidade paracomputadores pessoais. Ele possui uma Interface gráfica que facilita a utilização, além de umgrande Poder de Gerenciamento das funções do computador. Meu Computador É um ícone que exibe todas as unidades de disco do computador local,bem como recursos para poder configurar uma impressora e outros elementos do Windows XP,conforme as figuras abaixo: Lixeira É um local de armazenamento temporário para arquivos excluídos. Por meio delavocê poderá recuperar os arquivos excluídos por descuido. Para a limpeza da lixeira devemosclicar com o botão direito do mouse ir à opção esvaziar lixeira. Botão Iniciar Por meio dele se começa a trabalhar com os recursos do Windows XP. Cliqueno botão Iniciar para abrir um documento, acionar um aplicativo, modificar configurações, etc.Para acionar uma aplicação com o botão Iniciar, basta clicar ele e em seguida deslizar oponteiro do mouse sobre as opções, ou digitar simultaneamente as teclas Ctrl Esc. Barra de Tarefas É uma barra horizontal localizada na parte inferior da área de trabalho. Énela que está localizado o botão Iniciar e também, a referência para todas as aplicações queestão em uso. As diferenças entre os sistemas operacionais são muitas, dentre as quais são:Gratuidade e Pago- O sistema Linux é um sistema livre(free) não precisa ser comprado, bastaque o usuário saiba a versão do Sistema Operacional e baixe esse no sítio do fabricante,
  6. 6. portanto o Sistema Operacional Linux é Copyleft,isto é, todos os direitos são livres, então épossível modificar o kernel desse sistema de forma a deixá-lo mais otimizado e com melhorescondições de uso. No que se refere ao Sistema Operacional Windows qualquer versão é paga,destarte existe um custo para a aquisição do sistema, não é possível neste ter acesso aokernel do sistema pois estar nas mãos do criador do Windows, a licença é Copyright, ou seja,todos os direitos reservados a empresa nesse caso a Microsoft.Sistema de Arquivos - Tema muito abordado em provas de concurso, temos que saber que oSistema Operacional Windows utiliza o Sistema de arquivos NTSF, o sistema de arquivo énada mais que um programa que consegue alocar arquivos no disco rígido, nas primeirasversões do Windows (95 e 98) tinhamos o Sistema de arquivos FAT (16 e 32) mas caiu emdesuso, tendo em vista, a velocidade de alocação dos arquivos. O S.O Linux possui uma tipo de sistema de arquivos diferente do Windows, seu sistemaatual é o Ext 3 que possui um sistema de journalist (registro), significa que quando ocomputador é desligado repentinamente, os dados podem ser recuperados através de umregistro que foi feito no Sistema. Salienta-se que já é possível nos Sistemas Operacionais maisrecentes instalar o Sistema de Arquivo Ext 4 que creio que vária em relação ao Ext 3 oaumento da alocação de arquivos, antigamente o S.O Linux utilizava o sistemas Reiser Fs, Ext2 e outros mais não são adequados serem instalados no Sistemas, tendo em vista, queconsomem muita memória e desempenho do processador.Participação - O Sistema Operacional Windows usa para divisão das partições primárias elógicas as letras do alfabeto, exemplo:Particão do Windows- (C:)Arquivos - (D:)Músicas - (M:)O Linux não possui esse estilo de particão suas partições são classificadas em Sda1, Sda2,Sda3...Outra diferença considerável é que o S.O Linux, quando instalado exige que seja destinado umespaço no disco rígido para a Memória Virtual mais conhecida como Memória Swap. NoWindows esse processo é feito automaticamente. Por que os Sistemas Operacionais utilizam a Memória Virtual (Swap)? Imagine que seu sistema operacional estar executando um determinado aplicativo, digamosque ele é o Photoshop CS4 sua máquina que tem 1GB de memória usa todo espaço que têmpara executar o aplicativo, o processador fica desesperado e procura alguém que o socorra,encontra o HD (Disco Rígido) para que disponibilize um pouco de memória, aliviando assim aMemória Ram. Observe que a velocidade de transmissão da Memória Ram para o HD não tem comocomparar, aquela possui uma velocidade superior a esta, então quando o processador procurao hd para solicitação da memória a transmissão é mais lenta, mas é o único jeito de aliviar abarra da Memória. Quanto as semelhanças dos Sistemas Operacionais, citamos algumas mais importantes:Multi-usuário- Significa que em ambos os sistemas é possível ter vários usuários.Multi-tarefa- Podem ser executadas várias tarefas, exemplo:Escutar Música, baixar um vídeo e escrever um texto ao mesmo tempo. Observe que oProcessador executa um arquivo de cada vez, mas como a velocidade é de bilhões de hertz,nem observamos isso.Multi-Processamento- Processamento de vários dados.
  7. 7. Sistema Operacional Monolítico- Sistema Operacional Monolítico é um termo oriundo dosestudos referentes a sistemas operacionais, que designa o modelo em que o sistemaoperacional é codificado por via de uma coleção de procedimentos, onde é permitido aqualquer um deles em qualquer parte do programa "chamar" outro procedimento. A organização mais simples de um sistema como um conjunto de procedimentos que podeminteragir livremente umas com as outras.Pode ser comparada com uma aplicação que contém vários procedimentos que sãocompilados separadamente e depois linkados, formando um grande e único programaexecutável. Vantagem: – Grande desempenho Desvantagem: – O sistema pode parar por causa de um erro.- As interfaces e níveis de funcionalidade não são bem separados nem estão unificados. Oexcesso de liberdade torna o sistema vulnerável. Gerencia de recursos Todos sistema autônomo objetos de consomem recursos do sistema sistema autônomomemória, identificadores de arquivo e conexões de banco de dados. O CLR (Commonlinguagem tempo de execução) gerencia recursos automaticamente e geralmente você nãoprecisa se preocupar sobre a liberação de objetos desnecessários. No entanto, compreendercomo funciona de gerenciamento de recursos pode ajudar você projetar os aplicativos maiseficientes. O gerenciamento de recursos de hardware e software é uma tarefa extremamenteimportante atribuída ao Sistema Operacional. Diversos programas e métodos de entrada dedados competem pela atenção da CPU (Unidade Central de Processamento) e demandamemória, espaço em disco e largura de banda de entrada/saída. O sistema operacional faz opapel do bom pai. Ele cuida para que cada aplicativo tenha os recursos necessários para ofuncionamento e gerencia a capacidade limitada do sistema para atender a todos os usuários eaplicativos. Estados do processo e Escalonamento O escalonamento de processos ou agendador de tarefas (em inglês scheduling) é umaatividade organizacional feita pelo escalonador (scheduler) da Cpu ou de um sistema
  8. 8. distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizandodeterminados tipos de processos, como os de I/O Bound e os computacionalmente intensivos. O escalonador de processos de 2 níveis escolhe o processo que tem mais prioridade emenos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essaexecução o processador evita ficar ocioso.Tipos básicosEscalonador de curto prazo Seleciona entre os processos em estado de pronto que estão na memória, para seremexecutados pelo processador. O escalonador de curto prazo faz decisões de escalonamentomuito mais frequentemente que os de médio e longo prazo.Escalonador de médio prazo Seleciona entre os processos que estão na memória virtual, reduz o graude multiprogramação. Ele temporariamente remove o processo da memória principal e o colocana memória secundária (swap) fazendo as operações de swapping in e swapping out.Escalonador de longo prazo Seleciona entre os processos novos, os que são limitados por entrada/saída e os que sãolimitados por CPU, dando prioridade aqueles limitados por I/O, já que utilizam menos tempo oprocessador. Este escalonador é o responsável pelo grau de multiprocessamento, ou seja aquantidade de processos que o sistema irá trabalhar.Definição Para que a CPU não fique muito tempo sem executar tarefa alguma, os sistemasoperacionais utilizam técnicas para escalonar os processos que estão em execução ao mesmotempo na maquina. O escalonamento de processos é uma tarefa complicada, pois nenhum algoritmo étotalmente eficiente e a prova de falhas, principalmente em se tratando de sistemas interativos,como o Windows, pois a interação com o usuário é fundamental para este sistema onde quemo utiliza procura respostas rápidas e a todo o momento processos são interrompidos pelousuário.
  9. 9. O escalonador do SO utiliza alguns critérios de escalonamento, como: a taxa de utilizaçãode CPU, que é a fração de tempo durante a qual ela está sendo ocupada; throughput que sãonúmeros de processos terminados por unidade de tempo; turnaround que é o tempotranscorrido desde o momento em que o software entra e o instante em que termina suaexecução; tempo de resposta: intervalo entre a chegada ao sistema e inicio de sua execução;tempo de espera: soma dos períodos em que o programa estava no seu estado pronto. Responsáveis por essa tarefa são algoritmos que são entendidos mais facilmente,estudados separadamente, mas na pratica os sistemas operacionais utilizam combinaçõesdeles para melhor escalonar os processos.Objetivos do Escalonamento O projeto de um escalonador adequado deve levar em conta uma série de diferentesnecessidades, ou seja, o projeto de uma política de escalonamento deve contemplar osseguintes objetivos: Ser justo: Todos os processos devem ser tratados igualmente, tendo possibilidades idênticas de uso do processador, devendo ser evitado o adiamento indefinido. Maximizar a produtividade (throughput): Procurar maximizar o número de tarefas processadas por unidade de tempo. Ser previsível: Uma tarefa deveria ser sempre executada com aproximadamente o mesmo tempo e custo computacional. Minimizar o tempo de resposta para usuários interativos. Maximizar o número possível de usuário interativos. Minimizar a sobrecarga (overhead): Recursos não devem ser desperdiçados embora algum investimento em termos de recursos para o sistema pode permitir maior eficiência. Favorecer processos "bem comportados": Processos que tenham comportamento adequado poderiam receber um serviço melhor. Balancear o uso de recursos: o escalonador deve manter todos os recursos ocupados, ou seja, processos que usam recursos sub- utilizados deveriam ser favorecidos. Exibir degradação previsível e progressiva em situações de intensa carga de trabalho.
  10. 10. Como pode ser visto facilmente, alguns destes objetivos são contraditórios, pois dado que aquantidade de tempo disponível de processamento (tempo do processador) é finita, assimcomo os demais recursos computacionais, para que um proceso seja favorecido outro deve serprejudicado. O maior problema existente no projeto de algoritmos de escalonamento estáassociado à natureza imprevisível dos processos, pois não é possível prevermos se um dadoprocesso utilizará intensamente o processador, ou se precisará grandes quantidades dememória ou se necessitará numerosos acessos aos dispositivos e E/S.Qualidade do Escalonamento Existem vários critérios que permitem a avaliação da qualidade do serviço oferecido por umalgoritmo de escalonamento. São eles: uso do processador, tempo de resposta e tempo depermanência. O tempo de permanência, tempo de retorno ou turnaround time, é um critério simples dadopela soma do tempo de espera com o tempo de serviço ou tempo de execução. Em geraldeseja- se que o tempo de permanência seja o menor possível. Uma outra forma de avaliar a qualidade do escalonamento é utilizando-se do tempo depermanência normalizado, ou seja, a razão entre o tempo de permanência e o tempo deserviço.Algoritmos Escalonadores Existem os algoritmos preemptivos e os não preemptivos. Os preemptivos são algoritmosque permitem que um processo seja interrompido durante sua execução, quer seja por força deuma interrupção de entrada/saída, quer seja em decorrência da politica de escalonamentoadotada e aplicada por parte do escalonador de processos ou simplesmente por força dotérmino da execução do processo. Após a interrupção deste processo, ocorre o que se chamade troca de contexto, que consiste em salvar o conteúdo dos registradores e a memoriautilizada pelo processo e conceder à outro processo o privilégio de executar na CPU,restaurando assim o contexto deste ultimo processo. Cabe ressaltar que nos algoritmos nãopreemptivos, por serem utilizados exclusivamente em sistemas monoprocessados, esse fatonão ocorre, sendo cada programa executado até o fim.Exemplos de Algoritmos:
  11. 11.  FIFO (First in, first out) ou FCFS (First come, first served): Onde como seu próprio nome já diz, o primeiro que chega será o primeiro a ser executado; SJF (Shortest Job First): Onde o menor processo ganhará a CPU e atrás do mesmo formar uma fila de processos por ordem crescente de tempo de execução; SRT (Shortest Remaining Time): Neste algoritmo é escolhido o processo que possua o menor tempo restante, mesmo que esse processo chegue à metade de uma operação, se o processo novo for menor ele será executado primeiro; Algoritmo Loteria: O Sistema Operacional distribui tokens (fichas), numerados entre os processos, para o escalonamento é sorteado um numero aleatório para que o processo ganhe a vez na CPU, processos com mais tokens têm mais chance de receber antes a CPU. Escalonamento garantido: Este algoritmo busca cumprir promessas de alocação de CPU o mais preciso possível. RR (Round-Robin): Nesse escalonamento o sistema operacional possui um timer, chamado de quantum, onde todos os processos ganham o mesmo valor de quantum para rodarem na CPU. Com exceção do algoritmo RR e escalonamento garantido, todos os outros sofrem do problema de Inanição (starvation). Múltiplas Filas: São usadas várias filas de processos prontos para executar, cada processo e colocado em uma fila, e cada fila tem uma política de escalonamento própria e outra entre filas.Todos os algoritmos classificam os processos em estados: Iniciando, Pronto, Executando,Entrada/ Saída e Terminado.Distribuição de Propriedades Para melhorar essa distribuição da CPU entre os processos, alguns algoritmos utilizamdiferentes prioridades, essas prioridades podem ser mudadas no Windows, por exemplo, pelopróprio usuário. Com intuito de gerenciar melhor as prioridades de processo, o sistemaoperacional cria filas de processos. Em cada fila existem processos de mesma prioridade, eexiste também fila para processos de entrada e saída. Prioridades podem ser mudadas pelousuário, ou atribuídas automaticamente pelo sistema operacional em questão.
  12. 12. Mesmo com a aplicação de prioridades e algoritmos melhor implementados, algunsprocessos ainda correm o risco de sofrer starvation(ficar muito tempo sem receber a CPU) porisso em determinando momento pode ocorrer o que chamamos de aging (O aging ocorrequando a prioridade de um processo vai se alterando com o "tempo de vida" do mesmo,controlando o starvation), que muda momentaneamente a prioridade de um processo que nãoé executado há muito tempo e joga sua prioridade para a mais alta possível para que ele sejaatendido, logo após as prioridades voltam ao normal. Outro caso em que prioridades são alteradas é quando um programa de baixa prioridadecomeçou a fazer uso de algum periférico de entrada e saída antes de outro de prioridade alta.Neste caso processos de alta prioridade são obrigados a esperarem os de baixa terminar suapara E/S poderem usar este periférico.Alterando prioridades no Windows Existem ainda sistemas em que quando um processo inicia sua execução, o sistema garanteque este processo vai ser terminado, são chamados sistemas garantidos. Nestes sistemas aintervenção do usuário é mínima, ao contrario do que ocorre em sistemas em tempo real comoo Windows em que o usuário interrompe processos a todo instante por isso o sistema nãogarante que um processo vai ser Terminado.Trocas do contexto Processos são interrompidos e retomados a todo tempo, para que o sistema operacionalpossa fazer esse tipo de ação, é necessária a troca de contexto. Para que o sistemaoperacional possa interromper um processo e retomar ele mais tarde, ele usa a PCB (ProcessControl Block) para guardar todas as informações que a CPU estava usando naquele momentoe possa consulta-la mais tarde para que retome exatamente no ponto em que foi interrompidoanteriormente.Threads Processos podem ser divididos em “pedaços” para que eles não deixem de responder poralgum motivo externo, como isso poderia atrapalhar a sua execução, ou para agilizar a
  13. 13. programação e execução. Quando programas são divididos em threads, podemos ter partes doprocesso rodando em paralelo, pois as threads também são escalonáveis. Tempo Compartilhado O sistema operacional gerencia o acesso concorrente aos seus diversos recursos de formaordenada e protegida pelos diversos programas. Dessa forma é possível aumentar aprodutividade e reduzir os custos de utilização do sistema, aproveitando melhor o hardware.Por exemplo, enquanto um programa espera por uma operação de leitura ou gravação emdisco, outros programas podem estar sendo processados no mesmo intervalo de tempo. Sãomais complexos e eficientes do que os sistemas monoprogramados, que ficam dedicados a umunico usuario, já que vários programas utilizam os mesmos recursos. Os sistemas multitarefa podem ser classificados pela forma com que suas aplicações sãogerenciadas com os usuários, sendo que um sistema operacional pode suportar um ou maisdesses tipos de processamento.Sistema de Tempo Compartilhado O conceito de sistemas de tempo compartilhado, também chamados de multitarefa, é umaextensão lógica de multiprogramação. Neste ambiente, múltiplos trabalhos são executadossimultaneamente, sendo que a UCP (Unidade Central de Processamento) atende cadaprocesso por um pequeno tempo, um a um em seqüência. Os tempos dedicados para cadaprocesso são pequenos o suficiente para que os usuários consigam interagir com cadaprograma sem que percebam que existem outros programas rodando. Quando muitosprogramas estão sendo executados, a impressão que o usuário tem é de que o computadorestá lento, pois a UCP tem mais processos para atender, e portanto aumenta o tempo entre ossucessivos atendimentos para um determinado trabalho. Os sistemas de tempo compartilhado foram desenvolvidos para fornecer o uso interativo deum sistema de computação a custos razoáveis. Um sistema operacional de tempocompartilhado (time-sharing) usa escalonamento de UCP e multiprogramação para fornecer acada usuário uma pequena porção de tempo de computador. Um sistema operacional detempo compartilhado permite que muitos usuários compartilhem o computador
  14. 14. simultaneamente. Já que cada ação ou comando em um sistema de tempo compartilhadotende a ser pequena, apenas uma pequena quantidade de tempo de UCP é necessária paracada usuário. Conforme o sistema troca de um usuário para outro, cada usuário tem aimpressão de ter seu próprio computador, enquanto na realidade um computador está sendocompartilhado entre muitos usuários. É fácil de entender como funcionam sistemas de tempo compartilhado quando comparados com sistemas batchou arquivo de lote (também conhecidos por .bat) é um arquivo de computador utilizado paraautomatizar tarefas. Neste tipo de sistema operacional, um fluxo de processos separados é lido (de umaleitora de cartões, por exemplo), incluindo seus cartões de controle que predefinem o que faz o processo . Quando otrabalho termina, seu resultado normalmente é impresso, e o próximo processo é posto em execução. A idéia de tempo compartilhado foi demonstrada no início de 1960, devido aos numerososdispositivos de E/S necessários, eles somente tornaram-se comuns até o início dos anos 70.Conforme a popularidade destes sistemas cresceu, os pesquisadores tentaram combinar osrecursos de sistemas batch e de tempo compartilhado em um único sistema operacional.Muitos sistemas que foram inicialmente projetados como sistemas batch foram modificadospara criar um subsistema de tempo compartilhado. Por exemplo, o sistema batch OS/360 daIBM foi modificado para suportar a opção de tempo compartilhado (Time Sharing Option -TSO). Ao mesmo tempo, à maioria dos sistemas de tempo compartilhado foi adicionado umsubsistema batch . Hoje em dia, a maioria dos sistemas fornecem ambos processamento batche de tempo compartilhado, embora seu projeto básico e uso sejam de um ou de outro tipo. Sistemas operacionais de tempo compartilhado são sofisticados. Eles fornecem ummecanismo para execução concorrente. Como na multiprogramação, vários processos deveser mantidos simultaneamente na memória, o que requer alguma forma de gerenciamento dememória, proteção e escalonamento de UCP. Como a memória tem tamanho limitado, e emdadas situações alguns trabalhos terão que ser retirados da memória e gravadostemporariamente em disco, para que outros programas possam ser lidos do disco e postos emexecução na memória. Quando aquele processo novamente precisar de continuação em suaexecução, ele será trazido de volta para a memória. Hoje, multiprogramação e sistema compartilhado são os temas centrais dos sistemasoperacionais modernos. Os sistemas operacionais mais recentes para microcomputadoressuportam múltiplos usuários e múltiplos programas rodando concorrentemente em tempocompartilhado.
  15. 15. Memória Virtual Se você é interessado em mexer nas configurações do sistema, certamente já se deparoucom o termo “memória virtual”. O problema é que são poucas as pessoas que param parapensar sobre a importância que esse tipo de memória tem para o sistema operacional comoum todo. Antes de poder explicar o que é a memória virtual, é importante ao menos falar um poucosobre a memória RAM. Embora não seja possível perceber em um primeiro momento, ossistemas armazenamentos RAM e virtual possuem uma relação muito grande entre si.Memória RAM A chamada memória RAM é o local utilizado pelo processador para armazenar asinformações de tudo o que estiver aberto em seu computador, seja um jogo ou uma aplicaçãoqualquer. Assim, conforme novos aplicativos vão sendo executados, a RAM é consumida. O problema é que o espaço da memória RAM nos computadores é limitado, e os aplicativosconsomem cada vez mais espaço nela. >>Daí pode surgi a pergunta:
  16. 16. Por que usar a memória RAM? Não seria mais fácil simplesmente utilizar o HD para colocaros dados temporários? Não necessariamente. A principal diferença entre a RAM e o armazenamento virtual está navelocidade de acesso. O processo de leitura e escrita no disco rígido é extremamente mais lento do que namemória RAM. Dessa forma, acessar os dados presentes no recurso virtual é muito maisdevagar do que no recurso físico. Dessa forma, se o seu computador estiver com poucamemória RAM livre e precisar usar a memória virtual para armazenar os dados dos programas,certamente haverá uma queda de desempenho significativa. E quando a memória RAM se esgota, o que acontece? Muito simples: o processo utiliza amemória virtual.O que é Memória Virtual? A memória virtual é uma técnica pela qual é possível utilizar uma parte do disco rígidocomo se fosse memória RAM, assim sendo, o sistema operacional é capaz de executaraplicações mesmo que a soma de todos os programas em execução simultânea supere a damemória RAM instalada no computador. Afim de que isso ocorra, o sistema move ao disco rígido o conteúdo da memória RAM quenão foi utilizado por último, liberando espaço para novas aplicações,se esses dados movidosao HD voltem a ser necessários, o sistema automaticamente realiza a operação inversa,carregando-os na memória RAM, razão pela quais muitos chamam este tipo de procedimentode troca de memória, ou swap.
  17. 17. Swapping em Memória Virtual A técnica de swapping também pode ser aplicada em sistemas com memória virtual,permitindo aumentar o número de processos que compartilham a memória principal e,consequentemente, o grau de multiprogramação do sistema. Quando existem novos processospara serem executados e não há memória principal livre suficiente para alocação, o sistemautiliza o swapping, selecionando um ou mais processos para saírem da memória e oferecerespaço para novos processos. Depois de escolhidos, o sistema retira os processos da memóriaprincipal para a memória secundária (swap out), onde as páginas ou segmentos são gravadosem um arquivo de swap (swap file). Com os processos salvos na memória secundária, osframes ou segmentos alocados são liberados para novos processos. Posteriormente, osprocessos que foram retirados da memória devem retornar para a memória principal (swap in)para serem novamente executados. Há várias políticas que podem ser aplicadas na escolha dos processos que devem serretirados da memória principal. Independente do algoritmo utilizado, o sistema tenta selecionaros processos com as menores chances de serem executados em um futuro próximo. Namaioria das políticas, o critério de escolha considera o estado do processo e sua prioridade. Oswapping com base no estado dos processos seleciona, inicialmente, os processos que estãono estado de espera. A seleção pode ser refinada em função do tipo de espera de cadaprocesso. É possível que não existam processos suficientes no estado de espera para atenderas necessidades de memória do sistema. Nesse caso, os processos no estado de pronto commenor prioridade deverão ser selecionados. O arquivo de swap é compartilhado por todos osprocessos que estão sendo executados no ambiente. Quando um processo é criado, o sistema
  18. 18. reserva um espaço no arquivo de swap para o processo. Da mesma forma, quando umprocesso é eliminado o sistema libera a área alocada. Em alguns sistemas operacionais, oarquivo de swap é, na verdade, uma área em disco reservada exclusivamente para estafunção. Independentemente da implementação, o arquivo de swap deve oferecer o melhordesempenho possível para as operações de swapping.
  19. 19. Curso: Gestão em Tecnologia da InformaçãoDisciplina: Intro. Computação e suas aplicaçõesProfessor: AdemarAlunos: Joel Nerys Luciano Albuquerque Raylla Souza Rian Albuquerque Robson Ferreira João Pessoa, 23/11/2012

×