SóProvas



Questões de Processos


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

Nos sistemas operacionais, um processo é a forma de representar um programa em execução. É o processo que utiliza os recursos do computador para a realização das tarefas para as quais a máquina é destinada. Com relação aos processos do Linux, o comando

Alternativas
Comentários
  • a) kill -%CPU 15 4155 faz com que o Linux utilize até 15% da CPU para o processo 4155. ERRADOb) kill -SEGV 4155 faz com que o Linux informe a faixa de endereço que o processo 4155 está ocupando.ERRADO. Este comando termina o processo cujo PID é 4155c) kill -CONT 4155 faz com que o processo 4155 volte a ser executado.CORERTOd) kill -ILL 4155 faz com que o Linux elimine o processo 4155.ERRADO. O sinal ILL informa execução ilegal do processo, como uma divisão por 0.e) kill -TERM 4155 faz com que o Linux informe o tempo que o processo 4155 está parado.ERRADO. O sinal TERM é usado para terminar um programa.
  • I-m-p-o-s-s-í-v-e-l !!!
  • Segue uma listinha apenas para nos familiarizamos...

    Signal Value Action Comment
    SIGINT 2 Term Interrupt from keyboard
    SIGQUIT 3 Core Quit from keyboard
    SIGILL 4 Core Illegal Instruction
    SIGABRT 6 Core Abort signal from abort(3)
    SIGFPE 8 Core Floating point exception
    SIGKILL 9 Term Kill signal
    SIGSEGV 11 Core Invalid memory reference
    SIGPIPE 13 Term Broken pipe: write to pipe with no readers
    SIGALRM 14 Term Timer signal from alarm(2)
    SIGTERM 15 Term Termination signal
    SIGUSR1 30,10,16 Term User-defined signal 1
    SIGUSR2 31,12,17 Term User-defined signal 2
    SIGCHLD 20,17,18 Ign Child stopped or terminated
    SIGCONT 19,18,25   Continue if stopped
    SIGSTOP 17,19,23 Stop Stop process
    SIGTSTP 18,20,24 Stop Stop typed at tty
    SIGTTIN 21,21,26 Stop tty input for background process
    SIGTTOU 22,22,27 Stop tty output for background process

    fonte: http://linux.about.com/od/commands/l/blcmdl7_signal.htm

ID
17881
Banca
CESGRANRIO
Órgão
BNDES
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um servidor Linux de produção apresenta, esporadicamente, um erro conhecido, no qual um determinado processo (cgi.rb) ocupa 99% de CPU indeterminadamente. Você, como operador, é instruído a matar esse processo para que o desempenho do servidor volte à situação normal. Que seqüência de operações deve ser feita?

Alternativas
Comentários
  • "Essa é uma questão que exige alguns conhecimentos básicos em sistemas
    Linux como comandos e finalidades dos diretórios. Vamos aos conceitos.
    Diretorios:
    /proc : Diretório criado pelo sistema que tem como finalidade armazenar informações a respeito de dispositivos conectados à máquina, interrupções realizadas, condições de uso do processador, condições de uso da memória, endereços e dispositivos de entrada e saida, dispositivos de rede, etc…
    /var/log: Diretório para onde comunmente dão direcionados os logs dos programas que estão sendo executados. Dependendo da configuração do sistema, os PIDs dos processos que estejam sendo executados podem ser adicionados aos logs dos mesmos, incluindo os respectivos logs de erros.
    /var/run: arquivos úteis até o próximo boot (atualizações de softwares e kernel).
    Comandos:
    halt: Tem como finalidade desligar a máquina. Suas características muitas vezes se confundem com os comandos reboot e poweroff.
    kill: Envia um sinal a um processo. Não necessariamente significa matar o processo. Sinais são recursos que alteram os estados dos processos. o Comando Kill pode enviar diversos sinais indicando ao processo o que ele deve fazer: STOP(processo entra em estado de espera), Cont(processo sai do estado de espera), ILL(processo executou alguma operacao ilegal), TERM(pára um processo e faz o mesmo deixar de existir).
    ps: Lista os processos que estão sendo executados no momento. Pode apresentar diversas diversas informações a respeito de cada processo como o PID(Process IDentifier), o UID(User IDentifier), tempo de execução do processo, memória alocada, entre outras.
    Observando as questões agora podemos notar, inicialmente que as alternativas que falam em apagar o diretório /proc ou dados nele (alternativas C e D) estão erradas pois não é ali que reside nosso processo." Junho 3, 2008 - Escrito por computacaoeconcursos | Arquitetura de Sistemas de Computação, Questões de Provas, Sistemas Operacionais
  • A alternativa A está errada pois o comando halt não tem como finalidade terminar um processo, e sim desligar a máquina. Finalmente, para apenas finalizar um processo não seria necessário reiniciar o servidor ou um serviço de rede eliminando assim as alternativas D(novamente) e E. Alternativa correta: B.

    Links Interessantes:

    1) http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4152&pagina=1
    2) http://focalinux.cipsga.org.br/
    3) http://br.monografias.com/trabalhos/comando-linux/comando-linux2.shtml

    Bons Estudos!

    Junho 3, 2008 - Escrito por computacaoeconcursos | Arquitetura de Sistemas de Computação, Questões de Provas, Sistemas Operacionais

ID
27238
Banca
FCC
Órgão
TRE-SE
Ano
2007
Provas
Disciplina
Sistemas Operacionais
Assuntos

No modelo de processos dos sistemas operacionais, o fato de múltiplas execuções poderem ocorrer no mesmo ambiente com alto grau de independência entre elas, é uma das características acrescidas a esse modelo

Alternativas
Comentários
  • O que é um thread?

    * Para programas "normais" (single thread), tem um único ponto de execução dentro do programa num momento particular
    * Um thread é semelhante: tem um início, uma sequência e um fim, como um programa "normal"
    o Tem um único ponto de execução no certo momento dentro de um thread
    * Um thread não é um programa, mas executa dentro de um programa

    * Definição: um thread é um fluxo único de controle sequencial dentro de um programa
    * A coisa fica mais interessante quando temos mais de um thread no mesmo program

    * Um browser é um exemplo de uma aplicação multithreaded
    o Várias coisas podem ocorrer ao mesmo tempo:
    + scroll
    + download de um applet
    + download de uma imagem
    + tocar uma animação
    + tocar um som
    + imprimir uma página em background
    + download de uma nova página
    + olhar 3 applets de ordenação trabalhando
    * Um thread parece ser um processo mas
    o Compartilha o mesmo "espaço de endereçamento"
    o É muito rápido chavear a execução entre threads mas não entre processos
    * Um thread recebe alguns recursos próprios durante a execução
    o Uma pilha de execução para poder chamar métodos, passar parâmetros, alocar variáveis locais
    o Um "Program Counter"
    * Chamamos isso o "contexto de execução do thread"
    o Alguns autores chamam thread de "contexto de execução"

ID
56689
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.

Um processo é a unidade de trabalho na maioria dos sistemas. Embora, tradicionalmente, um processo tenha apenas uma thread de controle enquanto é executado, a maioria dos sistemas operacionais modernos admite processos com múltiplas threads. Nesse último caso, as threads compartilham o mesmo espaço de endereçamento do processo, mas cada thread tem o seu próprio conjunto de registradores.

Alternativas
Comentários
  • A thread pode compartilhar também os dados acessados.Cada thread precisa ter seu próprio conjunto de registradores. Se não for assim como faríamos para saber em que ponto a thread T1 está e em que ponto a thread T2 está? Cada thread precisa guardar seu estado para que ele seja recuperado assim que ela voltar para o processador (running).
  • Gabarito: Correto

    Ítens compartilhados por todas as threads em um processo: Espaço de endereçamento; variáveis globais; arquivos abertos; processos filhos; alarmes pendentes; sinais; tratador de sinais; informação de contabilidade.

    Ítens privativos pelas Threads: Contador de Programa; Pilha de execução; Registradores; Estado

    Fonte: Sistemas Operacionais Modernos – 2ª Edição

  • Consegui acertar a questão, mas confesso aos colegas que fiquei em dúvida com a afirmação de que "tradicionalmente, um processo tenha apenas uma thread de controle..."

    Não sabia se estava certo.

  • Gabarito Correto.

     

    Segundo Tanenbaum (com adaptações):

     

    "A primeira coluna relaciona alguns itens compartilhados por todos os threads em um processo. A segunda mostra alguns itens privativos de cada thread.

     

    Coluna 1:

    Itens por Processo: Espaço de Endereçamento, Variáveis Globais, Arquivos Abertos, Processos Filhos, Alarmes Pendentes, Sinais e Tratadores de Sinais, Informção de Contabilidade.

     

    Coluna 2:

    Itens po Thead: Contador de Programa, Registradores, Pilha, Estado."

     

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

     

     

     


ID
56698
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.

Durante a execução dos processos P1 e P2, se eles não concluírem suas execuções porque o processo P1 depende do término do processo P2 que, por sua vez, depende da conclusão do processo P1, tem-se uma situação denominada starvation.

Alternativas
Comentários
  • starvation é quando um processo é impedido de entrar no estado de running (rodando) por outro processo de prioridade maior. Que "monopoliza" o uso da cpu. Existem vário algoritmos pra impedir isso.
  • O caso mencionado na questão é Dead Lock
  • Deadlock - Condições necessárias:Uma situação de deadlock pode ocorrer se as quatro condições seguintes ocorrerem ao mesmo tempo em um sistema: 1. Exclusão mútua2. Posse e espera3. Não-preempção4. Espera circularfonte: Silberschatz.
  • Essa questão, inicialmente, foi considerada CORRETA, mas teve o gabarito alterado corretamente para ERRADO. Vale a pena, para motivos educacionais, colocar a justificativa.


     Justificativa:
     
     O item descreve a situação de deadlock (bloqueio) e não a situação de
     starvation (inanição).
     
     Segundo Tanenbaum, "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" [1].
     
     Além disso, "deadlocks também podem ocorrer em outras situações, inclusive
     sem qualquer recurso envolvido. Por exemplo, pode acontecer de dois
     processos ficarem em situação de deadlock devido ao fato de cada um precisar
     esperar que o outro faça algo." [2]
     
     Sobre o conceito de starvation (inanição), Tanenbaum diz ser "um problema
     intimamente relacionado à questão dos deadlocks" em que "[um processo] é
     preterido indefinidamente, ainda que não esteja bloqueado [...]" [3]
     
     Outras referências também dão suporte a essas definições do conceito de
     deadlock e starvation:
     
     Segundo Stallings, deadlock "é uma situação em que dois ou mais processos
     não conseguem prosseguir porque cada um deles está esperando por um dos
     outros fazer algo" e starvation "é uma situação em que um processo pronto
     para execução é ignorando indefinidamente pelo escalonador; apesar de poder
     prosseguir, ele nunca é escolhido".
     
     Portanto, tendo em vista a precisa conformidade do texto do item 55 com a
     definição de deadlock, e não starvation, sugere-se que se altere o gabarito
     de certo para errado.
     
     
     Referencias:
     
     [1] Andrew S. Tanenbaum, Sistemas Operacionais Modernos 2a edição, Prentice
     Hall, 2005, pág 120
     [2] e [3] idem, pág 135
     
     [4] William Stallings, Operating Systems Internals and Design Principles
     5th ed, Prentice Hall, 2004, pág 207
     
     Na tabela 5.1:
     
     "Deadlock - A situation in which two or more processes are unable to
     proceed because each is waiting for one of the others to do something."
     
     "Starvation - A situation in which a runnable process is overlooked
     indefinitely by the scheduler; although it is able to proceed, it is never
     chosen."
  • Caras, esse conceito da questão não seria livelock?

  • Concordo contigo Marlo! Realmente pra mim esse conceito seria de livelock, mas pra responder essa questão bastava saber o conceito de  starvation como o diogo soares explicou logo a baixo.

  • Questão errada. Conceito apresentado é de Deadlock!


ID
81568
Banca
FCC
Órgão
TRE-AM
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

O processo é um conceito chave em todos os sistemas operacionais. Nesse contexto, considere:

I. O espaço de endereçamento é associado ao processo e contém o programa executável, os dados do programa e sua pilha e um conjunto de registradores, incluindo o contador de programa e o ponteiro da pilha.

II. Tanto as hierarquias de processos quanto as de arquivos são organizadas como árvores, inclusive nos seus níveis de profundidade que podem ser acessados indistintamente pelo processo pai e seus processos filhos.

III. Em relação aos sistemas de arquivos, uma função importante do sistema operacional é esconder as peculiaridades dos discos e outros dispositivos de entrada e saída e apresentar ao programador um modelo abstrato de arquivos.

IV. Um processo suspenso consiste na imagem de núcleo e sua entrada na tabela de processos, que contém seus registradores, entre outros elementos.

É correto o que se afirma em

Alternativas
Comentários
  • Item II - É verdade que tanto as hierarquias de processos quanto as de arquivos são organizadas em árvores, entretanto, nos níveis de profundidade, somente um processo pai pode acessar ou controlar um processo filho.
  • "I. O espaço de endereçamento é associado ao processo e contém o programa executável, os dados do programa e sua pilha e um conjunto de registradores, incluindo o contador de programa e o ponteiro da pilha."

    Um processo é formado por três partes, conhecidas por contexto de SW, contexto de HW e espaço de endereçamento.

    Posso dizer que o espaço de endereçamento contém os registradores Contador de Programa e Ponteiro da Pilha? Essses não fazem parte do contexto de HW?
  • Luciano, creio que ele se referiu quando há uma troca de contexto (troca de processos no processador) onde este deve ser todo salvo na memória para futuramente voltar ao estado de execução. (salvar o BCP - Bloco de Controle de Processo que contém informação de Pid, Registrador PC,SP e etc) .


    Acho que seja isso.


    abs! 
  •  Um processo é formado por três partes, conhecidas como contexto de hardware, contexto de software e espaço de endereçamento que, juntas, mantêm todas as informações necessárias à execução de um programa.
     
    CONTEXTO DE HARDWARE
    Quando um processo está em execução, o seu contexto de hardware está armazenado nos registradores do processador e que no momento em que o processo perde a utilização da CPU, o sistema salva as informações do processo no contexto de hardware desse processo. 
     
    CONTEXTO DE SOFTWARE
    A maior parte de suas informações é proveniente de um arquivo do sistema operacional, conhecido como arquivo de contas. Nesse arquivo, gerenciado pelo administrador de sistema, são especificados os limites dos recursos que cada processo pode alocar. O contexto de software é composto por três grupos de informações sobre o processo: identificação, quotas e privilégios.


    Fonte: http://moduloalunointegrado.blogspot.com.br/2010_10_01_archive.html
  • Sugiro não tentar entender esse tipo de questão, tão mal escrita que é mais fácil desaprender do que aprender algo.
    Ela serve apenas para testar como você deve agir quando encontrar uma coisa dessas na prova.
    E olha que eu acertei, nem é piti de quem errou a questão hehehe


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

No contexto de sistemas operacionais, sobre processos é correto afirmar:

Alternativas
Comentários
  • A) CORRETA

    B) INCORRETA - Sucintamente, processo é um programa em execução e programa é um conjunto de linhas de cógido inerte, inativo até ser executado.

    C) INCORRETA - Para diferentes processos, diferentes áreas de memória, por via de regra.

    D) INCORRETA - Em computadores multiprocessados podem ser executados mais de um processo por quantum de tempo.

    E) INCORRETA - Mesmo sendo uma alternativa confusa, visto que Tanenbaum expõe que cada processo tem um pai, mas zero, um, dois ou mais de processos filhos, um processo-filho é um clone do processo-pai, uma duplicata, que executará, se não as mesmas funções do pai, as funções determinadas por ele. Dentro da ampla variedade de processos dentro de um SO (processos de usuário e de sistema), muitos processos podem vir a execução através de chamadas de sistema específicas e não sejam tão facilmente associadas com um processo-pai exclusivo. Assim, a alternativa "mais" correta é a A.
  • Errei esta questão porque pensei da forma tradicional, ou seja, todo novo processo tem um processo pai, e isto é certo. No entanto, em certas ocasiões, um processo pai pode morrer e deixar seu "filhos" orfãos. Quando um filho enviar o sinal para o pai indicando que finalizou sua tarefa ele não receberá uma resposta do pai morto e então ficará aguardando no estado conhecido como zumbi. Este é um processo em pai.
  • O problema da letra E é que ela afirmou que todo processo é filho. Se um processo não pode ter zero processos pai, quer dizer que todo processo um processo pai. Assim, sendo, ele é filho. Mentira a afirmativa! O processo não tem que ser sempre filho. Alguém tem que ser pai, ou único, sem criação de filhos.
  • Pode estar Pronto, EXECUTANDO ou bloqueado. Logo só pode haver tando processos EXECUTANDO quanto são os processadores.
  • O processo inicial do sistema não tem pai. Todos os demais processos são criados a partir desse processo inicial. Esse processo inicial não foi criado por chamada de sistema, mas sim durante a inicialização do sistema operacional. Logo, um processo pode não ter pai.  Pg - 41

    Fonte: Sistemas Operacionais
               Oliveira, Romulo Silva De, et al.

    Bons estudos a todos!
  • O Windows não apresenta nenhum conceito de hierarquia de processos;

    Portanto não há em que se falar em processos pai .

  • O Windows não apresenta nenhum conceito de hierarquia de processos;

    Amigo, essa passagem está totalmente equívocada. Para tanto, só basta abrir o Process Explorer do Sys Internals.

    Abraços.


ID
122617
Banca
ESAF
Órgão
SUSEP
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

São critérios de escalonamento de processos em sistemas operacionais:

Alternativas
Comentários
  • O escalonamento de processos ou agendador de tarefas (em inglês scheduling) é uma atividade organizacional feita pelo escalonador (scheduler) da CPU ou de um sistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os computacionalmente intensivos.

    O escalonador de processos de 2 níveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa execução o processador evita ficar ocioso.

    O escalonador do SO utiliza alguns critérios de escalonamento, como: a taxa de utilização de CPU, que é a fração de tempo durante a qual ela está sendo ocupada; throughput que são números de processos terminados por unidade de tempo; turnaround que é o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execução; tempo de resposta: intervalo entre a chegada ao sistema e inicio de sua execução; tempo de espera: soma dos períodos em que o programa estava no seu estado pronto.

    Responsáveis por essa tarefa são algoritmos que são entendidos mais facilmente, estudados separadamente, mas na pratica os sistemas operacionais utilizam combinações deles para melhor escalonar os processos.

  • O escalonador do SO utiliza alguns critérios de escalonamento, como: a taxa de utilização de CPU, que é a fração de tempo durante a qual ela está sendo ocupada; throughput que são números de processos terminados por unidade de tempo; turnaround que é o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execução; tempo de resposta: intervalo entre a chegada ao sistema e inicio de sua execução; tempo de espera: soma dos períodos em que o programa estava no seu estado pronto.

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

  • Segundo o livro de Silberchatz Fundamentos de sistema Operacionais - Princípios básicos

    Critérios de Scheduling

    ·  Utilização CPU
    ·  Throuphput
    ·  Tempo de Turnaround
    ·  Tempo de Espera
    ·  Tempo de resposta

  • b-

    Criterios do escalonamento - fatores q influenciam qual processo ira ganhar a CPU:

     

    1- uso do processador - maior uso - maior aproveitamento. desejado q sistema fique ocupado maior parte do tempo. 1 sistema 30% é menos eficaz do que 1 que use 90%.

     

    2- throughput - n° processos executados. + processos, + throughput

     

    3- CPU time (tempo de processador) - quanto tempo o processo fica executando

     

    4- turnaround - tempo do inicio ao fim, incluindo alocação, espera e I/O. O mecanismo de alocação doprocesso visa diminuir turnaround. Logo, bom escalomento implica mais throughput e menos turnaround

     

    5- tempo de resposta - tempo de atendimento à requisicao.


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

