SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Noções de Sistemas Operacionais
  Sistemas Operacionais Linux, Mac Os e Windows Visão Geral sobre os Sistemas
Operacionais para Computadores.

Linux




Área de Trabalho do Sistema Operacional Ubuntu - Linux




   Definição de área de Trabalho (Desktop) Todo Sistema Operacional apresenta uma área de
trabalho, ou seja, um ambiente gráfico para que o usuário possa trabalhar. Em todos
encontramos 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 programas
sã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 de
som, placa de vídeo, HD, memória RAM sistemas de arquivos etc.) O Kernel do Linux tem o
código aberto, desta forma todos que entende de programação pode acessar e modificar de
acordo com sua necessidade, habilitando suporte a novos dispositivos.

  Shell Sell é um interpretador de comandos, ou seja, o tradutor de uma ordem dada pelo
usuário através do teclado ao Kernel. O Linux apresenta vários tipos de Shell e o mais utilizado
é o Bash. Esse é um tipo de comando utilizado para executar tarefas de modo muito mais
rápido.

Exemplo de comandos via terminal




Observação: No caso do Sistema Operacional Windows, chamamos
de Prompt de Comandos.
Painel de Controle do Ubuntu




   Mensagens Instantâneas (MSN) As mensagens instantâneas (IM) são uma forma de
comunicar 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 o
momento em que digita a mensagem e a outra pessoa a recebe. O Pidgin é o cliente de
mensagens instantâneas por omissão do Ubuntu, anteriormente conhecido por Gaim. Com o
Pidgin 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
Aplicativo para Navegar na Internet com o Ubuntu O Ubuntu vem, por omissão, com o
navegador web Mozilla Firefox. O Firefox tornou-se rapidamente num dos navegadores mais
populares, 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 Finder
com í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.
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 e
pastas mais usados. Assim que você arrasta um ícone para o Dock, ele é redimensionado
automaticamente 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 uma
para programadores.

  Windows XP Definição: O Windows XP é o Principal Sistema Operacional da atualidade para
computadores pessoais. Ele possui uma Interface gráfica que facilita a utilização, além de um
grande 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 dela
você poderá recuperar os arquivos excluídos por descuido. Para a limpeza da lixeira devemos
clicar 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. Clique
no 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 o
ponteiro 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 que
estã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, basta
que o usuário saiba a versão do Sistema Operacional e baixe esse no sítio do fabricante,
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 melhores
condiçõ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 ao
kernel 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 o
Sistema 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 primeiras
versões do Windows (95 e 98) tinhamos o Sistema de arquivos FAT (16 e 32) mas caiu em
desuso, 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 sistema
atual é o Ext 3 que possui um sistema de journalist (registro), significa que quando o
computador é desligado repentinamente, os dados podem ser recuperados através de um
registro que foi feito no Sistema. Salienta-se que já é possível nos Sistemas Operacionais mais
recentes instalar o Sistema de Arquivo Ext 4 que creio que vária em relação ao Ext 3 o
aumento da alocação de arquivos, antigamente o S.O Linux utilizava o sistemas Reiser Fs, Ext
2 e outros mais não são adequados serem instalados no Sistemas, tendo em vista, que
consomem            muita       memória        e        desempenho         do      processador.

Participação - O Sistema Operacional Windows usa para divisão das partições primárias e
ló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 um
espaço no disco rígido para a Memória Virtual mais conhecida como Memória Swap. No
Windows 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, digamos
que ele é o Photoshop CS4 sua máquina que tem 1GB de memória usa todo espaço que têm
para 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 a
Memória                                                                                Ram.
  Observe que a velocidade de transmissão da Memória Ram para o HD não tem como
comparar, aquela possui uma velocidade superior a esta, então quando o processador procura
o hd para solicitação da memória a transmissão é mais lenta, mas é o único jeito de aliviar a
barra                                       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 o
Processador 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.
Sistema Operacional Monolítico- Sistema Operacional Monolítico é um termo oriundo dos
estudos referentes a sistemas operacionais, que designa o modelo em que o sistema
operacional é codificado por via de uma coleção de procedimentos, onde é permitido a
qualquer um deles em qualquer parte do programa "chamar" outro procedimento.

   A organização mais simples de um sistema como um conjunto de procedimentos que podem
interagir livremente umas com as outras.
Pode ser comparada com uma aplicação que contém vários procedimentos que são
compilados separadamente e depois linkados, formando um grande e único programa
executá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. O
excesso de liberdade torna o sistema vulnerável.




                          Gerencia de recursos

  Todos sistema autônomo objetos de consomem recursos do sistema sistema autônomo
memória, identificadores de arquivo e conexões de banco de dados. O CLR (Common
linguagem tempo de execução) gerencia recursos automaticamente e geralmente você não
precisa se preocupar sobre a liberação de objetos desnecessários. No entanto, compreender
como funciona de gerenciamento de recursos pode ajudar você projetar os aplicativos mais
eficientes.

  O gerenciamento de recursos de hardware e software é uma tarefa extremamente
importante atribuída ao Sistema Operacional. Diversos programas e métodos de entrada de
dados competem pela atenção da CPU (Unidade Central de Processamento) e demanda
memória, espaço em disco e largura de banda de entrada/saída. O sistema operacional faz o
papel do bom pai. Ele cuida para que cada aplicativo tenha os recursos necessários para o
funcionamento e gerencia a capacidade limitada do sistema para atender a todos os usuários e
aplicativos.




              Estados do processo e Escalonamento


  O escalonamento de processos ou agendador de tarefas (em inglês scheduling) é uma
