SóProvas



Questões de Sistemas Operacionais


ID
5530
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

O sistema operacional, através do gerenciador de memória, deve tentar manter na memória principal o maior número de processos residentes, permitindo maximizar o compartilhamento do processador e demais recursos computacionais. Mesmo na ausência de espaço livre, o sistema deve permitir que novos processos sejam aceitos e executados. A técnica de swapping foi introduzida para contornar o problema de insuficiência de memória principal e consiste em:

Alternativas
Comentários
  • Swapping é o movimento de processos entre a memória e o disco rígido do computador:? Um processo bloqueado é transferido para o disco? O espaço de memória é liberado? Outro processo é carregado no local
  • a) escolher um processo residente, a ser transferido da memória principal para a memória secundária (swap out), sendo que, posteriormente, o processo é carregado de volta da memória secundária para a memória principal (swap in).

    CORRETO. Swap é uma área de troca do sistema operacional onde os processos que não estão em execução e não cabem na memória principal são guardados. Cada processo pode ter sua pilha (Stack), sua área de dados ( Heap ) e o programa em si, as instruções.

    Outra alternativa ao swap é a memória virtual, nesse caso o processo pode ser executado mesmo que não esteja totalmente carregado na memória principal. 
    Digamos que a memória física disponível esteja no espaço de endereçamento de  0x00 até  0xF0 . Com a memória virtual podemos fornecer ao processo um endereçamento maior que esse, de 0x00 até 0xFF por exemplo, sendo que acima de 0xF0 os dados estão no disco virtual, mas isso torna-se transparente ao processo.

    É a MMU ( Memory Management Unit) quem vai mapear endereços de memória virtuais em endereços de memória físicos.



    b) dividir a memória principal em pedaços de tamanho fixo, chamados partições, onde o tamanho das partições é estabelecido na fase de inicialização do sistema.

    Isso aí era nos tempos que os dinossauros ainda andavam sobre a terra. Nos computadores IBM OS 360. O operador definia manualmente o tamanho das partições e os JOBs iam chegando e uma partição era alocada para o JOB.

    Isso é usado muito raramente hoje.

    c)  dividir o programa em módulos, de forma que seja possível a execução independente de cada módulo, utilizando uma mesma área de memória.

    ISSO aí era uma técnica conhecida como OVERLAY. O programa era subdividido em módulos de forma que coubesse na memória. Quando um módulo terminava sua execução chamava outro módulo que ocupava a memória. Era o programador quem tinha que dividir os módulos. Isso acabou evoluindo para memoria virtual, onde o que está na Memória Principal e o que está no disco é completamente transpartente para o programador.


     
  • d) dividir a memória em pedaços de tamanho variável, de modo que cada programa utilize apenas o espaço necessário para sua execução.
     
    Isso aí refere-se a gerência de memória. Nesse caso é utilizado algum algoritmo para alocar dinamicamente memoria para algum processo. Esse algoritmo pode ser (não-exaustivamente) First-Fit - Que vai alocar a memória para o processo no primeiro espaço que couber essa quantidade de memória necessária, nesse caso, a memória restante pode ser utilizada por outro processo. Outro algoritmo é o Best-Fit, que vai alocar a memória necessária no menor espaço suficientemente grande, com o objetivo de deixar a menor fragmentação possível ( espaço restante) - essa é uma estratégia gulosa que não dá muito certo porque com o passar do tempo a memória fica com , fragmentos que não podem ser utilizados por outros processos porque são muito pequenos. Outro algoritmo é o Worst-Fit, que tenta fazer ao contrário do Best-Fit, deixar o maior fragmento livre possível.
     
    e) desenvolver as aplicações de modo a não ultrapassar o espaço de endereçamento de memória disponível.
    A memória utilizada pelos processos tende a crescer indefinidamente. Mesmo processos que aparentemente podem usar pouca memória, como por exemplo operações matemáticas, que utilizem, por exemplo, recursão, podem acabar sempre precisando de mais memória (algoritmos recursivos precisam crescer a stack - pilha - a cada recursão), ou quem nunca tomou um stack overflow...
  • Swapping - transfere temporariamente um processo da memória para o disco e depois do disco para a memória, tipo pin pong.


ID
5533
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

O sistema operacional gerencia os espaços no disco, através de técnicas que associam os blocos de dados aos arquivos. Dentre os vários métodos existentes, o de alocação encadeada:

Alternativas
Comentários
  • a) ERRADA - A alocação encadeada não permite acesso direto aos blocos do arquivo;

    b) ERRADA -

    c) CERTA - Definição de alocação encadeada

    d) ERRADA - Alocação Contígua é o metodo mais simples de todos...

ID
5536
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema operacional é formado por um conjunto de rotinas que oferecem serviços aos usuários, às suas aplicações e também ao próprio sistema. Esse conjunto de rotinas é denominado núcleo do sistema operacional ou kernel. A estrutura do sistema operacional, ou seja, a maneira como o código do sistema é organizado, pode variar conforme a concepção do projeto. A arquitetura monolítica pode ser definida como um programa:

Alternativas
Comentários
  • LETRA (A) CORRETA - Para confirmar a resposta como letra(A) , segue um trecho do livro Sistema Operacionais Modernos do Andrew S. Tanenbaum: "subintitulada como A Grande Bagunça. A estrutura é tal que não há nenhuma estrutura. O sistema operacional é esvrito como uma coleção de procedimentos, cada um dos quais pode chamar qualquer um dos outros sempre que precisar. Quando essa técnica é utiliza, cada procedimento no sistema tem uma interface bem-definida em termos de parâmteros e de resultados e cada um é livre para chamar qualquer um dos outros , se o último fornecer alguma computação útil de que o primeiro precisa. Para construtir o programa-objeto do sistema operacional , quando essa aproximação é utilizada, primeiro deve-se compilar todo os procedimentos ou os arquivos individuais que contêm os procedimentos e , então agrupa-los todos juntos em um único arquivo-objeto usando link-editor do sistema. Em termos de proteção de informações não há nenhguma. Cada procedimento é visível para todos os demaisLETRA (B) ERRADA - Definição de sistema em camadas
  • A) GABARITO

    B) Arquitetura de Camadas

    C) Arquitetura de Camadas

    D) Arquitetura de Máquina Virtual

    E) Arquitetura de Microkernel

    Todas as definições foram tiradas do livro Machado e Maia - Arquitetura de Sistemas Operacionais.

  • Finalidade do núcleo:

    O principal propósito do núcleo é gerenciar os recursos do computador e permitir que outros programas rodem e usem destes recursos.

    Arquitetura Monolítica-> Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande e único programa executável. Todos processos em um só núcleo.

    Arquitetura de Camadas-> Devido ao Aumento da complexidade e do tamanho do código dos sistemas foi necessário criar técnicas de modulação então o sistema passou a ser dividido em camadas sobrepostas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores(lembra um pouco REDES modelo OSI).

    Vantagem: Isolar as funções do sistema operacional, facilitando a manutenção e depuração, além de criar hierarquia de níveis

    Desvantagem: Queda no Desempenho.

    Arquitetura Máquina Virtual -> Serve para criar um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais possibilitando a criação de diversas máquinas virtuais independentes onde cada uma oferece cópia virtual do hardware.

    Vantagem: Portabilidade do código / consolidação de servidores/ aumento da disponibilidade / facilidade de escalabilidade e balanceamento de carga / facilidade no desenvolvimento de software.

    Arquitetura MicroKernel-> Tendência nos sistemas operacionais modernos visando tornar o núcleo do SO o menor e mais simples possível.

    Um dos benefícios da abordagem de microkernel é que ela facilita a extensão do sistema operacional. Todos os serviços novos são adicionados ao espaço do usuário e, consequentemente, não requerem a modificação do kernel.

    O microkernel também fornece mais segurança e confiabilidade, já que a maioria dos serviços é executada como processos de usuário — e não do kernel. Se um serviço falha, o resto do sistema operacional permanece intocado.

    Sistemas Híbridos -> Na prática, muito poucos sistemas operacionais adotam uma estrutura única rigidamente definida. Em vez disso, eles combinam diferentes estruturas, resultando em sistemas híbridos que resolvem problemas de

    desempenho, segurança e usabilidade.

    Por exemplo, tanto o Linux quanto o Solaris são monolíticos porque o desempenho é muito mais eficiente quando o sistema operacional ocupa um único espaço de endereçamento. No entanto, eles também são modulares para que novas funcionalidades possam ser adicionadas ao kernel dinamicamente.

    Exonúcleos -> Um exonúcleo é um tipo de núcleo que não abstrai hardware in modelos teóricos. Ao invés disso ele aloca recursos físicos de hardware, como o tempo de um processador, páginas de memória, e blocos de disco, para diferentes programas.

    Fonte:

    Arquitetura de SO - Machado 5 ed /Fundamentos de SO - Silberschatz 9ed

  • A arquitetura monolítica pode ser definida como um programa:

    A

    composto por vários módulos que são compilados separadamente e depois linkados, formando um único programa executável


ID
5539
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

Uma das funções principais de um sistema operacional é controlar todos os dispositivos de E/S (entrada/saída) de um computador. Sobre as formas como a E/S pode ser feita do ponto de vista dos sistemas operacionais, considere as seguintes afirmativas.

I - Na E/S programada, a CPU principal lê ou escreve cada byte ou palavra e espera em um laço até que ela possa obter ou enviar o próximo dado.

II - Na E/S orientada a interrupção, a CPU inicia uma transferência de E/S para um caractere ou palavra e segue para outra atividade até que uma interrupção sinalize a conclusão daquela E/S.

III - Na E/S que usa DMA, um chip separado gerencia a transferência completa de um bloco de dados, ocorrendo uma interrupção somente quando o bloco for totalmente transferido.

Está(ão) correta(s) a(s) afirmativa(s):

Alternativas
Comentários
  • E/S programada é o mesmo que polling ou espera ocupada. A cpu envia blocos de dados aos periféricos e faz esperas ocupadas (laços) até que o periférico esteja pronto para receber o próximo bloco de dados.
  • I, II e III.

  • E/S por Programa: mantem o processador ocupado até o termino da operação de E/S. A UCP controla todas as etapas da comunicação.

    E/S por Interrupção:  O processador, após a execução de um comando de leitura ou gravação permanece livre para o processamento de outras tarefas. 

    DMA (directo memory access): Permite que um bloco de dados seja transferido entre a memória principal e o dispositivo de E/S sem a intervenção do processador. Ao final da operação o controlador gera uma interrupção avisando ao processador o termino da operação.  

    Alternativa: E


ID
5602
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema de arquivos é uma parte do sistema operacional que organiza os dados armazenados no disco de forma lógica. A organização dos dados é feita através de arquivos, unidade básica de dados vista pelo usuário, e através de diretórios, que servem para classificar os arquivos. São primitivas do sistema operacional que permitem ao usuário manipular arquivos e diretórios:

Alternativas
Comentários
  • a) fork, exec, wait e signal.
    - essas são primitivas relacionadas a manipulação de processos no tocante a criação, espera, re-inicialização...

    b) abort, kill e exit.
    - essas são primitivas relacionadas ao encerramento de um processo

    c) send, receive, sleep e wakeup.
    - essas primitivas estão relacionadas com a troca de mensagens entre processos(send e receive) e também com espera(sleep e wakeup)

    d) open, close, create e delete.
    - primitivas relacionadas com a manipulação de arquivos e diretórios

    e) down e up.
    - vi num site que o Tanenbaum utiliza down e up para nomear as primitivas de sincronização utilizando semáforos( seria P e V, respectivamente, nos meus conhecimentos)
  • Bons tempos com este nível de cobrança nestas questões da cesgranrio... bons tempos que não peguei!

ID
7276
Banca
ESAF
Órgão
CGU
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

Analise as seguintes afirmações relativas ao Sistema Operacional Linux:

I. Na configuração básica do Linux, para se utilizar um drive de CD é necessário montar (mount) o dispositivo.

II. Um vírus que altera arquivos de sistema só irá funcionar no Linux se o usuário root executar o programa de vírus.

III. O núcleo do Linux tem suporte embutido para os PPP, SLIP, PLIP e servidores ASP.

IV. Os únicos arquivos que os usuários comuns (sem os direitos do usuário root) do Linux podem alterar são os do diretório /etc.

Estão corretos os itens:

Alternativas
Comentários
  • II - supondo um virus no Linux ele pode alterar arquivos de sistema com qualquer usuário desde que o usuário a executar o o processo ou programa com virus tenha permissão para executar o comando sudo. Não precisa estar com o root.
  • Daniel,
    Eu também pensei isto... mas acho que as questões consideram um Linux padrão sem mudanças e configurações diferenciadas.
  • I. Na configuração básica do Linux, para se utilizar um drive de CD é necessário montar (mount) o dispositivo.
    CERTA: Num Linux básico é assim mesmo. Atualmente não é necessário executar o comando manualmente cada vez que se põe um cd/dvd, o kernel atualmente detecta a inserção do dispositivo e realiza o comando mount automaticamente.

    II. Um vírus que altera arquivos de sistema só irá funcionar no Linux se o usuário root executar o programa de vírus.
    CERTA: O detalhe aqui é que a questão fala sobre alterar arquivos de sistema, isto somente o root pode fazer mesmo, portanto o vírus só poderá atuar se o root executá-lo

    III. O núcleo do Linux tem suporte embutido para os PPP, SLIP, PLIP e servidores ASP.
    ERRADA: servidores ASP remete a ideia de uma ambiente Windows.

    IV. Os únicos arquivos que os usuários comuns (sem os direitos do usuário root) do Linux podem alterar são os do diretório /etc.
    ERRADA: no diretório /etc ficam a maioria dos arquivos de configuração do sistema, e como forma de segurança, somente o root pode alterá-los.


ID
9052
Banca
ESAF
Órgão
Receita Federal
Ano
2005
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em um sistema operacional, o kernel é

Alternativas
Comentários
  • Em computação, o núcleo ou cerne (em inglês: kernel) é o componente central do sistema operativo da maioria dos computadores; ele serve de ponte entre aplicativos e o processamento real de dados feito a nível de hardware.

    fonte:wikipedia

  • RESPOSTA D

    >>Componente central do sistema operacional da maioria dos computadores. Serve de ponte entre aplicativos e o procesamento real de dados feito no âmbito do hardware. Essa é a definição de: C) Kernel.

    #SEFAZ-AL


ID
12130
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

Os sistemas operacionais são softwares básicos dos computadores, oferecendo uma API conveniente para desenvolvimento e execução de aplicações e uma interface de usuário de alto nível. Acerca de sistemas operacionais, julgue os itens que se seguem.

Sistemas operacionais fazem o controle de acesso à memória primária, protegendo as áreas de memória de uma aplicação do acesso por outra aplicação. Esse mecanismo de controle utiliza técnicas de paginação e segmentação de memória.

Alternativas
Comentários
  • Como vários programas ocupam a memória simultaneamente e cada usuário possui uma área onde dados e código são armazenados, o Sistema Operacional deve possuir mecanismos de proteção à memória, de forma a preservar as informações. Caso um programa tente acessar uma posição de memória fora de sua área, um erro do tipo violação de acesso ocorre e o programa é encerrado. O mecanismo para o controle de acesso à memória varia em função do tipo de gerência de memória implementado pelo sistema.

    NA PAGINAÇÃO:
    O conceito de página, fundamental para a paginação, é uma criação do sistema operacional para facilitar a gerência da memória, a fim de se eliminar o problema da fragmentação externa (necessidade de um programa ocupar uma única área contígua de memória). A páginação faz com que cada programa seja espalhado por áreas não contíguas de memória.

    NA SEGMENTAÇÃO:
    Programadores e compiladores não enxergam a memória lógica dividida em páginas, mas sim em segmentos. Uma divisão típica descreve um programa em termos de quatro segmentos: código, dados alocados estaticamente, dados alocados dinamicamente e pilha de execução. Outros sistemas trabalham com uma granularidade menor. Por exemplo, cada objeto ou módulo corresponde a um segmento. Em geral, o programador atribui nomes aos segmentos, e o compilador transforma esses nomes em números.
  • A paginação eh um esquema de gerencia de memoria q permite q o espaco dos enderecos fisicos de um processo seja nao contiguo. Ela divide a memoria fisica em blocos tamanhos fixos chamados quadros e a memoria logica em blocos do mesmo tamanho chamados paginas. 

    A segmentacao tem a mesma ideia da paginacao, mas a diferença entre ambas eh q esta possui tamanho variavel, e aquela eh fixa.

  • Marquei com certo, mas sei não.

    Pra mim o principal responsável por isso é a CPU que deve disponibilizar as funções de segmentação, paginação, modos de execução, etc...

    No caso de um programa acessar área de memória não disponível a CPU gera uma interrupção e aciona o sistema operacional.

    Além disso o certo seria "Esse mecanismo de controle utiliza técnicas de paginação OU segmentação de memória" visto que pode ser um, outro ou ambos e não apenas ambos.

     

     

  • A segmentação complementa a lógica real de um programa, enquanto a paginação é voltada para o hardware do sistema.

    Na paginação, o espaço de endereçamento virtual é dividido em blocos, denominados unidades de alocação, de tamanho e posição fixas, geralmente de pequeno tamanho, aos quais se associa um número.

    Com segmentação é possível distinguir e proteger separadamente os procedimentos e dados de um programa.

    a Paginação faz referência ao espaço de endereçamento virtual dividido em unidades de tamanho fixo. Considerando que as páginas são pequenas e de comprimento fixo, a fragmentação deixa de ser um problema.


ID
12136
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

Os sistemas operacionais são softwares básicos dos computadores, oferecendo uma API conveniente para desenvolvimento e execução de aplicações e uma interface de usuário de alto nível. Acerca de sistemas operacionais, julgue os itens que se seguem.

A troca de contexto para alternância de processos em execução é implementada como um subsistema separado do executivo em sistema operacionais da Microsoft® desenvolvidos com tecnologia NT®.

Alternativas
Comentários
  • Questão muito, muito difícil. Envolve bons conhecimentos de teoria de sistemas operacionais, como: threads, time slice e switch context, além do próprio conhecimento avançado da nova arquitetura NT que substitui as plataformas do Windows 95 e 98, e que surge no Windows NT 4.0.
    Particularmente eu acreditava que a questão estivesse correta, ai fui pego de surpreza pelo gabarito, a partir daí analisei mais cuidadosamente e de fato existe um erro na questão, a troca de contexto (switch context) não é um subsistema, e sim ocorre quando subsistemas tentam mudar de modo usuário para modo protegido. Achei os seguintes sites na Internet sobre o assunto:
    http://www.jadesoftware.com.br/microsoft.htm
    http://www.caloni.com.br/blog/archives/historia-do-windows-parte-40
  • Errado

    troca de contexto (switch context) não é um subsistema. Quando subsistemas tentam mudar de modo usuário para modo protegido, ocorre a chamada troca de contexto. 

ID
15778
Banca
CESPE / CEBRASPE
Órgão
ANATEL
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

A respeito de sistemas operacionais, julgue os seguintes itens.

As arquiteturas dos sistemas operacionais Windows 2000 e Windows XP podem ser vistas como organizadas em camadas. Entre essas camadas, incluem-se a HAL e o kernel. A camada HAL esconde, das camadas que se encontram acima da mesma, as diferenças existentes entre os hardwares nos quais o sistema operacional pode ser instalado. O kernel, por sua vez, tem responsabilidades como escalonar tarefas e tratar interrupções.

Alternativas
Comentários
  • A Hardware Abstraction Layer (HAL) interage diretamente com o hardware do computador provendo ao Kernel uma interface independente da máquina e, conseqüentemente, garantindo portabilidade ao sistema.

    A camada HAL é constituída por várias APIs (Application Program Interfaces) que realizam a tradução dos dados do Kernel para códigos específicos de processadores e vice-versa. Desta forma, somente o Kernel e a camada HAL são modificados quando o WNT é utilizado em diferentes plataformas.

  • Resposta: CertoNoções básicas do TelnetKernel é um componente do sistema operacional, porém ele não é tão conhecido da maioria dos usuários comuns. Este fato se dá pela sua importância para o bom funcionamento do PC, como ele é essencial, é melhor mantê-lo escondido das pessoas sem experiência.Ele é o responsável pela interação entre hardware e software, ou seja, ele é quem gerencia os recursos do sistema e permite que os programas façam uso deles.O Kernel começa a funcionar logo que o computador é ligado, nesse momento ele detecta todo o hardware indispensável ao funcionamento da máquina (monitor, placa de vídeo etc.). O Sistema Operacional é carregado em seguida e, uma vez que o usuário faça seu login, o Kernel passa a administrar as principais funções dentro do sistema operacional: isso inclui o gerenciamento da memória, dos processos, dos arquivos e de todos os dispositivos periféricos.Dessa forma o Kernel pode ser descrito como um grande organizador: é ele quem garante que todos os programas terão acesso aos recursos de que necessitam (memória RAM, por exemplo).Veja também:http://fab_souza.vilabol.uol.com.br/Kernel.htmhttp://www.gdhpress.com.br/blog/hal/http://msdn.microsoft.com/pt-br/library/aa915144.aspx

ID
15781
Banca
CESPE / CEBRASPE
Órgão
ANATEL
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

A respeito de sistemas operacionais, julgue os seguintes itens.

No UNIX, usando-se fork, um novo processo é criado sem que um novo programa seja posto em execução. Se um processo B for criado por um processo A via fork, o processo B executará o programa que estiver sendo executado por A. Por outro lado, usando-se execve, um novo processo é criado e um novo programa é automaticamente posto em execução. Se um processo B for criado pelo processo A via execve, o processo B executará o programa identificado na chamada execve.

Alternativas
Comentários
  • A chamada execve() substitui o processo corrente, não cria um novo processo.
  • A técnica fork-exec é muito usada no Unix, mas não é usada no Windows.
    fork() é uma system call que clona determinado processo, criando uma relação pai-filho. É regra que ambos os processos utilizem o mesmo binário e que, posteriormente, o filho passe a usar um outro binário: isso é um exec().
    A chamada de sistema exec() sobrepõe o processo para que é chamada por outro, perdendo todos os dados do processo original (o que não ocorre com o fork() ).
    Um ponto interessante é a prevenção do aparecimento de processos zumbi (que esqueceram de morrer):
    "If the parent chooses to wait for the child to die, then the parent will receive the exit code of the program that the child executed. To prevent the child becoming a zombie the parent should call wait on its children, either periodically or upon receiving the SIGCHLD signal, which indicates a child process has terminated."

    Ilustrando:


    Fontes:
    http://www-h.eng.cam.ac.uk/help/tpl/unix/fork.html
    http://www.cim.mcgill.ca/~franco/OpSys-304-427/messages/node91.html
    http://www.cs.duke.edu/courses/spring01/cps110/slides/proc-ux/sld012.htm

ID
16792
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

A respeito do escalonamento de processos em sistemas
operacionais, julgue os itens subseqüentes.

O escalonamento de processos com o algoritmo
EDF (earliest deadline first) requer que os processos sejam
periódicos.

Alternativas
Comentários
  • O agendamento EDF ou simplesmente "Job Mais Curto Primeiro" não requer que os processos sejam periódicos. O único agendamento que se refere a "periódico" e "aperiódico" é o "Gerenciamento de Tempo Real", onde os processos podem dar resposta de tempos em tempos ou simplesmente quando os têm.
  • O colega Wilson tá equivocado no seu comentario. O agendamento EDF nada tem a ver com o SJF(Job Mais Curto Primeiro). Segundo[1], o EDF eh um tipo de algoritmo de escalonamento de tempo real, no qual o escalonador EDF usa um prazo final, q eh associado a cada um de seus itens de trabalho{1}, para determinar o proximo item a ser processado: o item com o prazo final mais adiantado eh processado primeiro. E complementando, [2] afirma q o algoritmo EDF não exige q os processos sejam periodicos.

    {1} Nas aplicações multimidias, identificamos cada elemento de midia q chega a um processo como item de trabalho.

    Fonte: [1] Sistemas Distribuídos - 5ed: Conceitos e Projeto, George Coulouris,Jean Dollimore,Tim Kindberg,Gordon Blair, pág. 898;
    [2] Sistemas Operacionais com Java, Abraham Silberschatz, pág. 530.

  • O escalonamento de processos com o algoritmo RMS (Rate Monotonic Scheduling) requer que os processos sejam periódicos.

    .

    At.te

    Foco na missão ❢


ID
16795
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

A respeito do escalonamento de processos em sistemas
operacionais, julgue os itens subseqüentes.

No escalonamento de processos homogêneos, uma
temporização adequada pode ser obtida pelo uso de um
relógio mestre.

Alternativas
Comentários
  • Relógios Mestre são relógios que utilizam como base um oscilador de alta frequência a quartzo, garantindo precisão absoluta. Se a precisão é absoluta, então a marcação do quantum também será absoluta, melhorando o escalonamento.

ID
16798
Banca
CESPE / CEBRASPE
Órgão
TRE-AL
Ano
2004
Provas
Disciplina
Sistemas Operacionais
Assuntos

A respeito do escalonamento de processos em sistemas
operacionais, julgue os itens subseqüentes.

Em sistemas multimídia, um processo preemptivo
geralmente pode interromper outro processo em execução
antes que seu tempo de uso termine.

Alternativas
Comentários
  • Em sistemas multimídia, um processo preemptivo
    geralmente pode interromper outro processo em execução
    antes que seu tempo de uso termine.

    Errado!
    Em sistemas multiTAREFA
  • Em sistemas operacionais que utilizam preempção, se o processo que está em execução possui prioridade menor do que um novo processo criado, o processo de baixa prioridade será substituído pelo de prioridade mais alta, mesmo sem ter terminado seu tempo de execução (quantum).
  • Questão confusa essa. Alguem chega num consenso?
  • Achei confusa tbm!
    Qual a relação entre sistema multimidia e SO?
  • Em sistemas multimídia, um processo preemptivo
    geralmente pode interromper outro processo em execução
    antes que seu tempo de uso termine.


    Poder "trocar" um processo de baixa prioridade por outro de alta prioridade é uma caracteristica da Preempção por PRIORIDADE

    Mesmo que um processo nao tenha terminado, surgindo outro com prioridade mais alta, este (o que esta executando) é posto em estado PRONTO e entra novamente na fila, dando lugar no processador ao que possui maior prioridade.

    Aqui tem um artigo legal sobre preempção
    http://pt.wikipedia.org/wiki/Preempção

