Buscar

Questões - Arquitetura de Computadores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Nichollas Cacheiro Calixto					Matricula: 1420067-6
Um processo é formado por três partes conhecidas como Contexto de Hardware, Contexto de Software e Espaço de Endereçamento, que juntos mantês todas as informações necessárias à execução de um programa.
Defina a função de cada uma dessas partes.
Resposta: 
- Contexto de Hardware: Tem como função armazenar o conteúdo dos resgitradores gerais da UCP e de uso específico como program counter (PC), o stack pointer (SP) e o registrador de status (PSW).
Quando um processo está em execução, o seu contexto de hardware é armazenado nos resgistradores do processador, quando o processo deixa de ser executado, o sistema salva as informações no contexto de hardware do processo.
- Contexto de Software: São especificadas as características e limites dos recursos que podem ser alocados pelo processo, como prioridade para execução, privilégios, tamanho do buffer para operações de E/S, número máximo de arquivos abertos. É formado por três grupos de informações sobre os processos: 
Identificação: Cada processo recebe um número de identificação (PID) e a identificação do usuário ou processo que o criou (UID).
Quotas: São os limites de cada recurso do sistema que um processo pode alocar como número máximo de arquivos abertos simultaneamente, tamanho máximo do buffer para operações de E/S, etc.
Privilégios: Definem as ações que um processo pode fazer em relação a ele mesmo, aos demais processos e ao sistema operacional.
- Espaço de Endereçamento: É a área do processo onde as intruções e os dados do programa são armazenados para execução. Cada processo possui o seu espaço de endereçamento e nenhum outro processo poderá ocupá-lo.
Segundo Berenger, em um sistema multiprogramável, um processo não deve alocar exclusivamente a UCP, de forma que exista um compartilhamento no uso do processador. Os processos passam por diferentes estados ao longo do seu processamento, em função de eventos gerados pelo sistema operacional ou pelo próprio processo. 
Defina os três estados que um processo ativo pode encontrar-se.
Resposta:
- Execução: Um processo está no estado de execução quando está sendo processado pela UCP. Em sistemas com apenas uma UCP, somente um processo pode estar sendo executado em um dado instante de tempo, os processos se alternam na utilização do processador seguindo uma política estabelecida pelo sistema operaconal.
- Pronto: Um processo está no estado de pronto quando aguarda apenas para ser executado. O sistema operacional é responsável por determinar a ordem e os critérios pelos quais os processos em estado de pronto devem fazer uso do processador.
- Espera: Um processo no estado de espera aguarda por algum evento externo ou por algum recurso para prosseguir seu processamento.
Defina Thread e diferecie Ambiente Monothread de Ambiente Multithread.
Resposta:
É uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrencialmente. Uma thread permite, por exemplo, que o usuário de um programa utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam outros cálculos e operações.
No ambiente Monothread, um processo suportta somente um programa no seu espaço de endereçamento. Neste ambiente, aplicações concorrentes são implementadas apenas com o uso de múltiplos processos independentes ou subprocessos. Utilizando um sistema monothread, vários processos são criados para atender as diversas necessidades. Sempre que um novo processo é criado o sistema deve alocar recursos para cada processo, consumindo tempo de processador neste trabalho.
Neste tipo de ambiente não existe a idéia de programas associados a processos, mas sim a threads. O processo neste ambiente tem no mínimo uma thread de execução mas pode compartilhar seu espaço de endereçamento com inúmeras threads e, em um ambiente multithread, cada processo pode responder a várias solicitações concorrentemente ou simultaneamente. 
A grande diferença entre aplicações monothread e multithread está no uso do espaço de endereçamento, enquanto processos e subprocessos possuem espaços de endereçamento individuais e protegidos, as threads compartilham o espaço dentro de um mesmo processo. Está característica permite que o compartilhamento de dados entre threads de um mesmo processo seja mais simples e rápido, se comparado a ambientes monothread.
Sistemas com Múltiplos Processadores são arquiteturas que possuem duas ou mais UCPs interligadas e que funcionam em conjunto na execução de tarefas independentes ou no processamento simultâneo de uma mesma tarefa. Inicialmente, os computadores eram vistos como máquinas sequenciais, onde o processador executava as instruções de um programa uma de cada vez. Com a implementação de sistemas com múltiplos processadores, o conceito de paralelismo pôde ser expandido a um nível mais amplo. 
Analise as seguintes afirmações sobre as vantagens dos Sistemas com Múltiplos Processadores:
	A princípio, sempre que novos processadores são adicionados à arquitetura de uma máquina, melhora o desempenho do sistema. Apesar de esta relação não ser linear, o aumento de desempenho pode ser observado pelo maior throughput do sistema, pela redução no tempo de resposta e pelo menor tempo de processamento das aplicações.
