Sistemas Operacionais

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 4

Sistemas Operacionais gerenciam apenas o hardware. Esta afirmação é verdadeira ou falsa?

Explique.

R: Falsa, os sistemas operacionais são responsáveis por gerenciar os recursos do sistema,


fornecendo uma interface para que usuários e programas interajam com o hardware e outros
recursos do sistema.

Qual o principal propósito do Sistema Operacional?

R: O principal propósito do sistema operacional é gerenciar e controlar os recursos do sistema


de computador, incluindo hardware, software e dados, para fornecer uma plataforma estável
e eficiente para a execução de aplicativos e serviços.

O que limitava o tamanho e a capacidade dos programas na década de 50?

R: A capacidade limitada de armazenamento disponível nos computadores da época. Os


computadores eram grandes e caros, e o armazenamento era feito por meio de fitas
magnéticas ou cartões perfurados. Sendo assim, os equipamentos eram capazes de executar
apenas uma tarefa por vez e não possuíam o sistema operacional armazenado na memória.

Qual aspecto dos computadores pessoais, popularizado pelo Macintosh da Apple, tornou-os
especialmente fáceis de utilizar e aprender?

R: A interface gráfica do usuário (GUI) nos computadores pessoais

Quais são as principais diferenças entre os sistemas operacionais para mainframes e PCs?

R: Sistemas operacionais para Mainframe são desenvolvidos para diversos usuários


interagindo simultaneamente, normalmente executam processamentos em lote.
Sistemas para PC's utilizam interface gráfica para interação com usuário (1 usuário).

Qual(is) o(s) benefício(s) do desenvolvimento Open-Source?

R: Facilita avanços no produto - Permite a qualquer um testar, corrigir e melhorar o aplicativo


Aumenta a chance de uma falha ser encontrada e corrigida - Crucial para erros de segurança
que precisam ser corrigidos rapidamente.
Indivíduos e corporações podem modificar a fonte -
Software personalizado para as necessidades de determinado ambiente

Qual é a principal vantagem da multiprogramação?

R: Aumento da produtividade e redução de custos já que temos vários trabalhos sendo


executados simultaneamente, compartilhando recursos do sistema. Possui requisitos de
sistema tais como gerenciamento da memória e alocação de dispositivos.

Em um ambiente de multiprogramação e tempo compartilhado, vários usuários


compartilham o sistema simultaneamente. Essa situação pode resultar em diversos
problemas de segurança.

• Cite dois desses problemas.

R: Competição para utilização de recursos e acessos indevidos a dados de outros


usuários/aplicações
• Podemos garantir o mesmo grau de segurança em uma máquina de tempo compartilhado
que temos em uma máquina dedicada? Explique sua resposta.

R: Não, pois em uma máquina dedicada o risco é zero e em uma máquina de tempo
compartilhado, podemos tomar ações para garantir a segurança, mas não podemos garanti-la
100%.

Como o SO evita que um processo monopolize o processador?

R: Por meio do relógio de interrupção, o qual dá origem a uma interrupção depois um tempo
específico, levando o sistema operacional a despachar outro processo para a devida execução.

Para que serve um PCB e qual a função da tabela de Processos?

R: Bloco de controle do processo (BCP) (PCB – Process Control Block) : é a estrutura de dados
que compõe o processo, contendo os contextos de software e de hardware e o espaço de
endereçamento. Função: Indica o estado deste Processo; indica o endereço da próxima
instrução; variam em número e tipo, dependendo da arquitetura do computador.

Por que o contexto de hardware é fundamental para os sistemas de tempo compartilhado?

R: O contexto de hardware é fundamental para os sistemas de tempo compartilhado porque


esses sistemas permitem que vários usuários compartilhem o mesmo recurso de hardware,
como um processador, memória e dispositivos de entrada e saída.

Qual a diferença de um processo “acordado” (ativo) e um processo “adormecido”


(bloqueado)?

R: A principal diferença entre um processo ativo e um processo bloqueado é que um processo


ativo está em execução, enquanto um processo bloqueado está temporariamente suspenso e
não pode continuar a executar instruções até que alguma condição externa seja atendida.

Quais mudanças de estado do processo são permitidas?

R: Criação, pronto, execução, espera e saída.

As afirmações a seguir, são Verdadeiras ou Falsas? Explique.

• Processo e Programa são sinônimos.

R: Falsa. Programa é uma entidade inativa, processo é uma entidade ativa

• Em determinado momento apenas um processo pode estar executando instruções em um


computador.

R: Verdadeiro. Embora um sistema operacional possa ter vários processos em execução ao


