SóProvas


ID
239602
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Acerca dos princípios de sistemas operacionais e sua relação com o
suporte a aplicações web, especialmente na tecnologia PHP, julgue os
seguintes itens.

Os softwares de servidores web, ao aderirem à arquitetura de sistemas operacionais, empregam modelo de memória virtual, que atua como um cache de memória e contém parte das instruções e dados executados por um script em determinado instante de tempo. Assim, o script não precisa estar armazenado simultaneamente na memória principal e no disco; com isso, a memória total disponível para um script ou programa pode exceder o tamanho da memória principal do sistema.

Alternativas
Comentários
  • Esse trecho "a memória total disponível para um script ou programa pode exceder o tamanho da memória principal do sistema." que está errado?
  • Eu acho que está errado é o que vem antes: " Assim, o script não precisa estar armazenado simultaneamente na memória principal e no disco;"
  • No meu ver, tem alguns problemas.
    1) Os softwares, por rodarem em cima do SO, não empregam o modelo de memória virtual. Isso é totalmente transparente para eles, cabendo ao SO gerenciar isso. Não cabe ao software dizer o que vai ou não ser paginado, quais partes estarão em qual página.
    2) Esquecendo que ao software não cabe a gerência de memória virtual, memória virtual não atua como cache de memória, no sentido que ela não será uma memória para acesso mais rápido. Ela servirá para aumentar a disponibilidade de memória para os programas.
    3) Na parte "o script não precisa estar armazenado simultaneamente na memória principal e no disco", de fato não precisa, se a página tiver sido escolhida para sair da memória. Caso o programa esteja em execução, ela estará tanto em memória quanto em disco.
    4) Na parte "a memória total disponível para um script ou programa pode exceder o tamanho da memória principal do sistema", isso está incorreto. O sistema estará utilizando no todo mais memória que a disponível, mas um programa apenas não pode acessar mais memória que para o sistema, pois havia problemas de endereçamento. Assim, poderia existir acessos a regiões que não fosse possível endereçar. Acredito que também esteja errado.
  • O comando da questão fala em "suporte a aplicações web, especialmente na tecnologia PHP". O arquivo PHP.ini tem uma diretiva chamada "memory_limit" que limita o tamanho do script para que ele não consuma toda a memória do servidor. Assim, a parte final da questão "a memória total disponível para um script ou programa pode exceder o tamanho da memória principal do sistema" está errada, pois se a diretiva memory_limit estiver configurada com o valor -1 (sem limite) e um script consumir toda a memória do sistema, ocorrerá um erro "fatal" no servidor. 

  • Por partes:  "Os softwares de servidores web, ao aderirem à arquitetura de sistemas operacionais, empregam modelo de memória virtual, que atua como um cache de memória" Ok, na memória virtual separa-se um trecho do hd  e ele é tratado como se fosse memória rápida.

    " e contém parte das instruções e dados executados por um script em determinado instante de tempo." Mais ou menos certo, dependendo da rigidez do examinador: os dados executados por um script não vão obrigatoriamente para a memória virtual, o script pode ser pequeno o suficiente para caber dentro de um slot de memória rápida.

    "Assim, o script não precisa estar armazenado simultaneamente na memória principal e no disco;"   Pelo que eu entendi o script está no disco, para executar o script ele terá de ir (ou uma parte dele) para a memória principal, mas não será apagado do hd, logo ele precisa em algum momento estar nas duas memórias pra ser executado

    "com isso, a memória total disponível para um script ou programa pode exceder o tamanho da memória principal do sistema."Ok, esse é um dos objetivos ao se usar a memória virtual

    Achei a questão bem complicada, se os erros forem mesmo os que eu apontei

  • Prezados,

    O final da questão apresenta o erro. O SO disponibiliza memória para o servidor web , que a administra. O SO pode usar um recurso de paginação para ter mais memória do que a RAM disponível , mas isso não é realizado pelo servidor de aplicação , dessa forma, a memoria total disponível para um script ou programa não pode exceder o tamanho da memória principal do sistema.

    Portanto a questão está errada.


  • A memória pode sim exceder. William Stallings, 5º Edução, Cap 7, pag 240.

     

    "Outra funçào importante de um sistema operacional é o gerenciamento de memória.
    A maioria dos sistemas operacionais aluais inclui a capacidade de memória virtual, o
    que traz dois benefícios: (1) um processo pode ser executado na memória principal
    sem que todas as instruções e dados do programa precisem estar armazenados na memória
    principal; e (2) o espaço de memória total disponível para um programa pode
    exceder o tamanho da memória principal do sistema
    . Embora o gerenciamento de memória
    seja feito por software, o sistema operacional conta com suporte do hardware
    do processador, incluindo hardware de paginação e de segmentação da memória"