Os processos no sistema operacional que possuem um timer, chamado de quantum, onde todos os processos ganham o mesmo valor de quantum para rodarem na CPU, caracterizam o escalonamento de processos do tipo

Alternativas
Comentários
  • RR (Round-Robin): Nesse escalonamento o sistema operacional possui um timer, chamado de quantum, onde todos os processos ganham o mesmo valor de quantum para rodarem na CPU. Com exceção do algoritmo RR e escalonamento garantido, todos os outros sofrem do problema de Inanição (starvation).

    FIFO (First in, first out) ou FCFS (First come, first served): Onde como seu próprio nome já diz, o primeiro que chega será o primeiro a ser executado;

  • SJF (Shortest Job First): Onde o menor processo ganhará a CPU e atrás do mesmo formar uma fila de processos por ordem crescente de tempo de execução;
  • SRT (Shortest Remaining Time): Neste algoritmo é escolhido o processo que possua o menor tempo restante, mesmo que esse processo chegue à metade de uma operação, se o processo novo for menor ele será executado primeiro.




     

  • Só esqueceram de adicionar que FCFS é para disco.
  • o SJF tbm pode ser preemptivo. Questão deveria ser anulada.
  • FIFO também é conhecido como FCFS, então o último não é exclusivo para discos.

    o SJF preemptivo falado acima, ou seja, o SRT,  não usa fatias de tempo (quantum / time-slice), logo não se aplicaria a questão.
  • a-

    Round robin reveza todos processos, atribuindo tempo de CPU igual a todos. SJF (shortest job first) é sempre o menor, o que o caracteriza como método preemptivo


ID
147463
Banca
FCC
Órgão
SEFAZ-SP
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

Os mecanismos IPC disponíveis, tais como Sinais, Pipes, Soquetes, Mensagens, Memória compartilhada e Semáforos de System V, são implementados no núcleo do Linux pelo subsistema primário

Alternativas
Comentários
  • Mesmo que você não saiba do que essa questão está falando, você pode respondê-la apenas pela leitura do enunciado. Vejamos:

    "Os mecanismos IPC disponíveis, tais como Sinais, Pipes, Soquetes, Mensagens, Memória compartilhada e Semáforos de System V, são implementados no núcleo do Linux pelo subsistema primário"

    Um  "mecanismo IPC" nada mais é do que um mecanismo de "Inter Process Communication", ou seja, Comunicação Entre Processos. Assim, o enunciado lido de outra forma:

    "Os mecanismos de comunicação entre processos, tais como Sinais, Pipes, Soquetes, Mensagens, Memória compartilhada e Semáforos de System V, são implementados no núcleo do Linux pelo subsistema primário"

    Agora ficou fácil :-).
  • https://en.wikipedia.org/wiki/Inter-process_communication



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

O sistema operacional GNU/Linux trabalha com compartilhamento de tempo, dando a impressão de estar executando simultaneamente mais de uma tarefa, porém, o processo a ser executado pela CPU em um determinado instante é decidido especificamente pelo

Alternativas
Comentários
  • http://en.wikipedia.org/wiki/Scheduling_%28computing%29
  • http://pt.wikipedia.org/wiki/Escalonamento_de_processos

    o nome real 'e process scheduller, mas se abrasileirou para escalonador, eu teria traduzido como agendador.

  • É o escalonador de processos que controla a execução dos processos.


    três tipos de escalonadores de processos:


    - long-term scheduler (job scheduler / escalonador de longo prazo): seleciona um processo (do pool de processos) para ser carregado na memória; controla o número de processos carregados em memória (grau de multiprogramação).


    - short-term scheduler (escalonador de curto prazo / CPU scheduler / escalonador de CPU): responsável pela escolha do próximo processo pronto para executar (já carregado na memória).


    - medium-term scheduler (escalonador de médio prazo): quando houver a necessidade da retirada de um processo da memória, através de swapping (retirada do processo da memória e seu respectivo armazenamento em disco, para futura recuperação).


    Fonte: Operating System Concepts, Silberschatz, Galvin,Gagne, 9ª edição, capítulos 3 e 6.


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

Um processo em um sistema operacional pode mudar para o estado de pronto a partir do estado de

Alternativas
Comentários
  • Três estados de um processo:

    a)     Em execução (realmente usando a CPU naquele instante).

    b)    Pronto (executável; temporariamente parado para dar lugar a outro processo).

    c)     Bloqueado (incapaz de executar enquanto não ocorrer um evento externo).

    Fonte: Tanenbaum 3a edição

  • Transições entre os estados:

    criação -> pronto
    pronto <-> execução
    execução -> término
    execução -> espera/bloqueado
    espera/bloqueado -> pronto
  • Mudanças de estado do processo:

    Pronto – Execução;

    Execução – Espera;

    Espera – Pronto (Não existe a mudança do estado de espera para o estado de execução diretamente)

    - Execução – Pronto

    Alternativa: E


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
153058
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.

Uma condição de disputa consiste em um grupo de recursos que deverá ser compartilhado entre processos e no intervalo de tempo previsto para que tais processos concorram pela utilização de tais recursos.

Alternativas
Comentários
  • Se um lock está em uso e outra Thread está tentando adquirir o lock -> Temos uma condição de Disputa

  • O erro está em "intervalo de tempo previsto". No caso de um spooler de impressora, por exemplo, isso não é viável.

  • Um condição de disputa acontece em um MESMO intervalo de tempo. Não existe essa história de previsão de concorrência.
  • Concordo plenamento com Romulo. Se houver previsão de tempo para a execução de cada processo, não estará caracterizado a condição de corrida.
  • LEI Nº 14.133, DE 1º DE ABRIL DE 2021

    Art. 46. Na execução indireta de obras e serviços de engenharia, são admitidos os seguintes regimes:

    II - empreitada por preço global;


ID
153061
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.

A exclusão mútua é um modo de assegurar que outros processos sejam impedidos de usar uma variável ou um arquivo compartilhado que já estiver em uso por um processo.

Alternativas
Comentários
  • Exclusão mútua - é uma técnica utilizada em programação paralela para evitar que dois processos ou threads tenham acesso simultaneamente a recurso compartilhados (região crítica).
  • Para solucionar o problema das regiões críticas, entre processos, alguns requisitos precisam ser satisfeitos:

    Exclusão Mútua: Se um processo Pi está executando sua região crítica nenhum outro poderá executar a sua região crítica.

  • Gabarito Certo

    Exclusão mútua (também conhecida pelo acrônimo mutex para mutual exclusion, o termo em inglês) é uma técnica usada em programação concorrente para evitar que dois processos ou threads tenham acesso simultaneamente a um recurso compartilhado, acesso esse denominado por seção crítica.

     

     

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

  • CORRETO

    Exclusão mútua: Cada recurso está atualmente associado a exatamente um processo ou está disponível.

    Fonte: Tanenbaum


ID
153064
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.

Uma região ou seção crítica é uma área de memória gerenciada pelo sistema operacional, mas que pode ser acessada por processos dos usuários, o que coloca em perigo a proteção do próprio espaço do sistema operacional.

Alternativas
Comentários
  • ERRADA!

    Região Crítica ou Seção Crítica é a parte do programa em que há acesso à memória compartilhada, e não a própria área de memória.

    Sistemas Operacionais Modernos, Tanenbaum, 3a. Ed. Pág. 71.

  • Errado

    Região crítica: Parte do programa onde a memória compartilhada é acessada.

    FONTE: Tanenbaum 4ª ed.


ID
153067
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.

Um mutex é um tipo de semáforo simplificado, mas útil para a exclusão mútua entre processos leves.

Alternativas
Comentários
  • Um mutex é um sincronizador do tipo exclusão mútua e é util para proteger dados compartilhados de modificações concorrentes. Serve também para implementar seções críticas e monitores.

    Um mutex tem dois possíveis estados: livre (não possuido por uma linha de execução) e fechado (possuido por uma linha de execução). Um mutex não pode ser possuido por duas linhas de execução ao mesmo tempo. Uma linha de execução que tentar obter um mutex já possuido por outra linha de execução é suspença até o mutex ser liberado.

  • Exclusão mútua (também conhecida pelo acrônimo mutex para mutual exclusion, o termo em inglês) é uma técnica usada em programação concorrente para evitar que doisprocessos ou threads tenham acesso simultaneamente a um recurso compartilhado, acesso esse denominado por seção crítica.
    Um meio simples para exclusão mútua é a utilização de um semáforo binário, isto é, que só pode assumir dois valores distintos, 0 e 1. O travamento por semáforo deve ser feito antes de utilizar o recurso, e após o uso o recurso deve ser liberado. Enquanto o recurso estiver em uso, qualquer outro processo que o utilize deve esperar a liberação.
    Porém, essa técnica pode causar vários efeitos colaterais, como deadlocks, em que dois processos obtêm o mesmo semáforo e ficam esperando indefinidamente um outro processo liberar o semáforo; e inanição, que é quando o processo nunca dispõe de recursos suficientes para executar plenamente.

    http://pt.wikipedia.org/wiki/Exclus%C3%A3o_m%C3%BAtua
  • GABARITO CERTO

    Mutexes: É uma variável compartilhada que pode estar em um de dois estados: destravado ou travado.

    Um bit para representá-lo:

    • 0: destravado;
    • Demais inteiros: travado;

    Versão simplificada do semáforo utilizada quando a capacidade de contagem dele não é necessária. 

    ATENÇÃO!!

    Mutexes são bons somente para gerenciar a exclusão mútua de algum recurso ou trecho de código compartilhado. 


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

Ainda com relação a características, funções, algoritmos e
componentes de sistemas operacionais, julgue os itens a seguir.

Um dos riscos de uma política de alocação de recursos do tipo primeiro a chegar, primeiro a ser servido é a ocorrência de condição de inanição (starvation) para os processos.

Alternativas
Comentários
  • Neste escalonamento (FIFO) todos os processos tendem a serem atendidos (por isso evita o fenômeno do starvation) ao menos que um processo possua um erro ou loop infinito.
  • Errado. No algoritmo de escalonamento FCFS (First Come, First Serve) (leia-se Fila [FIFO]) não ocorre inanição (starvation), via de regra. Starvation ocorre quando um processo que está na fila de aptos nunca é executado.  

    Há 3 tipos principais de Algoritmos de Escalonamento do Processador:

    - FIFO (First In First Out) - Há uma fila de processos que são servidos na ordem que chegam (FCFS). Nesse modelo não há startation, pois todos processos da fila de aptos são executados em ordem. 
    - SJF (Shortest Job First) - Os processos são ordenados de acordo com seu tamanho. Assim que um processo "pequeno" chega à fila, ele é executado primeiro que um processo "grande" que já estava na fila a mais tempo. Logo o processo grande pode sempre sofrer de inanição (starvation), pois sempre haverá um processo menor que ele para ser executado. 
    - Round-Robin - A utilização do processador é dividida em fatias de tempo (quantum) iguais para cada proceso. Ou seja, cada processo terá um tempo fixo igual aos outros para ser executado. Acabou o tempo do processo em execução, ele irá para o fim da fila. Não há starvation nesse modelo.

    Fonte
    : Sistemas Operacionais, 2a Ed. Romulo Oliveira, Alexandre Carissimi, Simao Toscani. 
     
  • Por melhor que seja o processador de um PC, ele não consegue executar todos os processos das aplicações ao mesmo tempo. E para organizar qual processo deve ser executado primeiro, há vários algoritmos de escalonamento de processos utilizados pelos sistemas operacionais, como o FIFO (First In Firts Out = primeiro a chegar, primeiro a ser servido). Neste algoritmo, os processos são organizados em uma fila e o processo que chega primeiro será o primeiro a ser executado, não importando a prioridade, como uma FILA.

    Starvation significa condição de inação, para leigos, consiste na situação em que um determinado processo fica eternamente aguardando para ser executado, mas nunca é executado. Isso ocorre em algoritmos de escalonamento que utilizam prioridades, como o tamanho. Percebam: se há arquivos mais leves que são prioridade entrando nessa fila a todo momento, os mais pesados sempre vão estar no final da fila ad eternum.

  • Gabarito errado.

    Por melhor que seja o processador de um computador ele não consegue executar todos os processos das aplicações (programas) ao mesmo tempo. E para organizar qual processo deve ser executado primeiro há vários algoritmos de escalonamento de processos utilizados pelos sistemas operacionais, como, por exemplo, o algoritmo do tipo “primeiro a chegar, primeiro a ser servido”, também conhecido como FIFO (First In First Out).

    No algoritmo do tipo FIFO os processos são organizados em uma fila e aquele processo que chega primeiro será o primeiro a ser executado, pouco importando a prioridade de cada processo.

    Nesse contexto de escalonamento de processos, o termo condição de inanição (starvation) consiste na situação em que um determinado processo fica eternamente aguardando para ser executado, mas ele nunca é executado.

    Esse cenário de inanição (starvation) é muito comum em algoritmos de escalonamento que levam em consideração a prioridade de cada processo. Ou seja, quando o processador está livre ele verifica na lista de processos em espera, qual deles tem maior prioridade e escolhe este para ser executado. Por isso, os processos de baixa prioridade podem nunca serem executados, pois essa lista de espera recebe constantemente novos processos e eles podem ter maior prioridade em relação aos processos que já se encontravam na lista de espera.

    Percebam que a situação de inanição (starvation) não ocorre no FIFO, pois ele leva em consideração, exclusivamente, uma fila de ordem de chegada, no qual o primeiro a entrar na fila será o primeiro a sair, assim como ocorre em uma fila de um banco.

  • GABARITO: ERRADO

    A inanição pode ser evitada com uma política de alocação de recursos primeiro a chegar, primeiro a ser servido.

    FONTE: TANENBAUM


ID
159013
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.

No algoritmo de escalonamento shortest-job-first (SJF), a prioridade de cada processo é inversamente proporcional ao próximo tempo de processamento (CPU burst) necessário ao processo. Por sua vez, no algoritmo round-robin (RR), a lista de processos prontos é tratada como uma lista circular e o processador é alocado, a cada processo, em fatias de tempo. Quando comparados os tempos médios de espera em sistemas que empregam os algoritmos, o tempo médio de espera para execução é tipicamente mais longo no SJF que no RR.

Alternativas
Comentários
  •  O escalonamento do Shortest-job-first (SJF) quanto ao aspecto de tempo médio de espera é considerado ótimo.
    Com isso, o trecho final da questão está errado, pois afirma que o tempo médio de espera do SJF é maior que o do RR.

  • O SJF favorece os processos mais curtos e é o escalonamento com menor tempo médio de espera; já o RR é bastante efetivo com processos interativos, mas adiciona sobrecarga no chaveamento de contexto (pois é preemptivo em uma determinada fatia de tempo) .
  • É uma questão não proporcional ao cargo. É bastante difícil.

    Os conceitos estão corretíssimos, mas o final não. O SJF é considerado ótimo, com melhor tempo médio de espera.


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
178051
Banca
VUNESP
Órgão
CETESB
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

A operação signal ou V utilizada em um dado semáforo

Alternativas
Comentários
  • O valor de um semáforo indica quantos processos (ou threads) podem ter acesso a um recurso compartilhado. As principais operações sobre semáforos são:

    • Inicialização: Recebe um valor inteiro indicando a quantidade de processos que podem acessar um determinado recurso.
    • Operação wait ou P: Decrementa o valor do semáforo. Se o semáforo está com valor zero, o processo é posto para dormir.
    • Operação signal ou V: Se o semáforo estiver com o valor zero e existir algum processo adormecido, um processo será acordado. Caso contrário, o valor do semáforo é incrementado.

    As operações de incrementar e decrementar devem ser operações atômicas, ou indivisíveis, ou seja, enquanto um processo estiver executando uma dessas duas operações, nenhum outro processo pode executar outra operação sob o mesmo semáforo, devendo esperar que o primeiro processo encerre a sua operação sob o semáforo. Essa obrigação evita condições de disputa entre vários processos.

  • [v] faz com que um processo, que eventualmente esteja na fila de espera do recurso controlado por esse semáforo, possa novamente ter condições de ser executado.


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

Acerca de sistemas operacionais, julgue os itens subsequentes.

Um processo é a conclusão de um ciclo de entrada, processamento e saída de dados realizado pelo gerenciador de memória do sistema operacional.

Alternativas
Comentários
  • Afirmação incorreta, pois um processo não é a conclusão de um ciclo de entrada (...).  O conceito exposto pode ser atribuído a uma execução de um processo e não ao processo propriamente dito.

    Uma definição interessante para processo é a que segue abaixo:

    1. Defina o conceito de processo.

    Um processo pode ser definido como o ambiente onde um programa é executado. Este ambiente, além das informações
    sobre a execução, possui também o quanto de recursos do sistema cada programa pode utilizar, como o espaço de
    endereçamento, tempo de processador e área em disco.

    Fonte: Página 9 do documento: gquintao.com.br/Sistemas%20Operacionais%20I/Solucoes%20de%20Exercicios_Autores_V%203.2.pdf

  • Sabemos que uma aplicação é vista como um ou mais processos em um Sistema Operacional.
    Então, qual a diferença ? A aplicação é o código complidado que não está em execução, já um processo está em execução (entender execução como em um dos estágios no processador: execução, pronto e bloqueado) e possui uma serie de recursos que são alocados pelo SO, como: registradores, espaçamento na memória.

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

Estados de um processo incluem possibilidades como inicial, processando e finalizado.

Alternativas
Comentários
  • Errado. O erro da afirmativa foi ter citado o estado "Inicial". Também é questionável o estado processando. Geralmente na literatura se utiliza executando ou running. Os estados básicos de um processo são:

    Pronto (Ready),  Executando (Run), Bloqueado (Blocked)

    Fonte: www-asc.di.fct.unl.pt/~jcc/ASC2/Teoricas/a4/node9.html

     

  • Concordo que o termo "processando" esteja equivocado, porém alguns autores consideram ainda os estados de "criação" e "termino".

    []s
  • Ridículo basear certo ou errado numa palavra específica de um processo, e não no seu significado para os estados de processos. Discordo do colega acima que afirma que o processo tem três estados básicos. Para mim ele possui 5:
  • Deveria ser anulada,
    considerando inicial = new, processando = running, e finalizado  = terminated, a questão esta certa.
  • Data vênia, o CESPE não se equivocou para a questão e não é uma questão de "tradução". Caso se faça algumas poucas questões sobre o assunto, percebe-se que a banca adota o modelo do Tannenbaum. Segundo o Tannenbaum, os estados são: executando, pronto e bloqueado. Sob essa perspectiva, iniciando e finalizando não encontra nenhum estado correspondente. Nesse modelo, ou o processo já está na tabela, ou não está, não existe nenhum estado de transição, que é o que pressupõe o estado finalizando (em que seriam executadas tarefas para finalizar de fato o processo).
    Há diversos autores, um tem que se escolhido. O CESPE escolheu o Tannenbaum.

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