Escalabilidade é a capacidade de adicionar novos processadores ao hardware do sistema. Em ambientes que permitam apenas um processador, para aumentar a capacidade computacional é necessário substituir a UCP por outra com maior poder de processamento. Com múltiplos processadores é possível ampliar a capacidade de computação apenas adicionando novos processadores, com um custo inferior à aquisição de outro sistema com maior desempenho.
Sistemas com um único processador, por mais poderosos que sejam, apresentam limitações de desempenho inerentes à sua arquitetura, devido às limitações existentes na comunicação da UCP com as demais unidades funcionais, principalmente a memória principal. Além disso, o custo do desenvolvimento de um processador que ofereça desempenho semelhante a um sistema com múltiplos processadores é muito elevado.
Tolerância a falhas é a capacidade de manter o sistema em operação mesmo em casos de falha em algum componente. Nesta situação, se um dos processadores falhar, os demais podem assumir suas funções de maneira transparente aos usuários e suas aplicações, mantendo a capacidade computacional. 
Balanceamento de carga é a distribuição do processamento entre diversos componentes da configuração, a partir da carga de cada processador, melhorando o desempenho do sistema como um todo. Servidores de banco de dados, que oferecem esse tipo de facilidade, permitem que as solicitações dos diversos usuários sejam distribuídas entre os vários processadores disponíveis.
Podemos afirmar que:
( ) Apenas a I está correta
( ) I, II e IV estão corretas
( ) III e V estão corretas
( ) Apenas a IV está incorreta
( ) Todas estão corretas
Resposta:
Apenas a IV está incorreta.
Ao falhar um dos processadores, os demais assumem suas funções, porém, sua capacidade computacional é reduzida.
Os sistemas computacionais podem ser classificados conforme o grau de paralelismo existente no processamento de suas instruções e dados. O modelo proposto por Flynn (1966) define quatro tipos de sistemas e, apesar de antigo, continua sendo amplamente utilizado para comparar e compreender a evolução das arquiteturas de computadores. Sobre estes tipos de sistema, está INCORRETO afirmar que:
( ) SISD – Single Instruction Single Data – Suporta uma única sequencia de instruções e apenas uma sequencia de dados. A grande maioria dos computadores com apenas um processador se enquadra nesta categoria, desde computadores pessoais até servidores de grande porte. Mesmo em sistemas com um único processador é possível encontrar algum nível de paralelismo, como na utilização da técnica de pipeline.
( ) SIMD – Single Instruction Multiple Data – São sistemas com umaúnica sequencia de instrução e multiplas sequencias de dados. Os computadores SIMD não permitem a manipulação de vetores inteiros simultaneamente, impedindo a execução de uma mesma instrução sobre diferentes elementos de um ou mais vetores.
( ) MISD – Multiple Instruction Single Data – Permitem multiplas sequencias de instruções e uma única sequencia de dados. Não existe, até o momento, nenhum computador desenvolvido xcom esta arquitetura.
( ) MIMD – Multiple Instruction Multiple Data – Sistemas com multiplas sequencias de instruções e multiplas sequencias de dados, onde se encaixam os sistemas com multiplos processadores.
Resposta: 
A segunda afirmação está incorreta.
Os sistemas SIMD permitem a manipulação simultanea de vetores inteiros possibilitando a execução de uma mesma instrução sobre diferentes elementos de um ou mais vetores.
Um processo muda de estado durante seu processamento em função de eventos originados por ele próprio ou pelo sistema operacional. Existem quatro mudanças que podem ocorrer a um processo, defina cada uma delas:
- Pronto -> Execução: ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
- Execução -> Espera: ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
- Espera -> Pronto: ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
- Execução -> Pronto: ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Resposta:
- Pronto -> Execução: Após a criação de um processo, o sistema o coloca em uma lista de processos no estado de pronto, onde aguarda por uma oportunidade para ser executado. Cada sistema operacional tem seus próprios critérios e algoritmos para a escolha da ordem em que os processos serão executados.
- Execução -> Espera: Um processo em execução passa para o estado de espera por eventos gerados pelo próprio processo, como uma operação E/S, ou por eventos externos. Um evento externo é gerado, por exemplo, quando o sistema operacionalsuspende por um período de tempo a execução de um processo.
- Espera -> Pronto: Um processo no estado de espera passa para o estado de pronto quando a operação solicitada é atendida ou o recurso esperado é concedido. Um processo no estado de espera sempre terá de passar pelo estado de pronto antes de poder ser executado.
- Execução -> Pronto: Um processo em execução passa para o estado de pronto por eventos gerados pelo sistema, como o término da fatia de tempo que o processo possui para sua execução. Nesse caso, o processo volta para a fila de pronto, onde aguarda por uma nova oportunidade para continuar seu processamento.

Continue navegando