atividade organizacional feita pelo escalonador (scheduler) da Cpu ou de um sistema
distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando
determinados 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 e
menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa
execução o processador evita ficar ocioso.



Tipos básicos
Escalonador de curto prazo

  Seleciona entre os processos em estado de pronto que estão na memória, para serem
executados pelo processador. O escalonador de curto prazo faz decisões de escalonamento
muito 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   grau
de multiprogramação. Ele temporariamente remove o processo da memória principal e o coloca
na 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ão
limitados por CPU, dando prioridade aqueles limitados por I/O, já que utilizam menos tempo o
processador. Este escalonador é o responsável pelo grau de multiprocessamento, ou seja a
quantidade de processos que o sistema irá trabalhar.



Definição


   Para que a CPU não fique muito tempo sem executar tarefa alguma, os sistemas
operacionais utilizam técnicas para escalonar os processos que estão em execução ao mesmo
tempo 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 quem
o utiliza procura respostas rápidas e a todo o momento processos são interrompidos pelo
usuário.
O escalonador do SO utiliza alguns critérios de escalonamento, como: a taxa de utilização
de CPU, que é a fração de tempo durante a qual ela está sendo ocupada; throughput que são
números de processos terminados por unidade de tempo; turnaround que é o tempo
transcorrido desde o momento em que o software entra e o instante em que termina sua
execuçã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ções
deles para melhor escalonar os processos.



Objetivos do Escalonamento


    O projeto de um escalonador adequado deve levar em conta uma série de diferentes
necessidades, ou seja, o projeto de uma política de escalonamento deve contemplar os
seguintes 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.
Como pode ser visto facilmente, alguns destes objetivos são contraditórios, pois dado que a
quantidade de tempo disponível de processamento (tempo do processador) é finita, assim
como os demais recursos computacionais, para que um proceso seja favorecido outro deve ser
prejudicado. 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 dado
processo utilizará intensamente o processador, ou se precisará grandes quantidades de
memó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 um
algoritmo de escalonamento. São eles: uso do processador, tempo de resposta e tempo de
permanência.

  O tempo de permanência, tempo de retorno ou turnaround time, é um critério simples dado
pela soma do tempo de espera com o tempo de serviço ou tempo de execução. Em geral
deseja- 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 de
permanência normalizado, ou seja, a razão entre o tempo de permanência e o tempo de
serviço.



Algoritmos Escalonadores


  Existem os algoritmos preemptivos e os não preemptivos. Os preemptivos são algoritmos
que permitem que um processo seja interrompido durante sua execução, quer seja por força de
uma interrupção de entrada/saída, quer seja em decorrência da politica de escalonamento
adotada e aplicada por parte do escalonador de processos ou simplesmente por força do
término da execução do processo. Após a interrupção deste processo, ocorre o que se chama
de troca de contexto, que consiste em salvar o conteúdo dos registradores e a memoria
utilizada 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ão
preemptivos, por serem utilizados exclusivamente em sistemas monoprocessados, esse fato
não ocorre, sendo cada programa executado até o fim.

Exemplos de Algoritmos:
    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 utilizam