Na política de escalonamento preemptiva, o escalonamento ocorre no início do tratamento das interrupções, e dependentemente da voluntariedade do processo.

Alternativas
Comentários
  • Errada. O escalonamento preemptivo independe da voluntariedade do processo.

    Algoritmos de Escalonamento

    * Algoritmo de escalonamento não-preemptivo

    •  Não toma decisões quando ocorrem interrupções de relógio
    • Processos não são compulsoriamente suspensos
    • Exemplos: FIFO, Job Mais Curto Primeiro

    * Algoritmo de escalonamento preemptivo

    • Toma decisões quando ocorrem interrupções de relógio
    • Processos têm fatias de tempo (quantum) de uso da CPU
    • Quando esse tempo expira, escolhe um outro processo para executar
    • Proporciona melhores tempos de resposta em sistemas de tempo compartilhado
    • Exemplos:Alternância circular (Round-Robin), Prioridades, Filas Múltiplas

    Fonte: www.ucb.br/prg/professores/raissad/disciplinas/2006_2/SO/material/processos/escalonamento.html

     

  •  No caso do escalonamento preemptivo quer dizer que um processo que chegar na fila de prontos

    com um custo de CPU menor que o que esta executando esse vai ser escalonado e o que estava executando 

    retornara para a fila.

  • Na política de escalonamento preemptiva, o escalonamento ocorre no início do tratamento das interrupções, e dependentemente da voluntariedade do processo.

    Colocaria incorreto visto que a Preempção se dá devido a existência de Interrupcões por parte do Sistema Operacional, por exemplo tempo de quantum excedido. O tratamento de interrupções é um passo posterior a interrupção da execução propriamente dita. Ao meu ver esta questão está mal formulada.


  • Preempção envolve interromper a qualquer momento o processo, logo NÃO DEPENDE de sua "voluntariedade".
  • Não preemptivo
    –Processo executa até bloquear, até que voluntariamente libere a CPU
    –Estratégia de rodar o processo até o fim. (batch). (não são adequados aos sistemas propósito geral)
    –Nunca será compulsoriamente suspenso


    Preemptivo
    –Processo executa por um quantum de tempo
    –Estratégia de permitir a suspensão temporária dos processos que poderiam continuar rodando
    –SO interrompe um processo a qq instante
    –Chaveamento de contexto
    –Requer interrupção de relógio

     

    Fonte: Itnerante


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
236929
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

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

Quando um processo é enviado para a memória de um computador, o sistema operacional controla o tamanho de memória que é alocado ao processo. Esse tamanho é estático para processos que fazem uso de I/O no computador em questão.

Alternativas
Comentários
  • Esse tamanho é estático dinâmico para processos que fazem uso de I/O no computador em questão. Pois o tamanho da entrada e saída pode variar, é isso mesmo?
  • Estático = Não muda
    Dinámico = muda de acordo com o dispositivo de I/O
  • Prezados,

    O tamanho da memória alocada é dinâmico , ele pode aumentar se a aplicação demandar mais recursos , ou diminuir se o sistema operacional precisar distrubuir esses recursos a outro processo.

    Portanto a questão está errada.



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

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

Na comunicação de processos, é importante conhecer algumas características do processo, principalmente alguns de seus atributos, como o nome que o processo possui, que é traduzido para uma identificação equivalente pelo sistema operacional.

Alternativas
Comentários
  • Existem dois modelos de comunicação comumente usados. No modelo de troca de mensagens, as informações são trocadas por intermédio de mecanismos de comunicação possa ser realizada, é preciso que seja estabelecida uma conexão. O nome do processo com o qual será estabelecida a comunicação deve ser conhecido, quer ele esteja em execução na mesma CPU quer esteja em outro computador conectado através de uma rede de comunicações. Cada computador em uma rede possui um nome pelo qual é comumente conhecido. Da mesma forma, cada processo possui um nome, que é traduzido para uma identificação equivalente, pelo sistema operacional a ele se refere. Existem chamadas ao sistema para obter identificações de um computador e de um processo que fazem essa tradução.

    Fonte:
    http://cristianorosa.sites.uol.com.br/estruturaso.html
  • Prezados,

    O processo tem algumas características, uma delas é o nome pelo qual o usuário enxerga esse processo , outra é um ID atribuído pelo sistema operacional ( ele pode ser observado no gerenciador de tarefas do windows ou no top do linux ). Essas informações são necessárias para estabelecer a comunicação entre os processos.

    Portanto a questão está correta.



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

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

A maior parte dos processos que, em geral, recebem mensagens por meio de uma rede é desenvolvida com esse propósito específico. Esses processos são também conhecidos por daemons.

Alternativas
Comentários
  •  

    Em Unix e outros sistemas operacionais multitarefas um daemon, acrônimo de Disk And Execution MONitor (Monitor de Execução e de Disco), é um programa de computador que roda em background, ao invés de ser controlado diretamente por um usuário. Tipicamente, daemons têm nomes que terminam com a letra "d"; por exemplo, syslogd é o daemon que gerencia o log do sistema ("system log"). Muitas vezes, um programa se torna um daemon através de um processo de fork seguido de o processo pai matar a si mesmo, fazendo com que o init adote o processo criança. Essa prática é conhecida como "fork off and die". Muitos sistemas iniciam daemons durante a inicialização do sistema. Os daemons muitas vezes têm o propósito de responder a requisições de rede, atividades de hardware, ou outros programas. Daemons também podem executar muitas outras tarefas, como executar tarefas em horários pré-determinados (como o cron).
  • Discordo do gabarito.

    "A maior parte dos processos que, em geral, recebem mensagens por meio de uma rede é desenvolvida com esse propósito específico. Esses processos são também conhecidos por daemons."

    Há inúmeros processos que recebem mensagens por meio de uma rede que não são daemons. Exemplos:
    * Um processo de um web browser que recebe mensagens (HTTP request) de um servidor Web;
    * Um processo criado em java que manipula sockets;

    Um daemon é um processo que executa um serviço normalmente contínuo e de grande relevância para o funcionamento do sistema, mas que atua em segundo plano (background).
  • Apenas citando a fonte do Comentário do Augusto, a fonte principal da CESPE, WIKIPEDIA:

    http://pt.wikipedia.org/wiki/Daemon_(computa%C3%A7%C3%A3o)
  • Geraldo, o enunciado diz A MAIOR PARTE....

  • Gabarito Certo

    Em sistemas operacionais multitarefa, um daemon é um programa de computador que executa como um processo em plano de fundo, em vez de estar sob o controle direto de um usuário interativo. Tradicionalmente, o nome de processo de um daemon termina com a letra d, para deixar claro que o processo é, de fato, um daemon, e para diferenciação entre um daemon e um programa de computador normal. Por exemplo, syslogd é o daemon que implementa o recurso de logging do sistema e sshd é um daemon que serve conexões SSH de entrada.

    Em um ambiente Unix, o processo pai de um daemon normalmente é, mas nem sempre, o processo init. Um daemon normalmente é criado ou por um processo que bifurca um processo filho e então sai imediatamente ("fork off and die"), fazendo assim com que o init adote o processo filho, ou pelo processo init executando diretamente o daemon. Além disso, um daemon executado pela bifurcação e saída normalmente deve realizar outras operações, como a dissociação do processo de qualquer terminal (tty) de controle. Tais procedimentos normalmente são implementados em várias rotinas convenientes como daemon em Unix.

    Os sistemas geralmente inicializam daemons no momento do boot e servem a função de responder a requisições de rede, atividade de hardware ou outros programas por meio da realização de algumas tarefas. Daemons podem também configurar o hardware (como udev em alguns sistemas linux), executar tarefas agendadas (como cron) e realizar uma variedade de outras tarefas.

     

     

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

  • Prezados,

    Daemon é um programa de computador que executa como um processo em background, em vez de estar sob o controle direto de um usuário. Os sistemas geralmente inicializam deamons no momento do boot e servem a função de responder a requisições de rede, atividades de hardware ou outros programas por meio da realização de algumas tarefas. Daemons podem também configurar o hardware ( como uder em algumas distribuições linux ), executar tarefas agendadas ( cron ) , e realizar toda uma gama de outras tarefas.

    Portanto a questão está correta.



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

Em relação aos sistemas operacionais, julgue os itens subsequentes.

Os métodos de escalonamento de processos preemptivos e não preemptivos se diferenciam pelo componente que decide o momento em que o sistema operacional recupera o uso do processador. No primeiro caso, o sistema operacional decide parar de executar um processo após a passagem de um intervalo de tempo fixo; no segundo, é o próprio processo que, encerrando sua execução ou ficando bloqueado à espera de outro processo ou de um dispositivo de E/S, retorna o controle do processador ao sistema operacional.

Alternativas
Comentários
  • Em computação, preemptividade (algumas vezes preempção) é o ato de interromper temporariamente uma tarefa sendo resolvida por um sistema computacional, sem precisar de sua cooperação, e com a intenção de retomar a tarefa depois.

    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.

    Nestes casos, a preemptividade representa a troca do processo em execução, assim sendo, para que o processador seja retirado de um processo, interrompendo seu trabalho, e designado a outro processo, anteriormente interrompido.

    Fonte: http://pt.wikipedia.org/wiki/Preempção

  • Gabarito definitivo mudou a resposta para Errado

    Justificativa CESPE:

    Se o processo finalizar sua execução antes do prazo ter se esgotado, mesmo que o controle do tempo ainda seja do sistema operacional, o processo é que decide o momento do sistema operacional recuperar o uso do processador. Sendo assim, opta-se pela alteração de gabarito de CERTO para Errado

  • Olá, pessoal!

    O gabarito foi atualizado para "E", após recursos, conforme edital divulgado pela banca e publicado no site.

    Justificativa da banca: Se o processo finalizar sua execução antes do prazo ter se esgotado, mesmo que o controle do tempo ainda seja do sistema operacional, o processo é que decide o momento do sistema operacional recuperar o uso do processador. Sendo assim, opta-se pela alteração de gabarito de CERTO para ERRADO.

    Bons estudos!

  • Não entendi direito. Teria que ver o recurso, porque pela explicação, não vi o erro.
  • ... No primeiro caso, o sistema operacional decide parar de executar um processo após a passagem de um intervalo de tempo fixo; ...

    No caso de preemptivos o processo pode decidir encerrar a sua execução ou até memso bloquea-lo para a espera de outro processo antes de esgotar o quantum dedicado a ele.
  • Na minha opinião, o grande erro ai, e que a banca tentou explicar de forma não muito clara, é que, na não prrempção, mesmo que o processo esteja esperando por uma E/S o processador é dele pois ele não terminou a execução. Ele pode até deixa o processador para outro processo, mas não porque o processador determinou, mas porque ,ele, processo, quis.
  • Questão ERRADA.

    Acredito que o erro da questão esteja no trecho: "... no segundo, é o próprio processo que, encerrando sua execução ou ficando bloqueado à espera de outro processo ou de um dispositivo de E/S, retorna o controle do processador ao sistema operacional."

    Na realidade o sistema pode ou não retornar o controle do processador ao sistema operacional. De acordo com o livro de Sistemas Operacionais do prof. Carlos Maziero (http://dainf.ct.utfpr.edu.br/~maziero/doku.php/so:livro_de_sistemas_operacionais), no Capítulo 2 - Gerência de Tarefas:

    Sistemas não-preemptivos: a tarefa em execução permanece no processador tanto quanto possível, só abandonando o mesmo caso termine de executar, solicite uma operação de entrada/saída ou libere explicitamente o processador, voltando à fila de tarefas prontas (isso normalmente é feito através de uma chamada de sistema sched_yield() ou similar). Esses sistemas são também conhecidos como cooperativos, pois exigem a cooperação das tarefas para que todas possam executar.
  • Questão difícil.

    No enunciado a preempção é utilizada com o algorítimo de schedule Round-Robin, pois diz que "o sistema operacional decide parar de executar um processo após a passagem de um intervalo de tempo fixo". Esse intervalo, neste algorítimo, é chamado de quantum de tempo (geralmente de 10 a 100 milissegundos).

    Segundo Silberschatz, em fundamentos de sistemas operacionais, "A fila de prontos é tratada como uma fila circular. O scheduler da CPU percorre a fila de prontos, alocando a CPU para cada processo por um intervalo de até um quantum de tempo".

    Ainda segundo Silberschatz, as decisões de scheduling podem ser tomadas em quatro situações, dentre elas:

    1. Quando um processo passa do estado de execução para o estado de espera (p.ex. como resultado de uma solicitação de I/O ou de uma chamada a wait para o encerramento de um dos processos filhos); e

    2. Quando um processo termina.

    Nas situações acima dizemos que o esquema de scheduling é sem preempção ou cooperativo. No schedule sem preempção, quando a CPU é alocada para um processo, esse a usa até liberá-la no seu encerramento ou ao passar para o estado de espera.


    É isso aí...Não encontrei justificativa para a banca alterar o gabarito.

  • Tipo da questão que você lê, vê que não é 100% precisa, mas imagina que o gabarito vai ser dado como certo e marca certo, torcendo pra que a banca mantenha um certo padrão de preciosismo.

     

    Aí eles resolvem ter uma crise preciosismo.

     

    Além do apontado pelo colega Yank outra imprecisão é dizer que no caso além do "próprio processo que, encerrando sua execução ou ficando bloqueado à espera de outro processo ou de um dispositivo de E/S, retorna o controle do processador ao sistema operacional", existe também a possibilidade do processo voluntáriamente ceder a CPU. Isso é muito comum com o uso de Fibers.

     

    Mas o mais complicado é que a banca não diz "apenas/exclusivamente quando" aí temos que ter bola de cristal pra advinhar o grau de preciosismo.

     

  • Prezados,

    Um algoritmo de escalonamento é não preemptivo se, uma vez na posse do CPU, um processo executa até o CPU liberar voluntariamente.Os algoritmos não preemptivos tem alguns problemas graves, como certas classes de processos executam durante muito tempo até serem bloqueadas, e um utilizador egoísta pode impedir que o computador execute processos de outros utilizadores. Nos algoritmos preemptivos o SO usa as interrupções do relógio para retirar o CPU do processo em execução.

    Essa questão inicialmente foi dado como certo , mas o Cespe mudou o gabarito para errado com essa justificativa :

    Se o processo finalizar sua execução antes do prazo ter se esgotado, mesmo que o controle do tempo ainda seja do sistema operacional, o processo é que decide o momento do sistema operacional recuperar o uso do processador. Sendo assim, opta-se pela alteração de gabarito de CERTO para ERRADO.

    Portanto a questão está errada.


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

Em relação aos sistemas operacionais, julgue os itens subsequentes.

Quando as várias threads em um processo possuem sua linha de execução no nível de usuário, o escalonador de processos do sistema operacional trata cada thread separadamente, de forma independente do processo associado, já que o escalonador aloca o mesmo tempo ao processo em execução, independentemente de quantas threads ele possua.

Alternativas
Comentários
  •  

     o escalonador de processos do sistema operacional...
     
    Acho que o erro consiste de não haver esse escalonamento pelo SO
     
    Linha de execução ao nível do usuário

    As ULT são escalonadas pelo programador, tendo a grande vantagem de cada processo usar um algoritmo de escalonamento que melhor se adapte a situação, o sistema operacional neste tipo de thread não faz o escalonamento, em geral ele não sabe que elas existem. Neste modo o programador é responsável por criar, executar, escalonar e destruir a thread. Um exemplo prático de processo chamado P1 que contém tais threads: P1T1, P1T2 e P1T3, quando o sistema operacinal da a CPU para o processo P1 cabe a ele destinar qual thread será executada, caso esta thread use todo processo do quantum, o sistema operacional chamará outro processo, e quando o processo P1 voltar a executar, P1T1 voltará a ser executada e continuará executando até seu término ou intervenção de P1, este comportamento não afetará outros processos pois o sistema continua escalonando os processos normalmente. http://pt.wikipedia.org/wiki/Thread_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)#Escalonamento

  • Acredito que seja exatamente o que o colega João falou, o sistema operacional não sabe da existência de threads a nível de usuário, somente a nível de kernel.

    Fonte: http://homepages.dcc.ufmg.br/~humberto/unifal/aulas/so/aula16_Escalonamento2.pdf

  • user level thread - gerenciamento por meio de biblioteca de thread, a aplicação faz o escalonamento
    kernel level thread- gerenciamento feito pelo kernel por meio de uma API, aqui o escalonamento é exclusivo do S.O
  • Quando as várias threads em um processo possuem sua linha de execução no nível de usuário, o escalonador de processos do sistema operacional NÃO trata cada thread separadamente, já que o escalonador aloca o mesmo tempo ao processo em execução, independentemente de quantas threads ele possua.
  • Apenas complementando: Quem faz o escalonamento de threads é o próprio escalonador de threads e não o escalonador de processos.
  • Questão errada.

    Existem as threads de usuário e suas caracaterísticas são:

    - núcleo só conhece os processos. desconhece as threads.

    - o quantum é do processo e não existe preempção das threads

    - Núcleo trata os processos como se fossem monothread.


    Threads de núcleo:

    - nucleo conhece a existência das threads e as gerencia (quantum é da thread)

    - nucleo possui tabela de processos e de threads

  • Prezados,

    O kernel só "enxerga" threads de nível de núcleo. Essa threads tem o escalonamento feito pelo kernel. As threads de usuário não são "enxergadas" pelo kernel , quem faz o escalonamento delas é a aplicação.

    Portanto a questão está errada.


  • e-

    Em implementação de thread nivel usuario, o processador é monothread. EM nivel kernel, ha multithreading, o qual é mais rapido alternar entre threads do que entre processos


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

Acerca dos conceitos básicos de sistemas operacionais Windows, julgue os itens subsecutivos.

Durante o período em que está funcionando, o kernel do Windows XP permanece na memória, e sua execução nunca é preemptada.

Alternativas
Comentários
  • Um processo preemptivo é um processo que pode ser interrompido, enquanto que o não-preemptivo não pode
  • O kernel de um SO é responsável por toda a execução do SO. Caso ele seja finalizado o Sistema Operacional irá parar de funcionar. Assim o Kernel não pode ser preemptivo.
  • As instruções do Kernel de um SO apesar de ser instrução privilegiadas podem ser preemptadas, principalmente se concorrerem com outras instruções privilegiadas. Elas são privilegiadas pois tem acesso aos recursos da maquina. O que as outras instruições não privilegiadas não tem, e não porque não podem ser preemptadas. Ser preempatada ou não é quando o processo passa da execução para a fila de prontos. O que com certeza ela não pode ser é "swappada" que é ir dop disco para a RAM.
  • Coment: certo, o kernel é responsável por manter o sistema operacional funcionando e caso seus processos sejam preemptivos então ele poderá parar o S.O  em dado momento.
  • O kernel tradicional é não-preemptivo, porém em multiprocessamento, no caso de mais de um processador, a premissa de não preempção do kernel deixa de existir. 

    Sendo assim, a questão poderia ser anulada!


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

Com relação ao escalonamento de processos nos sistemas operacionais modernos, assinale a alternativa correta.

Alternativas
Comentários
  • a) INCORRETA, o quantum de um processo está ligado ao tempo dado a execução do processos da CPU;

    b) INCORRETA, possuímos varios algoritmos de escalonamento em sistemas interativos, porém desconheco o por chaveamento linear;

    c) INCORRETA, podemos ter intervalos IRREGULARES em tempo real;

    d) CORRETA;

    e) INCORRETA, podem ser dividos em processos de usuários e processos de núcleo(kernel);