ID
17125
Banca
CESPE / CEBRASPE
Órgão
TSE
Ano
2007
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os seguintes itens acerca dos sistemas operacionais.

I Em um computador do tipo PC, mais de um sistema operacional pode ser instalado, desde que adotem um mesmo formato para os seus sistemas de arquivos. Se mais de um formato for adotado, será impossível a carga dos sistemas.

II Em um sistema de arquivos, além dos blocos que armazenam os dados dos arquivos, podem existir blocos que armazenam dados sobre as partições ou sobre outros blocos.

III O algoritmo de escalonamento de disco shortest-seek-timefirst serve todas as solicitações próximas da posição atual da cabeça de leitura e gravação antes de mover a cabeça para locais mais distantes.

IV O desempenho do algoritmo round robin no escalonamento de um processador depende do tamanho da fatia de tempo. A fatia deve ser grande, quando comparada ao tempo para a mudança de contexto.

V Os threads podem compartilhar códigos e dados. A criação, escalonamento e gerenciamento de threads não podem ser feitos por um sistema operacional, têm que ser feitos por uma camada acima do sistema operacional.

A quantidade de itens certos é igual a

Alternativas
Comentários
  • Alguém pode comentar essa questão?Quais são as verdadeiras?
  • A) Errada. É perfeitamente possível a utilização de mais de um sistema de arquivos em partições diferentes. Comumente se tem um Linux com ext3 e um Windows com NTFS, obviamente em partições distintas.

    C) Errada. É o próprio sistema operacional que implementa o controle de THREADS.
  • A = I
    C = V

    :)
  • A (I) está claramente errada como outro colega já comentou. Se fosse assim não poderíamos instalar um Linux com formatacao ext3 junto com um WinXP usando NTFS.
    A (II) é fácil de explicar pq alguns blocos tratam dos arquivos propriamente ditos e outros cuidam da maneira como foi particionada a sua mídia de armazenamento.
    A (III) está certa e vc vai poder entender se ler o artigo da Wikipedia (inglês): http://en.wikipedia.org/wiki/Shortest_seek_first
    (achei muito bit-byte essa pergunta)
    A (IV), correta, também tem explicação na Wikipedia:
    http://pt.wikipedia.org/wiki/Round-robin_(algoritmo)
    Claro que o tempo de mudança de contexto tem que ser muito menor que o da fatia que a cpu fica com o processo senão comprometeria totalmente o time-sharing.
    E a (V) está errada, pois as threads também podem ser processadas no nível do SO. Veja uma boa explicação disso, neste tutorial:
    http://www.ucb.br/prg/professores/gualeve/disciplinas/2006_1/sobsi/02_Processos.pdf

ID
28597
Banca
CESGRANRIO
Órgão
DECEA
Ano
2006
Provas
Disciplina
Sistemas Operacionais
Assuntos

No âmbito de sistemas operacionais, uma seção ou região crítica é a:

Alternativas
Comentários
  • Em programação concorrente, uma região crítica (ou seção crítica) é uma área de código de um algoritmo que acessa um recurso compartilhado que não pode ser acessado concorrentemente por mais de uma linha de execução.


    (Fonte: http://pt.wikipedia.org/wiki/Se%C3%A7%C3%A3o_cr%C3%ADtica)
  • Correta "D"

    Parte do programa que acessa dados compartilhados.
  • Isso tem relação com CONDIÇÕES DE DISPUTA.

    Quando os processos competem por um recurso, como o spooler de impressão.

    Um processo A abre o Spooler e coloca um arquivo  f1 para ser impresso.
    Um processo B abre esse mesmo Spooler antes do processo A ter tempo de terminar a operação e coloca um arquivo f2 para ser impresso.
    Nesse instante o processo A recupera a CPU e termina de gravar f1 no spooler, sobrescrevendo o que B tinha feito.

    Esse spooler é a área de exclusão, quando A estiver usando, B não pode estar, e virce-versa.

    Então "área da memória que contém dados compartilhados." é a area de exclusão mútua - ou deveria ser.

    A parte do programa que acessa esse recurso é chamada de região crítica.
  • Vivendo e aprendendo: eu sempre achei que a região crítica era a área compartilhada e não a área do programa que acessa a área compartilhada.
    Ainda bem que errei aqui e não na prova.
  • d-

    In concurrent programming, concurrent accesses to shared resources can lead to unexpected or erroneous behavior, so parts of the program where the shared resource is accessed need to be protected in ways that avoid the concurrent access. This protected section is the critical section or critical region. It cannot be executed by more than one process at a time. Typically, the critical section accesses a shared resource, such as a data structure, a peripheral device, or a network connection, that would not operate correctly in the context of multiple concurrent accesses.

    https://en.wikipedia.org/wiki/Critical_section


ID
56686
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

A crescente evolução da computação tem sido impulsionada pelo
melhoramento do hardware e pelo surgimento dos sistemas
operacionais. No que concerne a sistema operacional, julgue os
itens de 51 a 60.

Uma seção (ou região) crítica é um conceito em sistema operacional que faz referência à área de memória que armazena os dados compartilhados pelos processos.

Alternativas
Comentários
  • Exatamente o contrário. Se ela é crítica, não pode ser compartilhada.
  • Em programação concorrente, uma região crítica - também conhecida por seção crítica (português brasileiro) ou secção crítica (português europeu) - é uma área de código de um algoritmo que acede um recurso compartilhado que não pode ser acedido concorrentemente por mais de uma linha de execução. O objetivo é tornar a operação sobre o recurso compartilhado atômica. Uma região crítica geralmente termina num tempo específico, e uma linha de execução ou processo só precisa esperar um tempo específico para entrá-la. Algum mecanismo de sincronização é necessário para implementar a entrada e a saída duma região crítica para assegurar o uso exclusivo, como por exemplo um semáforo.

    O acesso concorrente pode ser evitado ao controlar cuidadosamente quais variáveis são modificadas dentro e fora a região crítica. Uma região crítica é geralmente usada quando um programa multitarefa deve atualizar diversas variáveis relacionadas sem que outra linha de execução faça modificações conflitantes nos dados. Numa situação relacionada, uma região crítica também pode ser usada para assegurar que um recurso compartilhado como uma impressora seja acedido por somente um processo a cada vez.

    A definição da região crítica é importante para a implementação de exclusão mútua, usada para evitar condições de corrida.

    Fonte: Wikipedia

     

    Ou seja, a questão está errada pois região crítica é uma área de código e não uma área de memória.

  • Vamos supor que há 2 processos(programas Word e Excel) que precisam usar a impressora em algum momento. Como sabemos, tanto o word como o excel possuem um ícone da impressora(q oferece o recurso de imprimir ao usuario).  Vamos supor q abaixo estão os trechos de código dos processos Word e Excel, q imprimem um arquivo:

    public class ImprimeWord {                                                                                                        

              Impressora impressora;

                   public void imprime(documento w) {

                      this.impressora = impressora;

                      impressora.print(w);

              }

    }

    public class ImprimeExcel {

              Impressora impressoa;

                   public void imprime(documento e) {

                      this.impressora = impressora;

                      impressora.print(e);

    }

    As regiões críticas dos 2 processos correspondem ao trecho de código desses processos, q é o trecho correspondente ao recurso compartilhado impressora.

    A questão afirma que região crítica faz referência à área de memória que armazena os dados compartilhados pelos processos. Errada, até porque processos não compartilham espaço de endereçamento. Região crítica refere-se a trechos de códigos que acessam recursos compartilhados. No caso, os processos W e E não podem acessar suas regiões críticas ao mesmo tempo(exclusão mútua), sob pena de ocorrer deadlock - 1 esperando pela liberação do recurso pelo outro.  Pode-se usar semáforo para evitá-lo.


  • Veja a questão Q9530
  • Q110896 (correta): 

    Região crítica é o termo utilizado para denominar a parte do código do programa na qual é realizado o acesso a um recurso compartilhado.

  • Segundo Tanenbaum:

     

    "Aquela parte do programa em que há acesso à memória compartilhada é chamada de região crítica (critical region) ou seção crítica (critical section)."

     

    Fonte: Andrew S. Tanenbaum; Sistemas Operacionais Modernos 2ª Edição; Página 75.

  • Gabarito: errado

    Seção ou região crítica de um sistema operacional é uma parte do programa que acessa o dados compartilhados.

  • Eu só queria ir pra a fronteira T__T

  • Às vezes um processo tem de acessar uma memória compartilhada ou arquivos, ou realizar outras tarefas críticas que podem levar a corridas. Essa parte do programa onde a memória compartilhada é acessada é chamada de região crítica ou seção crítica

    Resumidamente: Região crítica ou seção crítica é a parte do programa onde a memória compartilhada é acessada.

    Fonte : Sistemas operacionais modernos 4° edição (Tanembaum)


ID
56695
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

A crescente evolução da computação tem sido impulsionada pelo
melhoramento do hardware e pelo surgimento dos sistemas
operacionais. No que concerne a sistema operacional, julgue os
itens de 51 a 60.

A diferença entre fragmentação interna e externa é que a primeira ocorre na memória principal, e a segunda, no disco.

Alternativas
Comentários
  • Tanto a fragmentação interna quanto a externa são indesejáveis, porque causam desperdícios na RAM:Fragmentação interna: ocorre na alocação estática, nos espaços livres que sobram em cada bloco, ao se encaixar um novo processo;Fragmentação externa: ocorre na alocação dinâmica, nos espaços livres que se formam, quando um ou mais processos terminam.
  • Vamos dar um exemplo para ficar mais claro.Se você formatar uma partição com clusters de 32k, você terá fragmentação interna no cluster sempre que alocar um arquivo menor que 32k. Vai literalmente subutilizar o cluster e consequentemente o disco.A framentação externa é aquela que resolvemos usando DEFRAG. É quando o seus dados fica em espaços não contíguos do HD.
  • ERRADO.
    A fragmentação interna é a perda de espaço dentro de uma área de tamanho fixo. A fragmentação externa ocorre no particionamento dinâmico.
    No particionamento dinâmico, cada processo submetido à execução recebe o tamanho necessário para se comportar por completo na memória. Assim, a memória principal é subdividida em segmentos de tamanho variado. No particionamento fixo, a memória é subdividida em blocos de tamanho fixo (iguais ou não) chamados em páginas, blocos ou frames.
    Na memória principal eu posso realizar o particionamento dinâmico ou fixo. Então a questão está errada.

    Fonte: http://pt.wikipedia.org/wiki/Fragmenta%C3%A7%C3%A3o

    []s
    Marcelo
  • Da paginação, que é a divisão da memória em espaços fixos, os dois problemas mais comuns são a fragmentação interna e a externa. A primeira ocorre quando um programa aloca menos espaço do que a é possível colocar na partição, havendo uma sobra; o segundo, quando nenhuma partição é capaz de suprir o necessário para o programa e não há espaço contíguo para alocá-lo.

  • Na minha opinião o grande problema da questão é a parte que fala que uma das fragmentações é no disco e outra é na memória, fato esse que é independente. Tanto a fragmentação externa como a interna podem ocorrer nos dois locais.

    Uma observação: Na paginação há fragmentação interna. Como ela determina "espaço fixos"=páginas não fragmentação externa.
  • Eu sempre pensei que fragmentação fosse um conceito que independesse de se é na memória principal ou se é em disco.
  • Ambas as fragmentações ocorrem na memória principal, exclusivamente quando o método de alocação é contíguo.

    Fragmentação externa: "Conforme processos são carregados na memória e dela removidos, o espaço de memória livre fica dividido em pequenos pedações. A fragmentação externa ocorre quando existe espaço total de memória suficiente para atender uma solicitação, mas os espaços disponíveis não são contíguos".

    Fragmentação interna: "Considere um esquema de alocaçao de partições múltiplas com um intervalo de 18.464 bytes. Suponha que o próximo processo solicite 18.462 bytes. Se alocarmos exatamente o bloco solicitado, ficaremos com um intervalo de 2 bytes. O overhead para administrar o uso desse intervalo será substancialmente maior do que o intervalo em si. A abordagem geral para evitar esse problema é dividir a memória física em blocos de tamanho fixo e alocar a memória em unidades com base no tamanho do bloco. Com tal abordagem, a memória alocada a um processo pode ser ligeiramente maior do que a solicitada. A diferença entre esses dois números é a fragmentação interna - memória interna a uma partição que não está sendo utilizada".


    Destaques de Silberschatz. Fundamentos de SO. 8º edição, página 171.

  • ambas ocorrem na memória

  • Ambas ocorrerem na Memória principal

    -> fixa - Programas são alocados na inicialização do S.O

    -> dinâmica - Fragmentação Externa - Programas que vão deixando a memória, deixando espaços cada vez maiores de fragmentos.

    Fragmentos - São restos de espaços não utilizado, desperdiçados e espalhados por toda a memória.


ID
56701
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

A crescente evolução da computação tem sido impulsionada pelo
melhoramento do hardware e pelo surgimento dos sistemas
operacionais. No que concerne a sistema operacional, julgue os
itens de 51 a 60.

Entre as camadas do gerenciamento de entrada e saída de um sistema operacional, há uma camada chamada de device drivers. Os device drivers são definidos como programas que objetivam padronizar a comunicação entre o susbsistema de E/S e o kernel do sistema operacional.

Alternativas
Comentários
  • Discordo desta resposta apesar de estar no gabarito preliminar. Verificar se houve alteraçã de gabarito.
  • também discordo do gabarito. Os divice drives são os protocolos para comunicação dos dispositivos de hardware.
  • Cada dispositivo de E/S ligado ao computador precisa de algum código específico do dispositivo para controlá-lo. Esse código é chamado de driver de dispositivo e, geralmente, é escrito pelo fabricante do dispositivo. Drivers dos dispositivos são em geral dispostos abaixo do restante do SO. Toda a comunicação entre os drivers e os controladores é feita por meio do barramento.A maioria do SO define uma interface-padrão para todos os drivers de blocos e uma segunda interface para todos os drivers de caracteres. A principal função do driver de dispositivo é aceitar e executar requisições de leitura ou gravação de um software independente de dispositivo localizada na camada acima da camada de device drivers [TAN].Referências:[TAN] Tanenbaum. Sistemas Operacionais Modernos.
  • Conferi no livro do Silberschatz, na introdução do capítulo que trata de IO. Realmente está ERRADA a questão.

    O Kernel tem uma área chamada de Subsistema de I/O. São vários métodos necessários para controlar, mouse, disco, cd-rom, buffering, caching, spooling...

    Os drivers têm a função de apresentar uma interface uniforme de acesso a dispositivos para o subsistema de I/O do kernel.

    Portanto, vejo os sequintes erros na questão:

    1 - "há uma camada chamada de device drivers."
    Isso não é camada

    2 -  "Os device drivers (...) objetivam padronizar a comunicação entre o susbsistema de E/S e o kernel do sistema operacional.
    Deveria ser: entre o subsistema de E/S e o dispositivo.
  • A camada referida na questão é a de "E/S independente de Dispositivos" e não a camada "Device Drivers".

    O subsistema de E/S possui uma arquitetura em 4 camadas (Cada qual provê serviços a camada imediatamente superior): 
    - E/S nível de Usuário - Visão que um usuário possui dos dispositivos de E/S.
    - E/S independente de Dispositivo - Provê funções gerais a todos os dispositivos de E/S
    - Device Drivers - Conjunto de módulos de software para fornecer mecanismos de acesso a dispositivo específico
    - Hardware - E/S programada, Interrupções, DMA.

    Fonte: Sistemas Operacionais, 2a Ed. Romulo Oliveira, Alexandre Carissimi, Simão Toscani. Página 79. 

  • Errado

  • Cespe=Pensou certo, marque errado.


ID
56704
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

A crescente evolução da computação tem sido impulsionada pelo
melhoramento do hardware e pelo surgimento dos sistemas
operacionais. No que concerne a sistema operacional, julgue os
itens de 51 a 60.

Caso alguém tenha a responsabilidade de maximizar a utilização dos recursos computacionais de um grande sistema multiusuário e esteja recebendo reclamações de muitos usuários sobre o tempo de resposta às suas requisições interativas curtas, um dos motivos para isso poderá ser atribuído ao fato de estar sendo adotado o algoritmo de escalonamento de processos round-robin (alternância circular) com um quantum muito longo.

Alternativas
Comentários
  • Se você der muito tempo de CPU para cada processo (quantum), os processos pequenos ficaram na fila de "prontos" esperando por um longo tempo.
  • O Processo "Round-Robin" é uma lista de processos por ordem de chegada sem prioridade entre os mesmos. Quando o primeiro da lista tem o seu quantum esgotado, - tempo de execução temporário atribuído pelo S.O. - esse vai para o final da lista. O tempo de escalonamento entre os processos tem que ser razoável, senão o último da lista fica muito tempo esperando para ser atendido. Um tempo de 100ms é um tempo frequentemente utilizado.

ID
103606
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação a sistemas operacionais, julgue os itens que se seguem.

No Linux, o aplicativo KDE Controle Center tem funcionalidades equivalentes ao Painel de controle do Windows, ambos permitindo o gerenciamento de pastas e arquivos e a configuração para a permissão de acesso aos usuários do computador.

Alternativas
Comentários
  • Tanto o KDE Controle Center do Linux quanto o PAINEL DE CONTROLE do Windows NÃO permitem o "gerenciamento de pastas e arquivos" ...;)
  • O KDE Control Center é o lugar onde pode se alterar todas as configurações que afetam todo o seu ambiente KDE.É uma espécie de painel de controle do Windows,pois nele pode se alterar aparências e temas,internet e rede,desktop,periféricos,segurança e privacidade,administração do sistema,etc.
    Mas, não permissão de acesso e nem gerenciamento de pasta e arquivos.

  • Quem faria este gerenciamento de pastas e arquivos, bem como de suas permissões seria o windows explorer (no windows), e não o painel de controle.


ID
104809
Banca
FCC
Órgão
TCM-PA
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

A tendência dos sistemas operacionais é tornar o núcleo menor e mais simples. A idéia de disponibilizar os serviços de gerência de processos, gerência de arquivos, gerência de memória etc. em processos no espaço do usuário, fora do núcleo, denomina-se

Alternativas
Comentários
  • Micro-kernel é um termo usado para caracterizar o sistema cujas funcionalidades do sistema saíram do núcleo e foram para servidores, que se comunicam com um núcleo mínimo, usando o mínimo possível o "espaço do sistema" (nesse local o programa tem acesso a todas as instruções e a todo o hardware) e deixando o máximo de recursos rodando no "espaço do usuário" (no espaço do usuário, o software sofre algumas restrições, não podendo acessar alguns hardwares, nem tem acesso a todas as instruções). (Fonte: Wikipedia)

    O Kernal monolítico é exatamente o oposto do micro-kernel. A principal característica do kernel monolítico é permitir que funções como rede, vídeo e acesso a outros periféricos sejam possíveis através do kernel-space. Isso é possível através do uso de módulos. O que significa que um módulo, apesar de não estar no mesmo código do kernel, é executado no espaço de memória do kernel. Sendo assim, apesar de modular, o kernel monolítico continua sendo único e centralizado. Isso pode levar a considerações errôneas sobre o conceito. Segue abaixo uma representação do kernel monolítico. (Fonte: http://localdomain.wordpress.com/2007/07/22/micro-kernel-ou-kernel-monolitico/)
  • Arquitetura Microkernel

    Uma tendência nos SO modernos é tornar o núcleo do SO o menor e mais simples possível. Para implementar esta idéia, os serviços do sistema são disponibilizados através de processos, onde cada um é responsável por oferecer um conjunto específico de funções, como gerência de arquivos, de processos, de memória e escalonamento.

    A utilização deste modelo permite que os servidores executem em modo usuário, ou seja, não tenham ac esso direto a certos componentes do sistema. Apenas o núcleo do sistema, responsável pela comunicação entre clientes e servidores, executa no modo kernel. Como consequência, se ocorrer um erro em um servidor, este poderá parar, mas o sistema não ficará inteiramente comprometido, aumentando assim a sua disponibilidade.


    Seria mais ou menos assim:

    [SERVIDOR DE ARQUIVO]     [SERVIDOR DE MEMÓRIA]    [SERVIDOR DE REDE]
         [SERVIDOR DE PROCESSO]     [SERVIDOR DE IMPRESSÃO]
                                                                Modo usuário

     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                Modo Kernel
                  [ M  I  C  R  O      K  E  R  N  E  L ]

                    [ H   A   R   D   W   A   R   E]




    Arquitetura de Sistemas Operacionais
    3a.Ed. - Machado/Maia
    pág. 60
  • Em computação, uma chamada de sistema (system call) é o mecanismo usado pelo programa para requisitar um serviço do sistema operacional, ou mais especificamente, do núcleo do sistema operacional.

    Fonte:http://pt.wikipedia.org/wiki/Chamada_de_sistema

  • Nano kernel também é uma resposta válida pra essa questão.

  • Estrutura dos SO:
    1) Sistema Monolítico: Todo sistema operacional, todas as suas instruções são o núcleo do SO. Todo mundo pode falar com todo mundo dentro do núcleo = paz e amor!

    2) Sistema de Camadas: ainda monolítico, mas com hierarquia de camadas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores.
    3) Sistema Micronúcleo (Microkernel): aparecimento do módo núcleo;
    4) Modelo Cliente-Servidor: uma  forma de especialização dos Micronúcleos;
    5) Sistema Exonúcleo (Verticalmente Estruturados): uma variação do Micronúcleo. Conceito embrionário de VMs.

  • Finalidade do núcleo:

    O principal propósito do núcleo é gerenciar os recursos do computador e permitir que outros programas rodem e usem destes recursos.

    Arquitetura Monolítica-> Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande e único programa executável. Todos processos em um só núcleo.

    Arquitetura de Camadas-> Devido ao Aumento da complexidade e do tamanho do código dos sistemas foi necessário criar técnicas de modulação então o sistema passou a ser dividido em camadas sobrepostas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores(lembra um pouco REDES modelo OSI).

    Vantagem: Isolar as funções do sistema operacional, facilitando a manutenção e depuração, além de criar hierarquia de níveis

    Desvantagem: Queda no Desempenho.

    Arquitetura Máquina Virtual -> Serve para criar um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais possibilitando a criação de diversas máquinas virtuais independentes onde cada uma oferece cópia virtual do hardware.

    Vantagem: Portabilidade do código / consolidação de servidores/ aumento da disponibilidade / facilidade de escalabilidade e balanceamento de carga / facilidade no desenvolvimento de software.

    Arquitetura MicroKernel-> Tendência nos sistemas operacionais modernos visando tornar o núcleo do SO o menor e mais simples possível.

    Um dos benefícios da abordagem de microkernel é que ela facilita a extensão do sistema operacional. Todos os serviços novos são adicionados ao espaço do usuário e, consequentemente, não requerem a modificação do kernel.

    O microkernel também fornece mais segurança e confiabilidade, já que a maioria dos serviços é executada como processos de usuário — e não do kernel. Se um serviço falha, o resto do sistema operacional permanece intocado.

    Sistemas Híbridos -> Na prática, muito poucos sistemas operacionais adotam uma estrutura única rigidamente definida. Em vez disso, eles combinam diferentes estruturas, resultando em sistemas híbridos que resolvem problemas de

    desempenho, segurança e usabilidade.

    Por exemplo, tanto o Linux quanto o Solaris são monolíticos porque o desempenho é muito mais eficiente quando o sistema operacional ocupa um único espaço de endereçamento. No entanto, eles também são modulares para que novas funcionalidades possam ser adicionadas ao kernel dinamicamente.

    Exonúcleos -> Um exonúcleo é um tipo de núcleo que não abstrai hardware in modelos teóricos. Ao invés disso ele aloca recursos físicos de hardware, como o tempo de um processador, páginas de memória, e blocos de disco, para diferentes programas.

    Fonte:

    Arquitetura de SO - Machado 5 ed /Fundamentos de SO - Silberschatz 9ed


ID
104815
Banca
FCC
Órgão
TCM-PA
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

A comunicação de uma aplicação com o subsistema de entrada e saída de um sistema operacional é estabelecida por meio de

Alternativas
Comentários
  • Chamdas de Sistema(System Calls) Assim como o interpretador de comandos é a interface entre o usuario e o so, as chamdas do sistema constituem a interface entre programas aplicaivos e o so. as chamdas do sistemas sao funcoes que podem ser ligadas com os aplicativos provendo servicos como leitura do relogio interno, operacoes de entrada/saida e comunicacao inter-processos

  • Porque não "shell"? Obg

  • De início podemos confundir e marcarmos SHELL, mas o shell é um interpretador externo de comandos

    Em computação, uma chamada de sistema (system call) é o mecanismo usado pelo programa para requisitar um serviço do sistema operacional, ou mais especificamente, do núcleo do sistema operacional.

    O termo técnico SHELL , em computação, é considerado genericamente a camada externa entre o usuário e o kernel (núcleo) de um sistema operacional.

    http://pt.wikipedia.org/wiki/Chamada_de_sistema

    http://pt.wikipedia.org/wiki/Shell_%28computa%C3%A7%C3%A3o%29

  • c-

    System calls fazem com o device driver as rotinas necessarias para acionar dispositivo. O device driver aciona controlador de dispositivo para realizar essa funcao. 


ID
113608
Banca
FCC
Órgão
DPE-SP
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

NÃO é uma função do sistema operacional:

Alternativas
Comentários
  • A função de um driver de dispositivo é aceitar requerimetos abstratos do software, independente de dispositivo acima dele, e cuidar para que a solicitação seja executada, permitindo que o software interaja com o dispositivo.
  • ALTERNATIVA E)

     

    As principais funções do sistema operacional são:

     

    > Traduzir os comandos aplicados nos demais softwares para que os hardwares, incluso o processador, as entenda e responda positivamente à solicitação;

    > Gerenciar os recursos dos hardwares para que todas as tarefas possam ser executadas a qualquer momento pelos usuários;

    > Gerenciar o acesso de arquivos diversos, oferecendo possibilidade de criação, edição, modificação, alteração de local e até exclusão dos mesmos;

    > Gerenciar tarefas diversas, para cada usuário diferente;

    > Permitir o funcionamento de periféricos como impressoras, hd externos, mouses sem fio, webcam’s, pen drives, etc ligados ao computador;

    > Garantir a segurança dos arquivos criados e guardados na máquina, de forma a permitir o acesso aos interessados.

  • Gabarito: E

    Funções do Sistema Operacional:

    Gerenciar Recursos; Gerência de Processos; Gerenciar Memória; Gerenciar Dispositivos; Gerência de Sistema de Arquivos

    Cabe ao SGBD gerenciar base de dados

    ------

    Pessoal ativem a notificação, INDICAR PARA COMENTÁRIO, vamos aproveitar, quanto mais respostas/vídeos explicados pelos professores, melhor será para todos.

    ------


ID
134005
Banca
CESPE / CEBRASPE
Órgão
CEHAP-PB
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação a sistemas operacionais, assinale a opção correta.

Alternativas

ID
149758
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

No que se refere a sistema operacional, julgue os itens a seguir.

Oferecer alocação ordenada e controlada dos processadores, das memórias e dos dispositivos de entrada e de saída entre os vários programas que competem por eles é tarefa do sistema operacional.

Alternativas
Comentários
  • Correto.
    O hardware, como citado em outra questão da Cespe posteriormente, é um conjunto de componentes que precisam de um controle para correta execução e sincronização. Para explorar os recursos do computador, é necessário um S.O.
  • Um S.O., tipicamente, tem quatro grandes e 1 pequeno componentes: gerenciamento de processos, gerenciamento de dispositivos de E/S, gerenciamento de memória e gerenciamento de arquivos.

  • S.O atuando como gerenciador de recursos.


ID
149761
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

No que se refere a sistema operacional, julgue os itens a seguir.

Os sistemas operacionais podem ser vistos de dois pontos de vista: gerenciadores de recursos e máquinas estendidas. Na visão de máquina estendida, o objetivo está relacionado à possibilidade de compartilhamento de disco em uma rede.

Alternativas
Comentários
  • ERRADO Não tem nada a ver com compartilhamento de discos.
    Máquina virtual ou estendida é uma abstraçãocriada pelo S.O. que apresenta ao usuário umamáquina mais simples e com as mesmas funções da máquina real.


  • S.O. visto como máquina estendida Fornecer uma abstração de alto nível dos recursos de hardware da máquina, livrando o programador dos detalhes de funcionamento dos mesmos. Sistema Operacional funciona como uma máquina virtual Visão top-down. Vamos citar a fonte galera!!!

    http://www.google.com.br/url?sa=t&rct=j&q=maquina%20estendida%20sistema%20operacional&source=web&cd=1&ved=0CDAQFjAA&url=http%3A%2F%2Fwww.dca.ufrn.br%2F~nogueira%2Fdca0800%2Fmaterial%2FSistemaOperacional.ppt&ei=DA4rT_OfMIjg2AWoyMiQDw&usg=AFQjCNGy1KNHUKyrVH-MqddObGGowcIzZA&cad=rja
  • No compartilhamento de disco em uma rede o S.O está atuando como gerenciador de recursos.


ID
149767
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

No que se refere a sistema operacional, julgue os itens a seguir.

Sistema operacional fortemente acoplado é um sistema que tem capacidade avançada de segurança.

Alternativas
Comentários
  • Sistemas Fortemente Acoplados:
    Nos sistemas fortemente acoplados ( tightly coupled) existem vários processadores compartilhando um única memória e gerenciados por um único Sistema Operacional. Múltiplos processadores permitem que vários programas sejam executados ao mesmo tempo , ou que um programa seja dividido em sub-programas , para a execução simultânea em mais de um processador. Desta forma é possível aumentar a capacidade de computação de um sistema, adicionando novos processadores com um custo muito inferior em relação a aquisição de novos computadores

  • SO Fracamente acoplados - permitem que máquinas e usuários de um sistema distribuído sejam fundamentalmente independentes e ainda interagir de forma limitada quando isto for necessário, compartilhando discos, impressoras e outros recursos.

    SO Fortemente acoplados - provê um nível de integração e compartilhamento de recursos mais intenso e transparente ao usuário caracterizando sistemas operacionais distribuídos.

       

ID
150202
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

NÃO é função do Kernel de um sistema operacional:

Alternativas
Comentários
  • Kernel pode ser entendido com uma série de arquivos escritos em linguagem C e em linguagem Assembly que constituem o núcleo do sistema operacional. É o kernel que controla todo o hardware do computador. Ele pode ser visto como uma interface entre os programas e todo o hardware. Cabe ao kernel as tarefas de permitir que todos os processos sejam executados pela CPU e permitir que estes consigam compartilhar a memória do computador
  •  o kernel é o componente central da maioria dos sistemas operacionais de computador, é uma ponte entre as aplicações e os dados reais processados a nível de hardware. Dentre as tarefas do kernel está a gestão dos recursos do sistema (a comunicação entre os componentes de hardware e software).
    Normalmente, como um componente básico de um sistema operacional, o kernel pode fornecer a camada de abstração de nível mais baixo para os recursos (especialmente processadores e dispositivos de E/S).
    Ele normalmente realiza suas tarefas através de mecanismos de comunicação entre processos e chamadas do sistema.
  • A letra (A) poderia ser assim, com um smiles no final:

    a) rodar folha de pagamento do departamento pessoal da empresa :)
  • Tem que rir de uma questão dessa... acabou essa mamata de antigamente!!

    Agora é só questão casca grossa!!

  • Nem da para acreditar que foi uma questão da FCC.

  • Funções núcleo encontrada nos sistemas operacionais:

    - Tratamento de interrupções e exceções

    - Criação e eliminação de processos e threads

    - Sincronização e comunicação entre processos e threads

    - Escalonamento e controle dos processos e threads

    - Gerencia de memoria

    - Gerencia do sistema de arquivos

    - Gerencia de dispositivos de E/S

    Suporte a redes locais e distribuídas

    - Contabilização do uso do sistema

    - Auditoria e segurança do sistema

    Alternativa: A


ID
150205
Banca
FCC
Órgão
TJ-PA
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Quando um sistema operacional permite a comunicação direta do usuário com o processo durante o seu processamento está executando um processo

Alternativas
Comentários
  • Um processo em background tem as mesmas características de um processo em foreground com uma unica exceção: somente os processos em foreground podem receber dados do terminal (do usuário).
  • Foreground: 1º Plano

    Background: 2º Plano


ID
150856
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Alguns sistemas operacionais permitem que seus processos criem múltiplos threads de execução. Em operação normal, o que é previsto que os threads de um mesmo processo do sistema operacional compartilhem?

Alternativas
Comentários
  • "Uma Thread, às vezes chamado de processo leve (lightweight process), é uma unidade básica de ulilização de CPU; compreende um ID de thread, um controlador de programa, um conjunto de registradores e uma pilha. Compartilha com outros threads pertencentes ao mesmo processo sua seção de código, seção de dados e outros recursos do sistema operacional, tais como arquivos abertos e sinais." -- Sistemas Operacionais, Cap5 - Threads.

  • As threads são conhecidas como “processos leves” porque compartilham espaços de endereçamento (endereços de memória principal alocados) e contextos de software (PID do processo, prioridade de execução, privilégios, proprietário do processo etc).
    No entanto, cada thread tem seu próprio contexto de hardware (registradores).
  • Um  modo  de  ver  um  processo é encará-lo  como  um  meio de  agrupar recurcos  relacionados.  lJm  processo apre-
    senta  um  espaço  de  endereçamento  que contém o código e os dados  do  programa,  bem  como  outros recursos.  Esses
    recursos  podem  ser arquivos  abertos,  processos  filhos, alarmes pendentes,  tratadores  de  sinais, informação  sobre
    contabilidade  entre  outros. Pô-los  todos  juntos  na forma  de um processo  facilita  o gerenciamento desses  recursos.
    O outro  conceito  que um  processo apresenta é o thread de execução,  normalmente  abreviado apenas  para
    thread. O thread  tem  um contador de programa que mantém o controle  de  qual instrução ele deve executar  em
    seguida.  Ele tem registradores  que  contêm suas  variáveis  atuais de trabalho. Apresenta uma  pilha que  traz  a
    história  da execução,  com  uma  estrutura  para cada procedimento  chamado  mas  ainda não  retornado. Apesar
    de  um  thread  ter de executar  em algum processo,  ambos o thread e seu processo são conceitos diferentes
    e podem  ser  tratados  separadamente.  Processos  são usados  para  agrupar  recursos;  threads são as  entidades
    escalonadas  para  a execução  sobre  a CPU.
    O que  os threads  acrescentam  ao modelo de processo  é permitir que  múltiplas  execuções ocorram  no
    mesmo  ambiente  do  processo  com um  grande  grau  de  independência  uma  da outra. Ter múltiplos threads  exe-
    cutando  em  paralelo  em  um processo é análogo a múltiplos  processos executando  em  paralelo  em  um único
    computador. No primeiro caso, os  threads  compartilham  um mesmo  espaço  de endereçamento,  arquivos aber-
    tos e outros  recursos. No último, os  processos  compartilham  um  espaço  físico  de  memória, discos,  impressoras
    e recursos semelhantes. Como  os  threads  têm algumas  das propriedades  dos processos,  eles são por vezes  cha-
    mados  de  processos leves  (Iightweight  process). O termo multithread  é também  usado  para  descrever  a situação
    em que se permite  a existência  de  múltiplos  threads  no  mesmo  processo.

    Sistema Operacionais Modernos - Cap 2
  • Uma thread compartilha, com outros threads pertencentes ao mesmo processo, código, dados, arquivos abertos e sinais.

    Alternativa: A


ID
151795
Banca
FCC
Órgão
TRE-PI
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação a sistemas operacionais, considere:

I. Oferece habilidade de alternância de contas de usuários, na qual quem está logado pode alternar em outra conta sem fechar os arquivos abertos.
II. Tem como principal ferramenta o Active Directory , no qual são armazenadas informações sobre objetos em rede de computadores e disponibiliza essas informações a usuários e administradores desta rede.
III. Em sua versão desktop, oferece uma ferramenta que permite a um administrador de sistemas gerenciar uma configuração de desktops complexa e geograficamente dispersa a partir de um único console via.
IV. Como o código-fonte é utilizado para todas as arquiteturas, as suas características fornecidas estão disponíveis para os clientes de mainframe.

As afirmações correspondem, respectivamente, a

Alternativas
Comentários
  • e) Windows XP; Windows Server 2003; Red Hat Enterprise Linux 5; Red Hat Enterprise Linux 5.

  • No XP é possível alternar a conta sem fechar os arquivos?

     

    Eu sei que isso é possível no 7, em "trocar de usuário", mas no XP a única opção era "fazer logoff", em que não tinha como manter os arquivos da conta atual abertos.

  • Não, no Windows XP não é possível alternar entre contas de usuários sem fazer logoff.

  • Então como o gabarito pode ser E?

  • Sem falar que "IV. Como o código-fonte é utilizado para todas as arquiteturas, as suas características fornecidas estão disponíveis para os clientes de mainframe" leva a crer que trata-se de um SO cliente(Windows XP no caso), reafirmando a alternativa "A" como a mais correta.


ID
153040
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os próximos itens, acerca de características, funções,
algoritmos e componentes de sistemas operacionais.

O padrão IEEE POSIX (portable operating system-IX) define um jogo mínimo de instruções de processadores para a construção de sistemas portáveis entre vários computadores.

Alternativas
Comentários
  •  Interface Portável entre Sistemas Operacionai) é uma família de normas definidas pelo IEEE e designada formalmente por IEEE 1003, que tem como objetivo garantir a portabilidade do código-fonte de um programa a partir de um sistema operacional que atenda as normas POSIX para outro sistema POSIX, desta forma as regras atuam como uma interface entre sistemas operacionais distintos

  • Nõa se trata de instruções de processadores, e sim e interfaces que devem ser oferecidos pelo sistema operacional
  • Gabarito Errado

    POSIX (um acrônimo para: Portable Operating System Interface, que pode ser traduzido como Interface Portável entre Sistemas Operacionais) é uma família de normas definidas pelo IEEE para a manutenção de compatibilidade entre sistemas operacionais, e designada formalmente por IEEE 1003. POSIX define a interface de programação de aplicações (API), juntamente com shells de linha e comando e interfaces utilitárias, para compatibilidade de software com variantes de Unix e outros sistemas operacionais.

    Tem como objetivo garantir a portabilidade do código-fonte de um programa a partir de um sistema operacional que atenda as normas POSIX para outro sistema POSIX, desta forma as regras atuam como uma interface entre sistemas operacionais distintos, enfim, de modo coloquial "programar somente uma vez, com implementação em qualquer sistema operacional".

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
153055
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os próximos itens, acerca de características, funções,
algoritmos e componentes de sistemas operacionais.

Os processos leves são mais fáceis de serem criados e destruídos que os processos completos, pois não têm quaisquer recursos associados a eles, pelo sistema operacional.

Alternativas
Comentários
  • Olá, pessoal!

    Essa questão foi anulada pela organizadora.

    Justificativa da banca: anulado por permitir mais de uma interpretação, em função da existência de vários tipos de threads com modos diferentes de usufruir dos recursos alocados pelo sistema operacional.

    Bons estudos!

ID
157057
Banca
CESPE / CEBRASPE
Órgão
TRT - 5ª Região (BA)
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação aos conceitos de sistemas operacionais e suas tecnologias, julgue os itens subseqüentes.

A organização monolítica é a estrutura de sistemas operacionais mais comum. O sistema monolítico é formado de um procedimento principal, procedimentos de serviços e procedimentos utilitários. O procedimento principal invoca o procedimento do serviço requisitado. Os procedimentos de serviço executam as chamadas ao sistema. Os procedimentos utilitários auxiliam os procedimentos de serviço.

Alternativas
Comentários
  • Gabarito: Certo.

    Sistema Operacional Monolítico é um termo, oriundo dos estudos referentes a , 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 interagir livremente com outro .

    Fonte:https://pt.wikipedia.org/wiki/Sistema_Operacional_Monol%C3%ADtico

  • Finalidade do núcleo:

    O principal propósito do núcleo é gerenciar os recursos do computador e permitir que outros programas rodem e usem destes recursos.

    Arquitetura Monolítica-> Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande e único programa executável. Todos processos em um só núcleo.

    Arquitetura de Camadas-> Devido ao Aumento da complexidade e do tamanho do código dos sistemas foi necessário criar técnicas de modulação então o sistema passou a ser dividido em camadas sobrepostas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores(lembra um pouco REDES modelo OSI).

    Vantagem: Isolar as funções do sistema operacional, facilitando a manutenção e depuração, além de criar hierarquia de níveis

    Desvantagem: Queda no Desempenho.

    Arquitetura Máquina Virtual -> Serve para criar um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais possibilitando a criação de diversas máquinas virtuais independentes onde cada uma oferece cópia virtual do hardware.

    Vantagem: Portabilidade do código / consolidação de servidores/ aumento da disponibilidade / facilidade de escalabilidade e balanceamento de carga / facilidade no desenvolvimento de software.

    Arquitetura MicroKernel-> Tendência nos sistemas operacionais modernos visando tornar o núcleo do SO o menor e mais simples possível.

    Um dos benefícios da abordagem de microkernel é que ela facilita a extensão do sistema operacional. Todos os serviços novos são adicionados ao espaço do usuário e, consequentemente, não requerem a modificação do kernel.

    O microkernel também fornece mais segurança e confiabilidade, já que a maioria dos serviços é executada como processos de usuário — e não do kernel. Se um serviço falha, o resto do sistema operacional permanece intocado.

    Sistemas Híbridos -> Na prática, muito poucos sistemas operacionais adotam uma estrutura única rigidamente definida. Em vez disso, eles combinam diferentes estruturas, resultando em sistemas híbridos que resolvem problemas de

    desempenho, segurança e usabilidade.

    Por exemplo, tanto o Linux quanto o Solaris são monolíticos porque o desempenho é muito mais eficiente quando o sistema operacional ocupa um único espaço de endereçamento. No entanto, eles também são modulares para que novas funcionalidades possam ser adicionadas ao kernel dinamicamente.

    Exonúcleos -> Um exonúcleo é um tipo de núcleo que não abstrai hardware in modelos teóricos. Ao invés disso ele aloca recursos físicos de hardware, como o tempo de um processador, páginas de memória, e blocos de disco, para diferentes programas.

    Fonte:

    Arquitetura de SO - Machado 5 ed /Fundamentos de SO - Silberschatz 9ed


ID
159016
Banca
CESPE / CEBRASPE
Órgão
STJ
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação a sistemas operacionais e sistemas distribuídos, julgue os
seguintes itens.

Há sistemas operacionais nos quais a cada arquivo é associado um bloco de índice em que são armazenados endereços de blocos com os dados do arquivo. Esse método, chamado alocação indexada, reduz a fragmentação interna presente quando é empregada alocação contígua. Se um sistema suporta ambos os métodos de alocação, deve-se usar alocação indexada se o acesso aos dados for direto, e alocação contígua se o acesso for seqüencial.

Alternativas
Comentários
  • A questão é falsa por que a alocação indexada aumenta fragmentação.
    Neste tipo, o sistema localiza um arquivo através do endereço do bloco e da sua extensão em blocos. Analisaremos as três principais estratégias:
    – First-fit: o primeiro segmento livre com tamanho suficiente para alocar o arquivo é selecionado. A busca na lista é seqüencial, sendo interrompida tão logo se encontre um segmento adequado.
    – Best-fit: seleciona o menor segmento livre disponível com tamanho suficiente para armazenar o arquivo. A busca em toda a lista se faz necessária para a seleção do segmento, a não ser que a lista esteja ordenada por tamanho.
    – Worst-fit: o maior segmento é alocado e a busca por toda a lista se faz necessária, a menos que exista uma ordenação por tamanho.
  • Errada. A alocação indexada comparada com a contígua tem maior fragmentação INTERNA, pois aloca blocos (normalmente 4k), ou seja, arquivo que não são multiplos do tamanho do bloco, desperdiçará memória, já a alocação contígua, pode ver caso a caso usando um dos algorítmos: first fit, best fit e worst fit. No entanto a alocação indexada não possui fragmentação EXTERNA.
  • Esse método, chamado alocação indexada, elimina a fragmentação externa presente quando é empregada alocação contígua. 

  • Há sistemas operacionais nos quais a cada arquivo é associado um bloco de índice em que são armazenados endereços de blocos com os dados do arquivo. Esse método, chamado alocação indexada, reduz a fragmentação interna presente quando é empregada alocação contígua. Se um sistema suporta ambos os métodos de alocação, deve-se usar alocação indexada se o acesso aos dados for direto, e alocação contígua se o acesso for seqüencial.

    Na alocação contígua, NÃO existe o problema da fragmentação INTERNA, como afirma a questãopois os espaços sao alocados previamente de acordo com a necessidade, evitando o desperdicio (fragmentação interna); Perceba tb, que se retirarmos a parte grifada acima o resto do texto estaria todo correto ok!?

    Tipos de Alocação de Arquivos (Resumo):
    1. Alocação Contígua ou Sequencial: blocos de memoria sao alocaddos previamente, ocorre o problema de fragmentacao EXTERNA;
    2. Alocação Encadeada: cada bloco aponta para o proximo bloco pertencente ao arquivo, perde-se area util (onde ficara o ponteiro) mas corrige o problema de fragmentacao externa;
    3. Alocação Indexada: Existe um bloco de indice onde podera ser consultado para acessar o arquivo diretamente. corrige o problema da fragmentação externa.
  • Errada. Vamos quebrar a questão em partes.

     

    "Há sistemas operacionais nos quais a cada arquivo é associado um bloco de índice em que são armazenados endereços de blocos com os dados do arquivo." Até aqui tá tudo bem. Esse modo se refere à Alocação Indexada.

     

    "Esse método, chamado alocação indexada, reduz a fragmentação interna presente quando é empregada alocação contígua." Errado. Ele reduz a fragmentação EXTERNA. A fragmentação interna continua a ocorrer em todos os modos.

     

    "Se um sistema suporta ambos os métodos de alocação, deve-se usar alocação indexada se o acesso aos dados for direto, e alocação contígua se o acesso for seqüencial." Certinho.

     

    ###########################

    Tiago Melquiades, se me permite corrirgir seu comentário...

     

    Todos os tipos de alocação estão sujeitos à fragmentação INTERNA. Pois, na maioria das situações, o arquivo poderá não ocupar o bloco inteiro... ou seja, aquele espacinho que sobra dentro do bloco é a chamada Fragmentação INTERNA.

     

    A EXTERNA acontece apenas na alocação Contígua, pois esta é a única que exige alocação de forma sequencial... as demais (encadeada e indexada) permitem que o arquivamento seja feito de forma espalhada no disco e, consequentemente, eliminam a fragmentação externa. Lembrando que a Frag. Externa é causada pela criação e eliminação constante de arquivos, e, com o tempo, ocorre o surgimento de espaços vagos sem que haja tamanho suficiente para se alocarem novos arquivos.

     

    Como dito pelo outro "Thiago", a alocação indexada elimina a fragmentação externa, mas ela NÃO reduz a fragmentação INTERNA em virtude de ocupar, geralmente, vários blocos não contíguos... e estes podem estar mais fragmentados internamente.


ID
172102
Banca
FGV
Órgão
MEC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sistema Operacional é, por definição, um conjunto otimizado de programas que tem por objetivo gerenciar recursos dos computadores.
Nesse sentido, as funções de gerência desempenhadas pelos sistemas operacionais, incluem os seguintes componentes:

Alternativas
Comentários
  • Alternativa CORRETA letra D

    Hardware e software compõem um sistema de computação, um não é útil sem o outro. O hardware em parceria com o software é capaz de armazenar, recuperar, tratar, transportar dados, bem como, encontrar erros de sintaxe em textos, produzir e reproduzir imagens e sons, e etc.

    O software divide-se em duas categorias:

    Os programas do sistema: que são os gerenciadores do computador;

    Os programas de aplicação: que resolvem os problemas de seus usuários.

    Dos programas de sistema o mais importante é Sistema Operacional que é o controlador de todos os recursos do computador e que propicia a base sobre a qual os programas de aplicação (também chamado de Aplicativos) são escritos.

    Em poucas palavras, pode-se dizer que um Sistema Operacional é um conjunto de programas que gerenciam todos os recursos do computador: processador, memória, dispositivos de E/S (Entrada/Saída), execução dos programas dos usuários, etc. É ele que controla a utilização desses recursos.

    Pode-se dizer que alguns objetivos de um Sistema Operacional são:

    Executar os programas do usuário e resolver os problemas do usuário mais facilmente;

    Diminuir ao máximo a interação e a dependência do programador para com a máquina;

    Tornar o computador conveniente e eficaz para o uso;

    Utilizar o hardware de uma maneira eficiente.

  • E quanto à última palavra, "dados"? Foi esta palavra que me fez considerar errado o item "D".
    Que eu saiba o sistema operacional não gerencia dados, quem gerencia são os softwares de banco de dados, os próprios aplicativos etc.
    O sistema operacional gerencia os filesystems (tanto locais quanto remotos) e as áreas de memória, que são os locais onde os aplicativos guardam os dados. Mas não gerencia os dados em si!
  • Realmente, questão bastante estranha.

    Fui só por eliminação mesmo.

    Vamos na fé.

  • Gabarito: D

    Fonte: Prof. Celso

    As alternativas A, B, C e E apresentam itens de hardware que não integram o sistema operacional. O SO é segmentado em kernel, gerenciador de memória, gerenciador de processos, gerenciador de dispositivos (entrada e saída) e sistema de arquivos. Estas opções estão retratadas na alternativa D.

    ------

    Pessoal ativem a notificação, INDICAR PARA COMENTÁRIO, vamos aproveitar, quanto mais respostas/vídeos explicados pelos professores, melhor será para todos.

    ------


ID
172108
Banca
FGV
Órgão
MEC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

O interpretador de comandos de um sistema operacional é denominado:

Alternativas
Comentários
  • Alternativa CORRETA letra A

    O Shell é um programa especial que faz a interface entre o sistema operacional e o usuário. Recebe a entrada deste, a executa, e mostra a saída. Por isso é chamado de interpretador de comandos. A interface de usuário não gráfica do shell de comando é o ambiente propício para a execução de aplicativos e utilitários baseados em caracteres. O shell de comando executa programas e exibe os dados de saída em uma tela usando caracteres individuais de forma idêntica ao interpretador de comandos do MS-DOS, o Command.com. O shell de comando do sistema operacional de servidor Windows usa o interpretador de comandos Cmd.exe, que carrega aplicativos e direciona o fluxo de informações entre aplicativos, para transformar entradas de usuário em um formato que possa ser compreendido pelo sistema operacional.

  • Letra A.

     

    Lembrando que o SHELL é o CLI = command line interface

    E o Windows Explorer é um exemplo de GUI = graphical user interface

  • Para quem ficou em dúvida entre a A e a B, o Kernel ele serve de ponte entre o hardware e os aplicativo, já o Shell ele faz a ponte entre sistema e o usuário, interpretando os comandos.


ID
173290
Banca
FGV
Órgão
MEC
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Os Sistemas Operacionais são estruturas de software muito complexas. Com relação aos Sistemas Operacionais, analise as afirmativas a seguir.

I. Os serviços identificados em um sistema operacional incluem execução de programas, operações de entrada e saída (E/S), manipulação do sistema de arquivos, comunicação, detecção de erros, alocação de recursos e proteção.

II. As funções do Kernel providas pelos sistemas operacionais modernos incluem funções essenciais, como criação, agendamento e finalização de processos.

III. Os sistemas operacionais modernos normalmente são embasados em uma arquitetura formada por um kernel (núcleo) e por serviços.
Assinale:

Alternativas
Comentários
  • I. Os serviços identificados em um sistema operacional incluem execução de
    programas, operações de entrada e saída (E/S), manipulação do sistema de
    arquivos, comunicação, detecção de erros, alocação de recursos e proteção.
    Item correto. Todos os serviços citados fazem parte do sistema
    operacional.
    II. As funções do Kernel providas pelos sistemas operacionais modernos incluem
    funções essenciais, como criação, agendamento e finalização de processos.
    Item correto. Como vimos o Kernel ou core do sistema operacional é
    o núcleo do sistema operacional. É carregado em memória RAM quando o
    computador é inicializado. O núcleo do sistema operacional é um software
    que faz o link, isto é, faz a interface, entre os programas (softwares) utilizados
    pelo usuário e o hardware. O Kernel tem como principais funções gerenciar o
    processador, a memória, o sistema de arquivos e os dispositivos de entrada
    e saída. É também função do Kernel gerenciar os processos, criando,
    finalizando e controlando o acesso dos mesmos ao processador. São outras
    funções do kernell: gerenciar interrupções, manipular processos, fazer a
    intercomunicação dos processos, sincronização de processos, gerenciamento de
    memória, gerenciamento de dispositivos de E/S, suporte a um ou mais sistemas
    de arquivos, suporte a funções de administração do sistema operacional.
    III. Os sistemas operacionais modernos normalmente são embasados em uma
    arquitetura formada por um kernel (núcleo) e por serviços.
    Item correto. Os sistemas operacionais atuais são formados pelo kernel
    e por serviços, como execução de programas, operações de entrada e saída,
    detecção de erros, alocação de recursos, manipulação de sistemas de arquivos.
     


ID
178048
Banca
VUNESP
Órgão
CETESB
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Mecanismo utilizado em sistemas operacionais para a comunicação entre processos:

Alternativas
Comentários
  • Esta questão é passível de anulação, pois Semáforo também é um mecanismo de comunicação estre processos. Semáforos são variáveis de controle que quando um processo vai acessar uma área de exclusão mútua, antes de entrar em sua região crítica ele ativa a variável semáforo. Como esta variável foi ativada, outros processos não terão acesso a esta região crítica, até que a variável Semáforo volte ao seu estado inativo, setado pelo processo utilizador da região.

  • Concordo, a alternativa E também está correta já que sinais são usados pra acordar ou botar pra dormir processos.
  •  a)

    fila de mensagens.

     d)

    semáforo.

     e)

    sinal.

     

    3 possíveis respostas.

  • a-

    É possivel visualizar as mensagens como veiculo de comunicação entre processos pelo gerenciamento de provcessos em sistemas distribuidos, onde escalonamento é o mesmo do que sistemas tradicioanis, porem os processos sao alocados em sistemas remotos. Quando uma requisicao for enviada a 1 sistema remoto p/ executar 1 processo, este é tratado como local, SEM INTERVENÇÃO EXTERNA. a forma de comunicacao é por mensagens (tambem fornecem subsidios para o gerenciador de cpu controlar processos). ou portas (canais)


ID
187465
Banca
FCC
Órgão
AL-SP
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

No contexto de sistemas operacionais, os termos user space e kernel space referem-se a diferentes

Alternativas
Comentários
  • A conventional computer operating system usually segregates virtual memory into kernel space and user space. Kernel space is strictly reserved for running the kernel, kernel extensions, and most device drivers. In contrast, user space is the memory area where all user mode applications work and this memory can be swapped out when necessary.

  • Um sistema operacional convencional separa a memória virtual em espaço do núcleo e espaço do usuário. O espaço do núcleo é estritamente reservado para o núcleo, extensões do núcleo e alguns drivers de dispositivos. Em muitos sistemas operacionais, o espaço de memória ocupada pelo núcleo nunca é paginada no disco. De outro lado, o espaço de memória do usuário (no qual funcionam todos os aplicativos de modo usuário) pode ser paginada no disco sempre que necessário.


    Fonte: http://pt.wikipedia.org/wiki/Espa%C3%A7o_de_n%C3%BAcleo


ID
187468
Banca
FCC
Órgão
AL-SP
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

É correto afirmar:

Alternativas
Comentários
  • multitarefa preemptiva

    Tipo de operação multitarefa em que o sistema operacional interrompe periodicamente a execução de um programa e passa o controle do sistema a outro programa que está em espera. A multitarefa preemptiva impede que um programa monopolize o sistema. Também chamada de time-slice multitasking (multitarefa por fatia de tempo, multitarefa por fração de tempo).

  • Escalonamentos:

    Preemptivos: O SO pode interromper um processo em execução e passá-lo par ao estado de pronto, com o objetivo de alocar outro processo na CPU.

    Não-Preemptivos: Foi o primeiro tipo de escalonamento implemetado nos sistemas multiprogramáveis, onde predominava tipicamente o processamento batch. Nesse tipo de escalonamento, quando um processo está em execução nenhum evento externo pode ocasionar a perda do uso do processador.

     

    Logo a correta é a letra b

    Fonte: Arquitetura de Sistemas Operacionais - 4ed - Maia

  • TOPPP

  • Pode sim haver restrição ao direito de locomoção, mas apenas no Estado de Sítio.

    Art. 139. Na vigência do estado de sítio decretado com fundamento no art. 137, I, só poderão ser tomadas contra as pessoas as seguintes medidas:

    I - obrigação de permanência em localidade determinada; (restrição à locomoção/liberdade)

    II - detenção em edifício não destinado a acusados ou condenados por crimes comuns; (restrição à locomoção/liberdade)

    III - restrições relativas à inviolabilidade da correspondência, ao sigilo das comunicações, à prestação de informações e à liberdade de imprensa, radiodifusão e televisão, na forma da lei;

    IV - suspensão da liberdade de reunião;

    V - busca e apreensão em domicílio;

    VI - intervenção nas empresas de serviços públicos;

    VII - requisição de bens.

  • Discordo de vocês.

    Existe SIM restrição de Lomoção no Estado de Defesa.

    Quando se fala que pode haver prisão por descumprimento das medidas impostas, não podendo ultrapassar 10 dias.

    Então SEM DÚVIDAS, podemos concluir que existe sim restrição de locomoção nos dois mecanismos constitucionais.


ID
192952
Banca
FCC
Órgão
MPE-RN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

NÃO se trata de um sistema operacional utilizável em redes de computadores:

Alternativas
Comentários
  • bem tranquila:

    São SO:

     

    Linux,

    Windows NT

    Unix

    Novell Netware

     

  • Essa FCC faz cada questão besta. Aquela do Honeycomb foi mundial.
  • Kra, básico da FCC e de outras, sempre tem umas questões pra que você não zere e desista.


ID
193057
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

O sistema operacional precisa apresentar a cada usuário uma interface que aceita, interpreta e, então, executa comandos ou programas do usuário. Essa interface é:

Alternativas
Comentários
  • O interpretador de comando (Shell) é um processo que perfaz a interface do usuario com o SO. Este processo lê o teclado a espera de cmandos, interpreta-os e passa seus parametros ao SO. Serviços como login e logout, manipulacao de arquivos, e execucao de programas sao solicitados atraves do interpretador de comandos

  • De início você pode querer marca MS-DOS ou DOS, mas ambos são frutos do shell, que INTERPRETA os comandos digitados no mesmo.


ID
193060
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

O sistema operacional é construído como uma série de módulos, sendo que cada módulo é responsável por uma função. NÃO é um módulo de um sistema operacional multiusuário:

Alternativas
Comentários
  • Um sistema operacional de um computador que é usado por muitas pessoas ao mesmo tempo, é um sistema  complexo. Contém milhões de linhas de instruções escritas por programadores. Para tornar os sistemas operacionais mais fáceis de serem escritos, eles são construídos como uma série de módulos, cada módulo sendo responsável por uma função. Os módulos típicos em um grande SO multi-usuário geralmente são

    • Núcleo (Kernel em inglês - também conhecido como "executivo")
    • Gerenciador de processo
    • Escalonador (Scheduler, em inglês)
    • Gerenciador de arquivo
    Fonte: http://www.di.ufpb.br/raimundo/SistOper/os01port.htm#start
  • FCC sempre repete esta questão na íntegra!

ID
201310
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Starvation ocorre quando um processo espera por um evento que nunca ocorrerá.

Alternativas
Comentários
  • Complicada essa questão. Para mim ela estaria correta. Acho que o erro dela está no fato de citar o termo "evento".

    5. O que é starvation e como podemos solucionar esse problema?

    Starvation é a situação onde um processo nunca consegue executar sua região crítica e, conseqüentemente, acessar o
    recurso compartilhado. A solução para o problema depende de estabelecimentos de mecanismos de acesso pelo sistema
    operacional que garantam o acesso ao recurso por todos os processos que solicitarem uso.

  • STARVATION - Problema similar ao livelock, ocorre se o algoritmo seleciona a mesma transação como vítima repetidamente, causando abort repetidos e nunca acabando a execução
  • A questão do TST 2007, gabarito correto, tem o seguinte conceito:

    "A inanição (starvation) resulta da impossibilidade de um processo utilizar um recurso em função de haver outros processos que utilizam esse recurso de uma forma particular e sem nenhuma forma de bloqueio."

    Concordo com o colega Valério Wittler, acho que o erro é o termo "evento"
  • Kramba... confundi starvation com deadlock!!!! se fosse em uma prova tinha perdido uma questão fácil dessas!!!!
  • Concordo com o amigo @Roger, a questão esta correta:

    Starvation ocorre quando um processo espera por um evento que nunca ocorrerá. ERRADO, pois o evento ira ocorrer, porem o processo, por algum motivo (baixa prioridade, ou acesso aleatorio) nunca consiguira assumir o recurso liberado por este evento. Se a questão trocasse Starvation por Deadlock ai sim estaria correto.

    fonte: Arquitetura de Sistemas Operacionais - 4Edicao, Francis Berenger Machado e Luiz Paulo Maia

    bons estudos!
  • Complementando a informação do colega acima e tendo a mesma fonte como referencia.

    DeadLock: situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que nunca ocorrerá.

    A questão era sobre deadlock.

    abrassss
  • ACho que o erro da questão está na palavra evento. Na verdade é recurso. O problema é que tem momentos que a CESPE é muito criteriosa e tem outros que não.
  • Só pra fundamentar melhor usando o mestre Tanembaum:

    Deadlock [1]: "Um conjunto de processos estará em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse mesmo conjunto poderá fazer acontecer."

    Starvation [2]: "...situação na qual todos os programas continuam executando indefinidamente, mas falham ao tentar progredir..."

    O detalhe importante é que no deadlock os processo ficam bloqueados e no starvation ficam executando indefinidamente.

    [1]: Tanembaum, Sistemas Operacionais Modernos, página 120.
    [2]: Tanembaum, Sistemas Operacionais Modernos, página 93.
  • Deadlock ocorre quando um processo espera por um evento que nunca ocorrerá.

    Starvation = Inanição
    - Postergação indefinida
    - Espera indefinida
    - Processo nunca consegue executar sua regição crítica ou seja acessar o recurso compartilhado.
  • A questão tenta confundir o candidato colocando o conceito de deadlock ao invés do Starvation.

    Esses conceitos são muitos parecidos, no entanto, no Starvation o processo espera por um recurso que não fica disponivel por causa que outros com prioridades maiores estão usando.

    Ainda pode-se resaltar que existe outro conceito parecido com eles, o Livelock

     


ID
204676
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de características dos sistemas operacionais modernos,
julgue os itens subsequentes.

Os daemons, em sistemas operacionais, são processos que ficam em segundo plano, com a finalidade de tratar alguma atividade como mensagem eletrônica, páginas web e impressão.

Alternativas
Comentários
  • Em várias situações precisa-se que um processo fique em execução continuamente (eternamente) em uma máquina. A estes processos dá-se o nome de daemons ou serviços.

    Geralmente são programas que são iniciados assim que o sistema operacional é inicializado. Coloca-se a chamada dos daemons nos arquivos de configuração para que os mesmos sejam ativados automaticamente durante o processo de boot do sistema. Um daemon só deve ser cancelado quando o sistema operacional está encerrando o seu processamento. Daemons são processos que rodam em background e não devem ter um terminal associado à eles.

    fonte: http://www.br-c.org/doku.php?id=daemon

  • Em Unix e outros sistemas operacionais multitarefas, um daemonacrônimo de Disk And Execution MONitor (Monitor de Execução e de Disco), é um programa de computador que roda de forma independente em background, ao invés de ser controlado diretamente por um usuário.

    http://pt.wikipedia.org/wiki/Daemon

ID
204685
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de características dos sistemas operacionais modernos,
julgue os itens subsequentes.

TLB (translation lookaside buffer) ou memória associativa é um dispositivo em hardware desenvolvido para mapear os endereços virtuais para endereços físicos sem passar pela tabela de páginas.

Alternativas
Comentários
  • TLB: Translation look-aside buffer

    Translation Look-aside Buffer (TLB) is cache in a CPU that contains parts of the page table which translate from virtual into real addresses. This buffer has a fixed number of entries and is used to improve the speed of virtual address translation. The buffer is typically a content addressable memory (CAM) in which the search key is the virtual address and the search result is a real or physical address (which, perversely, may not be the same thing). If the CAM search yields a match the translation is known and the match data is used. If no match exists, the translation proceeds via the page table, which will take several more cycles to complete – particularly if the translation tables are swapped out into secondary storage. The TLB enables faster computing because it allows the address processing to take place independent of the normal address-translation pipeline.


    fonte: http://www.javvin.com/hardware/TLB.html

    ===================================================

     

  • Essa questão envolve um conceito complexo, que é a TLB.

    A TLB é uma espécie de memória cache. Vamos ver como ela funciona. Isso envolve alguns conceitos extras.

    A memória principal é dividida em blocos, ou frames. O programa, ou aplicativo do usuário é dividido em páginas. Em certos momentos, algumas dessas páginas estão alocadas nos blocos da memória principal. Existe uma coisa chamada de TABELA DE PÁGINAS. Ela possui três parâmetros, geralmente: O primeiro é um número de página (1, 2, 3 ...depende de quantas páginas possui um programa), o segundo é o bloco (em que bloco da memória principal está a página requerida) e um endereço relativo (usado para encontrar a informação dentro da página ou bloco).

    O que acontece é que a tabela de páginas é muito grande. Assim, não tem como mantê-la por completo na memória principal. Ela fica, por esse motivo, na memória virtual. Isso abre um gargalo no sistema, pois, para saber onde está a página no bloco, tem-se que, primeiro, acessar a página no endereço virtual e depois acessar a informação. São dois acessos. Para evitar esse problema, foi criado a TLB.

    A TLB é uma memória cache (dita no começo) que contém as entradas da tabela de página usadas mais recentemente. Vamos supor que a CPU requisite a página de número 10. É verificado primeiramente se essa entrada se encontra na TLB. Se sim, dessa entrada é gerada o endereço físico da página (os programa tem somente endereço relativo, que precisam ser tranformador em end. físico).
    Caso não esteja na TLB:é feito um acesso à tabela de página na memória virtual. Verifica-se se a página 10 está na memória principal.

    1 - Se estiver, a TLB é atualizada, gera-se o endereço físico da página 10 e verifica-se se a informação está na cache. Caso esteja, o dado é entregado à CPU. Caso contrário, é buscada da memória principal e atualizada a cache.
    2 - Se não estiver, ocorre falha de página e é preciso trazê-la da memória virtual para a principal. Depois, é atualizada a tabela de páginas. Logo depois, é feita a consulta novamente à TLB. Nesse caso, dará erro novamente, sendo necessário uma busca na Tabela de páginas. Agora, está Ok. A TLB é atualizada e o endereço é buscado na cache, caso esteja lá. Caso contrário, é buscado na memória principal e atualiza a cache.

    A partir de agora, não é mais necessário acesso à Tabela de páginas, pois a TLB possui a entrada da página 10. Isso evita aquele acesso demorado e custoso. Da TLB é gerado o endereço físico e a informação é entrega à CPU.

    Finalizando, a TLB é um hardware (cache) que mapeia endereços virtuais em físicos sem passar pela Tabela de páginas.

    Espero ter sido claro. Prolixo, mas claro.

     
  • Translation Address Table. A TLB é fundamental no acesso à memória. Basicamente, os endereços de toda a memória RAM disponível são divididos em páginas de memória. Cada página de memória tem uma tabela de endereços, com os dados armazenados e sua localização.

    Esta tabela precisa ser consultada antes de cada acesso à memória. O grande problema é que em condições normais, a tabela fica armazenada na própria memória RAM, o que faz com que o processador precise fazer um duplo acesso à memória, o primeiro para ler a tabela de endereços e o segundo para recuperar os dados propriamente ditos.

    A TLB é uma espécie de cache, incluído no processador, que permite que ele mantenha as tabelas de endereços de algumas páginas pré-carregados, o que melhora consideravelmente a velocidade de acesso à memória, quando os dados necessários não são encontrados no cache L1 e L2. Quanto maior é a TLB, mais endereços podem ser armazenados e maior é o ganho.

    Fonte:http://www.hardware.com.br/termos/tlb

  • Certinho.

    A TLB fica localizada dentro da MMU e funciona como uma “cache” em relação a tabela de páginas (armazenada em memória principal).
    A busca é realizada inicialmente na TLB, caso não seja encontrada a página deverá ser pesquisada na tabela de páginas.

     


ID
210271
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com respeito aos sistemas operacionais Windows, Unix, Linux e
BSD (Berkeley software distribution), julgue os itens seguintes.

A licença usada no BSD (Berkeley Software Distribution) tem poucas restrições, o que torna esse sistema, na prática, de domínio público.

Alternativas
Comentários
  • A licença BSD é uma licença de código aberto inicialmente utilizada nos sistemas operacionais do tipo Berkeley Software Distribution (um sistema derivado do Unix). Apesar dela ter sido criada para os sistemas BSD, atualmente vários outros sistemas são distribuídos sob esta licença.

    Os proprietários originais da distribuição BSD eram os "Regentes da Universidade da Califórnia", devido ao fato da BSD ter nascido na Universidade de Berkeley. A licença oficial BSD tem sido revisada desde a sua criação, e inspirou inúmeras variantes utilizadas por outros desenvolvedores de software (veja a seção abaixo, "Licenças estilo BSD").

    Esta licença impõe poucas restrições quando comparada aquelas impostas por outras licenças, como a GNU General Public License ou mesmo as restrições padrão determinadas pelo copyright, colocando-a relativamente próxima do domínio público. (De fato, a licença BSD tem sido chamada de copycenter, ou "centro de cópias", em comparação com o copyright padrão e o copyleft da licença GPL: "Leve até o copycenter e faça quantas cópias quiser.")[1]
     

  • Se praticamente é de domínio público, alguém poderia me explicar porque o MAC, q tem suas bases no BSD, é arquitetura fechada??
  • Roger,

    Porque a licença BSD permite que o software seja incorporado a produtos proprietários, diferentemente do que ocorre com a GPL.
  • Conforme a Wikipédia:

    Esta licença impõe poucas restrições quando comparada aquelas impostas por outras licenças, como a 
    GNU General Public Licenseou mesmo as restrições padrão determinadas pelo copyright, colocando-a relativamente próxima do domínio público.

  • Não tem a BSD aqui, mas a figura é boa pra estudo:




    Fonte: http://claudiocomputing.wordpress.com/category/infografico/
  • Sei que BSD tem licença mais permissiva, então marquei C.


ID
223933
Banca
UFF
Órgão
UFF
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Analise as seguintes sentenças em relação aos sistemas operacionais:

I Um sistema operacional multiprogramável pode ser monousuário ou multiusuário.
II Os sistemas operacionais podem ser classificados em três tipos: sistemas monoprogramáveis, sistemas multiprogramáveis e sistemas de tempo compartilhado. III Os sistemas de tempo real são bem semelhantes em implementação aos sistemas de tempo compartilhado, sendo a maior diferença o tempo de resposta exigido no processamento das aplicações.

Das sentenças acima, apenas:

Alternativas
Comentários
  • Correta letra D
    I -    Ele pode ter 1 usuário (mono) ou mais (multi).
    II -   Os tipos de SO são:  sistemas monoprogramáveis, sistemas multiprogramáveis e sistemas de múltiplos processadores
    III -  O tempo de resposta do tempo real tem que estar dentro de limites rígidos e são controlados por prioridades.

    Fonte: http://www.gsigma.ufsc.br/~popov/aulas/so1/cap3so.html
  • Realmente não vi erro na 2... Existem diversas outras classificações além destas, mas não torna falso o fato de que existem realmente essas 3 citadas!

  • I Um sistema operacional multiprogramável pode ser monousuário ou multiusuário. 

    Correto.

    II Os sistemas operacionais podem ser classificados em três tipos: sistemas monoprogramáveis, sistemas multiprogramáveis e sistemas de tempo compartilhado.

    Os SO's podem ser classificados em 3 tipos:

    1 - Monoprogramáveis.

    2 - Multiplogramáveis.

    3 - Múltiplos Processadores.

    III Os sistemas de tempo real são bem semelhantes em implementação aos sistemas de tempo compartilhado, sendo a maior diferença o tempo de resposta exigido no processamento das aplicações.

    Correto.


ID
223936
Banca
UFF
Órgão
UFF
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

No tocante aos sistemas operacionais com múltiplos processadores, é um fator chave no desenvolvimento desse tipo de sistemas:

Alternativas
Comentários
  • Correta letra B

    Sistemas com Múltiplos Processadores
    • Uma ou mais CPUs interligadas, trabalhando em conjunto.
    • Fator Chave = Comunicação entre CPUs e grau de compartilhamento dos recursos.
    • Sistemas Fortemente Acoplados X Fracamente Acoplados
    Fonte: http://www.gsigma.ufsc.br/~popov/aulas/so1/cap3so.html
  • b-

    SO de multiprocessadores administram hardware de varios CPUs, balanceando compartilhamento e administracao de recursos. Sao sistemas de servidores com variacoes p/ melhorar comunicacao.

  • a forma de comunicação entre os processadores e o grau de compartilhamento da memória e dos dispositivos de E/S;


ID
223939
Banca
UFF
Órgão
UFF
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação aos sistemas multiprogramáveis, a capacidade de um código de programa poder ser compartilhado por diversos usuários, exigindo que apenas uma cópia do código (programa) esteja na memória, é conhecida como:

Alternativas
Comentários
  • É comum, em sistemas multiprogramáveis, vários usuários utilizarem os mesmos aplicativos simultaneamente. Se cada usuário que utilizasse um destes aplicativos trouxesse o código executável para a memória, haveria diversas cópias de um mesmo programa na memória principal, o que ocasionaria um desperdício de espaço.
    Reentrância é a capacidade de um código executável ser compartilhado por

    diversos usuários, exigindo que apenas uma cópia do programa esteja na memória. A reentrância permite que cada usuário possa estar em um ponto diferente do código reentrante, manipulando dados próprios, exclusivos de cada usuário.

     

    Fonte: http://www.scribd.com/doc/5565518/02CONCORRENCIA

  • Normalmente códigos reentrantes são utilizados em utilitários do sistema, como editores, compiladores e linkers, promovendo um uso mais eficiente da memória e um desempenho maior do sistema. Alguns sistemas operacionais permitem a possibilidade de se implementar o conceito de reentrância em aplicações desenvolvidas pelo próprio usuário, mas não é algo muito comum.

    fonte: http://escreveassim.com.br/2012/10/15/voce-sabe-o-que-e-sistema-operacional-p2/

  • Spooling - tecnica de envio de jobs de forma aleatoria surgida na 3° geracao - 1966-1980. Outras inovacoes desta era sao terminais com interacao online e time sharing.

     

    Reentrância - correto

     

    DMA - direct memory access controlador transfere dados direto á memoria, deixando CPU livre. Isso faz dispositivos serem independentes do CPU.

     

    Buffering - memoria interna dos controladores de hardware. Leitura antecipada para areas de buffer permitem maior desempenho da maquina ao acionar dispositivos lentos como hdd ou cd-rom.

  • Reentrancy refers to the ability of code to be executed two or more times simultaneously. On a multiprocessor, there is always the danger than while one CPU is executing some procedure, another CPU will start executing it as well, before the first one has finished. In this case, two (or more) threads on different CPUs might be executing the same code at the same time. This situation must be protected against by using mutexes or some other means to protect critical regions

    Fonte: MODERN OPERATING SYSTEMS, FOURTH EDITION, ANDREW S. TANENBAUM, HERBERT BOS


ID
223942
Banca
UFF
Órgão
UFF
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

No tocante aos sistemas operacionais, quando o usuário deseja solicitar algum serviço do sistema, ele realiza uma chamada a uma de suas rotinas (ou serviços) por meio de "artifícios" que são a porta de entrada para o acesso ao núcleo do sistema operacional. Esse artifício ou acesso é conhecido como:

Alternativas
Comentários
  • System Calls são as API´s
  • Em computação, uma chamada de sistema (system call) é o mecanismo usado pelo programa para requisitar um serviço do sistema operacional, ou mais especificamente, do núcleo do sistema operacional.
  • Todo o controle de execução de rotinas do sistema operacional é realizado pelo mecanismo conhecido como System Call.

    O termo System Call é tipicamente utilizado em sistemas Unix, porém em outros sistemas o mesmo conceito é apresentado com diferentes nomes, como system services, no OpenVMS, e Application Program Interface (API), no MS windows.

    Fonte: Arquitetura de Sistemas Operacionais, Francis Berenger Machado. 4 ed, pag 53, 55
  • c-

    System call é um método usado por aplicações para implementar funcionalidades disponiveis pelo sistema operacional, tal como leitura de um arquivio, com o controle do programa transferido ao Kernel.

  • System calls não são bem o mesmo que as API's.

    "An API is a generic term for a way to interface with an existing library/service etc... Whereas a system call is about an application calling down the stack to the underlying resources and such, usually via a standard API in its own right."

    https://www.quora.com/What-is-the-difference-between-System-Call-and-API-in-simple-terms


ID
223945
Banca
UFF
Órgão
UFF
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação aos sistemas operacionais, para que uma operação possa executar uma instrução privilegiada, o processador implementa o mecanismo de modos de acesso. Esse mecanismo está dividido basicamente em dois modos de acesso conhecidos por:

Alternativas
Comentários
  • Correta letra C.

    Modo Usuário

    O modo usuário é feito de subsistemas com capacidade de transmitir requisições para os drives modo núcleo apropriados usando um gerenciador de entrada/saída.

    Modo Kernel

    No modo Kernel, quando o CPU está em modo kernel, ele é considerado confiável de execução de software , e assim ele pode executar qualquer instrução e referenciar qualquer memória de endereços (ou seja, locais na memória).   O kernel (que é o núcleo do sistema operacional e tem controle total sobre tudo o que ocorre no sistema).   Assim, todos os software de modo usuário deve solicitar o uso do kernel por meio de uma chamada de sistema para executar instruções privilegiadas, como o processo de criação ou entrada / saída de operações.

    Fonte: http://www.trabalhosfeitos.com/ensaios/Modo-Usu%C3%A1rio-x-Modo-Kernel/46941.html
  • O S.O. é constituído basicamente por duas camadas:

    Shell - ou interpretador de comandos

    ↳       Um usuário interage com o SO via uma ou mais aplicações de usuário.

    ↳       Quando o processador trabalha no modo usuário, somente pode executar instruções não privilegiadas.

    ↳       Alto Nível

    ↳       Multiprogramação, com preempção

     

    Kernel - ou núcleo

    ↳       Contém os componentes centrais do SO

    ↳       Quando o processador trabalha no modo Kernel, pode executar quaisquer instruções, tanto privilegiadas quanto não privilegiadas.

    ↳       Baixo Nível

    ↳       Sem preempção

     

    Se tiver errado, não hesitem em corrigir.

    ------

    Pessoal ativem a notificação, INDICAR PARA COMENTÁRIO, vamos aproveitar, quanto mais respostas/vídeos explicados pelos professores, melhor será para todos.

    ------


ID
235411
Banca
CETAP
Órgão
AL-RR
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

O sistema operacional é um programa ou conjunto de programas cuja função é gerenciar os recursos do sistema, além de fornecer uma interface entre o computador e o usuário. Sobre o assunto, marque a alternativa INCORRETA:

Alternativas

ID
236941
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os itens a seguir, acerca de fundamentos de sistemas
operacionais.

Em sistemas operacionais preparados para redes locais, na situação em que um processo precise manter comunicação com outro que está em outro computador na rede, é necessário realizar procedimentos específicos, como a troca de mensagens por meio de uma comunicação estabelecida.

Alternativas
Comentários
  • Discordo do gabarito no seguinte ponto: "necessário realizar procedimentos específicos, como a troca de mensagens por meio de uma comunicação estabelecida.".
    A comunicação estabelecida esta se tratando da comunicação processo-processo ou de uma conexão física ? Pela resposta do Cespe, eles entenderam conexão física, no entanto o enunciado é ambiguo, pois se entendemos como comunicação estabelecida entre os processos, a questão estaria errada. Este trecho indica que a comunicação é entre processos "um processo precise manter comunicação com outro".
  • Questão se refere "Sistemas Distribuídos", mais especificamente sobre "Cluster":

    "A interconexão entre os nós de um sistema em cluster  pode ser feita usando redes
    de alta velocidade com protocolo standard como TCP/IP ou protocolos de baixo nível
    como Mensagens Ativas. "

    Fonte:
    http://www.goulart.pro.br/sd/arquivos/APOSTILA_AdemirGoulart_SD_CGv10.PDF
    Página 24

    Bons estudos!
  • Tudo certo nesta questão.
  • Se existe comunicação entre dois processos de duas maquinas distintas (cada processo em uma maquina), obrigatoriamente devera existir uma conexão física entre essas maquinas para que os processos possam conversar. 

    Ps. para ficar claro, wi-fi é uma conexão física OK!!!
  • Prezados,

    A situação em que o processo precisa manter comunicação com outro que está rodando na rede, isso é feito por um procedimento especifico de comunicação em rede, como Corba , RMI , sockets, etc.

    Portanto a questão está correta.



ID
246994
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

O sistema operacional desempenha um papel importante no tratamento da E/S, atuando como interface entre o hardware e o software que solicita a E/S. Neste contexto é correto afirmar que:

Alternativas
Comentários
  • Letra A
     
     a) os sistemas de E/S normalmente usam interrupções para comunicar informações sobre operações de E/S. Como essas interrupções causam uma transferência ao modo kernel ou supervisor, elas precisam ser tratadas pelo sistema operacional (SO). (CORRETO)
     b) não é responsabilidade do sistema operacional fornecer abstrações para acessar dispositivos nem fornecer rotinas que tratam as operações de baixo nível dos dispositivos. (A principal responsabilidade do S.O. é oferecer abstrações em nível de software para os programadores e para às rotinas de acesso aos dispositivos de hardware de um sistema computacional - Tenembaum - Sistemas Operacionais Modernos).
     c) o sistema operacional tenta oferecer acesso equilibrado aos recursos de E/S, mas não é responsabilidade do SO escalonar acessos a fim de melhorar a vazão do sistema. (É de responsabilidade sim)
     d) o sistema operacional precisa ser capaz de dar comandos aos dispositivos E/S. Esses comandos incluem apenas operações como ler e escrever. (Cuidado com a palavra apenas, ainda temos às funções de controle e gerenciamento, além de outras)
     e) o sistema operacional precisa ser capaz de comunicar-se com os dispositivos de E/S mas não pode impedir que o programa do usuário se comunique com os dispositivos de E/S diretamente. (Estudar Runlevels e modo protegido nos sistemas Windows e Linux)FONTE: Tenembaum - Sistemas Operacionais Modernos - 2010
  • Os Sistemas Operacionais utilizam interrupções para comunicar informações durante a execução de E/S.  A interrupções são eventos tratados pelo sistema operacional. Como exemplo, um sinal enviado ao processador (hardware); uma operação especial executada como uma chamada ao sistema operacional (software).  Quando não há processos em execução (E/S) ficam inativos.
  • a-

    é graças ao SO que a interação com usuario é trnansparente e segura. O SO permite facilidade de acesso aos recursos e compartilhamneto de recursos de modo organizado e seguro. A base de execução é o processo, o qual é um programa executando. O programa executa em uma camada do SO na qual a interação com o hardware é mediada pelo SO atraves da interface com usuario. Um processo ocupa um espaço na memoria para ser executado pelo processador, passando por estados que indicam sua situação atual (new, ready, running, wait, finish). Uma interrupção (interrupt) é a parada do processo pelo hardware ou software do sistema, sendo tratado pelo sistema oper. Interrupções sao paradas assíncronas, enquanto que exceções - paradas pelo proprio programa - sao síncronos


ID
246997
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Os sistemas operacionais existem há mais de 50 anos. Durante esse tempo, uma gama deles foi desenvolvida, mas nem todos bem conhecidos. Dentre eles, os Sistemas Operacionais Embarcados recebem grande destaque hoje. Sobre eles, assinale alternativa correta.

Alternativas
Comentários
  • "Sistemas embarcados são executados em computadores que controlam dispositivos que geralmente não são considerados computadores e que não aceitam softwares instalados por usuários. Exemplos típicos são fornos de micro-ondas, aparelhos de TV, carros, aparelhos de DVD, telefones celulares e reprodutores de MP3. A propriedade principal que distingue os sistemas embarcados dos portáteis é a certeza de que nenhum software não confiável jamais será executado nele. Você não pode baixar novas aplicações para o seu forno de micro-ondas - todo software está no ROM. Isso significa que não há necessidade de proteção entre as aplicações, levando a algumas simplificações. Sistemas como QNX e VxWorks são populares nesse domínio."


    Fonte: Sistemas Operacionais Modernos, 3ª ed. Andrew S. Tanenbaum. Pg. 21.
  • Sistemas com múltiplos processadores.?????????

    Posso considerar isso como sendo um Sistema Operacional???????
  • c-

    Sistemas embarcados executam tarefas em uma multitude de aplicacoes e dispositivos prevalentes em eletronicos orientados ao consumo tais como maquinas de lavar, veículos, freezers, tvs, dvds, routers. 

  • CONSOANTE TANENBAUM

    - EMBARCADOS/EMBUTIDOS/MICROCONTROLADORES = Atuam dentro de outro dispositivo, tipo de computador mais disseminado. Possuem tarefas específicas, quase sempre executam sistemas operacionais de tempo real.

     - Os sistemas em que operam costumam ser primitivos e, portanto, os sistemas operacionais fornecem recursos limitados. Geralmente, têm pouca ou nenhuma interface com o usuário, preferindo ocupar seu tempo monitorando e gerenciando dispositivos de hardware.

    VAZA B D e E, O APENAS ANULA a A

    GABARITO C


ID
247006
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação a sistemas operacionais multitarefas, qual sistema operacional não é multitarefa com preempção?

Alternativas
Comentários
  • Só pode ser o MS-DOS, que é o mais derrubado daí de cima.
  • Não Preemptivo : "Se o processo em excecução só libera o processador por vontade própria"
    Já o Preemptivo: "Se o proesso em excecução puder perder o processador para outro processo, por algum motivo que não seja o término do seu ciclo de processador.

    Fonte:Sistemas Operacionais, 2ª Ed. Romulo Silva de Oliveira, Alexandre... e Simão.
  • Vale ressaltar que o windows ou melhor o ruimdows eh derivado do MS DOS


  • Ranato. O preemptivo não significa necessáriman que irá "perder" o processo. Significa que será interrompida para execução de um outro processo que julgue ser mais importante naquele momento. O processo fica em srtandby até que o processo atual termine para voltar ao estado do processo anterior(se for o caso), mas não irá ser perdido definitivamente.

  • Em computaçãopreemptividade (algumas vezes preempção) é o ato de interromper temporariamente uma tarefa sendo executada por um sistema computacional, sem exigir sua cooperação, e com a intenção de retomar à tarefa posteriormente. Tais mudanças da tarefa executada são conhecidas como trocas de contexto. Normalmente, é realizada por uma tarefa privilegiada ou parte do sistema conhecido como escalonador preemptivo, que tem o poder de antecipar, interromper e, posteriormente, retomar outras tarefas no sistema.


    Wikipedia


ID
249454
Banca
CESPE / CEBRASPE
Órgão
DETRAN-ES
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os próximos itens, relativos a sistemas operacionais.

De modo geral, os sistemas operacionais de tempo real, normalmente presentes em computadores de grande porte, são orientados ao processamento simultâneo de grande quantidade de jobs em lote e oferecem o processamento de transações e tempo compartilhado.

Alternativas
Comentários
  • Se o requisito do sistema aceitar um JOB, então não é necessário ser executado em Tempo Real.
  • Errado. A banca atribui o conceito de SO de grande porte ao de tempo real. Em SO de tempo real não ocorre compartilhamento de tempo, não temos vários usuários executando seus programas, processamento de transações, pois requerem muita iobound (requisições de entrada e saída) e muito menos vários jobs, pois nesses sistemas o tempo é crítico, um processo crítico não pode aguardar que outro processo termine sua execução.
  • Em sistemas operacionaispreemptividade ou preempção é a capacidade de alterar a ordem de (ou tirar de execução) um processo em detrimento de outro com uma prioridade maior. Esta é uma característica que não é importante apenas nos sistemas operacionais em tempo real.
  • Em sistemas operacionais de tempo real temos algumas características:

    • Tempo de processamento deve estar dentro de límites rígidos.
    • Programa utiliza o processador pelo tempo que precisar até apareça outro mais prioritário.
    • Não há fatia de tempo ( tempo compartilhado ou quantum).

      logo a assertiva está errada.
    abrasss
  • ✅Gabarito(Errada) 

    Tempo Real

    São sistemas nos quais o tempo é essencial. Ao contrário da ideia usual, um sistema operacional de tempo real não precisa ser necessariamente ultrarrápido; sua característica essencial é ter um comportamento temporal previsível, ou seja, seu tempo de resposta deve ser previsível no melhor e no pior caso de operação. 

    Relação Grande Porte x Sistemas Embarcados.

    Exemplos de sistemas operacionais de tempo real incluem o QNX, RT-Linux e VxWorks. Muitos sistemas embarcados têm características de tempo real, e vice-versa.

    Jobs e Tempo Compartilhado

    Os sistemas mais sofisticados implementam a preempção de tarefas também no modo núcleo. Essa funcionalidade é importante para sistemas de tempo real, pois permite que uma tarefa de alta prioridade chegue mais rapidamente ao processador quando for reativada.

    Os sistemas em batch multiprogramados forneciam um ambiente no qual os vários recursos do sistema, como por exemplo a CPU, memória e dispositivos periféricos, eram utilizados de forma eficaz, mas não permitiam a interação do usuário com o sistema de computação. Tempo compartilhado (time sharing) ou multitarefa é uma extensão da multiprogramação: a CPU executa vários jobs alternando entre eles (multiprogramação), mas as trocas ocorrem com tanta frequência que o usuário pode interagir com seu programa como se tivesse uma máquina exclusiva para ele. Assim se permite a comunicação direta entre o usuário e o sistema. Devido a esse tipo de interação, os sistemas de tempo compartilhado também ficaram conhecidos como sistemas on-line ou de tempo real (real time).

    Conclusões com base nos demais comentários:

    Sistemas de tempo real nem sempre são sistemas críticos!

    Sistemas de tempo real processam jobs!

    Sistemas de tempo real pode sim ter o tempo compartilhamento, isso vai depender do tempo resposta necessário para o sistema de tempo real.

    No meu entendimento o fato de atribuir sistemas de tempo real aos equipamentos de grande porte é o principal fator que deixa a questão errada!

    Fonte: http://wiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:socm-livro.pdf

    https://www.ufsm.br/app/uploads/sites/342/2020/04/SISTEMAS-OPERACIONAIS.pdf


ID
273373
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca dos fundamentos de sistemas operacionais, julgue os itens
que se seguem.

Os sistemas operacionais que funcionam por meio de cartões inteligentes, como os cartões de banco ou de crédito, podem ser orientados a Java; nesse caso, a ROM contém um interpretador para JVM (Java virtual machine).

Alternativas
Comentários
  • Sem o interpretador JVM não é possivel executar nenhum programa Java.
  • Apesar da estranhesa da expressão "orientado a Java" (levando-se em conta ser uma linguagem, não um conceito/filosofica), a questão está correta.
    Um smart card java (java card) tem o chip com a seguinte arquitetura:


    Esta arquitetura engloba o framework abaixo:


    Como se pode ver, há nele uma VM.

    Fonte:  http://192.9.162.55/developer/technicalArticles/javacard/javacard3/
  • c-

    Smart card operational systems sao pequenos, que rodam em dispositivos em formato de swipe card, de chip ou RFId (radio frequency identification). Possuem poucas funcoes, sao limitados. Mas outros podem ter muitas funcoes.


ID
273379
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca dos fundamentos de sistemas operacionais, julgue os itens
que se seguem.

As threads auxiliam o sistema operacional no paralelismo de atividade quando há simultaneamente múltiplas atividades em diversas aplicações.

Alternativas
Comentários
  • Sim, é uma forma mais barata de se promover paralelismo de atividades pois os processos têm endereçamentos e recursos distintos, o que torna caro ao sistema operacional realizar a troca de contexto dos processos, isto é, pegar a pilha, ponteiro de pilha e contador de programa da memória e trazer para os registradores, para executar as instruções do processo e depois, no escalonamento de um novo processo, copiar tudo isso novamente para a memória e dessa forma salvar o estado de execução desse processo.

    Já as threads compartilham esse espaço de endereçamento e são mais fáceis de multiplexar.

    De fato, nas threads executadas no espaço de usuário, o sistema operacional nem mesmo enxerga que elas existem, todo o escalonamento é relaizado pela biblioteca de threads.
  • Fiquei confuso nessa!!!

    "Threads em diversas aplicações", não teríamos uma thread para cada aplicação, ou seja , não teríamos vários processos? E caso tenhamos vários processos, os endereçamentos são exclusivos para cada um, tornando o item errado.

    Suponho que para uma mesma aplicação a questão estaria certa.

    me ajudem aí!!!!

  • Essa questão deveria ser considerada ERRADA, pois ela afirma que "As threads auxiliam o sistema operacional no paralelismo de atividade", sendo que, na verdade, não é no paralelismo, mas sim na concorrência, os quais são conceitos diferentes. No paralelismo ocorre simultaneidade, enquanto na concorrência ocorre chaveamento. A possibilidade de haver paralelismo é quando há multiplos núcleos de processamento, o que não vem ao caso. As instruções em threads são feitas de forma concorrente (chaveamento) e não simultaneamente como fala a questão.

    Um bom texto para entender melhor o assunto: https://chaosonrails.wordpress.com/2010/09/05/concorrencia-versus-paralelismo/

  • Na ótica de escalonamento em ambientes com mais processadores não é possível que múltiplos threads de um processo possam ser executados em diferentes processadores simultaneamente, porque o sistema operacional executa apenas processos e não threads. Com isso existe um limite com relação ao grau de paralelismo da aplicação, pois as threads de um mesmo processo podem ser executadas em somente um processador por vez.

  • c-

    EMm sistemas multithreading, a implementacao de thread é nivel kernel e permite que os processos, os quais sao programas em execucao, tenham acesso a recursos criados pelo SO em 3 tipos: contexto de software (limite aos recursos), de hardware (program stack, counter, registradores etc) e espaco de enderecamento (onde as instrucoes q o processo fara ficam). Uma instrucaoo do processo pode ser dividida em threads, cada thread se diferenciando pela tarefa que executa e divindindo a mesma area de dados do programa principale mesmo contexto de software


ID
273394
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Julgue os itens a seguir, acerca do gerenciamento de memória.

Em sistemas multiprogramados, uma forma de resolver o problema da realocação consiste em alterar as instruções do programa de acordo com a partição de memória em que ele será carregado.

Alternativas
Comentários
  • Quando falamos em realocação, temos duas variações: a estática e a dinâmica. A questão se refere à estática.
    Cada processo possui o seu espaço de endereçamento. O programa é carregado em memória por completo e todas as suas referências à memória são modificadas somando os endereços que o programa contém com o endereço físico onde o processo foi carregado.
  • Não entendi bem esta questão. Se alguém tiver referências sobre este assunto e puder compartilhar links aqui.
  • Eu não entendi a parte: ...alterar as instruções do programa...

    Eu devo alterar o código do programa que está em memória? Alguém poderia me ajudar?

  • Mateus, pelo visto é isso mesmo! 


    De acordo com o Tanembaum em Sistemas Operacionais Modernos, 3ªEd, página 143-144:


    "Uma possível solução para isso é modificar as instruções do programa segundo a partição de memória em que ele será carregado. Programas carregados na partição 1 terão 100K adicionados a cada endereço; programas carregados na partição 2 terão a adição de 200K e assim por diante. Para executar a relocação do programa, ao carregá-lo em uma partição de memória, o ligador deve incluir no código binário uma lista ou um mapa informando quais palavras do programa são endereços que necessitam de realocação e quais são códigos de operação, constantes ou outros itens que não devem ser realocados."


    É meio estranha essa ideia, mas no parágrafo anterior ele dá uma dica: "Quando um programa é ligado (isto é, quando se combinam o programa principal, procedimentos escritos pelo usuário e procedimentos de biblioteca em um único espaço de endereçamento), o ligador (linker) tem de saber em que endereço o programa deve começar na memória".

  • Obrigado Paulo!


ID
278134
Banca
CESPE / CEBRASPE
Órgão
TRT - 21ª Região (RN)
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de conceitos básicos de sistemas operacionais, julgue os
itens que se seguem.

No âmbito de sistemas operacionais, diz-se que um processo está no estado caracterizado como pronto (ready) quando se encontra em condições de ser executado, mas tem de aguardar, uma vez que o processador está ocupado executando outro processo.

Alternativas
Comentários
  • Estados de um processo:

    Não-Submetido

    É o processo que ainda não está submetido a CPU, está nas mãos do usuário." Até onde interessa ao sistemas ele não existe, porque o usuário ainda não o submeteu. Ele é simplesmente apresentado como sendo o primeiro passo na vida de um processo. O Sistema Operacional, naturalmente, não reconhece esse estado.[1]". Pode por exemplo, ser um arquivo executável que está armazenado no HD.

    Suspenso

    É o processo que já foi submetido, porém permanece suspenso até que o horário ou evento programado ao usuário venha acontecer. Processo suspenso é aquele que esta no aguarde de uma entrada de dados

    Pronto

    O processo já foi submetido e está pronto para receber a CPU, porém ainda guarda o escalonador de processos para ter controle da CPU. Processos que estão esperando E/S não se aplicam a esse estado.

    Executando

    A execução propriamente dita. O código está sendo processado. Se ocorrer durante a execução uma requisição de E/S o processo é colocado no estado de espera e outro processo da fila de prontos poderá então concorrer a CPU.

    Espera

    É o processo que foi colocado na fila de espera de E/S devido ao processador de E/S ser mais lento que a CPU principal. O processo tornaria a CPU mais escrava dele se não houvesse esse estado, pois como ele não está concorrendo à CPU ao executar um E/S, pode-se então colocá-lo no estado de espera para que os demais processos do estado pronto possam concorrer a CPU.

    Ex: parte de um código em C

    scanf(“%d”, &VALOR);  SOMA=VALOR+JUROS;

    Como podemos notar, a instrução scanf (uma requisição de entrada e saída) é gerada se não fosse possível colocar o processo em estado de espera; caso o usuário não entrasse com nenhum valor, o programa ficaria suspenso e não liberaria a CPU para outros processos.

    Completo

    Neste estado temos a finalização do processo.

    http://pt.wikipedia.org/wiki/Processo_(inform%C3%A1tica)

  • 5 Estados.
    1. Criação
    2. Pronto (Ready)
    3. Em Execução
    4. Bloqueado
    5. Destruição

ID
278140
Banca
CESPE / CEBRASPE
Órgão
TRT - 21ª Região (RN)
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de conceitos básicos de sistemas operacionais, julgue os
itens que se seguem.

Instruções privilegiadas do sistema operacional podem ser executadas por meio de alguns aplicativos, somente se o sistema operacional estiver executando no modo usuário.

Alternativas
Comentários
  • Instruções privilegiadas do sistema operacional podem ser executados pelos aplicativo, somente se o SO estiver executando no modo núcleo e não modo usuário.
  • Modo Kernel =  Exclusivo, sem preempção, ideal para instruções privilegiadas do S.O.
    Modo Usuário= Multiprogramação, com preempção
  • O S.O. é constituído basicamente por duas camadas:

    Shell - ou interpretador de comandos

    ↳       Um usuário interage com o SO via uma ou mais aplicações de usuário.

    ↳       Quando o processador trabalha no modo usuário, somente pode executar instruções não privilegiadas.

    ↳       Alto Nível

    ↳       Multiprogramação, com preempção

     

    Kernel - ou núcleo

    ↳       Contém os componentes centrais do SO

    ↳       Quando o processador trabalha no modo Kernel, pode executar quaisquer instruções, tanto privilegiadas quanto não privilegiadas.

    ↳       Baixo Nível

    ↳       Sem preempção

     

    Se tiver errado, não hesitem em corrigir.

    ------

    Pessoal ativem a notificação, INDICAR PARA COMENTÁRIO, vamos aproveitar, quanto mais respostas/vídeos explicados pelos professores, melhor será para todos.

    ------


ID
320791
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema de tempo real é um sistema computadorizado que exige não apenas que os resultados da computação sejam corretos, mas também que os resultados sejam produzidos dentro de um período de tempo especificado. Dessa maneira, a característica típica de um sistema de tempo real é

Alternativas
Comentários
  • O escalonamento preemptivo permite que cada processo tenha uma parcela de uso da CPU. Isso é crucial para os sistemas de tempo real, pois a preempção impede que os processos passem muito tempo esperando para serem exucutados (o que não seria nada aconselhável para sistemas de tempo real) 
  • Além disso, o que é muito comum em sistemas de temp real é a atribuição de prioridades aos processos mais críticos. Isso só é possível com o escalonamento preeptivo.
  • O método padrão usado hoje em dia é o multitarefa preventivo onde o núcleo do sistema operativo controla a execução de cada processo (ver abaixo) e cada processo continua após um certo tempo de processamento em favor de outros processos. Então, "dorme" o processo (está inativo), e outros processos são manipulados.
  • Discordo do gabarito. A preempção não é necessária em sistemas de tempo real, pode até ser indesejada. Como no próprio Tanenbaum Modern Operating Systems 3ed  sobre sistemas de tempo real: "Em sistemas com restrições de tempo real, a preempção é, estranhamente, algumas vezes não necessária, por que os processos sabem que ele não podem executar por longos períodos de tempo e usualmente realizam sua tarefa e bloqueiam rapidamente." (tradução própria)

    Basta notar que, nos sistemas hard real-time, é possível saber o tempo de execução de uma tarefa antes da execução dela. Se a preempção é possível, a tarefa que demoraria x msec não poderá ter esse tempo determinado, pois não se sabe se e quando ela vai ser preemptada.
  • Discordo totalmente do Yuri. Tanenbaum afirma apenas q "em sistemas com restrições de tempo real, a preempção é, estranhamente, algumas vezes não necessária...”

    Repare bem nas palavras em negrito. Elas consituem exceção. A regra eh q sistemas real-time sejam preemptivos. Mas, como toda regra tem sua exceção, em alguns sistemas, a preempcao se torna indesejada.

    Repare q os sistemas de tempo real, em regra, são preemptivos porque os processos q precisam ser executados com “urgencia” para não comprometer seu proposito(ex: usina nuclear, monitoramente de pacientes etc), possuem prioridades mais altas e não podem esperar ate q outro processo(com mais baixa prioridade), termine sua execucao para conceder ao ultimo, os recursos do processador.


  • Em sistemas operacionais, preemptividade ou preempção é a capacidade de alterar a ordem de (ou tirar de execução) um processo em detrimento de outro com uma prioridade maior. Esta é uma característica que não é importante apenas nos sistemas operacionais em tempo real. Este tipo de intervenção por parte dosescalonadores dos sistemas operativos pode ocorrer - embora não estando limitados apenas a isso - a optimizar a entrada/saída de dados em tempo-real, como é o caso da gravação de áudio. Um exemplo de uma tarefa não-preemptiva é o processamento de interrupções.

  • Nos Sistemas de Tempo Real (Real Time), a execução de processos críticos são priorizados em

    detrimento de outros processos.

  • CONSOANTE SILBERSCHATSZ

     - Para que as tarefas de tempo real tenham acesso imediato à CPU, os sistemas operacionais de tempo real também devem minimizar essa latência. A técnica mais eficaz para manter a latência de despacho baixa é o fornecimento de KERNELS PREEMPTIVOS.

     - Algoritmos = RMS, EDP.

    GABARITO B

    - Tempo Real = Prioridade, Tempos Rígidos, Utilizam Temporizadores, só funciona corretamente se retorna o resultado correto dentro de suas restrições de tempo.

     - Tempo REAL CRÍTICO = Têm requisitos mais rigorosos. Uma tarefa deve ser atendida de acordo com seu limite de tempo. O atendimento após o limite de tempo ter expirado é o mesmo que não haver atendimento.

     - Tempo REAL NÃO CRÍTICO = Não fornecem garantia de quando um processo de tempo real crítico será alocado no schedule. Eles garantem apenas que o processo terá preferência sobre processos não críticos.


