• Nenhum resultado encontrado

Exclusão mútua: enquanto o processo P1 está sendo executado em sua seção crítica, nenhum outro processo pode ser executado em sua seção crítica.

N/A
N/A
Protected

Academic year: 2021

Share "Exclusão mútua: enquanto o processo P1 está sendo executado em sua seção crítica, nenhum outro processo pode ser executado em sua seção crítica."

Copied!
5
0
0

Texto

(1)

Na questão 3, era pedido que a afirmativa incorreta fosse marcada. Contudo, apesar do gabarito afirmar que a alternativa d está correta, há uma ambiguidade nessa questão, pois o sistema

operacional, em muitos casos, pode ser considerado o aplicativo mais importante de uma máquina. Entendo a visão genérica sobre a divisão da máquina em níveis como dispositivos físicos,

microprogramação, linguagem de máquina, sistema operacional, utilitários e aplicativos. Contudo, segundo Tanenbaum no livro “Organização Estruturada de Computadores”, a maioria dos

computadores modernos está representado em uma hierarquia de dois ou mais níveis, ou seja, ele reforça que essa divisão não é fixa e se modifica ao longo dos anos. Dessa forma, dependendo da maneira que for categorizado, o sistema operacional pode ser o software mais importante de uma máquina.

Além disso, essa flexibilidade reforça que soluções de outros níveis podem ser incluídas em níveis mais baixos a fim de se reduzir a complexidade de sistemas operacionais. Vemos isso em sistemas operacionais voltados para plataformas mais simples, como os de computadores embutidos. Nessas plataformas, não é absurdo dizer que o software instalado ali tem por objetivo ajudar o seu usuário a desempenhar uma tarefa específica, ou seja, utilizar de forma transparente o dispositivo como um aplicativo. Nesse contexto, o SO pode ser considerado como o aplicativo mais importante dessa máquina.

Dessa forma, eu solicito uma referência bibliográfica que afirme que o sistema operacional não é o mais importante aplicativo de uma máquina.

(2)

Nessa questão, de acordo com o gabarito da alternativa c, é afirmado que uma instrução do tipo Test-and-set pode sofrer interrupção. Essa afirmação está incorreta, uma vez que o princípio dessa instrução é justamente ser uma instrução atômica e indivisível. Ou seja, que não pode sofrer interrupção.

Cito como referência o livro “Fundamentos de Sistemas Operacionais” do autor Silberschatz, no capítulo 6, de Sincronização de Processos, página 135, que afirma que essa interrupção é impossível de ocorrer:

“É por isso que muitos sistemas de computação modernos fornecem instruções especiais de

hardware que nos permitem testar e modificar o conteúdo de uma palavra ou trocar os conteúdos de duas palavras atomicamente – isto é, como uma unidade impossível de interromper”. Ainda no mesmo parágrafo, ele continua com “Em vez de discutir alguma instrução específica para uma determinada máquina, abstraímos os principais conceitos existentes por trás desses tipos de instruções descrevendo as instruções TestAndSet() e Swap()”.

(3)

Essa questão pede que a alternativa correta seja marcada. Afirma-se como correta a alternativa a. Logo, afirma-se também que a somente a seguinte frase é verdadeira: “A condição Concorrência indica que a velocidade dos processos que acessam a seção crítica é conhecida”.

Não concordo que isso seja verdade. Ocorrerá concorrência desde que dois ou mais processos disputem o mesmo recurso e apenas isso. As diferentes velocidades dos processos são apenas fatores que dificultam a elaboração de soluções para a condição de corrida. Abaixo apresento uma citação do livro “Fundamentos de Sistemas Operacionais”, do autor Silberschatz para corroborar com minha posição.

(1) Tópico 6.2, O problema da seção crítica: “Presumimos que cada processo seja executado a uma velocidade diferente de zero. No entanto, não podemos fazer suposições com relação à velocidade relativa dos n processos”

De acordo com a afirmação acima, fica claro concluir que em uma condição de Concorrência, a velocidade dos processos que acessam a seção crítica não necessariamente é conhecida.

Além disso, diferentemente do que é afirmado pelo gabarito, as afirmações II e III estão corretas, o que também invalida essa questão. Abaixo justifico o porquê das afirmativas estarem corretas. A afirmativa II diz “A condição Exclusão Mútua indica que somente um processo pode estar na seção crítica por vez” e ela está correta. Cito Silberschatz para corroborar com a corretude dessa afirmativa:

“Exclusão mútua: enquanto o processo P1 está sendo executado em sua seção crítica, nenhum outro processo pode ser executado em sua seção crítica”.

A afirmativa III afirma: “A condição de Bloqueio indica que nenhum processo fora da seção crítica pode bloquear outro processo, impedindo-o de entrar na seção crítica” e ela está correta. Cito novamente o Silberschatz como justificativa:

“Se nenhum processo está sendo executado na sua seção crítica e alguns processos quiserem entrar em suas seções críticas, apenas os processos que não estiverem sendo executados em suas seções remanescentes poderão participar da decisão de qual entrará a seguir em sua seção crítica e essa seleção não pode ser adiada indefinidamente.”

(4)

Na questão 10, pede-se o tempo necessário para se acessar uma informação na página de um processo e afirma-se que todas as páginas estão totalmente armazenadas na memória principal. A questão ainda diz que há 85% de hit nos acessos à memória cache e que o tempo desse acesso é dito como desprezível (thit ~= 0). 15% dos acessos geram miss e devem ser buscados na memória principal. Esses acessos à memória principal gastam 15 ns (tmiss = 15 ns).

O tempo necessário seria dado pelo tempo médio (tmédio). Assim, o cálculo é simples e pode ser verificado no livro “Arquitetura e Organização de Computadores” do autor Stallings:

tmédio = (tmiss * %miss) + (thit * %hit) tmédio = (15ns * 0,15) + (0 * 0,85) = 2,25 ns

(5)

Nessa questão estão corretas a letra C e a letra D. Como o gabarito é a letra C, vou me ater a justificar apenas o porquê da alternativa D estar correta, de acordo com o livro “Arquitetura e Organização de Computadores” do Stallings.

No modo de endereçamento por registrador, todos os operandos são registradores, ou seja, fazem parte do conjunto de registradores de dados da CPU. Exemplo de instrução de máquina: add R1, R2, onde R1 e R2 são nomes de registradores temporários da máquina hipotética. Representando em uma linguagem de alto nível, teríamos R2 = R1 + R2.

No modo de endereçamento indireto, o processador deve antes ler o valor de um registrador para descobrir o endereço de memória a ser utilizado. Exemplo de instrução de máquina: add (R1), R2. Nesse exemplo, os parênteses sinalizam um acesso à memória principal. Logo, em alto nível, teríamos R2 = M[R1] + R2, em que M refere-se à memória principal.

Ou, como dito na alternativa c, considerada a alternativa correta dessa questão, “No endereçamento indireto, é especificado, no campo de endereço, o endereço de uma palavra de memória, que, por sua vez, contém o endereço do operando”.

De posse disso, tanto o livro referido quanto a alternativa considerada correta concluem que a alternativa d não está incorreta. Isto porque ela afirma que a diferença entre o endereçamento por registrador e o endereçamento indireto está no fato de que o primeiro faz referência a um registrador que contém o operando e, diferentemente, o segundo faz referência a um endereço de memória também contido em um registrador.

Referências

Documentos relacionados

Na tela seguinte (Início), vá em “Seção” e escolha uma das opções, conforme o nível pretendido (Mestrado ou Doutorado) e a linha de pesquisa

N: massas sem um aterramento próprio no local, mas que utilizam o aterramento da fonte de alimentação por meio de um condutor separado (PE) ou condutor neutro (PEN). I: massas

À luz dos ensinamentos da Proposta Teórico-metodológica da Variação e Mudança Linguística, de linha laboviana, a análise da realização do sujeito no português europeu, em

Fruto de um trabalho colaborativo, estimulado pela Coordenação de Bibliotecas através da Seção de Processamento Técnico, a coleção “Padrão para inserção de dados na

5) Qual comando verifica todos os processos que estão sendo executados pela máquina, informa o nome de usuário (e não uid) com que o processo está sendo executado, independente de

Viva Arte Viva Viva Arte Viva - é um projeto de inclusão social que oferece oficinas gratuitas e permanentes de teatro, música e dança à comunidade do Distrito Federal e

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma

necessidade, seria executado um processo da ordem de chegada e outro de urgência alternando sem que haja atraso em ambos os processos, minimizando o acumulo