ID
332710
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.

Em um ambiente com múltiplos threads (multithread), não é necessário haver vários processos para se implementarem aplicações concorrentes.

Alternativas
Comentários
  • Threads são linhas de execução dentro de um processo.

    Um processo tem seu endereço de memória, seus registradores, descritores de arquivos abertos e sua pilha.
     Acontece que multiplexar processos para uma CPU é caro porque a cada escalonamento do novo processo, seu estado tem que ser recuperado, isto é, seu ponteiro de pilha, seu contador de programa, seus dados para os registradores...

    Então a galera pensou em threads, que podem ser escalonadas intra-processo.

    Cada thread, dentro um processo, possui sua propria pilha, seu proprio contador de programa e seus registradores, porém como estão dentro de um mesmo espaço de endereço de memória ( o do processo), uma thread pode muito bem acessar e modificar a pilha ou outras coisas de outra thread.

    Isso não é necessariamente um problema porque threads tem um propósito mais específico que processos. Geralmente as threads trabalham juntas para se chegar à um objetivo global comum, como atender as requisições em um webserver. Para cada requisição de usuário pode ser criada uma thread.
  • Enunciado muito mal elaborado.

    "implementarem aplicações concorrentes"

    "Aplicações" é algo muito abstrato. O cara em uma prova ao ler isso fica na dúvida se a banca se refere a um processamento qualquer concorrente ou falando de programas/softwares que executam de forma concorrente.
  • Concordo com o comentário do colega acima. Qual a definição de aplicação? Se for um arquivo binário (executável), obviamente a questão está incorreta! (não há como carregar dois binários distintos com um único PID, process ID).
  • Exatamente!
    Marquei errada por causa da palavra "aplicações".
    Fica difícil... e olha que foi CESPE!
  • Pessoal. Para que tanta confusão para uma questão tão simples. A questão está corretíssima, isso, porque, o que é um ambiente multihread? É um ambiente onde há duas ou mais threads rodando dentro de um ÙNICO processo. Então, a questão ainda não pega pesado, pois ela diz: "não é necessário", realmente não é necessário haver mais de um processo. No ambiente Multithead, a aplicação concorrente -de threads- ocorre sim, porém em um único processo. Abraços e bons estudos.
  • Questão mal elaborada. Ainda que tenhamos múltiplas threads, ainda serão necessários múltiplos processos para implementar aplicações concorrentes. É possíve executar um editor de texto, uma calculadora e um browser utilizando APENAS UM processo? CLARO QUE NÃO.
    As threads operam de forma colaborativa dentro do escopo de uma aplicação, e não implementam aplicações concorrentes, como afirma a questão.
  • A principio, pensei exatamente como o Mauricio.
    Porem, para responder a questao, vc deve saber a diferença entre concorrente e simultaneo(ou paralelo).
    Aplicações concorrente significa q elas concorrem por um mesmo recurso quanto executam ao mesmo tempo. Se dois ou mais programas executam ao mesmo tempo em uma máquina com apenas um processador, logo, seus processos executam concorrentemente/competem pelo mesmo recurso. Aparentemente, elas executam em paralelo, pois podemos ter vários programas abertos ao mesmo tempo. Porem, eh pura ilusão. O processador eh chaveado milhoes de vezes em uma fração de tempo, q o usuario tem a sensacao de paralelismo.
    Já em aplicacoes paralelas(q executam simultaneamente), necessitam de um ou mais recursos para realmente(e não aparentemente) executar processos em paralelo. Aqui, os processos não competem por recursos(pelo processador), pois eles realmente executam ao mesmo tempo q o outro.
    Quando a questão afirma q em um ambiente multithread não é necessário haver vários processos para se implementarem aplicações concorrentes, ela está certa, pois as várias threads por si so já representa a concorrencia, visto q, mesmo no caso das threads, não eh possivel executa-las de forma paralela tendo apenas um processador. As threads, assim como os processos, executam de forma chaveada, concorrendo pelo uso do processador.
    Apesar das criticas dos colegas, achei uma questão muito bem elaborada, q cobra um conhecimento mais profundo sobre processos e, inclusive, as diferencas entre paralelismo e concorrencia.
  • O que gerou confusão foi exatamente a palavra APLICAÇÕES.


    Se no final do enunciado utiliza-se apenas o termo: "PARA SE IMPLEMENTAR CONCORRÊNCIA", não haveria má interpretação, ou duplo sentido.


    Aqui o Cespe está afirmando que um thread é uma aplicação. Pra mim é novidade.

  • Certinho.

    Em suma, multithreading é a associação de vários fluxos de execução a um único processo.

  • Gabarito Certo

    Ótima resposta do companheiro Lucc O !

     

     

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


ID
334726
Banca
FCC
Órgão
TRT - 14ª Região (RO e AC)
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Quando um job chega para ocupar uma partição de memória, ou ele é colocado em uma fila de entrada da menor partição capaz de armazená-lo ou ele é colocado em uma fila de entrada única para todas as partições.
No contexto de gerenciamento de memória trata-se de uma afirmativa típica da

Alternativas
Comentários
  • Segue um resumo do livro do Tanenbaum a respeito do tema:

    Gerenciamento Básico de Memória

    Os Sistemas de Gerenciamento de Memória podem ser divididos em duas classes: aqueles que movem processos de um lado para outro entre a memória principal e o disco durante a execução (fazendo troca e paginação) e aqueles que não o fazem. As próximas seções apresentam os mesmos.

     

    1. Monoprogramação sem troca ou paginação

    Este é o esquema mais simples possível: só é possível executar um programa de cada vez, compartilhando a memória entre o programa e o S.O. Existem três variações para este modelo. Quando o sistema está organizado desta maneira somente um processo por vez pode estar executando.

     

    2. Multiprogramação com Partições Fixas

    A maneira mais simples de implementar a multiprogramação, em termos de memória, é dividir a mesma em n partições desiguais. Quando um job chega, há duas possibilidades: ele é colocado em uma fila de entrada da menor partição capaz de armazená-lo ou ele é colocado em uma fila de entrada única.

    Uma vez que as partições são fixas, qualquer espaço não ocupado por um job é perdido. A desvantagem de classificar os jobs em entradas separadas é apresentada quando uma fila para uma partição grande está vazia e filas para partições pequenas estão muito cheias. Uma possível alternativa é colocar todos os jobs em uma única fila de entrada e sempre que uma partição encontra-se livre, alocar para o próximo job da fila. Para não desperdiçar espaço pode-se realizar uma pesquisa para selecionar o job que melhor se ajuste ao tamanho da partição. No entanto, isto pode deixar jobs pequenos de fora, o que também é indesejável. Neste caso, é interessante dispor de pelo menos uma partição pequena para jobs pequenos ou criar uma regra que limite o número de vezes que um job pode ser ignorado, obrigando que o mesmo seja selecionado em um determinado momento.

  • Complementando o comentário do colega acima, segue uma imagem do livro do Tanembaum.


ID
345334
Banca
MOVENS
Órgão
Prefeitura de Manaus - AM
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em relação às políticas de escalonamento, relacione a primeira coluna, que apresenta os ambientes computacionais, à segunda, que traz seu(s) correspondente(s) algoritmo(s) e, em seguida, assinale a opção correta.

1 – Em lote
2 - Interativo
3 – Em tempo real


( ) escalonamento por taxa monotônica
( ) job mais curto primeiro
( ) escalonamento de processos homogêneos
( ) próximo processo mais curto
( ) escalonamento em três níveis
( ) escalonamento por prioridades

A sequência correta é:

Alternativas
Comentários
  • 1.3 – CLASSIFICAÇÃO S.O MULTIPROGRAMADOS

    - Lote/Batch = Sem Interação com o Usuário, Tempos Longos, Sequenciamento, MULTIPROGRAMAÇÃO, Processam JOBS em massa. EXECUTAM JOBS.

     - Algoritmos = FIFO (Primeiro a chegar, primeiro a ser servido), SJF/SPF (Tarefa mais curta primeiro), SRTN/SPN (Tarefa a ser terminada primeiro).

    - Tempo Compartilhado = Interação com o Usuário, Fatias de Tempo, MULTITAREFA, o tempo de resposta deve ser curto normalmente, menos de um segundo. EXECUTAM PROGRAMAS DE USUÁRIO ou TAREFAS.

     - São uma extensão da multiprogramação em que algoritmos de SCHEDULING da CPU alternam-se rapidamente entre os JOBS, dando a impressão de que cada JOB está sendo executado concorrentemente.

     - Algoritmos = Round-Robin, Por prioridades, Filas múltiplas, Próximo processo mais curto, Escalonamento Garantido, Loteria, Fração Justa.

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

     - Algoritmos = RMS, EDP

    GABARITO A


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

Analise as assertivas e assinale a alternativa que aponta as corretas.

I. Um pipe é um tipo de pseudo-arquivo que pode ser utilizado para conectar dois processos.
II. Os arquivos especiais de bloco são utilizados para modelar impressoras, modems e outros dispositivos que aceitam ou dão como saída um fluxo de caracteres.
III. Uma função importante do sistema operacional é esconder as peculiaridades dos discos e outros dispositivos de E/S e apresentar ao programador uma interface amigável.
IV. O código de proteção rwxr-xr-x indica que qualquer usuário possuirá permissão de escrita deste arquivo.

Alternativas
Comentários
  • Pipe – Um pipe é um pseudo-arquivo que pode ser usado para conectar dois processos; – Quando o processo A desejar enviar dados ao processo B, ele escreve no pipe como se este fosse um arquivo de saída; – Já o processo B lê os dados, tratando o pipe como um arquivo de entrada.

    __________________________

    "Dispositivos de bloco" ou "arquivos especiais de bloco" são utilizados como correspondentes de dispositivos nos quais os dados são transmitidos na forma de blocos. Estes nós de dispositivo são frequentemente utilizados em dispositivos de comunicações paralelas como discos rígidos e drives de CD-ROM.

    _______________________

    rwxr-xr-x

    rwx - Permissões do Proprietário - r - leitura / w - gravação / x - execução (o usuário tem todas as permissões)

    r-x - Permissões de um grupo especifico - ( o grupo tem permissão de leitura e de execução / perceba que no lugar do w está um "-" que significa permissão desabilitada)

    r-x - permissões dos demais usuários - (igualmente ao do grupo).

    Então a não ser o Proprietário, nenhum usuário terá permissão de gravação (w). 

    _______________________________



    gaba: C



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

Preencha a lacuna abaixo e, em seguida, assinale a alternativa correta.

Eventos inesperados podem ocorrer enquanto um programa está em execução. Uma _______________ é sempre gerada por algum evento externo ao programa e não depende da instrução que está sendo executada.

Alternativas
Comentários
  • Exceção: As exceções ocorrem quando algo imprevisto acontece no programa que está em execução.
    Preempção: É o ato de interromper temporariamente uma tarefa sendo resolvida por um sistema computacional, sem precisar de sua cooperação, e com a intenção de retomar a tarefa depois. Tal mudança é conhecida como uma troca de contexto. É normalmente resolvida por uma tarefa privilegiada ou parte de um sistema conhecido como uma agenda preemptiva, que tem o poder de preeminar, ou interromper, e depois retomar, outras tarefas no sistema.
    Reentrância: Qualidade de uma sub-rotina ser executada concorrentemente de forma segura


ID
392200
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.


( ) Um semáforo é uma variável inteira, não-negativa, que só pode ser manipulada por duas instruções: UP e DOWN.



( ) Os mutexes só podem assumir os valores 0 e 1 e os semáforos contadores podem assumir qualquer valor inteiro positivo, além do zero.



( ) A exclusão mútua pode ser implementada através de um mutex associado ao recurso compartilhado.



( ) O deadlock é a situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que não ocorrerá.

Alternativas
Comentários
  • CUIDADO, o GABARITO ESTÁ ERRADO!

    Gabarito apontado: A

    Gabarito correto: B

    (FALSO) Os mutexes só podem assumir os valores 0 e 1 e os semáforos contadores podem assumir qualquer valor inteiro positivo, além do zero.

    De acordo com Tanenbaum,

    • Um mutex é uma variável compartilhada que pode estar em um de dois estados: destravado ou travado. Em consequência, apenas 1 bit é necessário para representá-lo, mas na prática muitas vezes um inteiro é usado, com 0 significando destravado e todos os outros valores significando travado.
    • Um semáforo podia ter o valor 0, indicando que nenhum sinal de despertar fora salvo, ou algum valor positivo se um ou mais sinais de acordar estivessem pendentes.

    FONTE: TANENBAUM


ID
463360
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.

Em um SO, a função principal de um escalonador é interromper um processo em execução (ou escalonado) por outro que tenha prioridade maior no momento em que ocorrer alteração do status de um processo para apto.

Alternativas
Comentários
  • Eu diria que a função principal de um escalonador é escolher qual processo deve ser alocado para a CPU, baseado nas políticas de escalonamento (algoritmo de escalonamento). A interrupção ou não de processos depende da estratégia adotada, se preemptiva ou não preemptiva. Logo, interromper o processo em execução não é a principal tarefa do escalonador, é apenas UMA de suas tarefas, caso a política de escalonamento permita a interrupção.

    Acrdito que a questão deveria ter como gabarito "Errado".

  • Gabarito Certo (Porém cabe recurso)

    escalonamento de processos ou agendador de tarefas (em inglês scheduling) é uma atividade organizacional feita pelo escalonador (scheduler) da CPU ou de um sistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os CPU Bound.

    O escalonador de processos de 2 níveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa execução o processador evita ficar ocioso.

    Escalonador de Processos escolhe o processo que será executado pela CPU; O escalonamento é realizado com o auxílio do hardware; O escalonador deve se preocupar com a eficiência da CPU, pois o chaveamento de processos é complexo e custoso: Ele afeta desempenho do sistema e satisfação do usuário; O escalonador de processo é um processo que deve ser executado quando da mudança de contexto (troca de processo);

     

     

     

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


ID
464077
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Cinco processos deverão ser executados em um computador. Os tempos de execução previstos para cada um dos processos são 10, 8, 4, 6 e X medidos em alguma unidade de tempo. O responsável pela administração do sistema operacional desse computador decide organizar a ordem de execução desses processos, objetivando minimizar o tempo médio de resposta. Sabe-se que o processo com tempo X será o terceiro processo a ser executado. Nessas condições, um valor possível para X é

Alternativas
Comentários
  • Já que se espera um tempo de resposta menor. Os processos tem que ser executados do menor para o maior, além do que ele será o terceiro processo a ser executado. Assim:

    1º = 4
    2º = 6
    3º = x
    4º = 8
    5º = 10

    Sendo assim x só poderia ser 7 analisando os items da questão.
  • Esse escalonamento foi feito usando o algoritmo não-preemptivo* SJF, Shortest Job First - Tarefa mais curta primeiro -, portanto os tempos de execução dados devem estar em ordem crescente.
    Uma característica inerente desse algoritmo é ter o menor tempo médio de resposta* para sistemas em lote. Para que esse algoritmo seja ótimo é necessário que todos os processos estejam disponíveis simultaneamente e que seus tempos de execução sejam conhecidos previamente.


    *Não-preemptivo significa que uma vez que o processo entra execução, somente ele irá decidir quando parar sua execução (ou pq terminou, ou pq vai esperar i/o, ou por qq outra razão). Já os preemptivos podem ter a sua execução interropida pelo escalonador quando sua fatia de tempo no processador terminar.

    *Tempo de resposta representa a medida de tempo entre um processo entrar na fila de prontos e iniciar sua execução.

    Fonte: Tanembaum, SO

ID
487021
Banca
CESPE / CEBRASPE
Órgão
MPE-RR
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

Nos sistemas operacionais que suportam processos, quando há uma mudança de contexto, um processo precisa ser selecionado para ser posto em execução. A seleção é responsabilidade do escalonador, que, uma vez tendo selecionado o processo, tipicamente usa blocos de controle de processos para armazenar dados do processo em execução e para ler dados do processo escolhido a ser posto em execução.

Alternativas
Comentários
  • Certo.
    Cada linha de execução tem o mesmo contexto de software e compartilha o mesmo espaço de memória (endereçado a um mesmo processo pai), porém o contexto de hardware é diferente. Sendo assim o overhead causado pelo escalonamento de linha de execução é muito menor do que o escalonamento de processos, entretanto, não há acesso protegido a memória nativamente (sua implementação fica a cargo do programador) devido ao compartilhamento do espaço de memória.
  • Como informação extra, e buscando eliminar quaisquer dúvidas, o bloco de controle de processo (BCP) - em inglês Proccess control block (PCB) - corresponde a uma entrada na tabela de processos, como alguns autores a preferem chamar.

    Tanenbaum, Andrew S. Título: Sistemas Operacionais Modernos. 2ª Edição. São Paulo: Prentice Hall, 2003. P. 59.
  • O escalonamento de processos ou agendador de tarefas (em inglês scheduling) é uma atividade organizacional feita pelo escalonador (scheduler) da CPU ou de um sistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados tipos de processos, como os de I/O Bound e os computacionalmente intensivos.

    O escalonador de processos de 2 níveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa execução o processador evita ficar ocioso.

  • Quando um computador é multiprogramado, ele muitas vezes tem múltiplos processos ou threads que competem pela CPU ao mesmo tempo. Essa situação ocorre sempre que dois ou mais processos encontram-se no estado pronto. Se somente uma CPU se encontrar disponível, deverá ser feita uma escolha de qual processo executará. A parte do sistema operacional que faz a escolha é chamada de escalonador, e o algoritmo que ele usa é o algoritmo de escalonamento. Para que um novo processo possa executar, é possível que algum outro processo, que esteja executando, precise ser interrompido. Deve ocorrer o chaveamento do processo, que é salvar o estado do processo que está executando (e será interrompido) a fim de que ele possa retomar sua execução posteriormente de onde parou. O estado do processo é salvo na tabela de processos.
    Referência: Sistemas Operacionais Modernos - Tanembaum - 3ª Edição.

ID
519460
Banca
Exército
Órgão
EsFCEx
Ano
2009
Provas
Disciplina
Sistemas Operacionais
Assuntos

A “condição de inanição” de um processo pode ser definida como uma condição em que o processo:

Alternativas
Comentários
  • Starvation (inanição) - processo nunca consegue executar sua região crítica, ou seja, acessar o recurso compartilhado. Processo com o arquivo extenso nunca consegue alocar o arquivo.

     

    Deadlock (impasse) - no conceito de SO, caracteriza uma situação em que ocorre um impasse e dois ou mais processos foram impedidos de continuar suas execuções, ou seja, ficam bloqueados. Pode ocorrer mesmo que haja apenas um processo no SO, considerando que este processo utilize múltiplos threads.

    Independe da quantidade de recursos disponíveis.


    Condições necessárias para deadlock (simultâneas):

    - Exclusão mútua (apenas um processo de cada vez pode usar o recurso. Caso outro processo solicite um recurso, este deve ser atrasado até que o mesmo tenha sido liberado). Usar spool em tudo.

    - Retenção e espera (Posse e espera por recurso) Requisitar inicialmente todos os recursos alocados. Processos que, em um determinado instante, retêm recursos concedidos anteriormente podem requisitar novos recursos.

    - Inexistência de preempção ou não-preempção (processos que não podem ser parados no meio. Gravação de CD, impressão...) Retomar os recursos alocados. Recursos concedidos previamente a um processo não podem ser forçosamente tomados desse processo – eles devem ser explicitamente liberados pelo processo que os retêm. 

    - Espera circular (O processo nunca é acessado) Ordenar numericamente. Deve existir um encadeamento de dois ou mais processos; cada um deles encontra-se à espera de um recurso que está sendo usado pelo membro seguinte dessa cadeia.


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