ID
328603
Banca
FUNIVERSA
Órgão
SEPLAG-DF
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação aos conceitos e às características dos sistemas operacionais modernos, assinale a alternativa correta.

Alternativas

ID
328966
Banca
FGV
Órgão
DETRAN-RN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

NÃO faz parte do OS/390:

Alternativas

ID
329362
Banca
FGV
Órgão
DETRAN-RN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Assinale a alternativa que caracteriza corretamente as funções primárias exercidas por um Sistema Operacional:

Alternativas

ID
332698
Banca
CESPE / CEBRASPE
Órgão
Correios
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação às características e funções básicas de um sistema operacional, julgue os itens seguintes.

Um sistema operacional multiprogramável somente pode executar várias tarefas ao mesmo tempo quando o computador no qual ele está instalado possui mais de um processador de dados.

Alternativas
Comentários
  • Errado.
    O sistema operacional multiprogramável vai explorar a excução de instruções em diferentes fatias de tempo, independente da existência de um ou mais núcleo de processamento de instruções.
  • É por isso que eu nunca vou passar em um concurso da cespe.

    "Um sistema operacional multiprogramável somente pode executar várias tarefas ao mesmo tempo"

    O colega acima citou fatias de tempo, se o tempo precisa ser fatiado para a execução de vários processos então esses processos não são executados ao mesmo tempo.

    O próprio Tanembaum no livro Sistemas Operacionais Mordenos fala isso:

    "Estritamente falando, enquanio
    a cada instante a CPU executa somente um programa, no decorrer de um segundo ela pode trabalhar sobre
    r-ários programas, dando aos usuários a ilusão de paralelismo. Algumas vezes, nesse contexto, fala-se de pseudoparalelismo
    para contrastar com o verdadeiro paralelismo de hardware dos sistemas multiprocessadores"
  • Concordo com o colega acima. 

    Na prova eu errei segundo o cespe, mas mantenho minha convicção. Em um sistema multiprogramável temos um conjunto de processos residentes na memória que competem(concorrem) para o acesso a CPU. Em um determinado instante t para um processador, só existirá um e somente um processo executando. Quando dispomos de mais de um processador, nesse mesmo instante t podemos ter mais de um processo executando ao mesmo tempo. Sendo o numero de processos igual ao numero de processadores.

    O conceito de multithread ou hyperthread não se aplica, pois é o mesmo caso. As threads competem para o acesso a CPU e são escalonadas de acordo com uma política definida, de modo que somente uma é executada nesse instante t. 

    Eu pensei depois de algum tempo que esse termo tarefa possa significar algum outra tarefa que não exija o controle da CPU, como por exemplo realizar um acesso de um dispositivo de E/S por meio de chamadas de sistema.  

    Coisas do cespe. 

     

  • complicada a expressão "mesmo tempo"... p/ mim a questão seria passivel de anulação, mas para CESPE isso é impossivel. ELES "nunca" erram!!!

    bons estudos!
  • Em um sistema multiprogramável, enquanto um programa espera por uma operação, outros podem estar sendo processados.

    Isso já caracteriza que há mais de 2 tarefas sendo executadas ao mesmo tempo.

    Diferente seria dizer que 2 processos estão ocorrendo ao mesmo tempo, o que não seria possível nessa abordagem e sim com sistemas multiplos processadores.

    fonte: Arquitetura de Sistemas Operacionais - Machado, Maia
  • É pessoal... é CESPE... eu simplesmente abro mão de fazer qualquer concurso que eles "pegam" para fazer.. na minha opnião uma empresa pública que confia na CESPE já começa não demonstrando boa índole... veja o caso da Petrobras, que depois de passar uma vergonha alheia tremenda com um fracassado concurso realizado pela CESPE, foi para a CESGRANRIO e passa muito bem de imagem, obrigado... o dia que a CESPE se profissionalizar como a CESGRANRIO é hoje eu penso em mudar minha opinião a respeito dela... 

    e sim.. a resposta oficial dada pela questão... está errada!!

    Tanembaum no livro Sistemas Operacionais Mordenos fala isso:
    "Estritamente falando, enquanio a cada instante a CPU executa somente um programa, no decorrer de um segundo ela pode trabalhar sobre r-ários programas, dando aos usuários a ilusão de paralelismo. Algumas vezes, nesse contexto, fala-se de pseudoparalelismo para contrastar com o verdadeiro paralelismo de hardware dos sistemas multiprocessadores"

  • Realmente o CESPE deu bola fora nessa.

    Multiprogramação – Todos os processos a serem executados no computador são organizados em vários processos sequenciais. A troca que a CPU faz entre cada processo na fila é chamada de multiprogramação. Depende apenas de software.
     
    Multiprocessadores – Real paralelismo. Onde duas ou mais CPUs compartilham a mesma memória física. Depende do hardware.

    Esse resumito eu fiz baseado no próprio livro do Tanenbaum.
  • É uma questão capciosa, pois usa a palavra "somente" onde temos que ter muito cuidado quando se trata de CESPE. Um SO multiprogramável executa várias tarefas ao mesmo tempo, mas não necessáriamente em um ambiente com mais de um processador (multiprocessado), pois um computador com apenas um processador pode executar mais de uma tarefa ao mesmo tempo (multitarefa ou multiprogramável). Não confundir MULTIPROGRAMÁVEL com MÚLTIPLOS PROCESSADORES. 
  • Marco a questão como errada pelo seguinte motivo:

    Várias tarefas ao mesmo tempo : Quando o SO está esperando o resultado de um dispositivo de E/S ele pode alocar outro processo para que o processador não fique ocioso, ou seja, quem está realizando várias tarefas ao mesmo tempo é o SO e não o processador.

  • Colegas, vcs tao confundindo as coisas. Leiam a questao com atenção. Ela fala de SO e não do processador.
    Um processador não pode executar mais de uma tarefa num dado instante, mas o SO pode.
    A justificativa q o tharley deu, apenas fala de CPU. Mas a questao fala de SO.
    Justificativa:
    "Estritamente falando, enquanio a cada instante a CPU executa somente um programa, no decorrer de um segundo ela pode trabalhar sobre r-ários programas, dando aos usuários a ilusão de paralelismo. Algumas vezes, nesse contexto, fala-se de pseudoparalelismo para contrastar com o verdadeiro paralelismo de hardware dos sistemas multiprocessadores".
    Para ficar mais claro, imagine a técnica de DMA. Enquanto o processador tá ocupado, executando uma determinada instrução, o controlador de DMA tá transferindo dados diretamente para a memória, em paralelo ao q o processador ta fazendo - e tudo isso controlado pelo SO.
    Se a questao falasse do processsador, ai, sim estaria certa.
    abrçs
  • Acredito que o erro esteja em mais de um processor.

    Bons estudos!
  • Galera, multitarefa é diferente de de multiprogramação, pois:

    multitarefa está relacionado ao SO e à CPU;

    Multiprogramação está relacionada somente ao SO.

  • Li todos os comentários e continuo tendo a questão como certa.Trata-se de duas coisas distintas: 1º o sistema ser multiprogramável e 2º processar tarefas (threads) ao mesmo tempo:

    MULTIPROGRAMAÇÃO: O sistema operacional não espera o processo ou tarefa ir buscar recursos de I/O.Simplesmente ele chama o próximo processo da fila de prontos.

    "O objetivo da multiprogramação é haver sempre algum processo em execução para que a utilização da CPU seja otimizada. A ideia é relativamente simples. Um processo é executado até ter de esperar, normalmente pela conclusão de alguma solicitação de I/O. Em um sistema de computação simples, a CPU permanece ociosa. Todo esse tempo de espera é desperdiçado; nenhum trabalho útil é realizado. Com a multiprogramação, tentamos usar esse tempo produtivamente.Vários processos são mantidos na memória ao mesmo tempo. Quando um processo precisa esperar, o sistema operacional desvincula a CPU desse processo e a designa para outro processo." Silberschatz, Fundamentos de SO, 8º edição, página 101.

    Repare que a multiprogramação,por si só, não é a execução de mais de uma tarefa ou processo ao mesmo tempo, mas sim da capacidade que o sistema operacional tem de chamar novas tarefas/processos da memória principal (ou virtual - a depender do caso) à medida que estes vão entrando em modo de espera ou forem finalizando. Até aqui continua a ser executado um único processo por vez.

    PROCESSADORES MULTICORES: São processadores que possuem múltiplos núcleos no mesmo chip físico e cada núcleo é visto pelo SO como um processador físico separado, justamente porque cada núcleo possui seu conjunto de registradores.

    “Tradicionalmente, os sistemas SMP (symmetric multiprocessing – multiprocessamento simétrico) têm permitido que vários threads sejam executados concorrentemente fornecendo múltiplos processadores físicos.” Silberschatz. Fundamentos de SO, 8º edição,página 111. O destaque foi feito por mim.

    Fato é que pode haver sistemas operacionais multiprogramáveis  com processadores de um único core e,portanto, processará um único thread/processo por vez.


  • A questão está tentando confundir o candidato entre processador e SO. Observe que o  SO consegue executar várias tarefas ao mesmo tempo, o processador que só consegue executar uma por vez.

  • Minha interpretação da expressão "... executar várias tarefas ao mesmo tempo..."  NÃO significa pseudoparalelismo ou o falso paralelismo de sistemas mononúcleo. Então eu necessitaria de fato de dois componentes processadores (dois núcleos, por exemplo) para gerar execução simultânea. E processador é diferente de núcleo (pelo menos no jargão e nos tempos atuais em que arquiteturas multicore estão bem popularizadas), então um computador com um processador de dois núcleos executaria instruções simultaneamente, por isso marcaria ERRADO.

     

  • Acredito que a questão ficaria correta assim...

    Um sistema operacional multiprocessado somente pode executar várias tarefas ao mesmo tempo quando o computador no qual ele está instalado possui mais de um processador de dados.

  • Gabarito Errado

    Nesse caso seria Multiprocessado.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
332704
Banca
CESPE / CEBRASPE
Órgão
Correios
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação às características e funções básicas de um sistema operacional, julgue os itens seguintes.

As principais funções do núcleo de um sistema operacional são as seguintes: tratamento de interrupções; criação, eliminação, sincronização e comunicação entre processos; gerência de memória e gerência de arquivos.

Alternativas
Comentários
  • comunicação entre processos?
    Essa eu não entendi.
  • http://en.wikipedia.org/wiki/Inter-process_communication
  • As principais funções do núcleo encontradas nos sistemas operacionais estão listadas a seguir:

    * tratamento de interrupções e exceções;
    * criação e eliminação de processos e threads;
    * sincronização e comunicação entre processos e threads;
    * escalonamento e controle dos processos e threadas;
    * gerência de memória;
    * gerência do sistema de arquivos;
    * gerência de dispositios de E/S;
    * suporte a redes locais e distribuídas;
    * contabilização do uso do sistema;
    * auditoria e segurança do sistema;

    Fonte: Arquitetura de Sistemas Operacionais, Francis Berenger, 4 ediçao, pag. 51
  • Gabarito Certo

    É o conjunto de rotinas que oferece serviços aos usuários, suas aplicações, além do próprio sistema operacional. As principais funções do núcleo encontradas na maioria dos sistemas comerciais são: tratamento de interrupções e exceções; criação e eliminação de processos e threads; sincronização e comunicação entre processos e threads; escalonamento e controle dos processos e threads; gerência de memória; gerência do sistema de arquivos; gerência de dispositivos de E/S; suporte à redes locais e distribuídas; contabilização do uso do sistema; auditoria e segurança do sistema.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
370657
Banca
FCC
Órgão
TCE-GO
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Considere as seguintes características dos sistemas operacionais:

I. ser multiusuário e multitarefa.

II. ser multiprogramável e multiusuário.

III. ser monousuário e multitarefa.

IV. realizar processamento em modo batch

Está correto o que consta em

Alternativas
Comentários
  • Achei a questão muito mal elaborada...
  • Letra B. 

    Pois exatamente todas as características pertencem aos conceitos de Sistemas Operacionais.

  •  Nos sistemas de tempo compartilhado, o tempo do processador é dividido em pequenos intervalos de tempo (time slices), dando a impressão de que diversos programas são executados ao mesmo tempo. Os sistemas monoprogramáveis tem a característica de que o processador, a memória e os periféricos permanecem exclusivamente dedicados à execução de um único programa.


ID
370906
Banca
FCC
Órgão
TCE-GO
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Considere as condições:
I. Exclusão mútua.
II. Posse e espera.
III. Não preempção.
IV. Espera circular.
Ocorrerá deadlock se estiverem presentes

Alternativas
Comentários
  • O deadlock ocorre naturalmente em alguns sistemas. No entanto, é necessário ressaltar que tais sistemas precisam obedecer a algumas condições para que uma situação de deadlock se manifeste.

    Essas condições estão listadas abaixo, onde as três primeiras caracterizam um modelo de sistema, e a última é o deadlock propriamente dito: processos que estejam de posse de recursos obtidos anteriormente podem solicitar novos recursos. Caso estes recursos já estejam alocados a outros processos, o processo solicitante deve aguardar pela liberação do mesmo;
     

    • Condição de não-preempção: recursos já alocados a processos não podem ser tomados a força. Eles precisam ser liberados explicitamente pelo processo que detém a sua posse;
    • Condição de exclusão mútua: cada recurso ou está alocado a exatamente um processo ou está disponível;
    • Condição de posse-e-espera: cada processo pode solicitar um recurso, ter esse recurso alocado para si e ficar bloqueado esperando por um outro recurso;
    • Condição de espera circular: deve existir uma cadeia circular de dois ou mais processos, cada um dos quais esperando por um recurso que está com o próximo membro da cadeia.
  • Exclusão mutua, ou mutex= Tecnica para evitar que dois processos, tenham acessos simultâneos a um recurso.
    Posse e espera: Cada processo pode silicitar recurso e ficar bloqueando o recurso enquanto o outro está usando.
    Não preepmção- Escalonador não retira processos em execução.
    Espera circular-deve existir uma cadeia circular de dois ou mais processos, cada um dos quais esperando por um recurso que está com o próximo membro da cadeia.
  • Letra E

     

    Deve SEMPRE haver as 4 condições abaixo para a ocorrência de deadlock. Na ausência de pelo menos uma dessas condições, descarta-se a possibilidade de sua ocorrência.

     

    I - Exclusão mútua: Pelo menos um recurso deve ser alocado em modo não compartilhável, isto é, apenas um processo de cada vez pode usar o recurso. Se outro processo solicitar este recurso, o processo solicitante deve ser atrasado até o recurso ter sido liberado.


    II - Posse e espera: Pelo menos um recurso deve estar alocado a um processo e este processo estar aguardando para adquirir recursos adicionais que, no momento, estejam sendo mantidos por outros processos.


    III - Inexistência de preempção (Não-preemptivo): Recursos não podem ser interceptados, isto é, um recurso só pode ser liberado voluntariamente pelo processo que o estiver mantendo após esse processo ter concluído sua tarefa.


    IV - Espera Circular: Deve existir um conjunto de processos (P1, P2, ...Pn) em espera, de tal modo que P1 esteja esperando por um recurso que está alocado a P2, P2 esteja esperando por um recurso que está alocado a Pn-1, Pn-1 esteja esperando por um recurso que está alocado a Pn e Pn esteja esperando por um recurso que está alocado a P1.

  • Gabarito E

    Condições para Deadlock ocorrer:

     

    Exclusão mútua: cada recurso só pode estar alocado a um único processo em um determinado instante;

    Posse e Espera: um processo, além dos recursos já alocado, pode estar esperando por outros recursos;

    Não-Preempção: un recurso nao pode ser liberado de um processo só porque outros processos desejam o mesmo rrecurso;

    Espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa.

     

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
392182
Banca
Aeronáutica
Órgão
CIAAR
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Informe se é verdadeiro (V) ou falso (F) o que se afirma abaixo e depois assinale a alternativa que apresenta a sequência correta.

( ) Os sistemas operacionais monoprogramáveis são os sistemas que permitem que um único programa utilize exclusivamente o processador, memória e dispositivos de entrada/saída durante sua execução.
( ) Nos sistemas operacionais monoprogramáveis, o processador permanece ocioso, sem realizar qualquer tipo de processamento, enquanto o programa aguarda por um evento, como a digitação de um dado.
( ) Os sistemas multiprogramáveis são caracterizados por possuírem duas ou mais unidades centrais de processamentos interligadas e trabalhando em conjunto. Assim, vários programas podem ser executados ao mesmo tempo.
( ) Os sistemas operacionais fracamente acoplados apresentam vários processadores compartilhando uma única memória física e apenas um sistema operacional gerencia os dispositivos de entrada/saída.

Alternativas
Comentários
  • 3ª afirmativa FALSA. As características descritas são de sistemas operacionais com múltiplos processadores do tipo fracamente acoplados.
    4ª afirmativa FALSA. As características descritas são de sistemas operacionais com múltiplos processadores do tipo fortemente acoplados.
    Fonte: http://unibansistemas.files.wordpress.com/2011/04/so-tipos-de-sistemas-operacionais-apostila-01.pdf
    item 2.6

  • ( ) Os sistemas operacionais monoprogramáveis são os sistemas que permitem que um único programa utilize exclusivamente o processador, memória e dispositivos de entrada/saída durante sua execução. 

    ( ) Nos sistemas operacionais monoprogramáveis, o processador permanece ocioso, sem realizar qualquer tipo de processamento, enquanto o programa aguarda por um evento, como a digitação de um dado. 

    ( ) Os sistemas multiprocessados são caracterizados por possuírem duas ou mais unidades centrais de processamentos interligadas e trabalhando em conjunto. Assim, vários programas podem ser executados ao mesmo tempo. 

    ( ) Os sistemas operacionais fortemente acoplados apresentam vários processadores compartilhando uma única memória física e apenas um sistema operacional gerencia os dispositivos de entrada/saída.

    .

    At.te

    Foco na missão 


ID
399868
Banca
CESPE / CEBRASPE
Órgão
Correios
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de sistemas operacionais, julgue os próximos itens.

O sistema operacional controla e coordena o uso do hardware entre os programas aplicativos para os diversos usuários. Um sistema operacional de tempo compartilhado, ou multitarefa, possibilita que os usuários possam interagir com cada programa durante sua execução.

Alternativas
Comentários
  • Assertiva CORRETA

    Multiprogramação ou Multitarefa é o nome dado à característica de alguns sistemas operacionais de rodar diversas aplicações simultâneas. Na realidade, na execução multitarefa, o tempo do processador é dividido entre as aplicações em execução, e a execução das tarefas passa rapidamente de uma para a outra, criando a ilusão de que as aplicações ocorrem de forma conjunta.

    Nos sistemas monoprogramados ou multitarefas o que temos é a existência de um único processo sendo executado de cada vez na memória. Com a multiprogramação existem vários processos na memória aptos à executar e um em execução. Sem dúvida, o conceito de multiprogramação é um dos mais importantes nos sistemas operacionais modernos. Se existirem vários programas carregados na memória ao mesmo tempo, a CPU pode ser compartilhada entre eles, aumentando a eficiência da máquina e produzindo mais resultados em menos tempo. A idéia por detrás da multiprogramação é bastante simples. Quando um programa libera a CPU, seja para realizar alguma operação de E/S ou por outro motivo, ela fica parada. Enquanto espera que o programa volte para executar, a CPU não realiza nenhum trabalho útil. Para acabar com a ociosidade deste tempo vários programas são mantidos ao mesmo tempo na memória e o sistema operacional se encarrega de escolher um deles para executar. Assim, sempre que um programa é interrompido, um outro é escolhido para ser executado em seu lugar. Com isso, a CPU estará durante grande parte do tempo ocupada processando instruções de programas. Os benefícios da multiprogramação são vários: aumento da utilização da CPU e da taxa de saída do sistema computacional, isto é, da quantidade de trabalho realizada dentro de um intervalo de tempo (throughput).

  • A questão pode ser dividia em duas partes.
    "O sistema operacional controla e coordena o uso do hardware entre os programas aplicativos para os diversos usuários"
    CERTO. Diz respeito a uma das duas definições clássicas de SO. Os sistemas operacionais realizam basicamente duas funções não relacionada: estender a máquina e gerenciar recursos.
    O sistema operacional como uma máquina estendida
    A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura de barramento) da maioria dos computadores em  nível de linguagem de máquina é primitiva e de difícil programação, especialmente a entrada/saída. O SO é o programa que oculta do programador a "verdade" sobre o hardware e apresenta uma visão simples e agradável dos nomes dos arquivos que podem ser lidos e escritos. 
    O conceito de sistema operacional como provedor de uma interface conveniente a seus usuários é uma visão top-down (abstração do todo para as partes).
    O sistema operacional como um gerenciador de recursos
    Em uma visão alternativa, bottom-up (abstração das partes para o todo), o sistema operacional gerencia as partes de um sistema complexo. Computadores modernos são constituídos de processadores, memórias, temporizadores, discos, dispositivos apontadores tipo mouse, interfaces de rede, impressoras e uma ampla variedade de outros dispositivos. Segundo essa visão, o trabalho do sistema operacional é fornecer uma alocação ordenada e controlada de processadores, memórias e dispositivos de E/S entre vários programas que competem por eles.

    "Um sistema operacional de tempo compartilhado, ou multitarefa, possibilita que os usuários possam interagir com cada programa durante sua execução"
    CERTO. Diz respeito ao conceito de multitarefa conforme já explicado pelos colegas. Acho que a única confusão pode ser com a parte interagir com cada programa, que pode deixar uma dúvida se tal interação se dá de forma simultânea ou sequencial.

  • O sistema operacional multitarefa (tempo compartilhado), mesmo tendo um único processador a seu serviço, alterna a execução de vários programas velozmente dando a ilusão ao usuário de que todos os programas estão sendo executados simultaneamente.

    A palavra "programa" na questão está com o sentido de "programas aplicativos" (citado na 1a frase) e não no sentido do processo em execução na CPU. [pegadinha do examinador]

  • Certo.

    Apenas para complementar, sistemas multitarefas de escalonamento "Em lote" são aquelas que não permitem a interação do usuário.

    Os escalonamentos "tempo compartilhado" e "tempo real" permitem a interação do usuário.


ID
399874
Banca
CESPE / CEBRASPE
Órgão
Correios
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de sistemas operacionais, julgue os próximos itens.

Um programa carregado na memória e em execução é denominado processo. Nos sistemas operacionais de tempo compartilhado e nos multiprogramados, os jobs devem ser mantidos na memória ao mesmo tempo que são executados e, por isso, o sistema deve prover recursos de gerência de memória e proteção.

Alternativas
Comentários
  • Sistemas operacionais modermos permitem que múltiplos programas residam na memória principal ao mesmo tempo. Para mantê-los livres da interferência dos outros programas é necessário mecanismos de proteção. Embora esse mecanismos devam ser de hardware, eles são controlados pelo sistema operacional.
    Fonte: Sistemas Operacionais Modernos, Tanenbaum.
  • Na questão o bom observar que o termo Jobs é sinônimo de tarefas.

    Questão Certa.
  • Questão esquisita!!! O primiero comentário está certo, era isso que o examinador queria saber do candidato. O problema é extrair isso da questão.

    Um programa carregado na memória e em execução é denominado processo(blá blá,não acrescenta nada). Nos sistemas operacionais de tempo compartilhado e nos multiprogramados, os jobs devem ser mantidos na memória ao mesmo tempo que são executados ( gostaria de saber qual tipo de sistema operacional em que os jobs não deve ser mantidos na memoria ao mesmo tempo em que são executados)e, por isso, o sistema deve prover recursos de gerência de memória e proteção( o "por isso" é que é hilário).
  • Alguém poderia tirar minha dúvida? O termo "job" não está restrito ao processamento em lote (batch)? Acredito que, para esta questão, o terma mais adequado seria "thread".

    É isso mesmo?

    Obrigado!

ID
459355
Banca
FCC
Órgão
INFRAERO
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sobre sistemas operacionais, considere:

I. No kernel 2.6 do Linux, o escalonador possui 64 níveis de prioridade. Sendo 0 a menor prioridade, as prioridades de 0 a 32 são para processos de tempo real e, de 33 a 63, para os demais processos de usuário.

II. No Linux, as operações READ são síncronas e bloqueantes, pois existe a suposição de que o processo que executou a operação necessita dos dados para continuar, o que confere às operações de leitura maior prioridade em relação as operações de escrita.

III. Na família Windows NT, o escalonador utiliza múltiplas filas e os processos interativos (I/O bound) possuem prioridade sobre os CPU bound. O escalonamento é baseado em prioridades, no qual cada thread possui uma prioridade, que varia de 0 a 31, onde 0 é a menor prioridade.

IV. No Windows, independentemente de haver um ou vários processadores, existirá apenas uma fila de processos aptos; entretanto, a existência de múltiplos processadores permitirá o paralelismo físico na execução das threads.

É correto o que consta em