diferentes prioridades, essas prioridades podem ser mudadas no Windows, por exemplo, pelo
próprio usuário. Com intuito de gerenciar melhor as prioridades de processo, o sistema
operacional cria filas de processos. Em cada fila existem processos de mesma prioridade, e
existe também fila para processos de entrada e saída. Prioridades podem ser mudadas pelo
usuário, ou atribuídas automaticamente pelo sistema operacional em questão.
Mesmo com a aplicação de prioridades e algoritmos melhor implementados, alguns
processos ainda correm o risco de sofrer starvation(ficar muito tempo sem receber a CPU) por
isso em determinando momento pode ocorrer o que chamamos de aging (O aging ocorre
quando 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 seja
atendido, logo após as prioridades voltam ao normal.

  Outro caso em que prioridades são alteradas é quando um programa de baixa prioridade
começ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 sua
para 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 garante
que este processo vai ser terminado, são chamados sistemas garantidos. Nestes sistemas a
intervenção do usuário é mínima, ao contrario do que ocorre em sistemas em tempo real como
o Windows em que o usuário interrompe processos a todo instante por isso o sistema não
garante que um processo vai ser Terminado.



Trocas do contexto


  Processos são interrompidos e retomados a todo tempo, para que o sistema operacional
possa fazer esse tipo de ação, é necessária a troca de contexto. Para que o sistema
operacional possa interromper um processo e retomar ele mais tarde, ele usa a PCB (Process
Control Block) para guardar todas as informações que a CPU estava usando naquele momento
e possa consulta-la mais tarde para que retome exatamente no ponto em que foi interrompido
anteriormente.



Threads


  Processos podem ser divididos em “pedaços” para que eles não deixem de responder por
algum motivo externo, como isso poderia atrapalhar a sua execução, ou para agilizar a
programação e execução. Quando programas são divididos em threads, podemos ter partes do
processo 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 forma
ordenada e protegida pelos diversos programas. Dessa forma é possível aumentar a
produtividade 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 em
disco, outros programas podem estar sendo processados no mesmo intervalo de tempo. São
mais complexos e eficientes do que os sistemas monoprogramados, que ficam dedicados a um
unico usuario, já que vários programas utilizam os mesmos recursos.

  Os sistemas multitarefa podem ser classificados pela forma com que suas aplicações são
gerenciadas com os usuários, sendo que um sistema operacional pode suportar um ou mais
desses tipos de processamento.




Sistema de Tempo Compartilhado




  O conceito de sistemas de tempo compartilhado, também chamados de multitarefa, é uma
extensão lógica de multiprogramação. Neste ambiente, múltiplos trabalhos são executados
simultaneamente, sendo que a UCP (Unidade Central de Processamento) atende cada
processo por um pequeno tempo, um a um em seqüência. Os tempos dedicados para cada
processo são pequenos o suficiente para que os usuários consigam interagir com cada
programa sem que percebam que existem outros programas rodando. Quando muitos
programas estão sendo executados, a impressão que o usuário tem é de que o computador
está lento, pois a UCP tem mais processos para atender, e portanto aumenta o tempo entre os
sucessivos atendimentos para um determinado trabalho.



  Os sistemas de tempo compartilhado foram desenvolvidos para fornecer o uso interativo de
um sistema de computação a custos razoáveis. Um sistema operacional de tempo
compartilhado (time-sharing) usa escalonamento de UCP e multiprogramação para fornecer a
cada usuário uma pequena porção de tempo de computador. Um sistema operacional de
tempo compartilhado permite que muitos usuários compartilhem o computador
simultaneamente. Já que cada ação ou comando em um sistema de tempo compartilhado
tende a ser pequena, apenas uma pequena quantidade de tempo de UCP é necessária para
cada usuário. Conforme o sistema troca de um usuário para outro, cada usuário tem a
impressão de ter seu próprio computador, enquanto na realidade um computador está sendo
compartilhado entre muitos usuários.


    É fácil de entender como funcionam sistemas de tempo compartilhado quando comparados com sistemas batch
ou arquivo de lote (também conhecidos por .bat) é um arquivo de computador utilizado para
automatizar tarefas. Neste tipo de sistema operacional, um fluxo de processos separados é lido (de uma
leitora de cartões, por exemplo), incluindo seus cartões de controle que predefinem o que faz o processo . Quando o
trabalho 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 numerosos
dispositivos 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 os
recursos de sistemas batch e de tempo compartilhado em um único sistema operacional.
Muitos sistemas que foram inicialmente projetados como sistemas batch foram modificados
para criar um subsistema de tempo compartilhado. Por exemplo, o sistema batch OS/360 da
IBM 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 um
subsistema batch . Hoje em dia, a maioria dos sistemas fornecem ambos processamento batch
e 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 um
mecanismo para execução concorrente. Como na multiprogramação, vários processos deve
ser mantidos simultaneamente na memória, o que requer alguma forma de gerenciamento de
memória, proteção e escalonamento de UCP. Como a memória tem tamanho limitado, e em
dadas situações alguns trabalhos terão que ser retirados da memória e gravados
temporariamente em disco, para que outros programas possam ser lidos do disco e postos em
execução na memória. Quando aquele processo novamente precisar de continuação em sua
execução, ele será trazido de volta para a memória.



  Hoje, multiprogramação e sistema compartilhado são os temas centrais dos sistemas
operacionais modernos. Os sistemas operacionais mais recentes para microcomputadores
suportam múltiplos usuários e múltiplos programas rodando concorrentemente em tempo
compartilhado.
Memória Virtual

  Se você é interessado em mexer nas configurações do sistema, certamente já se deparou
com o termo “memória virtual”. O problema é que são poucas as pessoas que param para
pensar sobre a importância que esse tipo de memória tem para o sistema operacional como
um todo.

   Antes de poder explicar o que é a memória virtual, é importante ao menos falar um pouco
sobre a memória RAM. Embora não seja possível perceber em um primeiro momento, os
sistemas 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 as
informações de tudo o que estiver aberto em seu computador, seja um jogo ou uma aplicação
qualquer. 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 aplicativos
consomem cada vez mais espaço nela.

  >>Daí pode surgi a pergunta:
Por que usar a memória RAM? Não seria mais fácil simplesmente utilizar o HD para colocar
os dados temporários?

  Não necessariamente. A principal diferença entre a RAM e o armazenamento virtual está na
velocidade de acesso.

   O processo de leitura e escrita no disco rígido é extremamente mais lento do que na
memória RAM. Dessa forma, acessar os dados presentes no recurso virtual é muito mais
devagar do que no recurso físico. Dessa forma, se o seu computador estiver com pouca
memó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 a
memória virtual.




O que é Memória Virtual?




    A memória virtual é uma técnica pela qual é possível utilizar uma parte do disco rígido
como se fosse memória RAM, assim sendo, o sistema operacional é capaz de executar
aplicações mesmo que a soma de todos os programas em execução simultânea supere a da
memória RAM instalada no computador.

  Afim de que isso ocorra, o sistema move ao disco rígido o conteúdo da memória RAM que
não foi utilizado por último, liberando espaço para novas aplicações,se esses dados movidos
ao 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 procedimento
de troca de memória, ou swap.
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 processos
para serem executados e não há memória principal livre suficiente para alocação, o sistema
utiliza o swapping, selecionando um ou mais processos para saírem da memória e oferecer
espaço para novos processos. Depois de escolhidos, o sistema retira os processos da memória
principal para a memória secundária (swap out), onde as páginas ou segmentos são gravados
em um arquivo de swap (swap file). Com os processos salvos na memória secundária, os
frames ou segmentos alocados são liberados para novos processos. Posteriormente, os
processos 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 ser
retirados da memória principal. Independente do algoritmo utilizado, o sistema tenta selecionar
os processos com as menores chances de serem executados em um futuro próximo. Na
maioria das políticas, o critério de escolha considera o estado do processo e sua prioridade. O
swapping com base no estado dos processos seleciona, inicialmente, os processos que estão
no estado de espera. A seleção pode ser refinada em função do tipo de espera de cada
processo. É possível que não existam processos suficientes no estado de espera para atender
as necessidades de memória do sistema. Nesse caso, os processos no estado de pronto com
menor prioridade deverão ser selecionados. O arquivo de swap é compartilhado por todos os
processos que estão sendo executados no ambiente. Quando um processo é criado, o sistema
reserva um espaço no arquivo de swap para o processo. Da mesma forma, quando um
processo é eliminado o sistema libera a área alocada. Em alguns sistemas operacionais, o
arquivo de swap é, na verdade, uma área em disco reservada exclusivamente para esta
função. Independentemente da implementação, o arquivo de swap deve oferecer o melhor
desempenho possível para as operações de swapping.
Curso: Gestão em Tecnologia da Informação
Disciplina: Intro. Computação e suas aplicações
Professor: Ademar
Alunos: Joel Nerys
         Luciano Albuquerque
         Raylla Souza
         Rian Albuquerque
         Robson Ferreira




                    João Pessoa, 23/11/2012

Weitere ähnliche Inhalte

Was ist angesagt?

ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema OperacionalCláudia Costa
 
Manuscrito Final
Manuscrito FinalManuscrito Final
Manuscrito Finalleofinato
 
Sistemas Operacionais - Parte 1
Sistemas Operacionais - Parte 1Sistemas Operacionais - Parte 1
Sistemas Operacionais - Parte 1Rodrigo Piovesana
 
Sistema Operativos
Sistema OperativosSistema Operativos
Sistema OperativosBugui94
 
Informática básica sistemas operacionais
Informática básica sistemas operacionaisInformática básica sistemas operacionais
Informática básica sistemas operacionaisMatheus França
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Pepe Rocker
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosJoseVieira75
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalAlexandre Duarte
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisLeandro Júnior
 
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
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisAbnel Junior
 

Was ist angesagt? (20)

teAula 11
teAula 11teAula 11
teAula 11
 
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!
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema Operacional
 
Manuscrito Final
Manuscrito FinalManuscrito Final
Manuscrito Final
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas Operacionais - Parte 1
Sistemas Operacionais - Parte 1Sistemas Operacionais - Parte 1
Sistemas Operacionais - Parte 1
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Sistema Operativos
Sistema OperativosSistema Operativos
Sistema Operativos
 
Informática básica sistemas operacionais
Informática básica sistemas operacionaisInformática básica sistemas operacionais
Informática básica sistemas operacionais
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema Operacional
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
informática
informáticainformática
informática
 
Visão geral do sistema operacional
Visão geral do sistema operacionalVisão geral do sistema operacional
Visão geral do sistema operacional
 
1309 apostila windows_xp
1309 apostila windows_xp1309 apostila windows_xp
1309 apostila windows_xp
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas Operacionais e Mercado de Trabalho
Sistemas Operacionais e Mercado de TrabalhoSistemas Operacionais e Mercado de Trabalho
Sistemas Operacionais e Mercado de Trabalho
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 

Ähnlich wie Noções de SO Linux, Mac e Windows

Apresentação Semi-Final
Apresentação Semi-FinalApresentação Semi-Final
Apresentação Semi-FinalJordan Claussen
 
Sistemas operacionais e windows7 isaias
Sistemas operacionais e windows7 isaiasSistemas operacionais e windows7 isaias
Sistemas operacionais e windows7 isaiasIsaias_Bass
 
TA1 Slides Acessibilidade - Preto e Branco.pdf
TA1 Slides Acessibilidade - Preto e Branco.pdfTA1 Slides Acessibilidade - Preto e Branco.pdf
TA1 Slides Acessibilidade - Preto e Branco.pdfSandroPolizelLaurent
 
04 sistemas operacionais
04   sistemas operacionais04   sistemas operacionais
04 sistemas operacionaismorgannaprata
 
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticApresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticJordan Claussen
 
Noções de sistema operacional
Noções de sistema operacionalNoções de sistema operacional
Noções de sistema operacionalLuciano Lugori
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisSergioSouza
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linuxguest82cc1d
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionaisAparicio Junior
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidorSandu Postolachi
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 

Ähnlich wie Noções de SO Linux, Mac e Windows (20)

Apresentação Semi-Final
Apresentação Semi-FinalApresentação Semi-Final
Apresentação Semi-Final
 
Sistemas operacionais e windows7 isaias
Sistemas operacionais e windows7 isaiasSistemas operacionais e windows7 isaias
Sistemas operacionais e windows7 isaias
 
Apostila
ApostilaApostila
Apostila
 
Apostila Linux Educacional 3.0
Apostila Linux Educacional 3.0Apostila Linux Educacional 3.0
Apostila Linux Educacional 3.0
 
TA1 Slides Acessibilidade - Preto e Branco.pdf
TA1 Slides Acessibilidade - Preto e Branco.pdfTA1 Slides Acessibilidade - Preto e Branco.pdf
TA1 Slides Acessibilidade - Preto e Branco.pdf
 
04 sistemas operacionais
04   sistemas operacionais04   sistemas operacionais
04 sistemas operacionais
 
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's FanaticApresentação Final Ambientes Operacionais - Biblio's Fanatic
Apresentação Final Ambientes Operacionais - Biblio's Fanatic
 
Noções de sistema operacional
Noções de sistema operacionalNoções de sistema operacional
Noções de sistema operacional
 
So-mod-2
So-mod-2So-mod-2
So-mod-2
 
Aula
AulaAula
Aula
 
Apresentação do 1º questionario
Apresentação do 1º questionarioApresentação do 1º questionario
Apresentação do 1º questionario
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
SlackWare - Leonel
SlackWare - LeonelSlackWare - Leonel
SlackWare - Leonel
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
Aula 02
Aula 02Aula 02
Aula 02
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionais
 
Sistema operativo servidor
Sistema operativo servidorSistema operativo servidor
Sistema operativo servidor
 
SO tiago jesus
SO tiago jesusSO tiago jesus
SO tiago jesus
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 

Mehr von Robson Ferreira

02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projetoRobson Ferreira
 
Aula 02 introdução a redes - software de redes e serviços
Aula 02   introdução a redes - software de redes e serviçosAula 02   introdução a redes - software de redes e serviços
Aula 02 introdução a redes - software de redes e serviçosRobson Ferreira
 
Aula 01 introdução a redes - apresentação e introdução
Aula 01   introdução a redes - apresentação e introduçãoAula 01   introdução a redes - apresentação e introdução
Aula 01 introdução a redes - apresentação e introduçãoRobson Ferreira
 
Aula 03 introdução a redes - redes de computadores
Aula 03   introdução a redes - redes de computadoresAula 03   introdução a redes - redes de computadores
Aula 03 introdução a redes - redes de computadoresRobson Ferreira
 
Ingês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketIngês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketRobson Ferreira
 
Seminário linux robson e bruno melo
Seminário linux robson e bruno meloSeminário linux robson e bruno melo
Seminário linux robson e bruno meloRobson Ferreira
 
Informática aplicada prova 1
Informática aplicada prova 1Informática aplicada prova 1
Informática aplicada prova 1Robson Ferreira
 
Informática aplicada prova 1 verso
Informática aplicada prova 1 versoInformática aplicada prova 1 verso
Informática aplicada prova 1 versoRobson Ferreira
 
Inglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoInglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoRobson Ferreira
 
Inglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteInglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteRobson Ferreira
 
Inglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasInglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasRobson Ferreira
 
Inglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteInglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteRobson Ferreira
 
Inglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoInglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoRobson Ferreira
 
Conceitos e técnicas de programação exercícios i respostas
Conceitos e técnicas de programação  exercícios i respostasConceitos e técnicas de programação  exercícios i respostas
Conceitos e técnicas de programação exercícios i respostasRobson Ferreira
 
Inglês instrumental trabalho finance
Inglês instrumental trabalho financeInglês instrumental trabalho finance
Inglês instrumental trabalho financeRobson Ferreira
 
Inglês instrumental finance respostas
Inglês instrumental finance respostasInglês instrumental finance respostas
Inglês instrumental finance respostasRobson Ferreira
 
Inglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipInglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipRobson Ferreira
 

Mehr von Robson Ferreira (20)

02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto
 
122172 1445
122172 1445122172 1445
122172 1445
 
122172 1444
122172 1444122172 1444
122172 1444
 
Aula 02 introdução a redes - software de redes e serviços
Aula 02   introdução a redes - software de redes e serviçosAula 02   introdução a redes - software de redes e serviços
Aula 02 introdução a redes - software de redes e serviços
 
Aula 01 introdução a redes - apresentação e introdução
Aula 01   introdução a redes - apresentação e introduçãoAula 01   introdução a redes - apresentação e introdução
Aula 01 introdução a redes - apresentação e introdução
 
Aula 03 introdução a redes - redes de computadores
Aula 03   introdução a redes - redes de computadoresAula 03   introdução a redes - redes de computadores
Aula 03 introdução a redes - redes de computadores
 
Ingês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketIngês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 market
 
Seminário linux robson e bruno melo
Seminário linux robson e bruno meloSeminário linux robson e bruno melo
Seminário linux robson e bruno melo
 
Seminário linux
Seminário linuxSeminário linux
Seminário linux
 
Informática aplicada prova 1
Informática aplicada prova 1Informática aplicada prova 1
Informática aplicada prova 1
 
Informática aplicada prova 1 verso
Informática aplicada prova 1 versoInformática aplicada prova 1 verso
Informática aplicada prova 1 verso
 
Inglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoInglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas verso
 
Inglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteInglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frente
 
Inglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasInglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostas
 
Inglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteInglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frente
 
Inglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoInglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas verso
 
Conceitos e técnicas de programação exercícios i respostas
Conceitos e técnicas de programação  exercícios i respostasConceitos e técnicas de programação  exercícios i respostas
Conceitos e técnicas de programação exercícios i respostas
 
Inglês instrumental trabalho finance
Inglês instrumental trabalho financeInglês instrumental trabalho finance
Inglês instrumental trabalho finance
 
Inglês instrumental finance respostas
Inglês instrumental finance respostasInglês instrumental finance respostas
Inglês instrumental finance respostas
 
Inglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipInglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurship
 

Noções de SO Linux, Mac e Windows

  • 1. Noções de Sistemas Operacionais Sistemas Operacionais Linux, Mac Os e Windows Visão Geral sobre os Sistemas Operacionais para Computadores. Linux Área de Trabalho do Sistema Operacional Ubuntu - Linux Definição de área de Trabalho (Desktop) Todo Sistema Operacional apresenta uma área de trabalho, ou seja, um ambiente gráfico para que o usuário possa trabalhar. Em todos encontramos 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 programas sã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 de som, placa de vídeo, HD, memória RAM sistemas de arquivos etc.) O Kernel do Linux tem o código aberto, desta forma todos que entende de programação pode acessar e modificar de acordo com sua necessidade, habilitando suporte a novos dispositivos. Shell Sell é um interpretador de comandos, ou seja, o tradutor de uma ordem dada pelo usuário através do teclado ao Kernel. O Linux apresenta vários tipos de Shell e o mais utilizado
  • 2. é o Bash. Esse é um tipo de comando utilizado para executar tarefas de modo muito mais rápido. Exemplo de comandos via terminal Observação: No caso do Sistema Operacional Windows, chamamos de Prompt de Comandos.
  • 3. Painel de Controle do Ubuntu Mensagens Instantâneas (MSN) As mensagens instantâneas (IM) são uma forma de comunicar 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 o momento em que digita a mensagem e a outra pessoa a recebe. O Pidgin é o cliente de mensagens instantâneas por omissão do Ubuntu, anteriormente conhecido por Gaim. Com o Pidgin 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. Aplicativo para Navegar na Internet com o Ubuntu O Ubuntu vem, por omissão, com o navegador web Mozilla Firefox. O Firefox tornou-se rapidamente num dos navegadores mais populares, 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 Finder com í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. 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 e pastas mais usados. Assim que você arrasta um ícone para o Dock, ele é redimensionado automaticamente 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 uma para programadores. Windows XP Definição: O Windows XP é o Principal Sistema Operacional da atualidade para computadores pessoais. Ele possui uma Interface gráfica que facilita a utilização, além de um grande 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 dela você poderá recuperar os arquivos excluídos por descuido. Para a limpeza da lixeira devemos clicar 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. Clique no 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 o ponteiro 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 que estã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, basta que o usuário saiba a versão do Sistema Operacional e baixe esse no sítio do fabricante,
  • 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 melhores condiçõ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 ao kernel 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 o Sistema 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 primeiras versões do Windows (95 e 98) tinhamos o Sistema de arquivos FAT (16 e 32) mas caiu em desuso, 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 sistema atual é o Ext 3 que possui um sistema de journalist (registro), significa que quando o computador é desligado repentinamente, os dados podem ser recuperados através de um registro que foi feito no Sistema. Salienta-se que já é possível nos Sistemas Operacionais mais recentes instalar o Sistema de Arquivo Ext 4 que creio que vária em relação ao Ext 3 o aumento da alocação de arquivos, antigamente o S.O Linux utilizava o sistemas Reiser Fs, Ext 2 e outros mais não são adequados serem instalados no Sistemas, tendo em vista, que consomem muita memória e desempenho do processador. Participação - O Sistema Operacional Windows usa para divisão das partições primárias e ló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 um espaço no disco rígido para a Memória Virtual mais conhecida como Memória Swap. No Windows 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, digamos que ele é o Photoshop CS4 sua máquina que tem 1GB de memória usa todo espaço que têm para 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 a Memória Ram. Observe que a velocidade de transmissão da Memória Ram para o HD não tem como comparar, aquela possui uma velocidade superior a esta, então quando o processador procura o hd para solicitação da memória a transmissão é mais lenta, mas é o único jeito de aliviar a barra 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 o Processador 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. Sistema Operacional Monolítico- Sistema Operacional Monolítico é um termo oriundo dos estudos referentes a sistemas operacionais, que designa o modelo em que o sistema operacional é codificado por via de uma coleção de procedimentos, onde é permitido a qualquer um deles em qualquer parte do programa "chamar" outro procedimento. A organização mais simples de um sistema como um conjunto de procedimentos que podem interagir livremente umas com as outras. Pode ser comparada com uma aplicação que contém vários procedimentos que são compilados separadamente e depois linkados, formando um grande e único programa executá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. O excesso de liberdade torna o sistema vulnerável. Gerencia de recursos Todos sistema autônomo objetos de consomem recursos do sistema sistema autônomo memória, identificadores de arquivo e conexões de banco de dados. O CLR (Common linguagem tempo de execução) gerencia recursos automaticamente e geralmente você não precisa se preocupar sobre a liberação de objetos desnecessários. No entanto, compreender como funciona de gerenciamento de recursos pode ajudar você projetar os aplicativos mais eficientes. O gerenciamento de recursos de hardware e software é uma tarefa extremamente importante atribuída ao Sistema Operacional. Diversos programas e métodos de entrada de dados competem pela atenção da CPU (Unidade Central de Processamento) e demanda memória, espaço em disco e largura de banda de entrada/saída. O sistema operacional faz o papel do bom pai. Ele cuida para que cada aplicativo tenha os recursos necessários para o funcionamento e gerencia a capacidade limitada do sistema para atender a todos os usuários e aplicativos. Estados do processo e Escalonamento O escalonamento de processos ou agendador de tarefas (em inglês scheduling) é uma atividade organizacional feita pelo escalonador (scheduler) da Cpu ou de um sistema
  • 8. distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados 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 e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa execução o processador evita ficar ocioso. Tipos básicos Escalonador de curto prazo Seleciona entre os processos em estado de pronto que estão na memória, para serem executados pelo processador. O escalonador de curto prazo faz decisões de escalonamento muito 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 grau de multiprogramação. Ele temporariamente remove o processo da memória principal e o coloca na 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ão limitados por CPU, dando prioridade aqueles limitados por I/O, já que utilizam menos tempo o processador. Este escalonador é o responsável pelo grau de multiprocessamento, ou seja a quantidade de processos que o sistema irá trabalhar. Definição Para que a CPU não fique muito tempo sem executar tarefa alguma, os sistemas operacionais utilizam técnicas para escalonar os processos que estão em execução ao mesmo tempo 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 quem o utiliza procura respostas rápidas e a todo o momento processos são interrompidos pelo usuário.
  • 9. O escalonador do SO utiliza alguns critérios de escalonamento, como: a taxa de utilização de CPU, que é a fração de tempo durante a qual ela está sendo ocupada; throughput que são números de processos terminados por unidade de tempo; turnaround que é o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execuçã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ções deles para melhor escalonar os processos. Objetivos do Escalonamento O projeto de um escalonador adequado deve levar em conta uma série de diferentes necessidades, ou seja, o projeto de uma política de escalonamento deve contemplar os seguintes 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. Como pode ser visto facilmente, alguns destes objetivos são contraditórios, pois dado que a quantidade de tempo disponível de processamento (tempo do processador) é finita, assim como os demais recursos computacionais, para que um proceso seja favorecido outro deve ser prejudicado. 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 dado processo utilizará intensamente o processador, ou se precisará grandes quantidades de memó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 um algoritmo de escalonamento. São eles: uso do processador, tempo de resposta e tempo de permanência. O tempo de permanência, tempo de retorno ou turnaround time, é um critério simples dado pela soma do tempo de espera com o tempo de serviço ou tempo de execução. Em geral deseja- 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 de permanência normalizado, ou seja, a razão entre o tempo de permanência e o tempo de serviço. Algoritmos Escalonadores Existem os algoritmos preemptivos e os não preemptivos. Os preemptivos são algoritmos que permitem que um processo seja interrompido durante sua execução, quer seja por força de uma interrupção de entrada/saída, quer seja em decorrência da politica de escalonamento adotada e aplicada por parte do escalonador de processos ou simplesmente por força do término da execução do processo. Após a interrupção deste processo, ocorre o que se chama de troca de contexto, que consiste em salvar o conteúdo dos registradores e a memoria utilizada 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ão preemptivos, por serem utilizados exclusivamente em sistemas monoprocessados, esse fato não ocorre, sendo cada programa executado até o fim. Exemplos de Algoritmos:
  • 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 utilizam diferentes prioridades, essas prioridades podem ser mudadas no Windows, por exemplo, pelo próprio usuário. Com intuito de gerenciar melhor as prioridades de processo, o sistema operacional cria filas de processos. Em cada fila existem processos de mesma prioridade, e existe também fila para processos de entrada e saída. Prioridades podem ser mudadas pelo usuário, ou atribuídas automaticamente pelo sistema operacional em questão.
  • 12. Mesmo com a aplicação de prioridades e algoritmos melhor implementados, alguns processos ainda correm o risco de sofrer starvation(ficar muito tempo sem receber a CPU) por isso em determinando momento pode ocorrer o que chamamos de aging (O aging ocorre quando 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 seja atendido, logo após as prioridades voltam ao normal. Outro caso em que prioridades são alteradas é quando um programa de baixa prioridade começ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 sua para 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 garante que este processo vai ser terminado, são chamados sistemas garantidos. Nestes sistemas a intervenção do usuário é mínima, ao contrario do que ocorre em sistemas em tempo real como o Windows em que o usuário interrompe processos a todo instante por isso o sistema não garante que um processo vai ser Terminado. Trocas do contexto Processos são interrompidos e retomados a todo tempo, para que o sistema operacional possa fazer esse tipo de ação, é necessária a troca de contexto. Para que o sistema operacional possa interromper um processo e retomar ele mais tarde, ele usa a PCB (Process Control Block) para guardar todas as informações que a CPU estava usando naquele momento e possa consulta-la mais tarde para que retome exatamente no ponto em que foi interrompido anteriormente. Threads Processos podem ser divididos em “pedaços” para que eles não deixem de responder por algum motivo externo, como isso poderia atrapalhar a sua execução, ou para agilizar a
  • 13. programação e execução. Quando programas são divididos em threads, podemos ter partes do processo 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 forma ordenada e protegida pelos diversos programas. Dessa forma é possível aumentar a produtividade 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 em disco, outros programas podem estar sendo processados no mesmo intervalo de tempo. São mais complexos e eficientes do que os sistemas monoprogramados, que ficam dedicados a um unico usuario, já que vários programas utilizam os mesmos recursos. Os sistemas multitarefa podem ser classificados pela forma com que suas aplicações são gerenciadas com os usuários, sendo que um sistema operacional pode suportar um ou mais desses tipos de processamento. Sistema de Tempo Compartilhado O conceito de sistemas de tempo compartilhado, também chamados de multitarefa, é uma extensão lógica de multiprogramação. Neste ambiente, múltiplos trabalhos são executados simultaneamente, sendo que a UCP (Unidade Central de Processamento) atende cada processo por um pequeno tempo, um a um em seqüência. Os tempos dedicados para cada processo são pequenos o suficiente para que os usuários consigam interagir com cada programa sem que percebam que existem outros programas rodando. Quando muitos programas estão sendo executados, a impressão que o usuário tem é de que o computador está lento, pois a UCP tem mais processos para atender, e portanto aumenta o tempo entre os sucessivos atendimentos para um determinado trabalho. Os sistemas de tempo compartilhado foram desenvolvidos para fornecer o uso interativo de um sistema de computação a custos razoáveis. Um sistema operacional de tempo compartilhado (time-sharing) usa escalonamento de UCP e multiprogramação para fornecer a cada usuário uma pequena porção de tempo de computador. Um sistema operacional de tempo compartilhado permite que muitos usuários compartilhem o computador
  • 14. simultaneamente. Já que cada ação ou comando em um sistema de tempo compartilhado tende a ser pequena, apenas uma pequena quantidade de tempo de UCP é necessária para cada usuário. Conforme o sistema troca de um usuário para outro, cada usuário tem a impressão de ter seu próprio computador, enquanto na realidade um computador está sendo compartilhado entre muitos usuários. É fácil de entender como funcionam sistemas de tempo compartilhado quando comparados com sistemas batch ou arquivo de lote (também conhecidos por .bat) é um arquivo de computador utilizado para automatizar tarefas. Neste tipo de sistema operacional, um fluxo de processos separados é lido (de uma leitora de cartões, por exemplo), incluindo seus cartões de controle que predefinem o que faz o processo . Quando o trabalho 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 numerosos dispositivos 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 os recursos de sistemas batch e de tempo compartilhado em um único sistema operacional. Muitos sistemas que foram inicialmente projetados como sistemas batch foram modificados para criar um subsistema de tempo compartilhado. Por exemplo, o sistema batch OS/360 da IBM 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 um subsistema batch . Hoje em dia, a maioria dos sistemas fornecem ambos processamento batch e 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 um mecanismo para execução concorrente. Como na multiprogramação, vários processos deve ser mantidos simultaneamente na memória, o que requer alguma forma de gerenciamento de memória, proteção e escalonamento de UCP. Como a memória tem tamanho limitado, e em dadas situações alguns trabalhos terão que ser retirados da memória e gravados temporariamente em disco, para que outros programas possam ser lidos do disco e postos em execução na memória. Quando aquele processo novamente precisar de continuação em sua execução, ele será trazido de volta para a memória. Hoje, multiprogramação e sistema compartilhado são os temas centrais dos sistemas operacionais modernos. Os sistemas operacionais mais recentes para microcomputadores suportam múltiplos usuários e múltiplos programas rodando concorrentemente em tempo compartilhado.
  • 15. Memória Virtual Se você é interessado em mexer nas configurações do sistema, certamente já se deparou com o termo “memória virtual”. O problema é que são poucas as pessoas que param para pensar sobre a importância que esse tipo de memória tem para o sistema operacional como um todo. Antes de poder explicar o que é a memória virtual, é importante ao menos falar um pouco sobre a memória RAM. Embora não seja possível perceber em um primeiro momento, os sistemas 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 as informações de tudo o que estiver aberto em seu computador, seja um jogo ou uma aplicação qualquer. 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 aplicativos consomem cada vez mais espaço nela. >>Daí pode surgi a pergunta:
  • 16. Por que usar a memória RAM? Não seria mais fácil simplesmente utilizar o HD para colocar os dados temporários? Não necessariamente. A principal diferença entre a RAM e o armazenamento virtual está na velocidade de acesso. O processo de leitura e escrita no disco rígido é extremamente mais lento do que na memória RAM. Dessa forma, acessar os dados presentes no recurso virtual é muito mais devagar do que no recurso físico. Dessa forma, se o seu computador estiver com pouca memó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 a memória virtual. O que é Memória Virtual? A memória virtual é uma técnica pela qual é possível utilizar uma parte do disco rígido como se fosse memória RAM, assim sendo, o sistema operacional é capaz de executar aplicações mesmo que a soma de todos os programas em execução simultânea supere a da memória RAM instalada no computador. Afim de que isso ocorra, o sistema move ao disco rígido o conteúdo da memória RAM que não foi utilizado por último, liberando espaço para novas aplicações,se esses dados movidos ao 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 procedimento de troca de memória, ou swap.
  • 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 processos para serem executados e não há memória principal livre suficiente para alocação, o sistema utiliza o swapping, selecionando um ou mais processos para saírem da memória e oferecer espaço para novos processos. Depois de escolhidos, o sistema retira os processos da memória principal para a memória secundária (swap out), onde as páginas ou segmentos são gravados em um arquivo de swap (swap file). Com os processos salvos na memória secundária, os frames ou segmentos alocados são liberados para novos processos. Posteriormente, os processos 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 ser retirados da memória principal. Independente do algoritmo utilizado, o sistema tenta selecionar os processos com as menores chances de serem executados em um futuro próximo. Na maioria das políticas, o critério de escolha considera o estado do processo e sua prioridade. O swapping com base no estado dos processos seleciona, inicialmente, os processos que estão no estado de espera. A seleção pode ser refinada em função do tipo de espera de cada processo. É possível que não existam processos suficientes no estado de espera para atender as necessidades de memória do sistema. Nesse caso, os processos no estado de pronto com menor prioridade deverão ser selecionados. O arquivo de swap é compartilhado por todos os processos que estão sendo executados no ambiente. Quando um processo é criado, o sistema
  • 18. reserva um espaço no arquivo de swap para o processo. Da mesma forma, quando um processo é eliminado o sistema libera a área alocada. Em alguns sistemas operacionais, o arquivo de swap é, na verdade, uma área em disco reservada exclusivamente para esta função. Independentemente da implementação, o arquivo de swap deve oferecer o melhor desempenho possível para as operações de swapping.
  • 19. Curso: Gestão em Tecnologia da Informação Disciplina: Intro. Computação e suas aplicações Professor: Ademar Alunos: Joel Nerys Luciano Albuquerque Raylla Souza Rian Albuquerque Robson Ferreira João Pessoa, 23/11/2012