Considerando a organização e arquitetura de computadores, julgue os itens que se seguem.

Uma função importante de um sistema operacional é o escalonamento de processos ou tarefas. O escalonamento a curto prazo faz parte da função de troca de processos (swapping) entre a memória principal e a memória secundária do computador.

Alternativas
Comentários
  • Discordo do colega no comentário acima, a questão não trata de paginação, e sim de escalonamento de processos realmente.
    O erro da questão está em afirmar que um escalonamento a curto prazo é realizado entre 2 processos, um na RAM e outro em disco (Swapp), sendo que na verdade, se trata de um escalonamento a médio prazo, uma vez que o tempo gasto para tal escalonamento é maior (em virtude de um dos processos residir em disco). Um escalonamento a curto prazo é aquele que ocorre entre 2 processos que estão na RAM, que por sua vez possui um tempo de execução menor.

    Bons estudos.
  • Errado o comentário, Thiago Magalhães. O escalonamento que faz swapping é o de MÉDIO prazo. De longo prazo é aquele que prioriza processos de alta taxa IO em detrimento dos que usam muito a CPU.

    Fonte: http://pt.wikipedia.org/wiki/Escalonamento_de_processos
  • Segundo o livro do Stallings:

    ·         Escalonamento a longo prazo: determina que programas são admitidos para processamento no sistema. Controla o grau de multiprogramação. Uma vez admitida, uma tarefa, ou programa de usuário, torna-se um processo e é adicionada à fila do escalonador de curto prazo. (requisições de novos processos)
    ·         Escalonamento a médio prazo: faz parte da função de troca de processos (swapping) entre a memória principal e secundaria. Decisão de acrescentar um processo ao conjunto de processos que estão parcialmente ou completamente carregados na memória principal.
    ·         Escalonamento a curto prazo:  também chamado despachante (dispatcher), é executado frequentemente e executa uma decisão de nível mais baixo sobre qual será a próxima tarefa a ser executada. Considerar o conceito de estado de um processo. Existem no mínimo cinco estados de um processo. (contém todos os processos prontos para usar o processador)
  • "(...) Esses processos entram em spool em um dispositivo de armazenamento de massa (normalmente um disco), onde são mantidos para execução posterior. O scheduler de longo prazo, ou scheduler de jobs, seleciona processos nesse spool e os carrega na memória para execução. O scheduler de curto prazo, ou scheduler da CPU, seleciona entre os processos que estão prontos para execução e aloca a CPU para um deles."

    "Alguns sistemas operacionais, como os sistemas de tempo compartilhado, podem introduzir um nível de scheduling intermediário adicional (...). A ideia-chave por trás de um scheduler de médio prazo é que às vezes pode ser vantajoso remover processos da memória (e da disputa ativa pela CPU) e assim reduzir o grau de multiprogramação. Posteriormente, o processo pode ser reintroduzido na memória e sua execução pode ser retomada onde parou. Esse esquema é chamado de swapping."


    Trecho do livro Fundamentos de Sistemas Operacionais. 8º edição. Silberschatz. Páginas 60 e 62.

  • O escalonador de longo prazo seleciona e carrega novos processos na memória. Ele tem esse nome porque não é invocado com muita frequencia.

    O escalonador de médio prazo é responsável pelo swapping. Ele remove processo da memória e coloca no disco.

    Os escalonador de curto prazo seleciona qual processo na fila de prontos será executado na CPU. Este escalonador é o que mais trabalha em um SO, por isso, o nome curto prazo. Ou seja, ele é requisitado com alta frequencia.


  • ·         Swapper: escalonador de memória / médio prazo (Disco ↔ RAM);

    ·         Scheduler: escalonador de longo prazo (RAM ↔ Fila de Pronto);

    ·         Dispatcher: escalonador de CPU / curto prazo (Fila de Pronto ↔ CPU).


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

Os sistemas operacionais modernos utilizam o conceito de fila circular no escalonamento de processos. O processo que está no início da fila de processos prontos é selecionado, executado por algum tempo e, ao término da fatia de tempo, retorna para o final da fila.

O mecanismo apresentado permite que as aplicações sejam

Alternativas
Comentários
  • Correta letra C.
    De acordo com [1]:
    "A cada processo e atribuído um intervalo de tempo, o seu quantum, no qual ele é permitido executar. Se, ao final do quantum o processo estiver ainda executando, a CPU sofrerá preempeção e será dada a outro processo."

    [1]: Tanembaum, Sistemas Operacionais Modernos, 2ª Edição, página 104.
  • Como a questao afirma, na  fila circular, o processo que está no início da fila de processos prontos é selecionado, executado por algum tempo e, ao término da fatia de tempo, retorna para o final da fila.
    A questao afirma ainda q as aplicacoes sao executadas conforme acabam suas fatias de tempo, o que NÃO eh verdade. As aplicacoes sao executadas conforme se esgotam as fatias de tempo das OUTRAS aplicacoes. Quando a fatia de tempo de determinada aplicacao se esgota, ela, a aplicacao, vai para a fila de prontos, e não para ser executada, como afirma a questao.
    Portanto, deveria ser anulada, por falta de alternativa correta.
     


ID
605614
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.

A criação de processos em um sistema operacional pode ocorrer, entre outras formas, a partir de um evento como o início de uma tarefa em lote (batch).

Alternativas
Comentários
  • Apenas complementando: De acordo com Tanenbaum há quatro tipos de eventos que fazem que processos sejam criados:
    1- Início do sistema.
    2- Execução de uma chamada ao sistema de criação de processo por um processo em execução.
    3- Uma requisição do usuário para criar um novo processo.
    4- Início de um job em lote.
  • c-

    como o colega notou, ha 4 eventos que iniciam processos: inicio, exe, req usu e job. a apresentacao abaixo resume estes conceitos:

    http://fuuu.be/polytech/INFOF201/MOS-3e-02.pdf


ID
627931
Banca
FCC
Órgão
TCE-SE
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Se um processo de sistema operacional começou a imprimir uma saída, a ação de capturar a impressora e passá-la para outro processo resultará em problemas na saída. As impressoras são recursos

Alternativas
Comentários
  • Gabarito: C.

     

    Memória é um recurso preemptível.

    Impressora é não preemptível.

  • Em computação, preemptividade (algumas vezes preempção) é o ato de interromper temporariamente uma tarefa sendo resolvida por um sistema computacional, sem precisar de sua cooperação, e com a intenção de retomar a tarefa depois.

     

    https://pt.wikipedia.org/wiki/Preemptividade

     

    Gabarito: c)

  • Letra C

     

    Explicando de um jeito bem prático.

    Imagine se vc envia um documento para a impressora e então ela começa a imprimi-lo.

    No meio dessa impressão, vc envia outro documento.

    Se a impressora fosse um recurso preemptível, ela pararia a primeira impressão (sem finalizá-la) para atender a segunda impressão e as impressões ficariam sobrepostas.

    Por essa razão ela DEVE ser não preemptível e realizar a toda a impressão sem chance de ser interrompida.


ID
638263
Banca
FUMARC
Órgão
PRODEMGE
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Analise as seguintes afrmativas sobre política de escalo- namento do processador:
I. Uma política (disciplina) de escalonamento do processador pode ser preemptiva ou não preemptiva. Em uma disciplina preemptiva, se o sistema atribuir o processador a um processo, este executa até concluir ou até devolver voluntariamente o processador ao sistema.

II. Em um esquema de escalonamento do tipo FIFO (First-In-First-Out), os processos são atendidos por ordem de chegada e são tratados igualmente, não havendo priorização de processos para execução.

III. No escalonamento por alternância circular, também conhecido por Round-Robin, cada processo recebe uma quantidade de tempo limitada do processador e se não concluir antes de seu tempo terminar, o sistema passará o processador para o próximo processo na fla.
Assinale a alternativa VERDADEIRA:

Alternativas
Comentários
  • No item I os conceitos estão invertidos. Preemptivo significa que pode ser interrompido a qualquer momento diante de uma solicitação externa.
  • De acordo com Adreaw Tanenbaum, o processo preemptivo é aquele que no limiar de não cumprir seu prazo para conclusão (Processo 1), pode interromper outro processo em execução (Processo 2). Posteriormente, quando o processo que interrompeu o outro finalizar a sua execução (Processo 1), o processo interrompido continuará (Processo 2).

    Sob este pressuposto, o somente item I é falso. Os demais estão corretos.


ID
645352
Banca
AOCP
Órgão
BRDE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sobre estados de processos em Sistemas Operacionais, analise as assertivas e assinale a alternativa que aponta a(s) correta(s).

I. Um processo, em um sistema multiprogramável (multitarefa), não é executado todo o tempo pelo processador. Durante sua existência, ele passa por uma série de estados. Basicamente, existem três estados em que um processo pode se encontrar no sistema.

II. Execução (running), um processo é classificado como running quando aguarda uma oportunidade para executar, ou seja, esperando que o sistema operacional aloque a UCP para sua execução.

III. Pronto (ready), um processo é dito neste estado quando está sendo processado pela UCP. Em sistemas com apenas um processador, somente um processo pode estar pronto em um dado instante de tempo.

IV. Espera (wait), neste estado um processo aguarda algum evento externo ou por algum recurso para poder prosseguir seu processamento. Como exemplo, podemos citar o término de uma operação de entrada/saída ou a espera de uma determinada data e/ou hora para poder continuar sua execução.

Alternativas
Comentários
  • A respeito da questão, seguem as seguintes considerações:

    I. Um processo, em um sistema multiprogramável (multitarefa), não é executado todo o tempo pelo processador. Durante sua existência, ele passa por uma série de estados. Basicamente, existem três estados em que um processo pode se encontrar no sistema. (Item verdadeiro)

    II. Execução (running), um processo é classificado como running quando aguarda uma oportunidade para executar, ou seja, esperando que o sistema operacional aloque a UCP para sua execução. (Item falso)

    III. Pronto (ready) , um processo é dito neste estado quando está sendo processado pela UCP. Em sistemas com apenas um processador, somente um processo pode estar pronto em um dado instante de tempo. (Item falso)


    IV. Espera (wait), neste estado um processo aguarda algum evento externo ou por algum recurso para poder prosseguir seu processamento. Como exemplo, podemos citar o término de uma operação de entrada/saída ou a espera de uma determinada data e/ou hora para poder continuar sua execução. (Item verdadeiro)
  • A questão inverteu os conceitos de Execução (running) e Pronto (ready).
  • 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.
        • Bloqueado – O processo está esperando por algum recurso do sistema que não se encontra disponível.
    Fonte http://www.gsigma.ufsc.br/~popov/aulas/so1/cap6so.html
  • ...apenas para complementar o item 4.

    Um processo no estado "Wait" não passa diretamente para o estado "Running", antes ele passa para o estado "Ready" onde fica aguardando na fila de prontos.

    bons estudos!
  • Discordo acerca da opção I.  O modelo menos realista de Estados de Processos conta com 5 Estados, a saber:  Novo, Pronto, Em Execução, Em Espera, Finalizado.  Há também um modelo mais realista com 7 Estados, a saber:  Novo, Pronto Suspenso, Pronto, Em Execução, Finalizado, Em Espera bloqueado e Em espera suspenso.

  • Na I, é importante observar a palavra “basicamente”. Sabemos que existem outros estados, mas falar que basicamente existem estes três estados não é o suficiente para tornar a assertiva incorreta. As opções II e III estão com os conceitos invertidos. O que a banca cita por Espera é o mesmo que se encontra em algumas literaturas como Bloqueado, e está correta.



  • Estado do Processo
    Um processo em execução pode provocar uma mudança de estado. O estado de um processo é definido em parte pelo valor do seu contador de instruções e pelos valores dos registradores do processador. Podem ser classificados, de acordo com o estado:
    o Novo: O processo está sendo criado.
    o Em execução
     Instruções do código do processo estão sendo executadas.
    o Em espera
     O processo está esperando pela ocorrência de algum evento (tal como a realização de uma operação de E/S ou o recebimento de um sinal).
    o Pronto
     O processo está pronto para obter o controle do processador.
    o Terminado
     O processo terminou de ser executado.


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
695197
Banca
FCC
Órgão
TRF - 2ª REGIÃO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em uma CPU, se um processo estiver executando um programa de um usuário em modo usuário e precisar de um serviço do sistema, como ler dados de um arquivo, terá de executar uma instrução de chamada ao sistema ou uma instrução

Alternativas
Comentários
  • Uma trap é uma interrupção de software causada por:

    Um pedido de código utilizador de um Serviço do sistema operacional;

    É um termo oriundo dos estudos referentes a sistemas operacionais, que designa uma instrução de desvio, similar a uma chamada de sistema.

  • Traps podem ser por harsware também.

    "Algumas (traps) são geradas pelo hardware, para indicar por exemplo overflow em operações aritméticas ou acesso a regiões de memória não permitidas. Essas são situações em que o programa não teria como prosseguir. O hardware sinaliza uma interrupção para passar o controle para uma parte do sistema operacional (o tratador da interrupção em questão), que tipicamente termina a execução do programa"

    Fonte: http://www.inf.puc-rio.br/~inf1018/2010.2/interrupcoes.html
  • Traps também podem ser geradas explicitamente por instruções do programa. Essa é uma forma do programa acionar o sistema operacional, por exemplo para requisitar um serviço de entrada ou saída. Um programa não pode "chamar" uma rotina do sistema operacional, já que o sistema operacional é um processo a parte, com seu próprio espaço de endereçamento. Através do mecanismo de interrupção de software, um processo qualquer pode ativar um tratador que pode "encaminhar" uma chamada ao sistema operacional.

    Traps também são usadas em situações onde o programa não tem como prosseguir pois aconteceu uma exceção como overflow aritmético, tentativa de acesso a endereço inválido ou estouro da pilha.

    Fonte: http://www4.inf.puc-rio.br/~inf1018//2010.2/interrupcoes.html


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

Cinco processos deverão ser executados em um computador. Os tempos de execução previstos para cada um dos processos são 9, 5, 3, 7 e X, medidos em alguma unidade de tempo. O responsável pela administração do sistema operacional desse computador decide organizar a ordem de execução desses processos, objetivando minimizar o tempo médio de resposta. Sabe-se que o processo com tempo X será o segundo processo a ser executado.
Nessas condições, um valor possível para X é

Alternativas
Comentários
  • Matei pela lógica, se 3 é o menor número e X é o segundo, 5 é que não pode ser !


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

Um processo referencia 5 páginas identificadas por p1, p2, p3, p4 e p5, na seguinte ordem:

                                              p1, p2, p3, p4, p1, p2, p5, p1, p2, p3, p4, p5

Considerando que o algoritmo de substituição de página seja fila e que a memória principal encontra-se inicialmente vazia, o número de transferências de páginas, em um sistema com 3 quadros em memória principal, é

Alternativas

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

Em relação aos processos no LINUX, é correto afirmar:

Alternativas
Comentários
  • Questãozinha PUNK! Mas bora lá!

    a) No Linux, cada processo precisa de um proprietário, identificado como Proprietor Identifier, para que o sistema saiba, através das permissões fornecidas por esse proprietário, quem pode e quem não pode executar o processo em questão.

    Incorreta, até onde eu sei não existe a propriedade Proprietor Identifier no Linux, cada processo precisa sim de um proprietário, mas a identifica é realizada através do UID e para saber quem pode ou não pode executar tal processo precisamos do UID + GID ;

    .

    B) No Linux é necessário que um processo já existente se duplique para que a cópia possa ser atribuída a uma nova tarefa. Quando isso ocorre, o processo copiado passa a ser identificado como Parent Process Identifier.

    Incorreta, o processo criado passa a ser idenficado como process-filho e o seu Parente Process Identifier ( PPID) aponta para o seu processo-pai;

    C) Quando um processo recebe um determinado sinal, tal como o KILL, e não conta com instruções sobre o que fazer com ele, o próprio Linux executa a ação de acordo com suas rotinas.

    CORRETA, GABARITO DA QUESTÃO, sinal default enviado pelo KILL é o TERM, um 'carinha' bem de boas que pede cordialmente que tal processo encerre suas atividades, então o sistemas executa ou não a ação de acordo com a rotina do sistema;

    .

    D) O comando KILL usado isoladamente, se converterá, por padrão, no sinal TERM para assegurar que ele não seja ignorado pelo processo.

    Incorreta, conforme explicado acima - alternativa C- o TERM é cordial, por sua SIGKILL é o sinal agressivo que não pode ser ignorado;

    .

    E) Quando um processo é criado significa que ele será imediatamente executado e não poderá ser paralisado, a não ser que o sistema emita o sinal SEGV que instrui o processador para executar um processo prioritário.

    Incorreta, criar um processo não significa que ele será executado imediatamente e poderá sim ser paralisado por outros processos


ID
754474
Banca
Marinha
Órgão
Quadro Complementar
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Todo software passível de rodar em um computador, muitas vezes incluindo o próprio sistema operacional é organizado como um conjunto de processos sequenciais, ou simplesmente processos. Com relação a esses processos analise as afirmativas abaixo, e assinale a opção correta.
I - No UNIX, processos são criados pela chamada de sistema FORK, cuja execução cria um processo idêntico àquele que o chamou. Após o FORK, o processo pai para e espera que o processo filho seja encerrado, para então continuar sua execução do ponto onde ele parou.
II - Os processos podem estar em três estados: rodando, pronto ou bloqueado.
III- Para implementar o modelo de processo, o sistema operacional deve manter uma tabela chamada Tabela de Processos, com uma entrada para cada processo.

Alternativas
Comentários
  • Complementando a letra (A), segundo Tanebaum:

    Depois da FORK, os dois processos, o pai e o filho, têm a mesma imagem de memória, as mesmas vairáveis de ambiente e os mesmos arquivos abertos.

  • Após o Fork, o processo pai continua rodando em paralelo com o filho


ID
754540
Banca
Marinha
Órgão
Quadro Complementar
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

As situações em que dois ou mais processos estão acessando dados compartilhados e o resultado final do processamento depende de quem executa primeiro, são denominados Condições de Corrida. A parte do programa, cujo processamento pode levar às condições de corrida é denominada região crítica ou seção critica. Em relação aos conceitos de processos, Condições de Corrida e seção crítica é correto afirmar que

Alternativas
Comentários
  • O gabarito é a letra D.

     

    Deadlock refere-se a uma situação em que ocorre um impasse, e dois ou mais processos ficam impedidos de continuar suas execuções - ou seja, ficam bloqueados, esperando uns pelos outros. Na prática, ocorre com um conjunto de processos e recursos não-preemptíveis, onde um ou mais processos desse conjunto está aguardando a liberação de um recurso por um outro processo, o qual, por sua vez, aguarda a liberação de outro recurso alocado ou dependente do primeiro processo.


ID
760651
Banca
FUMARC
Órgão
TJ-MG
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Analise as seguintes afrmativas sobre fundamentos de sistemas operacionais.