Alternativas
Comentários
  • I) No Kernel 2.6 há 140 níveis de prioridade, quanto menor o valor maior a prioridade:
    1-100 RT Prios
    101-140 User Task Prios
  • O Linux utiliza um sistema de prioridades, onde um processo que possui prioridade maior tem precedência sobre um de prioridade menor para obter o processador. A identificação da prioridade de um processo pode ser estática ou dinâmica e varia de 1, a maior prioridade, a 139, a menor. Os números 1 a 99 são atribuídos a processos de tempo real e 100 a 139 são atribuídos a processos tradicionais (interativos e segundo plano).

    fonte: http://pt.wikipedia.org/wiki/Linux_%28n%C3%BAcleo%29 (NÃO  confiável !!!!! Erro!)
  • Dadas as opções, o item II fica certo (não tem a opção de apenas III e IV corretos), mas a rigor, ele está errado. 

    Primeiro ele diz que "No Linux as operações READ são síncronas e bloqueantes", mas desde o início do kernel 2.6 existe a opção das operações assíncronas não-bloqueantes. Apesar de aquelas serem o mais comum, essas existem e são usadas nos casos em que são mais vantajosas.

    Segundo ele diz que as operações de leitura tem maior prioridade em relação às de escrita. Isso é verdade para o escalonador Deadline (que não é e nunca foi o usado como padrão).  O Anticipatory I/O Scheduler, que era o padrão, por default também priorizava leituras, mas através de parâmetros, era possível priorizar escritas. Fato é que ele não é o padrão desde o kernel 2.6.18 e na verdade, já foi removido. Aí vem o atual I/O scheduler, CFQ, que prioriza as operações síncronas sobre as assíncronas, não necessariamente READS sobre WRITES, mas como normalmente, READS são síncronos, se criou essa idéia que READS têm maior prioridade.

  • Apenas o item I está errado!

    "O escalonador possui 140 níveis de prioridade (quanto menor o número, maior é a prioridade). Prioridades de 1 a 100 são para processos de tempo 
    real; de 101 a 140 para os demais processos de usuário (interativos ou não interativos)."

    Fonte: http://www.inf.ufes.br/~zegonc/material/Sistemas%20Operacionais/Outros%20slides/SchedulerLinuxWindows.pdf
  • Como a III e a IV podem estar ambas corretas?
    Na III diz-se, "Na família Windows NT, o escalonador utiliza múltiplas filas";
    Na IV diz-se, "
    No Windows ... existirá apenas uma fila de processos aptos";
    O Windows NT tb é windows, como pode ter múltiplas e apenas uma fila ao mesmo tempo?!
  • A I) e III) deveriam estar erradas pois dizem que o 0 é um processo de menor prioridade, onde na verdade é um processo de maior prioridade.
    Essa questão foi anulada ?

  • Aqui tem informações para responder a essa questão: http://www.inf.pucrs.br/~ramos/sop_escwinlin.pdf

  • Letra D

     

    Fonte: Sistemas operacionais : programação concorrente com pthreads
    EDIPUCRS - Celso Maciel da Costa
    Págs. 73 a 75

     

    https://books.google.com.br/books?id=KOdf-52KERMC&pg=PA73&lpg=PA73&dq=140+n%C3%ADveis+de+escalonamento+linux&source=bl&ots=QXIaDp7fZZ&sig=C3V_1PxcMjdSMgTkH12afRLS8JI&hl=pt-BR&sa=X&ved=0ahUKEwjnkfOtvaPbAhVGgJAKHe1zDrAQ6AEITDAG#v=onepage&q=140%20n%C3%ADveis%20de%20escalonamento%20linux&f=false


ID
463366
Banca
CESPE / CEBRASPE
Órgão
HEMOBRÁS
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema operacional (SO) moderno possui diversas
características que o distinguem de um sistema operacional dos
computadores de primeira geração. Acerca das características dos
sistemas operacionais modernos, julgue os itens subseqüentes.

Um SO de rede deve se preocupar em implementar serviços e mecanismos de controle para atender as requisições dos sistemas operacionais clientes da rede.

Alternativas

ID
533878
Banca
ESAF
Órgão
CVM
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

São tipos de sistemas multiprogramáveis/ multitarefa:

Alternativas
Comentários
  • Os sistemas multiprogramáveis ou multitarefa podem ser classificados pela forma com que suas aplicações são gerenciadas, podendo ser divididos em sistemas batch, de tempo compartilhado ou de tempo real. Um sistema operacional pode suportar um ou mais desses tipos de processamento, dependendo de sua implementação.

    Fonte: http://forum.imasters.com.br/topic/333787-tipos-de-sistemas-operacionais/
  • SISTEMA BATCH: 
    – Os sistemas batch foram os primeiros tipos de sistemas operacionais multiprogramáveis a serem implementados na década de 1960. 
    – Os programas, também chamados de jobs, eram submetidos para execução através de cartões perfurados e armazenados em disco ou fita (armazenamento serial), onde guardavam para serem processados.
    – Posteriormente, em função da disponibilidade de espaço na memória principal, os jobs eram executados, produzindo uma saída em disco ou fita.
    – Tem a característica de não exigir a interação do usuário com a aplicação. Todas as entradas e saídas de dados são implementadas por algum tipo  de memória  secundária, geralmente arquivos em disco.

    Sistemas de tempo compartilhado (time-sharing)
    – Permitem que diversos programas sejam executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice): um dos princípios do round-robin. 
    – Caso a fatia de tempo não seja suficiente para a conclusão do programa, esse é interrompido pelo sistema operacional e substituído por um outro, enquanto fica aguardando por uma nova fatia de tempo. 
    – O sistema cria um ambiente de trabalho próprio, dando a impressão de que todo o sistema está dedicado, exclusivamente, para cada usuário.
    – Geralmente, sistemas de tempo compartilhado permitem a interação dos usuários com o sistema através de terminais que incluem vídeo, teclado e mouse, tipo thin-client.

    Sistemas de tempo real (real-time) 
    – São implementados de forma semelhante à dos sistemas de tempo compartilhado: a principal diferença é o tempo de resposta exigido no processamento das aplicações.
    – Tempos de resposta devem estar dentro de limites rígidos, que devem ser obedecidos, quando bem projetados, podem ser bastante eficientes, caso contrário poderão ocorrer problemas irreparáveis.
    – Nestes sistemas não existe a idéia de fatia de tempo: um programa utiliza o processador o tempo que for necessário ou até que apareça outro mais prioritário.
    – Esses sistemas normalmente estão presentes em aplicações de controle de processos, como no monitoramento de refinarias de petróleo ou controle de tráfego aéreo.
    Fonte: http://www.maxwellanderson.com.br/academico/materiais/so/so1/SOI-03.pdf
  • d-

    processamento em batch foi implementado para executar jobs, processando volumes de dados como relatorios, indexacao de arquivos, backups e calculos. nao havia interacao com usuario. Time sharing permite execucao do sprogramas por time slices, mais de 1 por programa se necessario. Se execucao por inteironao for possivel, retorna ao processador depois p/ continuar. Permite varios usuarios simultaneos por terminais (1 maquina central).real time systems priorizam tempo, com limites rigidos de tolerancia. Nao ha time slice; o programa usa o priocessador o quanto necessario. Ha 2 subtipos: critico (controle de voo, equipamento hospitalar) e nao-critico, o qual falhas nao resultam em desastres. 


ID
599803
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sobre os sistemas operacionais, considere as afirmações a seguir.

I - Sistemas operacionais do tipo batch não exigem interação com o usuário.

II - Sistemas operacionais monoprogramáveis permitem a execução de vários processos concorrentemente.

III - Sistemas operacionais multitarefa, com suporte a múltiplos processadores, permitem a execução concorrente ou paralela de vários processos.

IV - Sistemas de tempo compartilhado devem ser utilizados em aplicações de tempo real.

Está correto APENAS o que se afirma em

Alternativas
Comentários
  • I - Sistemas operacionais do tipo batch não exigem interação com o usuário. (V)

    II - Sistemas operacionais monoprogramáveis permitem a execução de vários processos concorrentemente.(F)
    R.Permitem um processo por vez

    III - Sistemas operacionais multitarefa, com suporte a múltiplos processadores, permitem a execução concorrente ou paralela de vários processos.(V)

    IV - Sistemas de tempo compartilhado devem ser utilizados em aplicações de tempo real.
    R.Sistemas por Prioridades devem ser utilizados em aplicações de tempo real.
  • Programa sequencial
    * executado por apenas um processo
    * existência de somente um fluxo de controle(fluxo de execução, fluxo de controle, thread)

    Programa concorrente
    * Vários processos cooperam para realizar uma tarefa
    * existência de vários fluxos de controle
    * necessitam de interação para troca de informações(sincronização)

    => Um programa é considerado concorrente quando ele (o próprio prograna) durante sua execução origna diferentes processos. Esses processos, em geral irão interadir entre si.
  • Outra boa fonte de informação:

    http://unibansistemas.files.wordpress.com/2011/04/so-tipos-de-sistemas-operacionais-apostila-01.pdf

  • Os sistemas de tempo compartilhado (time-sharing) permitem que diversos programas sejam executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo(time-slice).

    Enquanto em sistemas de tempo compartilhado o tempo de processamento pode variar sem comprometer as aplicações em execução, nos sistemas de tempo real os tempos de processamento devem estar dentro de limites rígidos, que devem ser obedecidos, caso contrário, poderão ocorrer problemas irreparáveis.

  • b-

     Nos sistemas de tempo compartilhado, o tempo do processador é dividido em pequenos intervalos de tempo (time slices), dando a impressão de que diversos programas são executados ao mesmo tempo.  Os sistemas monoprogramáveis tem a característica de que o processador, a memória e os periféricos permanecem exclusivamente dedicados à execução de um único programa.


ID
605599
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

A respeito de componentes de um computador, sistemas de entrada,
saída e armazenamento, julgue os itens subsequentes.

Considerado um gerenciador de recursos do computador, o sistema operacional é capaz de prover uma interface para o usuário, tornando o acesso a recursos do computador transparente ao usuário.

Alternativas
Comentários
  • Com uma interface para o usuário, torna-se o acesso a recursos do computador transparente ao usuário.
  • Aperta Ctrl + Alt + Del -> gerenciador de tarefas...

    Lá vc verá exatamente quanto de processador e de memória estará usando em cada processo. Acho que foi isso que a banca quis dizer em "tornando o acesso a recursos do computador transparente ao usuário."


ID
605617
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação aos princípios de sistemas operacionais, julgue os itens
seguintes.

Um sistema operacional é considerado monolítico quando o seu kernel é executado como vários programas.

Alternativas
Comentários
  • Questão errada !  No kernel monolítico todas as funções importantes do kernel fazem parte de um único processo (programa) em que todos os elementos partilham o mesmo espaço de endereçamento de memória.

    Os outros 2 tipos de kernel mais frequentes são: Microkernel e Kernel modular.
    O kernel modular, kernel monolítico moderno, é o mais simples possível e encarrega-se de coordenar a troca de mensagens e dados entre os diferentes componentes. Os componentes são compilados como módulos que são carregados e descarregados dinamicamente à medida que vão sendo necessários. Algumas das vantagens em usar kernel modular:
    a) Não é necessário recompilar o kernel para adicionar suporte aquando a adição de novo hardware.
    b) As componentes desnecessárias não são carregadas.
      O Microkernel é uma designação de um Sistema Operacional que possui apenas um núcleo que provê recursos mínimos necessários ao ambiente. Outras funcionalidades são oferecidas através de programas chamados servidores. O Microkernel basicamente provê serviços como gerenciamento do espaço de memória, gerência de threads e comunicação entre os processos (IPC – Inter-Process Communication). Serviços como rede, vídeo, são considerados não essenciais, e residem na user-space. Bons estudos !
  • De acordo com Tanenbaum, um SO monolítico é um sistema que não possui estruturação definida. Além disso, o sistema operacional é escrito como uma coleção de procedimentos, sendo que cada um pode chamar um dos demais sempre que necessário. Apesar disso, cada procedimento do sistema tem uma interface bem definida quanto a parâmetros e resultados e cada um deles é livre para chamar qualquer outro, se este oferecer alguma computação útil de que o primeiro necessite. A afirmação da questão não faz sentido e por isso está errada.
  • Ta, tudo bem, concordo com os comentários acima. Mas alguém entendeu o que a banca quis dizer com " é executado como vários programas"?

    ?????????????????

    Dizer se é errado ou o que é certo o que?

    Questões como essa, é melhor fazer concurso loteria só entrega pra gente o cartão resposta que a gente preenchee, quem tiver com mais sorte leva!!!
  • A questão está errada pelo simples fato de AFIRMAR que um sistema operacional considerado monolítico "é executado como vários programas".

    Segundo Tanenbaum (Sistemas Operacionais 3ª Ed., página 37,  item 1.7.1) o sistema operacional monolítico é executado como um único programa. no modo núcleo.

    Obs: Núcleo = Kernel 
  • No kernel monolitico, todos os seus componentes(gerenciador de memoria/processos/E-S, Sistemas de Arquivos etc) são codigos q fazem parte de um unico e grande programa. A memoria eh dividida entre espaço do kernel e espaço do usuario e seus programas.

    Já o micro kernel divide as funcoes basicas em modulos q sao acionados por mecanismos de mensageria. Ele fica muito mais restrito a interrupções, comunicacao interprocessos, escalonamento de processos etc.
  • Errei a questão pela definição que eu tinha a respeito de Arquitetura Monolítica que é comparada como uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande programa executável, onde os módulos pode interagir livremente. Como o conceito diz como "vários módulos" acabei me equivocando. 

  • Errado.

    De fato, nessa arquitetura TUDO (todos os módulos/rotinas) é executado junto de forma a SER um ÚNICO programa no modo NÚCLEO!

  • Finalidade do núcleo:

    O principal propósito do núcleo é gerenciar os recursos do computador e permitir que outros programas rodem e usem destes recursos.

    Arquitetura Monolítica-> Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande e único programa executável. Todos processos em um só núcleo.

    Arquitetura de Camadas-> Devido ao Aumento da complexidade e do tamanho do código dos sistemas foi necessário criar técnicas de modulação então o sistema passou a ser dividido em camadas sobrepostas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores(lembra um pouco REDES modelo OSI).

    Vantagem: Isolar as funções do sistema operacional, facilitando a manutenção e depuração, além de criar hierarquia de níveis

    Desvantagem: Queda no Desempenho.

    Arquitetura Máquina Virtual -> Serve para criar um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais possibilitando a criação de diversas máquinas virtuais independentes onde cada uma oferece cópia virtual do hardware.

    Vantagem: Portabilidade do código / consolidação de servidores/ aumento da disponibilidade / facilidade de escalabilidade e balanceamento de carga / facilidade no desenvolvimento de software.

    Arquitetura MicroKernel-> Tendência nos sistemas operacionais modernos visando tornar o núcleo do SO o menor e mais simples possível.

    Um dos benefícios da abordagem de microkernel é que ela facilita a extensão do sistema operacional. Todos os serviços novos são adicionados ao espaço do usuário e, consequentemente, não requerem a modificação do kernel.

    O microkernel também fornece mais segurança e confiabilidade, já que a maioria dos serviços é executada como processos de usuário — e não do kernel. Se um serviço falha, o resto do sistema operacional permanece intocado.

    Sistemas Híbridos -> Na prática, muito poucos sistemas operacionais adotam uma estrutura única rigidamente definida. Em vez disso, eles combinam diferentes estruturas, resultando em sistemas híbridos que resolvem problemas de

    desempenho, segurança e usabilidade.

    Por exemplo, tanto o Linux quanto o Solaris são monolíticos porque o desempenho é muito mais eficiente quando o sistema operacional ocupa um único espaço de endereçamento. No entanto, eles também são modulares para que novas funcionalidades possam ser adicionadas ao kernel dinamicamente.

    Exonúcleos -> Um exonúcleo é um tipo de núcleo que não abstrai hardware in modelos teóricos. Ao invés disso ele aloca recursos físicos de hardware, como o tempo de um processador, páginas de memória, e blocos de disco, para diferentes programas.

    Fonte:

    Arquitetura de SO - Machado 5 ed /Fundamentos de SO - Silberschatz 9ed


ID
616477
Banca
CONSULPLAN
Órgão
CODEVASF
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sobre sistemas operacionais é correto afirmar que:

Alternativas
Comentários
  • Não tem como não ser a letra D

  • Gabarito D

    De boaaa galera...

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
617521
Banca
CESGRANRIO
Órgão
FINEP
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em sistemas multiprogramáveis, os processos podem concorrer pelos recursos do sistema. Essa concorrência pode provocar uma situação conhecida como deadlock, que só ocorre quando todas as seguintes condições estão presentes, ao mesmo tempo, em um sistema:

Alternativas
Comentários
  • Condições necessárias para ocorrência do DeadLock:
    1. Exclusão Mútua: Apenas um processo por vez pode alocar e manipular um recurso;
    2. Posse e Espera: Um processo, de posse de um recurso, pode solicitar novos recursos;
    3. Não-Preempção: Um recurso não pode ser removido explicitamente do processo;
    4. Espera Circular: Ocorre CICLO no GRAFO de alocação;

    As 4 condições necessitam ocorrer em conjunto
    Se ao menos uma não ocorrer, não há DeadLock
  • Essa questão é de Sistemas Operacionais e o assunto é Gerência do Processador.
  •  exclusão mútua; posse e espera; não preempção; espera circular
  • Em um deadlock, os processos nunca terminam de executar, e os recursos do sistemas ficam retidos, impedindo que outras tarefas sejam iniciadas.
    Condições necessárias para ocorrer:
    1. Exclusão mútua: pelo menos um recurso precisa estar retido rm modo não compartilhado.
    2. Manter e esperar: um processo precisa estar de posse de pelo menos um recurso e esperando para obter a posso de recursos adicionais que estão em posse de outros processos.
    3. Não preempção: Os recursos não podem ser preemptados, ou seja, um recurso só pode ser liberado voluntariamente pelo processo que retém.
    4. Espera circular: Conjunto de processos aguardando de forma circular.
  • Gabarito D

    Condições para Deadlock ocorrer:

     

    Exclusão mútua: cada recurso só pode estar alocado a um único processo em um determinado instante;

    Posse e Espera: um processo, além dos recursos já alocado, pode estar esperando por outros recursos;

    Não-Preempção: un recurso nao pode ser liberado de um processo só porque outros processos desejam o mesmo rrecurso;

    Espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa.

     

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
645193
Banca
FCC
Órgão
TJ-PE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação à sistemas operacionais é correto afirmar:

Alternativas
Comentários
  • Qual seria o erro do ítem E?
  • Na paginação, o espaço de endereço de memória física é dividido em unidades chamadas páginas (FRAMES).

    No contexto dos sistemas operacionais, a paginação da memória do computador é um processo de virtualização da memória que consiste na subdivisão da memória física em pequenas partições (frames), para permitir uma utilização mais eficiente da mesma. As' 'frames da memória física correspondem a páginas de memória virtual. A alocação de memória é requisitada por páginas, a menor unidade deste método. Cada página é mapeada numa frame de memória através de um processo que chama paginação.
  •  Sistemas operacionais utilizam técnicas de paginação e segmentação para exercer o controle de acesso à memória primária, protegendo as áreas de memória de uma aplicação do acesso por outra aplicação.
  • O espaço de endereço virtual é dividido em unidades chamadas páginas. As unidades correspondentes na memória física são chamadas molduras de página (ou quadros). As páginas e as molduras (quadros) têm sempre exatamente o mesmo tamanho.

    http://pt.wikibooks.org/wiki/Sistemas_operacionais/Ger%C3%AAncia_de_mem%C3%B3ria

  • marilia santos,

    O erro da alternativa 'e' é dizer que a paginação divide a memória física em páginas, pois na verdade ela gera molduras de páginas. As 'páginas' são formadas pelo espaço de memória de um processo (contendo as instruções e os dados de um processo), e são armazenadas nessas molduras criadas pela paginação. As páginas possuem exatamente o mesmo tamanho das molduras.

  • Fui por eliminação:

    b) Throughput e turnaround são tempos de processo durante o escalonamento utilizados por sistemas operacionais.

    c) Parte do processo de gerenciamento das threads da categoria ULT (User-Level Thread) é realizado pelo sistema operacional.

    d) Remover o processo da memória principal e o colocar na memória secundária é uma técnica chamada SWAP.

    e) Na paginação, o espaço de endereço de memória física é dividido em unidades chamadas molduras de páginas.


ID
648019
Banca
FCC
Órgão
TCE-AP
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Considere:

I. Sistemas operacionais, sobretudo, orientados para o processamento simultâneo de muitas tarefas, e quantidades prodigiosas de E/S, oferecendo, normalmente, serviços em lote, processamento de transações e tempo compartilhado.

II. Utilizam recursos de processamento para servirem múltiplos usuários de uma vez em uma rede, permitindo-lhes compartilhar recursos de hardware e de software; podem fornecer serviços de impressão, serviços de arquivo ou serviços de Web.

III. Sistemas operacionais especiais, em grande parte, variações dos sistemas operacionais de servidores com aspectos especiais de comunicação e conectividade; obtêm potência computacional ao conectar múltiplas CPUs em um único sistema.

As afirmações contidas em I, II e III estão associadas, respectivamente, aos sistemas operacionais

Alternativas
Comentários
  • Segundo Andrew Tanembaum,

    [...] Os sistemas operacionais para computadores de grande porte são sobretudo orientados para o processamento simultâneo de muitos jobs, sendo que a maioria deles precisa de quantidades prodigiosas de E/S. Esses sistemas operacionais oferecem normalmente três tipos de serviços: em lote (batch), processamento de transações e tempo compartilhado. [...]

    [...] Um nível abaixo estão os sistemas operacionais de servidores. Eles servem múltiplos usuários de uma vez em uma rede e permitem-lhes compartilhar recursos de hardware e de software. Servidores podem fornecer serviços de impressão, serviços de arquivo ou serviços de Web. [...]

    [...] Um modo cada vez mais comum de obter potência computacional é conectar múltiplas CPUs em um único sistema. Dependendo precisamente de como elas estiverem conectadas e o que é compartilhado. esses sistemas são denominados computadores paralelos, multicomputadores ou multiprocessadores. Eles precisam de sistemas operacionais especiais, mas muitos deles são variações dos sistemas operacionais de servidores com aspectos especiais de comunicação e conectividade. [...]

    Sob este pressuposto, a resposta da questão é a letra "c".
  • I. Não achei na bibliografia uma definição clara para "Grande Porte", entretanto por eliminação chegamos a esta resposta. Não pode ser tempo real, pois este não poderia admitir serviços em lote. Servidores e Multiprocessadores também seriam respostas admissíveis pela descrição oferecida

    II. Mais uma vez não há uma definição precisa de S.O. de servidores, mas podemos opções. Não pode ser tempo real, pois este não poderia admitir compartilhamento de hardware e software e fornecer serviços de impressão para competir com serviços críticos. Sistema Embarcado também não poderia ser, pois este limita-se a pequenos dispositívos de uso específico.

    III. Definição de uma máquina paralela. Pela descrição caberia tanto Multiprocessadores (CPUs que compartilham memória principal) quanto multicomputadores (CPUs que possuem sua própria memória compartilhando dados para executar uma única tarefa)
  • de Grande Porte

    http://pt.slideshare.net/tiagohinke/sistemas-operacionais-de-computadores-de-grande-porte

  • c-

     

    SO de computadores de grande porte - usados em grandes empresas, especializados em processamento de varios processos juntos e por conseuqeuncia muito I/O. Esses sistemas podem ser divididos em: batch, transacional e time sharing.

     

    SO de servidores - tb de muito grande porte, permite compartilhamento de recursos de hardware & software. inclui - impressoras, arquivos, dbs servicos web.

     

    SO de multiprocessadores - administra hardware de varios CPUs, equilibrando compartilhamento e administracao de recursos. Sao sistemas servdireos com variacoes p/ melhora de comunicacao e conectividade,.

  • Computadores de grande porte Mainframes.

    .

    At.te

    Foco na missão ❢


ID
648022
Banca
FCC
Órgão
TCE-AP
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação ao sistema operacional e aos recursos a ele associados, considere:

I. Um computador tem em geral uma variedade de diferentes recursos que podem ser adquiridos, mas um recurso é algo que pode ser usado por somente um único processo em um dado instante de tempo.

II. Um recurso preemptível é aquele que pode ser retirado do processo proprietário sem nenhum prejuízo, sendo a memória um exemplo de recurso preemptível.

III. Em alguns sistemas operacionais, o processo é automaticamente bloqueado quando sua requisição de recurso falha; ele será acordado quando o recurso se tornar disponível.

IV. Em alguns sistemas operacionais, a falha na requisição do recurso resulta em um código de erro e, nesse caso, cabe ao processo solicitante esperar um pouco e tentar novamente.

Está correto o que se afirma em