mesmo tempo, em qualquer instante apenas uma CPU pode executar instruções de um único
processo.

• Vários Processos podem estar em estado de Espera, Pronto e Execução.

R: Verdadeiro. O sistema operacional pode ter vários processos em diferentes estados ao


mesmo tempo, dependendo das condições e do estado atual de cada processo.
• Um processo limitado por CPU deve sempre ter preferência sobre um processo limitado
por I/O.

R: Falso. Em geral, não há uma regra rígida para dar preferência a processos limitados por CPU
ou I/O. O sistema operacional pode usar diferentes algoritmos de escalonamento para
gerenciar a execução de processos e otimizar o uso da CPU.

Como uma aplicação pode implementar concorrência em um ambiente monothread?

R: Em um ambiente monothread, um processo suporta apenas 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, que permitem dividir uma
aplicação em partes que podem trabalhar de forma concorrente, como por exemplo, em um
software de gerenciamento de e-mails.

Quais os problemas de aplicações concorrentes desenvolvidas em ambientes monothread?

R: Ao usar múltiplos processos, têm-se um problema de utilizar processos de desenvolvimento


de aplicações concorrentes, que demanda consumo de diversos recursos do sistema.

O que é um ambiente multithread e quais as vantagens de sua utilização?

R: A ideia do ambiente Multithread é trabalhar de forma concorrente dentro do mesmo


processo, dividindo as tarefas em várias tarefas menores chamadas de thread ou sub-rotinas.

O thread é tratado pelo processador como um processo. A vantagem é a minimização de


recursos do sistema, e ganho de desempenho uma vez que os processos demandam muito
tempo com a criação, troca e eliminação de processos. Os threads trabalhar de forma
cooperativa e utilizam o mesmo espaço de endereçamento. Isso torna o acesso às informações
mais rápida e simples, pois evita mudança de modo de acesso e permissão de acesso.

Explique a diferença entre unidade de alocação de recursos e unidade de escalonamento.

R: Com a unidade de alocação de recursos o processador seleciona um processo para execução


e com a unidade de escalonamento permite a execução de threads.

Quais as vantagens e desvantagens do compartilhamento do espaço de endereçamento


entre threads de um mesmo processo?

R: A vantagem é permitir o compartilhamento de dados entre os threads de maneira mais


rápida e eficiente.

A desvantagem é necessidade de implementar mecanismos de comunicação e sincronização


para garantir acesso seguro aos dados compartilhados na memória.

Compare os pacotes de threads em modo usuário e modo kernel.

R: Threads em modo usuário: No modo usuário, os threads são gerenciados pela biblioteca de
threads em nível de usuário, sem a intervenção do kernel. Isso significa que as operações de
criação, escalonamento e sincronização de threads são executadas pelo próprio aplicativo, sem
a necessidade de acessar o kernel.

Threads em modo kernel: São implementadas diretamente pelo núcleo do sistema


operacional;
Qual a vantagem do scheduler activations comparado ao pacote híbrido?

R: O Scheduler Activations pode ser mais eficiente em termos de desempenho e oferece maior
flexibilidade e controle para as bibliotecas de threads em nível de usuário.

Dê exemplos do uso de threads no desenvolvimento de aplicativos como editores de texto e


planilhas eletrônicas.

R: No desenvolvimento de editores de texto, threads podem ser usadas para realizar tarefas
em segundo plano, como salvar o documento enquanto o usuário continua editando ou
processar o texto para melhorar o desempenho de buscas e substituições.

Em planilhas eletrônicas, threads podem ser usadas para cálculos complexos e demorados,
como a atualização de gráficos ou a execução de fórmulas em grandes conjuntos de dados,
enquanto a interface do usuário permanece responsiva e interativa.

Como o uso de threads pode melhorar o desempenho de aplicações paralelas em ambientes


com múltiplos processadores?

R: O uso de threads pode permitir que as aplicações paralelas aproveitem ao máximo a


capacidade de processamento dos sistemas com múltiplos processadores, aumentando
significativamente o desempenho e reduzindo a sobrecarga do sistema.

Quais os benefícios do uso de thread em ambientes cliente-servidor?

R: O uso de threads em ambientes cliente-servidor pode trazer vários benefícios, incluindo


aumento da capacidade de atendimento, redução do tempo de espera, melhoria na
escalabilidade, modularidade do código e redução do overhead do sistema.

Como o uso de threads pode ser útil em arquiteturas microkernel?

R: O uso de threads em arquiteturas microkernel pode ser muito útil para implementar
serviços que precisam ser executados de forma concorrente, melhorando o desempenho e a
confiabilidade do sistema.

Você também pode gostar