I. Um processo é basicamente um programa em execução. Associado a cada processo está o seu espaço de endereçamento que contém código executável, dados, pilha e heap.
II. A multitarefa preemptiva possibilita a execução simultânea de mais de um processo.
III. No escalonamento por alternância circular, também conhecido por Round-Robin, cada processo recebe uma quantidade de tempo limitada do processador e se não concluir antes de seu tempo terminar, o sistema passará o processador para o próximo processo na fla.

Assinale a alternativa CORRETA:

Alternativas
Comentários
  • Com relação ao item I, fiquei na dúvida se heap estará ligado 'a cada processo', ou como
    percebi em Tanenbaum, associado a cada processo:
    Pilha: É a região de armazenamento dinâmico do programa. Passagem de parâmetros para funções,
    salvamento de registradores, funções recursivas,todos dependem da Pilha.
    Texto: É o código executável do programa (que contém as instruções)
    Data: Região aonde ?cam as variáveis inicializadas.

    E o heap seria compartilhado por todos os processos.
  • Essa questão é parecida com uma do CESPE.

    A resposta para o item II estar errado é:
    Preempção e Multitarefa são coisas distintas

    Multitarefa X Preempção: diferenças
    • Multitarefa: executa mais de um programa ao mesmo tempo.
    • Preempção: um processo compulsoriamente é retirado do CPU para que outro processo seja executado.
  • Creio que o erro da assertiva 2 é o trecho "execução simultânea de mais de um processo". 
    Como a questão não especificou o numero de processadores/núcleos, tomamos por base um unico processador/núcleo, que executa UMA única tarefa por vez, dando-nos a ilusão de execução simultânea, ou seja, um após o outro, não todos de uma vez.
     
    Fonte: http://pt.wikipedia.org/wiki/Multitarefa
  • Errado o segunda opção:

    A cada instante de CPU, ela executa apenas um processo. No decorrer de 1 segundo ela pode trabalhar em mais de um processo, dando a ilusão de paralelismo. Esse paralelismo é chamado de pseudoparalelismo para constratar com o verdadeiro paralelismo de hardware dos sistemas multiprocessadores.
  • Multitarefa preemptiva não pode ser aplicada em multiprocessador? O item II falou "possibilita" e não "necessariamente".

  • Concordo com o flashfs '.

     

    Se a II fosse falsa, a multitarefa preemptiva não possibilitaria a execução simultânea de mais de um processo, o que não faz sentido.

     

    Na minha opinião, gabarito deveria ser D.

  • Concordo com o Sávio e com o flashfs. Não diz que garante, diz que POSSIBILITA. 

  • I - Certo.

    II - Errado. O multiprocessamento possibilita a execução simultânea de mais de um processo.

    III - Certo.


ID
800722
Banca
Exército
Órgão
EsFCEx
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Uma situação de livelock envolvendo dois processos difere de uma situação de deadlock porque:

Alternativas
Comentários
  • livelock (situação na qual uma unidade concorrente não consegue terminar a execução ou entrar em uma seção crítica por excesso de trabalho ou falta de velocidade; difere de deadlock por estar ativa e não bloqueada ou aguardando algo).

  • Uma thread geralmente age em resposta à ação de uma segunda thread.
    Se a ação da segunda thread também é uma resposta à ação da primeira thread, pode-se dar origem a um LIVELOCK.
    Tal como acontece com o deadlock, as threads vivas são incapazes de avançar.
    No entanto, elas não são bloqueadas - elas estão simplesmente muito ocupadas respondendo umas as outras para retomar o trabalho.

  • GABARITO A

    Segundo Tanenbaum,

    Livelock

    "Em algumas situações, um processo tenta ser educado abrindo mão dos bloqueios que ele já adquiriu sempre que nota que não pode obter o bloqueio seguinte de que precisa. Então ele espera um milissegundo, digamos, e tenta de novo. Em princípio, isso é bom e deve ajudar a detectar e a evitar impasses. No entanto, se o outro processo faz a mesma coisa exatamente no mesmo momento, eles estarão na situação de duas pessoas tentando passar uma pela outra quando ambas educadamente dão um passo para o lado e, no entanto, nenhum progresso é possível, pois elas seguem dando um passo ao lado na mesma direção ao mesmo tempo.

    [...] É claro, nenhum processo é bloqueado e poderíamos até dizer que as coisas estão acontecendo, então isso não é um impasse. Ainda assim, nenhum progresso é possível, então temos algo equivalente: um livelock."

    FONTE: Tanenbaum


ID
810973
Banca
COPESE - UFT
Órgão
DPE-TO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

"É a situação em que um processo nunca consegue executar a sua região crítica e, consequentemente, acessar o recurso compartilhado.". Marque a alternativa CORRETA que define o conceito apresentado:

Alternativas
Comentários
  • Postergação indefinida==inanição==starvation

    processo morreu de fome, cuidado para não confundir com deadlock.


ID
813472
Banca
AOCP
Órgão
TCE-PA
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

O escalonamento de processos é uma função

Alternativas
Comentários
  • O escalonamento, controle do compartilhamento de recursos computacionais de um sistema, é uma função essencial dos sistemas operacionais. A CPU, um dos principais recursos do sistema, deve ser compartilhada entre os diversos processos, através do escalonador de CPU, de forma a otimizar o uso deste recurso.


    Silberschatz, cita vários critérios para o escalonamento da CPU (critérios para avaliar os diversos algorítmos de escalonamento de CPU):

    - uso da CPU: é desejável maximizar o uso da CPU

    - throughput: forma de medir o uso da CPU através do número de processos concluídos por unidade de tempo; por exemplo: nº de processos por hora (processos de longa duração) ou por segundo (transações curtas).

    - turnaround time: definido como o tempo total que um determinado processo gasta nas seguintes atividades:
            * aguardando ser carregado em memória
            * aguardando na fila dos processos prontos para execução ("waiting time")
            * em execução (usando a CPU)
            * efetuando operações de entrada e saída (E/S ou I/O)

    - waiting time: tempo que um processo aguarda na fila dos processos prontos para executar (é um dos itens medido no "turnaround time")

    - response time (tempo de resposta): é o tempo decorrido entre a submissão de uma requisição até o início da produção da primeira resposta (é o tempo que leva para começar a responder e não o tempo gasto na exibição da resposta)


    É desejável maximizar: o uso da CPU, o throughput - e minimizar: turnaroud time, waiting time, response time.

  • c-

    O escalonamento de processos (scheduling) é feito pelo escalonador da CPU ou de um sistema distribuído, executando processos concorrentes e os priorizando. 

    https://pt.wikipedia.org/wiki/Escalonamento_de_processos

     

    A decisao do escalonador pode ser varios fatores- tempo, prioridade, tamanho etc. Um dos objetivos do escalonador é sempre manter CPU ocupado com alguma coisa (processo)  == maximizar uso de CPU. Varios programas na memoria ajuda escalonamento, aplicando o conceito de load balancing.


ID
818008
Banca
FAPERP
Órgão
TJ-PB
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Frequentemente dois ou mais processos podem acessar dados compartilhados, sendo que o resultado obtido é influenciado pela ordem de execução de cada processo. Um dos problemas que podem ocorrer durante a comunicação entre processos é a situação de Starvation.

Assinale a alternativa que descreve corretamente esta situação.

Alternativas
Comentários
  • Gabarito A

    A situação de starvation está presente quando o sistema operacional provê prioridades a processos, que não atualizados fazem com que os processos de menor prioridade nunca sejam executados causando assim, deficiência em servidores de impressão e etc.

     

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

  • Caramba, conceito muito similar ao de deadlock.

     

    Muito fácil se confundir na hora da prova.

  • Verdade Sávio Carneiro,

     

    Segue a diferença:

     

    Deadlock: Os processos estão bloqueado e nunca obtêm o recurso;

     

    Starvation: Os processos estão em execução ou em prontos, mas nunca obtêm o recurso.

     

     

    Att,

    Foco na missão


ID
853480
Banca
ESAF
Órgão
MDIC
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Nos sistemas multiprogramáveis,

Alternativas
Comentários
  • Os sistemas multiprogramáveis ou multitarefa são uma evolução dos sistemas monoprogramáveis.



    Neste tipo de sistema, por exemplo, enquanto um programa espera por uma operação de leitura ou gravação em disco, outros programas podem estar sendo processados neste mesmo intervalo de tempo. Nesse caso, podemos observar o compartilhamento da memória e do processador. O sistema operacional se preocupa em gerenciar o acesso concorrente aos seus diversos recursos, como memória, processador e periféricos, de forma ordenada e protegida, entre os diversos programas.

    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.


    A partir do número de usuários que interagem com o sistema operacional, podemos classificar os sistemas multiprogramáveis como monousuário ou multiusuário.


    Sistemas multiprogramáveis monousuário são encontrados em computadores pessoais e estações de trabalho, onde há apenas um único usuário interagindo com o sistema. Neste caso, existe a possibilidade de execução de diversas tarefas ao mesmo tempo, como a edição de um texto, uma impressão e o acesso à Internet.


    Sistemas multiprogramáveis multiusuário são ambientes interativos que possibilitam a diversos usuários conectarem-se ao sistema simultaneamente.


    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/

  • e-

    Contexto de software - determina limites de recursos alocados ao processo (.e.g.: memoria, arquivos abertos priorifade etc)

    contexto de hardware - conteudo dos registradores como stack, contador do programa, status

    espaço de endereçamento - instrucoes que o processo vai executar

  • Contexto de Hardware: .: Conteúdo dos registradores da UCP;

    Contexto de Software: Identificação; Quotas; Privilégios;

    Espaço de Endereçamento .: Área de memória pertencente ao processo.

    .

    .

    .

    .

    At.te

    Foco na missão


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

Segundo Tanenbaum, são três os estados possíveis de um processo: pronto, em execução e bloqueado. Com relação a esses estados, assinale a alternativa incorreta.

Alternativas
Comentários
  • A) Pronto: o processo terminou sua execução.


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

A gerência de processos é uma das principais funções de um sistema operacional, possibilitando aos programas alocar recursos, compartilhar dados, trocar informações e sincronizar suas execuções. Sobre processos, marque a alternativa incorreta.

Alternativas
Comentários
  • Um processo inclui:
    – seção de texto
    – atividade corrente (contador de programa e
    registradores)
    – pilha
    – seção de dados
  • Um Processo possui 3 partes:

     

    1 - Contexto de Software

    2 - Contexto de Hardware

    3 - Espaço de Endereçamento

     

    @papirobizurado


ID
885064
Banca
CESPE / CEBRASPE
Órgão
ANP
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Acerca de sistemas operacionais, julgue os itens a seguir.

Um novo processo pode ser criado e executado, podendo ser terminado por diversas condições voluntárias, entre elas o cancelamento por outro processo.

Alternativas
Comentários
  • Mais cedo ou mais tarde o novo processo terminará, normalmente em razão de alguma das seguinies condições:
    1. Saída normal (voluntária)
    2. Saída por erro (voluntária).
    3. Erro fatal (involuntário).
    4. Cancelamento por um outro Processo (involuntário).
    Fonte: TANENBAUM, Andrew S.; Sistemas Operacionais Modernos, Prentice Hall Brasil, 2ª Edição, 2003.
  • Um bom exemplo de um processo destinado a causar a interrupção de outro processo é o comando do Unix/Linux kill.
  • ERRADA:    O cancelamento por outro programa é involuntária
  • Complementando Adolpho Igor, no Unix/Linux temos a chamada de sistema kill, já no Win32 a chamada correspondente é a TerminateProcess.

    Interessante lembrar que em ambos os casos o processo que for  cancelar o outro precisa ter a devida autorização para faze-lo.

  • É uma questão de Interpretação, APENAS.

    "Cancelamento por outro processo" NÃO É VOLUNTÁRIO.

     


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

Um processo passa por uma série de estados de processo distinto. Em relação aos estados de transição de processos, assinale abaixo a alternativa incorreta,

Alternativas
Comentários


  • Alem dos processos acima, podemos ter o estado de "Criaçao" e "Finalizado"; Perceba que um processo no estado de pronto, só pode passar para o estado executanto, o que torna a assertiva a) incorreta, ou seja, ela devera ser marcada como gabarito para a questão! []s
  • Perfeito Raciocínio do colega acima.
    Uma dúvida

    b) Quando um processo é despachado, ele transita de "pronto" para "em execução".

    O que siginifica o termo "despachado"?
  • Em alguns sistemas operacionais o estado de "bloqueado" pode ser chamado de "espera" . 

  • Os processos tem 3 estágios comuns:

    Pronto, Execução, Bloqueado

    Despachar é a ação que o escalonador toma ao retirar um processo de sua fila de pronto e o coloca em execução.

    - Um processo na fila de pronto SOMENTE poderá ir para o estágio execução(Pronto -> execução);

     

    Um processo sai do estagio execução se:

    - Terminar;

    - Seu quantum expirar; Nesse caso ele transita para fila de pronto e aguarda ser despachado novamente.

    - Se ocorrer um evento. Nesse caso ele transita para pronto e aguarda o término evento;

    - Se depender de algum recurso para terminar sua execução. Nesse caso ele transita para bloqueado e aguarda seu recurso.

     

    @papirobizurado

  • A) Quando um evento ocorre, ele transita de "pronto" para "bloqueado".


ID
960973
Banca
Marinha
Órgão
Quadro Técnico
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Na comunicação entre processos, que solução de exclusão mútua tem a característica de precisar de espera ociosa para evitar condições de disputa?

Alternativas
Comentários
  • Instrução TSL (Test and Set Lock): 


    - Instrução especial que permite ler uma variável, armazenar seu conteúdo em uma outra área e atribuir um novo valor a esta variável (hardware).


    - É uma instrução indivisível: executada sem interrupção.


    - Variável compartilhada flag: quando flag = 0, qualquer processo pode fazê-a igual a 1 (instrução TSL).
  • A) TSL(test and Set Lock): Usa uma variável de trava compartilhada(LOCK), para coordenar o acesso à memória compartilhada. Lock= 0(Livre), Lock=1(Impede acesso à memória compartilhada). Quando o processo termina, ele coloca a variável LOCK=0.

    Para impedir o acesso à memória, ele desabilita interrupções no processador. Porém desabilitar interrupções no processador 1 não evita interrupções no processador 2, no caso de um sistema multiprocessador. O modo de evitar esse problema é impedir o barramento, o que requer uso hardware especial.

     

    @papirobizurado

  • a)Instrução TSL (Test and Set Lock) - Exclusão Mútua com Espera Ociosa

    b)Semáforo - Exclusão Mútua com Bloqueio

    c)Mutex (Mutual Exclusion) - Exclusão Mútua com Bloqueio

    d)Monitor - Exclusão Mútua com Bloqueio

    e)Troca de mensagens - Não é uma solução de Exclusão Mútua

  • a) Instrução TSL (TEst and Set Lock) : Espera Ocupada (busy wait)
    Possibilidade de postergação infinita (starvation), "processo azarado" sempre pega a variável LOCK com o valor 1.

  • Instrução TSL (Test and Set Lock): é uma solução de exclusão mútua com espera ociosa para evitar condições de disputa.

    Locks mutex

    - São considerados ferramentas de sincronização.

    - É usado para proteger regiões críticas e, assim, evitar condições de corrida.

    - Libera o lock quando sai da seção crítica.

    - É uma solução de Exclusão Mútua com Bloqueio

    Monitor: é uma coleção de rotinas, de variáveis e de estruturas de dados, agrupados em um tipo especial de módulo ou pacote que permite que, em um dado momento, somente um processo ativo execute um de seus procedimentos, implementando a exclusão mútua.

    Semáforos:

    - Forneçam um mecanismo eficaz para a sincronização de processos;

    - Usá-los incorretamente pode resultar em erros de timing difíceis de detectar.

    - Pode se comportar de modo semelhante a um lock mutex,

    - Um semáforo é uma variável inteira que, exceto na inicialização, é acessada apenas por meio de duas operações atômicas padrão: wait e signal

    - É uma solução de Exclusão Mútua com Bloqueio

    Alternativa: A


ID
977323
Banca
CETRO
Órgão
ANVISA
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com base nos processos em sistemas operacionais e as condições válidas para a ocorrência de condições de corrida (race conditions), analise as assertivas abaixo.

I.Os processos devem ocupar simultaneamente a região crítica.
II. Nenhum processo sendo executado fora da região crítica pode bloquear outros processos.
III. As soluções devem levar em conta o número de processadores (CPU) e suas velocidades de processamento.É correto o que se afirma em :

Alternativas
Comentários
  • Segundo Tanembaum , existem 4 condições para que processos paralelos utilizem recursos compartilhados :

     

    " 1. Dois processos nunca podem estar simultâneamente em suas regiões críticas.

    2. Nada pode ser afirmado sobre a velocidade ou sobre o número de CPUs.

    3. Nenhum processo executando fora de sua região crítica pode bloquear outros processos.

    4. Nenhum processo deve esperar eternamente para entrar em sua região crítica."

     

    [Fonte : Sistemas Operacionais Modernos, 3ª ed. , - Tanembaum, pág. 71 ]


ID
977326
Banca
CETRO
Órgão
ANVISA
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Se um produtor envia um sinal de despertar (wakeup) para um consumidor que não esteja logicamente bloqueado, ambos podem ser permanentemente bloqueados. Assinale a alternativa que apresenta uma correção para essa situação.


Alternativas
Comentários
  • Que questão é essa de Sistemas Operacionais?

  • Pg 89 desse livro:

    Sistemas Operacionais: Projetjos e Implementação

    By Andrew S. Tanenbaum, Albert S. Woodhull

  • Faltou a banca (ou o Qconcursos) contextualizar a questão.


ID
1035232
Banca
CESPE / CEBRASPE
Órgão
PEFOCE
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

A respeito de princípios de sistemas operacionais, julgue os próximos itens

Processo é o ambiente em que a execução de um programa — até o final e sem interrupções — é garantida pelo sistema operacional.