Alternativas
Comentários
  • Agradeço a quem puder esclarecer o item I:

    Um computador tem em geral uma variedade de diferentes recursos que podem ser adquiridos, mas um recurso é algo que pode ser usado por somente um único processo em um dado instante de tempo. 

    Se o recurso fosse um processador, tudo bem, mas não poderá a memória (que também é um recurso) em determinado instante ser usada por vários processos (prontos e em espera, por ex.)? 

    Obrigado.
  • No caso da memória, cada processo possui a sua área de memória limitada, alocada pelo SO. Existe sim o compartilhamento de memória, mas por threads, que são partes do processo.
  • @Fernando
    Apesar de mais de um processo poder estar na memória principal, só um pode acessá-la por vez. Acho que foi isso que o item quis dizer. O mesmo vale para o HD e outros recursos de hardware.

    @Thaise
    Processos tbm podem compartilar área de memória. O compartilhamente não precisa ser feito exclusivamente por threads. A segmentação, por exemplo, é um esquema de gerenciamento de memória que facilita o compartilamento de determinada área da memória entre dois ou mais processos. Por exemplo: uma área de dados somente para leitura ou que possua código reentrante. Mesmo assim, somente um processo (ou thread) poderá acessar o recurso por vez.

    Espero ter ajudado.
  • @Fernando

    Em relação ao item I, pense no recurso, não como um hardware, e sim como uma "funcionalidade". Exemplificando o acesso a memória, poderiamos ter um recurso como sendo a variavel "X" e neste momento um determinado processo "P" pega os dados desta variavel para alterar seu valor... ou seja, neste mesmo momento, nenhum outro processo ira poder acessar esta variavel X, pois ela é um recurso exclusivo de "P"... quando "P" liberar o recurso, outros processos irao poder acessar o X.

    Nao sei se fui claro, mas a linha é mais ou menos essa!

    bons estudos!
  • Concordo com o Fernando.

    A generalização da afirmativa I é errada. Isso é certo se considerarmos a CPU, mas a memória não.

    gabarito bem estranho da FCC.

  • Questao toda baseada no SO, de Tanenbaum. Mas apesar de saber q memoria eh um recurso ha um bom tempo, assim q vi essa definicao de recurso, fiquei com a mesma duvida do colega Fernando.

    Que memoria eh um recurso, isso nao ha duvida, inclusive Tanenbaum cita algumas definicoes.

    Recurso – pode ser um dispositivo de hardware, como unidade de fita, ou uma informacao, como um registro em um BD.

    Recurso preemptivo - pode ser retirado do processo sem nenhum efeito prejudicial(ex memoria).

    Recurso nao preemptivo - nao pode ser retirado sem causar danos(ex gravacao de CD).

    Se o recurso nao estiver disponivel ao ser solicitado, o processo solicitante sera obrigado a esperar. Em alguns SO, o processo eh bloqueado automaticamente quando a requisicao de um recurso falha e e` desbloqueado quando ele se encontra disponivel. Em outros sistemas, a requisicao falha e retorna um codigo de erro e fica por conta do processo que fez a chamada esperar um pouco e tentar novamente.

    O nobre autor ainda cita que um recurso eh algo q so pode ser usado por um processo em um dado instante. Mas varios processos podem usar a memoria ao mesmo tempo.

    Entao, o recurso seria as posicoes de memoria? Ele nao da mais esclarecimentos. Alguem poderia complementar?


  • Um computador tem em geral uma variedade de diferentes recursos que podem ser adquiridos, mas um recurso é algo que pode ser usado por somente um único processo em um dado instante de tempo. 

    A pegadinha não seria o PODE? Eu também achei meio confuso, mas acabei aceitando a resposta por conta do PODE, se fosse um DEVE, aí sim eu concordaria que está incorreto.


ID
666160
Banca
FUNCAB
Órgão
MPE-RO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Nos sistemas operacionais, a forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas simultaneamente é chamada de:

Alternativas
Comentários
  • a)Multithread. Processadores com multithreading podem executar em seu kernel mais processos paralelos ao mesmo tempo. O usuário experimenta maior desempenho do processamento do cpu e respostas mais rapidas com tarefas executadas paralelamente. Multithreading é possivel com recursos compartilhados do processador. 

  • Letra A.

     

    Reforçando que o "Pipeline" está relacionado exclusivamente à execução paralela da INSTRUÇÕES:
    -> Pipeline é o PARALELISMO em nível de instruções que é diferente do paralelismo em nível de processador;
    -> permite que todos os elementos da CPU funcionem ao mesmo tempo (ex: um componente busca, outro decodifica, outro executa etc), minimizando, assim, a ocorrência de circuitos ociosos.
                         -> Fetch ----> Decode ----> Execute ----> Fetch...

     

    Dividir o MESMO PROCESSO em etapas/tarefas/linhas de execução/subprocessos necessariamente estará atrelado ao conceito de threads!


ID
675466
Banca
CONSULPLAN
Órgão
TSE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um microcomputador pode ser visualizado como constituído de duas camadas, hardware e software, existindo um componente do sistema operacional, que realiza a interação entre estas camadas. Representa o núcleo do S.O. e gerencia os recursos do sistema, permitindo que os programas façam uso deles. Esse componente é conhecido pelo termo técnico

Alternativas
Comentários
  • o Kernel é complexo demais para ser explicado de forma técnica a um público leigo no assunto. Basicamente, ele começa a funcionar assim que o computador é ligado; nesse momento ele inicia a detecção de todo o hardware indispensável ao funcionamento da máquina (monitor, placa de vídeo etc.). O Sistema Operacional é carregado em seguida e, uma vez que o usuário faça seu login, o Kernel passa a administrar as principais funções dentro do S.O.: isso inclui o gerenciamento da memória, dos processos, dos arquivos e de todos os dispositivos periféricos.

    Dessa forma o Kernel pode ser descrito como um grande organizador: é ele o responsável por garantir que todos os programas terão acesso aos recursos de que necessitam (memória RAM, por exemplo) simultaneamente, fazendo com que haja um compartilhamento concorrente – mas sem oferecer riscos à integridade da máquina.

    Leia mais em: http://www.tecmundo.com.br/1636-o-que-e-kernel-.htm#ixzz1oIm0y400
  • Kernel

    De um sistema operacional é a camada de software mais próxima do hardware, sendo responsável por gerenciar os recursos do sistema computacional como um todo.

     

    Tipos de Kernel

    1-      Monolítico

    2-      Monolítoco e modular

    3-      Microkernel ou Cliente-Server

    4-      Hibrido

    5-      ExoKernel


ID
717283
Banca
FCC
Órgão
TCE-SP
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação a sistemas operacionais, considere:

I. Várias tarefas mantidas simultaneamente na memória pelo sistema operacional é uma característica da multiprogramação. Essa propriedade otimiza a utilização efetiva da CPU, pois o sistema operacional assegura que uma tarefa sempre esteja em execução.

II. Toda vez que um processo é gerado por um thread, um único contador de programa (program counter) é usado para se referir ao conjunto de threads e seus respectivos processos, para identificar a próxima instrução a ser executada.

III. O fato de sistemas operacionais de rede utilizarem a comunicação de rede para oferecer compartilhamento de recursos, com a troca de mensagens entre diferentes processos em diversos computadores, faz com que eles possam ser classificados como sistemas operacionais menos autônomos que os demais.

IV. O sistema operacional em cluster pode ser entendido como uma arquitetura intermediária entre a computação distribuída e multiprocessamento, no qual pode ocorrer tanto o clustering assimétrico (um servidor executa a aplicação enquanto os outros ficam em waiting), quanto o clustering simétrico (todos os hosts estão executando as aplicações).

É correto o que consta APENAS em

Alternativas
Comentários
  • Letra D

     

    II. Toda vez que um processo é gerado por um thread, um único contador de programa (program counter) é usado para se referir ao conjunto de threads e seus respectivos processos, para identificar a próxima instrução a ser executada.

     

    O erro no item II, está ao afirmar que há um único contador de programa (program counter) para um conjunto de threads.

    De fato, cada thread tem o seu contador. Ou seja, cada thread tem o seu contexto de hardware (seus registradores).

    Eles compartilham o mesmo espaço de endereçamento.

  • Só complementando o comentário do Lucc o.,

    outro erro relativo ao item II é afirmar que um processo pode ser gerado por uma Thread. De acordo com Tanenbaum, um processo pode ser criado por:

    1. Início do sistema
    2. Execução de uma tarefa em lote
    3. Solicitação do usuário para criação de um processo
    4. Chamada de sistema feita por outro processo

ID
773998
Banca
UFLA
Órgão
UFLA
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Marque a alternativa que define Região Crítica em Sistemas Operacionais.

Alternativas
Comentários
  •  a) Um trecho de programa cujas instruções podem ser executadas em paralelo e em qualquer ordem

     b) Um trecho de programa no qual existe o compartilhamento de algum recurso que não permite que vários programas façam acesso de forma concomitante. 

     c) Um trecho de programa que deve ser executado em paralelo com a Região Crítica de outro programa. 

     d) Um trecho de programa no qual existe algum recurso cujo acesso é dado por uma prioridade

     

    Segue outra questão para esclarecer...

     

    Ano: 2011 Banca: CESPE Órgão: Correios Prova: Analista de Correios - Analista de Sistemas - Suporte de Sistemas

    Região crítica é o termo utilizado para denominar a parte do código do programa na qual é realizado o acesso a um recurso compartilhado.

    Resposta: Certa


ID
786334
Banca
ESAF
Órgão
MI
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação a sistemas computacionais, é correto afirmar que:

Alternativas
Comentários
  • Compilador > gera codigo objeto

    Linker (ligador) > gera codigo executavel

    Loader (carregador) > carrega executavel em Memoria Principal para ser executado


ID
815443
Banca
AOCP
Órgão
TCE-PA
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um serviço é um processo em segundo plano que pode ser iniciado durante a inicialização do sistema operacional Windows. Na instalação do Microsoft Exchange Server 2010, são executadas diversas tarefas que instalam novos serviços. Um dos serviços instalados é o MSExchangeThrottling, cuja funcionalidade é

Alternativas
Comentários
  • https://technet.microsoft.com/pt-br/library/ee423542(v=exchg.141).aspx

    "Limita a taxa de operações de usuário. Esse serviço depende do serviço de Topologia do Microsoft Exchange Active Directory."


ID
853489
Banca
ESAF
Órgão
MDIC
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Assinale a opção correta.

Alternativas
Comentários
  • Sistemas Multiprogramáveis / Multitarefa
    A principal vantagem dos sistemas multiprogramáveis é a redução de custos em função da possibilidade de compartilhamento dos diversos recursos entre as diferentes aplicações. Além disso, sistemas multiprogramáveis possibilitam na média a redução total do tempo de execução das aplicações. Apesar de mais eficientes que os monoprogramáveis, são de implementação muito mais complexa.

     

    Fonte: https://forum.imasters.com.br/topic/333787-tipos-de-sistemas-operacionais/


ID
853495
Banca
ESAF
Órgão
MDIC
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

São arquiteturas do núcleo do sistema operacional:

Alternativas
Comentários
  • Letra C

    Qdo a questão cita "Máquina virtual" devemos lembrar da Arquitetura Exonúcleo, que é uma variação do Micronúcleo.
    Essa arquitetura traz um conceito embrionário de VMs, ou seja, a virtualização nasceu a partir desse conceito.

    Ela contém um núcleo simples (responsável pela gerência de recursos) e um conjunto de bibliotecas (simula as abstrações de um SO).

     

  • Estruturas dos sistemas operacionais:

    .: Monolítico;

    .: Camadas;

    .: Micronúcleos;

    .: Cliente-Servidor;

    .: Máquinas-Virtuais;

    .: Exonúcleos.

    At.te

    Foco na missão!!

  • Finalidade do núcleo:

    O principal propósito do núcleo é gerenciar os recursos do computador e permitir que outros programas rodem e usem destes recursos.

    Arquitetura Monolítica-> Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande e único programa executável. Todos processos em um só núcleo.

    Arquitetura de Camadas-> Devido ao Aumento da complexidade e do tamanho do código dos sistemas foi necessário criar técnicas de modulação então o sistema passou a ser dividido em camadas sobrepostas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores(lembra um pouco REDES modelo OSI).

    Vantagem: Isolar as funções do sistema operacional, facilitando a manutenção e depuração, além de criar hierarquia de níveis

    Desvantagem: Queda no Desempenho.

    Arquitetura Máquina Virtual -> Serve para criar um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais possibilitando a criação de diversas máquinas virtuais independentes onde cada uma oferece cópia virtual do hardware.

    Vantagem: Portabilidade do código / consolidação de servidores/ aumento da disponibilidade / facilidade de escalabilidade e balanceamento de carga / facilidade no desenvolvimento de software.

    Arquitetura MicroKernel-> Tendência nos sistemas operacionais modernos visando tornar o núcleo do SO o menor e mais simples possível.

    Um dos benefícios da abordagem de microkernel é que ela facilita a extensão do sistema operacional. Todos os serviços novos são adicionados ao espaço do usuário e, consequentemente, não requerem a modificação do kernel.

    O microkernel também fornece mais segurança e confiabilidade, já que a maioria dos serviços é executada como processos de usuário — e não do kernel. Se um serviço falha, o resto do sistema operacional permanece intocado.

    Sistemas Híbridos -> Na prática, muito poucos sistemas operacionais adotam uma estrutura única rigidamente definida. Em vez disso, eles combinam diferentes estruturas, resultando em sistemas híbridos que resolvem problemas de

    desempenho, segurança e usabilidade.

    Por exemplo, tanto o Linux quanto o Solaris são monolíticos porque o desempenho é muito mais eficiente quando o sistema operacional ocupa um único espaço de endereçamento. No entanto, eles também são modulares para que novas funcionalidades possam ser adicionadas ao kernel dinamicamente.

    Exonúcleos -> Um exonúcleo é um tipo de núcleo que não abstrai hardware in modelos teóricos. Ao invés disso ele aloca recursos físicos de hardware, como o tempo de um processador, páginas de memória, e blocos de disco, para diferentes programas.

    Fonte:

    Arquitetura de SO - Machado 5 ed /Fundamentos de SO - Silberschatz 9ed


ID
853498
Banca
ESAF
Órgão
MDIC
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em sistemas multiprogramáveis, são estados do processo:

Alternativas
Comentários
  • Estado do Processo

    Em sistemas Multitarefas o processo não é executado todo o tempo pelo processador. 3 tipos de estados:

    Execução (running)  – O processo está sendo executado pela CPU.

    Pronto (ready) – O processo está pronto e esperando para ser executado pela CPU.

    Espera (wait) – O processo está esperando algum evento externo ou por algum recurso para poder prosseguir seu processamento.

     

    Fonte: http://www.gsigma.ufsc.br/~popov/aulas/so1/cap6so.html

  • gab: B

    Execução (running). Pronto (ready). Espera (wait).


ID
885058
Banca
CESPE / CEBRASPE
Órgão
ANP
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de sistemas operacionais, julgue os itens a seguir.

Quando são utilizados multiprocessadores simétricos, há uma cópia do sistema operacional em memória, que qualquer CPU pode executar.

Alternativas
Comentários
  • No SMP (symmetric multiprocessor) ou multiprocessador simátrico existe uma cópia do sistema operacional na memória, mas qualquer CPU pode executá-la. Quando uma chamada ao sistema é feita, a CPU local chamada é desviada para o núcleo e a processa.
    Fonte: TANENBAUM, Andrew S.; Sistemas Operacionais Modernos, Prentice Hall Brasil, 2ª Edição, 2003.
  • Se nem o próprio Qconcurso entendeu, imagina eu

  • kkkkkkkkkkkkk

  • GABARITO CERTO

    Multiprocessadores Assimétricos (mestre-escravo): Uma cópia do sistema operacional e de suas tabelas está presente na CPU 1 e não em nenhuma das outras.

    Multiprocessadores simétricos: Cópia do SO na memória; (qualquer CPU pode executá-lo)


ID
893947
Banca
CESPE / CEBRASPE
Órgão
TRT - 10ª REGIÃO (DF e TO)
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de sistemas operacionais e redes de comunicação, julgue os
itens subsecutivos.

O MBR, um programa utilizado em HDs divididos em partições, bem como em máquinas com mais de um sistema operacional, permite que, durante sua inicialização, seja escolhido o sistema operacional a ser utilizado primeiramente, processo denominado dual boot.

Alternativas
Comentários
  • Para responder essa questão necessita de alguns conceitos
             
    BIOS é um programa usado para, entre outras coisas, iniciar o processo de inicialização do computador.
             
    MBR não é um programa
    ele é apenas um setor no disco rígido, onde ficam armazenados os dados iniciais do sistema operacional da máquina.

    Gerenciador de BOOT um programa que mostra um menu ao usuário onde ele poderá escolher qual sistema operacional quer utilizar entre os instalados na máquina.
         
    DUAL BOOT
         
    Ocorre quando em um computador há mais de um sistema operacional.
         
          Quando a BIOS apontar para o MBR ele este não irá iniciar o sistema operacional.Ele irá iniciar o gerenciador de BOOT, este por sua vez dará as opções para o usuário escolher qual sistema operacional usar.
     
  • Apenas para acrescentar...

    No Windows, o NTLDR permite a seleção do sistema operacional que será inicializado... este SO não convive com o Linux.
    O Linux possui gerenciadores de boot também, como o LILO e o Grub... este Kernel convive com o Windows.

    * GRU(Grand Unified Bootloader) e o Lilo (Linux Loader)

    O LILO já está em desuso.

    O Grub serve para inicializar tanto o Windows como o Linux.

  • Curiosidade para quem quer saber a estrutura do MBR

    .

    A famosa trilha MBR contém 512 bytes de informação da estrutura organizacional do disco (partições, código de arranque do sistema operativo, e assinatura desse código).

    .
    Destes, 446 bytes são reservados para o setor de boot, enquanto os outros 64 bytes guardam a tabela de partição e os dois últimos a assinatura.

    .

    Ou seja, 446 bytes reservados ao GRUB ou ao LILO ou ao NTLDR. Esses gerenciadores de boot me permitirão escolher qual SO desejo inicializar.
    + 64 bytes são reservados para as partições (4 x 16 bytes reservados para cada partição lógica).
    Ex.:
    16 bytes reservado para o Linux Ubuntu;
    16 bytes reservado para o Debian;
    16 bytes para o Windows XP;
    16 bytes para o Windows 7.

    .
    * As 4 partições primárias e as lógicas são as únicas que permitem o boot.
    .

    Somando tudo dá 510 bytes...
    Os dois bytes restantes delimitam o final do bloco.

  • MBR não é programa, é um setor do HD

  • entendo que não é um programa propriamente dito, mas no livro do Tanenbaum ele diz que "a primeira coisa que o programa MBR faz é localizar a participação ativa, e ler seu primeiro bloco." pode não ser um programa, mas um livro tão respeitado diz que é!

ID
917266
Banca
ESAF
Órgão
MF
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação a arquiteturas de sistemas operacionais, é correto afirmar que:

Alternativas
Comentários
  • Sistemas em camadas[editar]

    À medida que os sistemas operacionais tornaram-se mais complexos e maiores, projetos puramente monolíticos tornaram-se inviáveis e, então a arquitetura em camada, ou modular, tornou-se uma boa opção, agrupando "camadas" de componentes, ou seja, conjunto de procedimentos, que realizam tarefas similares.

    Cada camada comunica-se somente com as suas camadas imediatamente inferior e superior. Uma camada inferior sempre presta um serviço à sua camada superior, sendo que a camada superior não sabe como o serviço é feito, apenas o solicita. A implementação de uma camada pode ser modificada sem exigir modificação em outra camada, pois possuem componentes autocontidos.

    Em uma abordagem em camadas, a solicitação de um serviço pode precisar passar por muitas camadas antes de ser atendida, as sim o desempenho se degrada em comparação ao de núcleos monolíticos.

    A exemplo temos o Windows NT, o THE e o MULTICS.

    fonte: http://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_aos_Sistemas_Operacionais/Estruturas_dos_Sistemas_Operacionais

  • Sistemas monolíticos -> o sistema operacional inteiro é executado como um único programa no modo núcleo. O sistema operacional é escrito como uma coleção de rotinas, ligadas a um único grande programa binário executável. Cada rotina tem uma interface bem definida quanto à parâmetros e resultados e cada uma delas é livre para chamar qualquer outra.
    Sistemas em camadas -> é a organização do sistema operacional como uma hierarquia de camadas, cada uma delas construída sobre a camada imediatamente inferior.
    Sistema micronúcleo -> a ideia básica por trás deste projeto é atingir alta confiabilidade por meio da divisão do sistema operacional em módulos pequenos, bem definidos, e apenas um deles - o micronúcleo - é executado no modo núcleo e o restante é executado como processos de usuário comuns relativamente sem potência.
    Sistemas cliente-servidor -> uma ligeira variação da ideia do micronúcleo é distinguir entre duas classes de processos, os servidores, que prestam algum serviço, e os clientes, que usam esses serviços. Frequentemente a camada inferior é o micronúcleo, mas ele não é obrigatório.
    Fonte: Sistemas Operacionais Modernos - 3ª edição - Tanembaum.
  • Letra E

    Na arquitetura Multicamadas, uma camada inferior sempre presta um serviço à sua camada superior, sendo que a camada superior não sabe como o serviço é feito, apenas o solicita.

  • na arquitetura em camadas, cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores.

  • Finalidade do núcleo:

    O principal propósito do núcleo é gerenciar os recursos do computador e permitir que outros programas rodem e usem destes recursos.

    Arquitetura Monolítica-> Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande e único programa executável. Todos processos em um só núcleo.

    Arquitetura de Camadas-> Devido ao Aumento da complexidade e do tamanho do código dos sistemas foi necessário criar técnicas de modulação então o sistema passou a ser dividido em camadas sobrepostas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores(lembra um pouco REDES modelo OSI).

    Vantagem: Isolar as funções do sistema operacional, facilitando a manutenção e depuração, além de criar hierarquia de níveis

    Desvantagem: Queda no Desempenho.

    Arquitetura Máquina Virtual -> Serve para criar um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais possibilitando a criação de diversas máquinas virtuais independentes onde cada uma oferece cópia virtual do hardware.

    Vantagem: Portabilidade do código / consolidação de servidores/ aumento da disponibilidade / facilidade de escalabilidade e balanceamento de carga / facilidade no desenvolvimento de software.

    Arquitetura MicroKernel-> Tendência nos sistemas operacionais modernos visando tornar o núcleo do SO o menor e mais simples possível.

    Um dos benefícios da abordagem de microkernel é que ela facilita a extensão do sistema operacional. Todos os serviços novos são adicionados ao espaço do usuário e, consequentemente, não requerem a modificação do kernel.

    O microkernel também fornece mais segurança e confiabilidade, já que a maioria dos serviços é executada como processos de usuário — e não do kernel. Se um serviço falha, o resto do sistema operacional permanece intocado.

    Sistemas Híbridos -> Na prática, muito poucos sistemas operacionais adotam uma estrutura única rigidamente definida. Em vez disso, eles combinam diferentes estruturas, resultando em sistemas híbridos que resolvem problemas de

    desempenho, segurança e usabilidade.

    Por exemplo, tanto o Linux quanto o Solaris são monolíticos porque o desempenho é muito mais eficiente quando o sistema operacional ocupa um único espaço de endereçamento. No entanto, eles também são modulares para que novas funcionalidades possam ser adicionadas ao kernel dinamicamente.

    Exonúcleos -> Um exonúcleo é um tipo de núcleo que não abstrai hardware in modelos teóricos. Ao invés disso ele aloca recursos físicos de hardware, como o tempo de um processador, páginas de memória, e blocos de disco, para diferentes programas.

    Fonte:

    Arquitetura de SO - Machado 5 ed /Fundamentos de SO - Silberschatz 9ed


ID
920113
Banca
FCC
Órgão
DPE-SP
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em sistemas com multiprogramação, inicialmente um novo processo é inserido na fila de prontos. Este processo aguarda até ser selecionado para execução ou ser despachado. Uma vez que o processo seja alocado à CPU, eventos podem ocorrer. Analise as afirmativas sobre o processo.

I. pode emitir uma solicitação de I/O e então ser inserido em uma fila de I/O.

II. pode criar um novo subprocesso e esperá-lo terminar.

III. pode ser removido forçosamente da CPU, como resultado de uma interrupção, e ser devolvido à fila de prontos.

Está correto o que se afirma em

Alternativas
Comentários
  • O item III está errado. O correto seria:
    III. pode ser removido forçosamente da CPU, como resultado de uma interrupção, e ser devolvido à fila de BLOQUEADOS
  • Entendo que houve uma pequena confusão no comentário do colega que afirma estar o item III incorreto. A alternativa está correta sim.
    Percebam que são duas situações diferentes. No caso de um processo estar em execução e ser interrompido pelo Sistema Operacional tendo em vista unicamente o fato de que o tempo (quantum) destinado a esse processo terminou, é caso de o processo ser colocado na fila de prontos. Vejam que o processo continua pronto pra executar. Ele não o faz unicamente porque seu pedaço de tempo acabou. O SO dá chance para outro processo, também pronto, utilizar o processador.
    Um processo é colocado na fila de bloqueados quando, ao executar no processador, o processo solicita uma operação de entrada e saída e precisa do retorno dessa operação para poder continuar sua execução. Esse processo não está pronto. Ele está bloqueado, aguardando o resultado da operação E/S.
  • Então o SO programa uma interrupção para realizar a troca de processos??? O que eu aprendi é que quando há uma interrupção, o contexto do processo em execução é salvo, o tratador da interrupção é chamado, e após atentida a interrupção, o processo em execução é retomado. Assim, a proposição III estaria errada...
  • O Guilherme acertou em partes, mas não necessariamente o processo ao ser retirado da execução irá para o estado de bloqueado. Pode ir sim para o estado de pronto.

    Estados e transições possíveis:
    Pronto: Execução Execução: Bloqueado e Pronto Bloqueado: Pronto 
  • Prezados, vamos aos comentários das proposições
    I. pode emitir uma solicitação de I/O e então ser inserido em uma fila de I/O. 
    Proposição correta, um processo em execução pode solicitar algo dos dispositivos de entrada e saída, um HD por exemplo, e ao solicitar ele entrará para uma fila de I/O aguardando sua requisição

    II. pode criar um novo subprocesso e esperá-lo terminar. 

    Proposição correta, segundo Tanenbaum em seu livro, página 52, há quatro eventos principais que fazem com que processos sejam criados :
    1 – Inicio do sistema
    2 – Execução de uma chamada de sistema de criação de processo por um processo em execução
    3 – Uma requisição de usuário para criação de processo
    4 – Inicio de uma tarefa em lote ( batch job )

    III. pode ser removido forçosamente da CPU, como resultado de uma interrupção, e ser devolvido à fila de prontos. 

    Proposição correta, segundo Tanenbaum em seu livro, página 54, é possível sim  um processo em execução voltar para o estado de pronto, essa transição é causada pelo escalonador de processos sem que o processo saiba disso. Essa transição ocorre quando o escalonador decide que o processo em execução já teve tempo suficiente de CPU e é o momento de deixar outro processo ocupar o tempo da CPU.
     
    Portanto, alternativa correta letra E
    Fonte :Tanenbaum, sistemas operacionais modernos, 3º edição
  • Letra E.

    I. pode emitir uma solicitação de I/O e então ser inserido em uma fila de I/O. Certo. Ele sai da execução e  entra para "Em espera" onde será inserido em uma fila de IO. Tbém chamado de "Modo Bloqueado".

    .

    II. pode criar um novo subprocesso e esperá-lo terminar. Certo. Aqui pode ter ocorrido uma questão de prioridade.
    .

    III. pode ser removido forçosamente da CPU, como resultado de uma interrupção, e ser devolvido à fila de prontos. Certo. Aqui acontece a Preempção.

    .

    No "Modo em Execução" o processo pode perder a sua vez com a CPU de duas formas indo para o "Modo Pronto":
    1.  Qdo a sua fatia de tempo de execução atinge seu limite e outro entra no lugar tbém;
    2. Qdo o processo é preemptado e outro entra no lugar dele, ou seja, por questões de prioridade um processo entra na frente do outro.