Alternativas
Comentários
  • Em sistemas operacionais, processo é um módulo executável único, que corre concorrentemente com outros módulos executáveis. Durante a execução desses processos podem haver interrupções de hardware que são geradas por algum dispositivo externo à CPU, como teclado ou controlador de disco, são também chamadas de interrupções assíncronas (ocorrem independentemente das instruções que a CPU está executando. Quando ocorre uma interrupção, a CPU interrompe o processamento do programa em execução e executa um pedaço de código (tipicamente parte do sistema operacional) chamado de tratador de interrupção. Em muitos casos, após a execução do tratador, a CPU volta a executar o programa interrompido.

  • Um sistema operacional não tem como garantir que não haja interrupções em um processo em execução, justamente pelos fatos apresentados pelo Fernando Teles. Sendo assim, a assertiva está ERRADA.

  • Dependerá se o processo será preemptivo ou não preemptivo...

    .

    .

    .

    .

    At.te

    Foco na missão


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

Julgue os itens subseqüentes, acerca de sistemas operacionais.

Há sistemas operacionais nos quais os blocos de controle dos processos (PCBs) são mantidos em listas associadas aos estados dos processos. Além disso, quando o escalonador do processador precisa escolher um processo para por em execução, escolhe-se um processo em uma das listas de processos bloqueados.

Alternativas
Comentários
  • A primeira afirmação está correta: "Há sistemas operacionais nos quais os blocos de controle dos processos (PCBs) são mantidos em listas associadas aos estados dos processos."

    Já a segunda afirmação está errada, pois o escalonador de processos (em particular o escalonador de CPU ou short-term scheduler), ao trocar o processo em execução, escolhe o um processo que esteja no estado "pronto para executar" (ou "ready").


ID
1044217
Banca
CETRO
Órgão
ANVISA
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação aos sistemas operacionais, analise as assertivas abaixo.

I. Uma variável do tipo semáforo tem a propriedade da exclusão mútua, ou seja, apenas um processo pode estar ativo em um semáforo.

II. Uma variável do tipo Monitor tem o valor 0 (zero), indicando que nenhum sinal para despertar foi salvo, ou um valor positivo, caso um ou mais sinais para despertar estejam pendentes.

III. Uma variável do tipo Mutex é boa apenas para gerenciar a exclusão mútua de algum recurso ou parte do código compartilhado.

É correto o que se afirma em:

Alternativas
Comentários
  • Não entendi muito bem a redação, mas acredito que o II se refira ao Semáforo e o I ao Monitor.

     

    Monitor é equivalente ao SyncLock do C#. Ele permite que apenas uma thread use alguma variável ao mesmo tempo

    .

    Semáforo é uma variável de controle de um recurso. Um processo só pode acessar um recurso se a contagem do semafóro for positiva. Ao ser inicializado o semáforo recebe uma quantidade X, que é decrementada a cada vez que o acesso ao recurso é garantido, e incrementada quando o recurso é liberado. Ao tentar acessar um recurso, se o valor do semáforo for zero, o processo é colocado numa fila, até que algum processo sinalize sua liberação.

     

    Mutex é o semáforo binário.

     

  • GABARITO: C

    I. Uma variável do tipo semáforo tem a propriedade da exclusão mútua, ou seja, apenas um processo pode estar ativo em um semáforo. Monitor

    Apenas um processo pode estar ativo em um monitor em qualquer dado instante.

    II. Uma variável do tipo Monitor tem o valor 0 (zero), indicando que nenhum sinal para despertar foi salvo, ou um valor positivo, caso um ou mais sinais para despertar estejam pendentes. Semáforo


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

Os sistemas operacionais precisam de mecanismos para criar processos. Há quatro eventos principais que fazem com que processos sejam criados. (Tanenbaum, 2009). Estes eventos são, exceto:

Alternativas
Comentários
  • Eventos que levam a criação de processos:

    Início do sistema.

    Execução de chamada de criação de processo por um processo em execução.

    Requisição do usuário para criar um novo processo.

    Início de uma tarefa em lote (batch job). 

  • "Há  quatro eventos principais que fazem  com que processos sejam criados: 

    1. Início 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 do usuário para criar um novo processo. 

    4. lnício de uma  tarefa em lote  (batch job)."

    TANENBAUM. Andrews S. Sistemas Operacionais Modernos. 3. ed. São Paulo: Pearson, 2010. 

  • Alternativa c), pois segundo o livro de Tanenbaum, o correto seria requisição do usuário para criar um novo processo.


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

“Processos que ficam em background com a finalidade de lidar com alguma atividade, como mensagem eletrônica, páginas da web, notícias, impressão, entre outros.” A descrição anterior refere-se a

Alternativas
Comentários
  • 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. 

  • C) daemons.


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

Julgue os itens subsequentes com relação ao Linux.

O escalonador de processos Linux tem como meta executar todas as tarefas em uma quantidade razoável de tempo e respeitar as prioridades de tarefas, manter alta utilização e o rendimento de recursos e reduzir a sobrecarga de operações de escalonamento.

Alternativas
Comentários
  • "tem como meta executar todas as tarefas em uma quantidade razoável de tempo" - Esse trecho me fez errar a questão. Acredito que o mais adequado seria "tem com meta executar todas as tarefas no menor tempo possível"

  • John, a questão não está errada. O termo razoável eh muito amplo e relativo, mas remete, no contexto da questão, a execução aceitável, o que pode ser a um tempo menor. Razoável é uma palavra q significa racional, aceitável, plausível. Não vejo erro na questão.


ID
1095088
Banca
FUMARC
Órgão
Prefeitura de Belo Horizonte - MG
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Analise as seguintes afirmativas sobre sistemas operacionais.

I. A utilização de uma área temporária de disco para permitir que o processador execute outras tarefas enquanto que os dispositivos de E/S manipulam os dados é uma técnica conhecida como Spooling.

II. Reentrância é a capacidade do sistema operacional de trazer o código executável para memória uma única vez e compartilhá-lo por diversos processos.

III. O multiprocessamento possibilita a execução simultânea de mais de um processo.

Estão CORRETAS as afirmativas:

Alternativas
Comentários
  • A assertiva I está errada. O nome da técnica é swapping.

    Portando o gabarito correto deveria ser a letra C.

  • Colega Vulgo Jhow está CORRETO, não foi requerido recurso referente à questão. A assertiva I é SWAPPING.

    GABARITO LETRA C!

  • Spooling ou simplesmente Spool (do acrônimo Simultaneous Peripheral Operations On-line) refere-se a um processo de transferência de dados colocando-os em uma área de trabalho temporária onde outro programa pode acessá-lo para processá-lo em um tempo futuro. Um exemplo clássico é o spool de impressão.

    Swaping é uma técnica de gerência de memória, onde o sistema escolhe um programa residente que é levado da memória para o disco

  • Acho que o gabarito tá errado.

    A assertiva I está errada. O nome da técnica é swapping.

    Portando o gabarito correto deveria ser a letra C.


ID
1095130
Banca
FUMARC
Órgão
Prefeitura de Belo Horizonte - MG
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em sistemas operacionais multiprogramáveis, os processos podem assumir diferentes estados. Os três estados mais importantes de um processo são em EXECUÇÃO; PRONTO e em ESPERA. Um processo muda de estado a todo momento, devido aos eventos que ocorrem durante a sua execução, mas nem toda transição pode ocorrer. São transições de estado possíveis para um processo, EXCETO:

Alternativas
Comentários
  • Gabarito Letra B

    Novo -  O processo está sendo criado (Passa para o estado de Pronto);

    ProntoO processo está esperando ser atribuído a um processador (Passa para o estado de Em Execução);

    Em ExecuçãoInstruções estão sendo executadas (Passa para o estado de Em Espera (evento),  Pronto (interrupção), ou Encerrado;)

    Em Espera - O processo está esperando que algum evento ocorra, tipo I/O. (Passa para o estado de Pronto);

    Encerrado - O processo terminou sua execução.

  • Gabarito: B.

     

    O processo sempre passará para o estado Pronto antes de ser executado.

     

    Portanto, não existe a passagem direta de Espera para Execução.


ID
1095940
Banca
CAIP-IMES
Órgão
Câmara Municipal de São Caetano do Sul - SP
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Durante a execução de um sistema operacional, em parte do tempo um processo está ocupado realizando um processamento que não resultará em condição de corrida, por não estar manipulando dados ou arquivos compartilhados. No entanto, em outros momentos, o processo pode estar acessando uma parte da memória ou arquivo compartilhado com outros processos. Esta parte do programa, cujo processamento pode levar à ocorrência de condições de corrida, é denominada:

Alternativas
Comentários
  • O processo pode acessar uma parte da memória ou um arquivo compartilhado com outros processos ou realizando algum outro tipo de tarefa crítica que possa vir a levar a ocorrência de condições de corrida.


    Esta parte do programa, cujo processamento pode levar à ocorrência de condições de corrida, é denominada região crítica ou seção crítica. Se pudermos arranjar as coisas de forma que não seja nunca permitido que dois ou mais processos estejam processando suas seções críticas correspondentes ao mesmo tempo, poderemos evitar a ocorrência das condições de corrida.


    http://monografias.brasilescola.com/computacao/processos-solucoes-software.htm


ID
1095943
Banca
CAIP-IMES
Órgão
Câmara Municipal de São Caetano do Sul - SP
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Todos os computadores modernos podem fazer várias coisas ao mesmo tempo. Para que o sistema operacional possa manter vários processos sequenciais ativos em uma máquina com apenas um processador e diversos dispositivos de entrada/saída, associa-se à cada classe de dispositivo uma informação armazenada em um endereço normalmente situado na parte baixa da memória, chamada ____________________, que contém o endereço de serviço da interrupção referente a uma particular classe de dispositivos.

Alternativas
Comentários
  • O vetor de interrupção é uma tabela de endereços de memória que apontam para as rotinas de tratamento de interrupção. Quando uma interrupção é gerada, o processador salva o seu estado atual e começa a executar o tratamento de interrupção apontado pelo vetor.


    Em muitas arquiteturas, o vetor de interrupção fica localizado no início do espaço de memória, a partir do endereço 0. Nos pcs, o vetor de interrupções ocupa os primeiros 1024 bytes. 



    http://pt.wikipedia.org/wiki/Vetor_de_interrup%C3%A7%C3%B5es

  • b-

    IDT (interrupt descriptor table) é um array de descritores que associa interrupts e exceptions aos seus ISRs, auxiliando o CPU para saber qual rotina executar quando receber interrupcao. Cada descritor tem 8 bytes e o IDT pode ter max. 256 descritors.


ID
1109905
Banca
VUNESP
Órgão
EMPLASA
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema operacional moderno desempenha diversas funções. A função que é responsável pela proteção da memória, impedindo que um processo utilize um endereço de memória que não lhe pertença, dentre outras, tem a denominação de;

Alternativas
Comentários
  • Gabarito A

    A cada dia que passa os programadores necessitam de mais memória e mais programas rodando simultaneamente para poderem tratar cada vez mais informações. O tratamento necessário da memória utilizada não é uma tarefa fácil de ser implementada. Existem vários requisitos que devem ser observados para o correto funcionamento, tais como, segurança, isolamento, performance, entre outros. Para isto a função de gerenciar a memória passa a ser do sistema operacional e não mais do aplicativo.

    Para que uma memória funcione de maneira correta, é necessário que se tome cuidado com vários elementos como segurança e isolamento, e para isso é utilizado o gerenciamento de memória. Este desenvolve sua função a partir de duas tarefas, a Alocação de Memória e a Fragmentação:

    A Alocação pode ser tanto estática, feita quando o programa é compilado, e a dinâmica, adiada até a execução.

    A Fragmentação, desperdício de memória, por sua vez pode ser interna, sobra na memória reservada ao programa, e externa que acontece quando após o termino dos programas são deixadas pequenas lacunas entre as páginas.

    Para que a utilização da memória seja mais vantajosa, é utilizada a Paginação, processos virtuais da memória, aplicados na divisão da memória física em partições menores, chamadas de frames. O conjunto de registradores especiais rápidos chama-se Translation Lookaside Buffer, estes são subdivididos em chave valor que lhe é dado em todos os registradores ao mesmo tempo, e valor.

    Existe uma técnica de gerencia de memória chamada memória virtual, que é onde memórias principais e secundárias juntas criam a ilusão de que há muito mais memória, com isso os programas e suas estruturas de dados não se limitam ao tamanho da memória física, e assumem endereços na memória secundária. O gerenciamento de memória virtual pode ocasionar vazamento de memória, ou seja, quando determinada quantia de memória é alocada e não liberada mesmo que não sendo utilizada, assim dados perdem a referencia sem ao menos terem usado memória. O gerenciamento automático chama-se Garbage collector. Ele retira os blocos de memória automaticamente. Seus algoritmos são divididos em duas famílias: a Identificação direta, por contagem de referência, e a Identificação indireta, por varrimento.

     

     

     

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


ID
1118176
Banca
CESGRANRIO
Órgão
FINEP
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com o surgimento da multiprogramação, a gerência do processador se tornou uma das atividades mais importantes dos sistemas operacionais. A política de escalonamento define os critérios utilizados para a seleção do processo que será escolhido para fazer uso do processador. Um dos objetivos é reduzir o tempo de turnaround do processo, que é o tempo;

Alternativas
Comentários
  • turnaround:  é o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execução;  tempo de resposta: intervalo entre a chegada ao sistema e inicio de sua execução;  tempo de espera: soma dos períodos em que o programa estava no seu estado pronto.

  • Tempo de turnaround tbém chamado de tempo de retorno = tempo de término – tempo de chegada

    Tempo de chegada: momento em que o processo entra na fila de Pronto.
    Tempo de término: momento em que o processo conclui a sua Execução.

    Letra D.

  • Gabarito D

    Para que a CPU não fique muito tempo sem executar tarefa alguma, os sistemas operacionais utilizam técnicas para escalonar os processos que estão em execução na máquina.

    O escalonamento de processos é uma atividade complicada já que nenhum algoritmo é totalmente eficiente e a prova de falhas, principalmente em se tratando de sistemas interativos, como o Microsoft Windows. Nos sistemas interativos a interação com o usuário é fundamental já que quem o utiliza busca respostas rápidas e, a todo o momento, processos são interrompidos pelo usuário.

    Escalonamento é muito atuante nos sistemas em tempo real, onde o tempo é um fator extremamente crítico, como: aviões, hospitais, usinas nucleares, bancos, multimídia, etc. Em ambientes como estes, quando um sistema tem respostas com atraso, é tão ruim quanto não obter. Tipos de sistemas em tempo real:

    Hard Real Time onde atrasos não são tolerados (aviões, usinas nucleares, hospitais);

    Soft Real Time quando atrasos são tolerados (Bancos, Multimídia).

    O escalonador do SO utiliza alguns critérios de escalonamento, como:

    a taxa de utilização de CPU, que é a fração de tempo durante a qual ela está sendo ocupada;

    throughput que são números de processos terminados por unidade de tempo;

    turnaround que é o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execução;

    tempo de resposta: intervalo entre a chegada ao sistema e inicio de sua execução;

    tempo de espera: soma dos períodos em que o processo estava no seu estado pronto.

    OS responsáveis por essa tarefa são algoritmos de escalonamento. Os sistemas operacionais utilizam combinações deles para melhor escalonar os processos.

     

     

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


  •  

    2015

    Tempo de turnaround é o tempo total que um processo permanece na fila, durante o seu processamento, enquanto aguarda para ser executado.

    Errada

     

    2017

    Na gerência do processador, é denominado tempo de turnaround o tempo total

     a) que um processo permanece no estado de execução.

     b) que um processo consome desde a sua criação até seu término, considerando-se o tempo gasto na espera para alocação de memória, no processamento e nas operações de E barra S.

     c) que um processo consome na fila de espera.

     d) que um usuário leva para executar um aplicativo.

     e) que um processo permanece na fila de pronto durante o seu processamento, enquanto aguarda para ser executado.

     


ID
1120768
Banca
CESPE / CEBRASPE
Órgão
TRT - 17ª Região (ES)
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Sistema operacional é um programa ou conjunto de programas que visa conferir operacionalidade a um computador ou a um sistema computacional qualquer. Com relação a esse tema, julgue os próximos itens.

Normalmente, para o sistema operacional, cada processo é tido como um ponto isolado que utiliza uma área de memória exclusiva e ao qual somente o referido processo e o núcleo do sistema podem acessar.

Alternativas

ID
1122031
Banca
FCC
Órgão
SABESP
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Existem maneiras de controlar a sincronização de execução de processos, como por exemplo, quando um recurso único do sistema operacional necessita ser acessado por vários processos. Uma maneira clássica se dá pelo uso de semáforos, ou quando não é necessário efetuar contagem, uma versão simplificada, chamada de

Alternativas
Comentários
  • Exclusão mútua (também conhecida pelo acrônimo mutex para mutual exclusion, o termo em inglês) é uma técnica usada em programação concorrente para evitar que dois processos ou threads tenham acesso simultaneamente a um recurso compartilhado, acesso esse denominado por seção crítica.

    Um meio simples para exclusão mútua é a utilização de um semáforo binário, isto é, que só pode assumir dois valores distintos, 0 e 1. O travamento por semáforo deve ser feito antes de utilizar o recurso, e após o uso o recurso deve ser liberado. Enquanto o recurso estiver em uso, qualquer outro processo que o utilize deve esperar a liberação.

    Porém, essa técnica pode causar vários efeitos colaterais, como deadlocks, em que dois processos obtêm o mesmo semáforo e ficam esperando indefinidamente um outro processo liberar o semáforo; e inanição, que é quando o processo nunca dispõe de recursos suficientes para executar plenamente.


    Fonte: https://pt.wikipedia.org/wiki/Exclus%C3%A3o_m%C3%BAtua

  • Locks mutex

    - São considerados ferramentas de sincronização.

    - É uma variável compartilhada que pode estar nos estados: destravado ou travado

    - É usado para proteger regiões críticas e, assim, evitar condições de corrida.

    - Libera o lock quando sai da seção crítica. 

    Alternativa: A


ID
1134880
Banca
CEFET-MG
Órgão
CEFET-MG
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um(a) _______________ pode ser dividido(a) em várias linhas com ordens específicas, que são lidas e executadas separadamente por um(a) _____________. A essas linhas dá-se o nome de ______________.

Os termos que preenchem, corretamente, as lacunas são:

Alternativas
Comentários
  • a-

    Processo é 1 programa em execução. Quando o processo é criado, o SO aloca recursos a ele, os quais sao 3 tipos:

    a- contexto de software - limites de recursos alocados ao processo como memoria, arquivos abertos, prioridade etc

    b - contexto de hardware - armazena o conteudo dos registradores tais como stack, contador status etc

    espaço de endereçamento - aramzena instrucoes que processo ira executar. Quando processo é criado, o SO cria PCB (processo control block), o qual contém pointers, estados, prioridade, registradores, limites da memoria e lista de arquivos abertos. Quemm altera o PCB é o SO. Se usuario quiser alterer PCB, ele usa system calls, portas de acesso às funcoes protegidas doo kern do SO. Thread é um subprocesso porem nao possui PCB e usa area da memoria do processo. O contexto do thread é o mesmo do processo.


ID
1211152
Banca
FCC
Órgão
TRT - 5ª Região (BA)
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um conceito fundamental para todos os sistemas operacionais é o de processo. Um processo é basicamente um programa em execução. Associado a cada processo está o...I.... , uma lista de posições de memória, que vai de 0 até um máximo, que esse processo pode ler e escrever. Essa lista de posições de memória contém o programa executável, os dados do programa e ...II... .

As lacunas I e II são preenchidas, correta e respectivamente, com

Alternativas
Comentários
  • Como o próprio enunciado afirma, todo processo possui associado a ele um espaço de endereçamento, que é o range de endereços que o processo pode usar. Esse espaço é divido ainda em 3 partes:

    *Código (texto): código do programa, que é fixo.
    *Dados do Programa: variáveis declaradas ou não declaradas no programa
    *Pilha: Armazena os apontadores do programa.
    Lembrando que entre a pilha e os dados existe uma lacuna de endereços que permitirão que a pilha e os dados cresceram em sua direção. (Por exemplo, a pilha cresceria pra baixo (maior endereço para um menor) e os dados crescem pra cima (de um menor endereço para um maior).Fonte: Provas de TI.
  • código = texto, espaço de endereçamento (inicia no endereço 0) ;

  • Um processo está associado a um espaço de endereçamento que contem programa executável, dados do programa e sua pilha.

    Alternativa: A


ID
1211155
Banca
FCC
Órgão
TRT - 5ª Região (BA)
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

É um tipo de pseudoarquivo que pode ser usado para efetuar comunicação entre dois processos. Se um processo A pretende enviar dados para o processo B, o processo A escreve em um lado (do mesmo modo que estivesse escrevendo em um arquivo) e o processo B poderá ler os dados como se estivesse lendo de um arquivo de entrada. A este pseudoarquivo dá-se o nome de

Alternativas
Comentários
  • Um pipe é uma espécie de pseudo-arquivo que pode ser usado para conectar dois processos.

    A ===== B

    Se os processos A e B quiserem se comunicar usando um pipe, eles devem configurá-lo antecipadamente. Quando o processso A quer enviar dados para B, ele escreve no pipe como se fosse um arquivo de saída e o processo B lê os dados do pipe como se fosse um arquivo de entrada.


    Fonte: Sistemas Operacionais, Tanenbaum.

  • Letra B

     

    Questão retidada da fonte abaixo:

     

    https://books.google.com.br/books?id=Z5sCbDRUBaQC&pg=PA42&lpg=PA42&dq=um+tipo+de+pseudoarquivo+que+pode+ser+usado+para+efetuar+comunica%C3%A7%C3%A3o+entre+dois+processos.&source=bl&ots=e-Z1WkXCIU&sig=Grg72M6LQx7Zw-bXIYv_eXVYjHM&hl=pt-BR&sa=X&ved=0ahUKEwi_jqDJ-L7XAhXBWpAKHcYYAgcQ6AEIMzAC#v=onepage&q=um%20tipo%20de%20pseudoarquivo%20que%20pode%20ser%20usado%20para%20efetuar%20comunica%C3%A7%C3%A3o%20entre%20dois%20processos.&f=false

     

    Sistemas Operacionais: Projetos e Implementação
    Por Andrew S. Tanenbaum,Albert S. Woodhull
    Pág. 42

  • b-

    2 processos podem se comunicar em caso de escalonamento nao-preemptivo, como o cooperativo, quando o processo termina por seus proprios meios, sem intervencao do windows. Outro caso de comunicacao entrw processos é first in first out quando houver 2 processos concorrendo por recursos do CPU.


ID
1224052
Banca
VUNESP
Órgão
DESENVOLVESP
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

O despachante de um sistema operacional é responsável por fornecer o controle da Unidade Central de Processamento a cada processo escalado. O tempo por ele gasto, desde que um processo é interrompido até que outro tenha a sua execução iniciada, é denominado

Alternativas
Comentários
  • Latência de Despacho – tempo gasto pelo despachante para interromper a execução de um processo e iniciar a execução de outro

    .

    At.te

    Foco na missão ❢ 

  • O gabarito é esse mesmo? Na apostila do estratégia está como E. Acredito que seja A mesmo, mas precisava confirmar.

     

  • turnaround  é o tempo transcorrido desde o momento em que o software entra e o instante em que termina sua execução

  • turnaround é outra coisa

     

    confia nessa apostila do estrategia nao

     

    2015

    Tempo de turnaround é o tempo total que um processo permanece na fila, durante o seu processamento, enquanto aguarda para ser executado.

    Errada





     

    2017

    Na gerência do processador, é denominado tempo de turnaround o tempo total

     a) que um processo permanece no estado de execução.

     b) que um processo consome desde a sua criação até seu término, considerando-se o tempo gasto na espera para alocação de memória, no processamento e nas operações de E barra S.

     c) que um processo consome na fila de espera.

     d) que um usuário leva para executar um aplicativo.

     e) que um processo permanece na fila de pronto durante o seu processamento, enquanto aguarda para ser executado.

     

  • Letra A.

     

    Uma aulinha rápida sobre a latência de despacho: https://www.youtube.com/watch?v=9WTHoutuAsw

     

    Turnaround, tbém chamado de "Tempo de retorno" é intervalo de tempo em que uma tarefa é submetida até a sua conclusão.
    Calcula-se como: Tempo de término – tempo de chegada.
    Porém, consideram-se aqui todos os Tempos envolvidos nos estados de: "Em execução", "Bloqueado" e "Pronto".


    Ex.: Tempo de chegada foi 0, o Tempo de execução foi 15s e tempo de bloqueio de 5s. Logo TR = 0 + 15 + 5 = 20

     

    Ressalta-se que o "Tempo de Execução" é o tempo de uso efetivamente da CPU.


ID
1264492
Banca
FUNDEP (Gestão de Concursos)
Órgão
COPASA
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

O contexto de software de um processo de sistema operacional é composto pelos seguintes grupos de informação, EXCETO:

Alternativas
Comentários
  • O contexto de software é composto por três grupos de informações sobre o processo: identificação, quotas e privilégios.

    Letra D

  • 6.2.1 – Contexto de Hardware

    Constitui-se do conteúdo de registradores

    A troca de um processo por outro na CPU, pelo sistema operacional, é denominada mudança de contexto.

    Mudança de Contexto -  salva o conteúdo dos registradores da CPU e carregá-los com os valores referente ao do processo que está ganhando a utilização do processador.


    6.2.2 – Contexto de Software

    Características do processo incluídas na execução de um programa, divididas em:

    Identificação – Principalmente número (PID) de identificação e identificação do processo ou usuário (UID) que o criou.

    Quotas – Limites de cada recurso do sistema que um processo pode alocar

    Privilégios – o que o processo pode ou não fazer em relação ao sistema e aos outros processos.


ID
1264495
Banca
FUNDEP (Gestão de Concursos)
Órgão
COPASA
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um processo de um sistema operacional que se encontre ativo pode apresentar os seguintes estados, EXCETO:

Alternativas
Comentários
  • Estados de um processo:

    - Criação (new)

    - Execução (running)

    - Espera (wait)

    - Pronto (ready)

    - Terminado (exit)

    Alternativa: C


ID
1267408
Banca
FUNDEP (Gestão de Concursos)
Órgão
IPSEMG
Ano
2013
Provas
Disciplina
Sistemas Operacionais
Assuntos

Processo é um conceito chave em sistemas operacionais. Sobre processos, é CORRETO afirmar que

Alternativas

ID
1271203
Banca
MPE-RS
Órgão
MPE-RS
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em sistemas operacionais, o modelo de processo define áreas para o espaço de endereçamento de cada processo. A área do espaço de endereçamento em que é alocada memória para as variáveis locais (automáticas) de uma função é denominada

Alternativas

ID
1272448
Banca
MPE-RS
Órgão
MPE-RS
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em um sistema operacional, existem três processos: P0, P1 e P2. Os processos P0 e P1 são de baixa prioridade, e o P2 é de média prioridade. P0 está no estado apto; P1, no estado execução; e P2, no estado bloqueado. Durante a execução de P1, P2 tornou-se apto a executar; entretanto, ele só passará a executar quando P1 realizar uma das três seguintes ações: liberar voluntariamente o processador, ou terminar sua execução, ou executar uma chamada de sistema que o passe para o estado bloqueado.

Com base nesses dados, é correto afirmar que nesse sistema operacional o tipo específico de escalonador utilizado é

Alternativas
Comentários
  • Observe que P0 já está "apto" na lista de pronto, enquanto P2 ainda está "bloqueado". Logo em seguida, P2 tornou-se "apto" entrando na lista de pronto atrás de P0. No entanto, por ter prioridade média, tende a executar antes de P0, que tem prioridade baixa. O fato de P2 não forçar uma exclusão de P1 do processador, que tem prioridade menor, é um sinal de que a política do escalonamento é não-preemptiva.


ID
1284424
Banca
FCC
Órgão
TRT - 1ª REGIÃO (RJ)
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Em um sistema operacional, uma forma típica de gerenciamento de processos que permite que mais de um programa possa ser executado ao mesmo tempo é conhecida como Multitarefa. Essa forma pode apresentar variações em sua implementação. A implementação de Multitarefa na qual o processador possui o controle sobre os programas em execução e, se um deles falhar, os outros continuam a ser executados, é denominada

Alternativas
Comentários
  • Não entendi pq não é  a letra A.




  • Multithread só garante que são várias threads ao mesmo tempo, seria uma opção bastante genérica. Não diz nada a respeito de '', se um deles falhar, os outros continuam a ser executados''. Preemptiva é o nome da técnica que faz isso.

  • Meu entendimento para preemptivo está relacionado a interrupções e não tolerância a falhas.

  • Multitarefa é a tradução de multithread.

    Ele está perguntando qual a implementação do multitarefa (ou multhread) onde se um processador falhar, os outros programas continuam a ser executados. Preemptiva entede por interrupção de um processo, o colocando em 2 plano, para executar umk outro mais importante temporariamente.. Então se um programa falhar, significa que isso não será fator para que os outros programas parem de funcionar, simplismente o processador vai executar a próxima tarefa, deixando a tarefa do programa que falhou com uma prioridade menor ou em segundo plano. Isso vai depender do tipo de algoritmmo adotado. Existem diversos algoritmos para a implemetação preemptiva, como o SJF (Shortest job first) por exemplo.

     

    As outras alternativas ou nada tem a ver ou aprestam características de não-preemptivos, que são similares a processamento em lote dos sistemas batch. Isso significa dizer que:

    o sistema operacional só processa a próxima tarefa após o término completo da tarefa anterior. (Não preemptivo)

    Em resumo, não tem como ser a alternativa A, pois ele está perguntando o tipo de implementação da alternativa A, ou seja, uma especialização desta.Certamente é a alternativa E.

     

     Este assunto é bem extenso não dá pra explicar tudo aqui. Mas tenha em mente que ele está perguntando a classificação da alternativa A e por isso a resposta não pode ser multithreading..

    Fonte: LIVRO Sistemas Operacionais com Java - Abraham Silberschatz, 7 ed

    Capítulo 5 - Escalonamento de CPU, Pag 119

  • Achei meio forçada essa afirmação. Até onde sei, multitarefa preemptiva diz respeito à interrupção de uma tarefa para executar outra é nada tem a ver com falha na execução de uma tarefa. O examinador forçou muito.

    " 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."

    Fonte: http://o-que-significa.blogspot.com.br/2009/07/multitarefa-preemptiva.html#.WO1bj_9v_xA

  • Forçou demais.


ID
1329979
Banca
FMP Concursos
Órgão
PROCEMPA
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Um sistema operacional que permite multiprogramação está rodando em uma máquina que possui um único processador. Nesse sistema operacional, ocorreu que um processo foi levado do estado de EXECUTANDO (running) para o estado de APTO (ready). Considerando que o escalonador desse sistema operacional é não preemptivo, assinale dentre as alternativas abaixo aquela que corresponde ao evento que gerou essa transição de estados.

Alternativas
Comentários
  • GABARITO: D

    Em um sistema não preemptivo, o processo não pode ser interrompido durante sua execução. Dessa forma, o processo só sai de execução pelos seguintes motivos:

    • Saída voluntária;
    • Terminou a execução;


ID
1333528
Banca
FCC
Órgão
TRT - 13ª Região (PB)
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

É um dos princípios da computação que envolve a técnica de execução de processos sem que estes estejam carregados completamente na memória do computador. Isso é possibilitado por controles e identificadores que realizam o carregamento de páginas e/ou segmentos de programas/processos, sob demanda.

Trata-se

Alternativas
Comentários
  • Memória virtual: Os arquivos de paginação nada mais são do que um espaço no disco rígido reservado para ajudar a armazenar os dados da memória RAM quando ela está cheia. É uma forma de estender a quantidade de memória para os dados temporários utilizados pelos aplicativos em execução sem que você precise fazer um upgrade de hardware.


    Fonte: http://www.tecmundo.com.br/o-que-e/1031-o-que-e-memoria-virtual-.htm

  • Gabarito: C.

     

    Questão que, utilizando a técnica de ler as alternativas antes do enunciado, parece ser mais difícil do que realmente é. Mas, depois de terminar a leitura, se mostra relativamente tranquila, solicitando o conhecimento básico de memória virtual, como o colega descreveu.

  • Memória Virtual

    - É uma técnica em que as memorias principal e secundária são combinadas dando a ilusão de existir uma memória maior que a capacidade real da memória principal.

    - Não vincula o endereço feito pelo programa dos endereços físicos da memória principal.

    - Permite um número maior de processos compartilhando a memória principal;

    - Permite a execução de programas que sejam maiores que a memória física disponível.

    - Faz com que a máquina possa executar programas com requisitos de alocação de memória que superem o tamanho da memória principal disponível;

    - Um programa pode fazer referência a endereços virtuais que estejam fora dos limites da memória principal utilizando a memória secundária.

    Alternativa: C

  • Em sistemas de compartilhamento de tempo ou computadores gráficos, às vezes, não há memória principal suficiente para armazenar todos os processos ativos. Nesse caso, uma das alternativas é a memória virtual que permite que os programas executem mesmo estando apenas parcialmente na memória principal.

    Quando a memória é atribuída dinamicamente, o sistema operacional pode gerenciá-la por meio de mapas de bits ou de listas encadeadas.

    O recurso da paginação é uma técnica de gerência de memória que permite a um programa ser espalhado por áreas não contíguas de memória. Com isso, o espaço de endereçamento lógico de um processo é dividido em unidades lógicas de tamanho fixo e a memória física é dividida em páginas com tamanho fixo, com tamanho igual ao da página lógica.

    O recurso da segmentação é uma técnica de gerência de memória em que os programas são divididos em segmentos de tamanhos variados cada um com seu próprio espaço de endereçamento.

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


ID
1340929
Banca
FGV
Órgão
TJ-GO
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Uma das funções essenciais realizadas em sistemas operacionais multitarefas é o processo de armazenar e recuperar o estado de uma CPU de forma que múltiplos processos possam compartilhar uma mesma CPU. Dessa forma, é possível que posteriormente o estado de um processo armazenado seja restaurado, fazendo com que ele retorne ao ponto que estava sendo executado no momento da substituição, dando continuidade ao seu processamento. Esse processo que permite a alternância entre processos utilizando uma CPU é comumente conhecido como:

Alternativas
Comentários
  • Gabarito C

    Em sistemas operacionais, uma troca de contexto (também conhecido como chaveamento ou mudança de contexto) é o processo computacional de armazenar e restaurar o estado (contexto) de uma CPU de forma que múltiplos processos possam compartilhar uma única instância de CPU.

     

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


ID
1386100
Banca
FCC
Órgão
TRF - 1ª REGIÃO
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Para melhor utilizar a CPU, os sistemas operacionais utilizam ... I... , que permite que vários jobs fiquem na memória ao mesmo empo, assegurando que a CPU sempre tenha um job para executar. Os sistemas ....II.... são uma extensão deste mecanismo, em que algoritmos ...III... atuam alternando rapidamente entre os jobs, dando a impressão que cada um deles está sendo executado concorrentemente.

As lacunas I, II e III são, correta e respectivamente, preenchidas por

Alternativas
Comentários
  • Um sistema operacional de tempo compartilhado utiliza o escalonamento de CPU e a muItiprogramação

    para fornecer a cada usuário uma pequena parte de um computador de tempo compartilhado.

  • A diferença entre sistemas multiprogramados e de tempo compartilhado é sutil, pois os sistemas de multitarefatambém são multiprogramados (mantêm vários programas na memória e otimizam a utilização da CPU) . Contudo, nos sistemas multitarefa (ou de tempo compartilhado), a CPU alterna entre os processos com uma frequência tão alta que permite a interação do usuário com programas enquantos eles são executados. Ou seja, sistemas de tempo compartilhado permite a comunicação constante entre o usuário e o programa. Eles criam um a ilusão que existe uma máquina está sempre disponível para qualquer processo. Podemos concluir, que o sistemas de tempo compartilhado nada mais são que uma extensão lógica da multiprogramação.

     

    http://www.itnerante.com.br/profiles/blogs/sistemas-operacionais-vis-o-geral-estrutura-e-opera-es

  • -Multiprogramação (pseudoparalelismo): muitos processos rodando em UMA ÚNICA CPU através de algoritmos de escalonamento que alternam o uso desse processador. Seu desempenho depende diretamente do SO.

    -Multiprogramação: capacidade de sincronizar e utilizar mais de uma CPU ao mesmo tempo. Seu desempenho depende tanto do SO quanto do Hardware.


ID
1391242
Banca
FCC
Órgão
TRT - 1ª REGIÃO (RJ)
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Nos sistemas operacionais modernos é permitida a comunicação entre os processos, que pode se manifestar por meio de diversos mecanismos. Um desses mecanismos é denominado

Alternativas
Comentários
  • Em computação, memória compartilhada é uma memória que pode ser acessada simultaneamente por múltiplos programas com a intenção de prover comunicação entre eles ou para evitar cópias redundantes. Dependendo do contexto, os programas podem ser executados em somente um processador ou por pelo menos dois processadores distintos. O conceito de memória compartilhada geralmente não inclui usar a memória para a comunicação de diferentes threads dum mesmo processo.


    No hardware, a memória compartilhada se refere tipicamente a grandes blocos de RAM que podem ser acessados por diferentes unidades centrais de processamento (CPU) em um sistema de multiprocessamento. Um sistema de memória compartilhada é simples de ser programado já que todos os processadores compartilham a mesma visão dos dados, e a comunicação entre processadores pode ser tão rápida quanto o acesso à memória na mesma posição


    Em software, a memória compartilhada é tanto um método de comunicação entre processos quanto um método de conservação do espaço de memória. Para o primeiro, um processo pode criar uma área na RAM que outros processos sendo executados simultaneamente pode acessar. Para o segundo, ao invés de replicar cópias de blocos de memória entre diferentes processos, há somente uma instância.


    Fonte; http://pt.wikipedia.org/wiki/Mem%C3%B3ria_compartilhada

  • Existem 2 formas fundamentais para comunicação interprocessos:


    I. memória compartilhada: processos trocam informações lendo e escrevendo dados na área de memória compartilhada.

    II. troca de mensagens: processos se comunicam através da troca de mensagens. Típico em ambientes distribuídos.


    Fonte: Sistemas Operacionais, Silberschatz, 9.ed, pg. 122 (inglês)



ID
1418260
Banca
CAIP-IMES
Órgão
Prefeitura de São Paulo - SP
Ano
2014
Provas
Disciplina
Sistemas Operacionais
Assuntos

Trata-se de um esquema de processamento computacional onde o kernel tem o controle do tempo que será usado para cada processo, e tem o poder de parar e retomar de volta este tempo e dá-lo para outro processo segundo seu esquema de prioridades. Este texto trata de um conceito chamado do que se encontra descrito na alternativa:

Alternativas
Comentários
  • Multithreading é a capacidade que o sistema operacional possui de executar várias threads simultaneamente sem que uma interfira na outra. Estas threads compartilham os recursos do processo, mas são capazes de ser executadas de forma independente.


    SingleThread só pode tratar uma requisição de cada vez.


    Preemptivo  esquema de processamento computacional onde o kernel tem o controle do tempo que será usado por cada processo, e tem o poder de tomar de volta este tempo e dá-lo para outro processo segundo seu esquema de prioridades.


ID
1428844
Banca
CESGRANRIO
Órgão
LIQUIGÁS
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Alguns esquemas de escalonamento de processos podem ter efeitos negativos em determinadas situações.
A situação de starvation é alcançada quando

Alternativas
Comentários
  • Gabarito D

    A situação de starvation está presente quando o sistema operacional provê prioridades a processos, que não atualizados fazem com que os processos de menor prioridade nunca sejam executados causando assim, deficiência em servidores de impressão e etc.

     

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

  • Starvation:

     

    .: Um processo não consegue um determinado recurso;

    .: Ele NÃO se encontra bloqueado - Continua executando, mas sem progresso. 

    .: Sinônimos: Inanição, Postergação indefinida;

    .

    .

    .

    At.te

    Foco na missão