Uma das principais funções dos sistemas operacionais é o esc...
Uma das principais funções dos sistemas operacionais é o escalonamento e o controle dos diferentes processos em execução em um computador. Com relação ao funcionamento de um sistema operacional na gerência de processos, considere as seguintes afirmações:
I A única diferença entre processos e threads é que um processo é iniciado diretamente pelo sistema operacional enquanto que uma thread é iniciada por um processo em execução.
II Deadlock é a situação em que dois ou mais processos estão em estado de espera, à espera de sinais de término emitidos entre si, de maneira que nenhum processo possa ser finalizado.
III Memória virtual é uma faixa de endereço que utiliza o espaço de disco para estender a RAM. Para melhorar o desempenho da memória virtual, utiliza-se um método de paginação.
IV Falha de segmentação é um sinal do sistema operacional a um processo indicando que este tentou executar uma operação não existente.
Estão corretas as afirmações
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
O gabarito correto é a alternativa D - II e III.
Vamos entender por que essa alternativa está correta.
II - Deadlock:
O deadlock, também conhecido como impasse, é uma situação em que dois ou mais processos estão em estado de espera, aguardando por recursos que estão sendo segurados por outros processos. Esse cenário pode ocorrer quando cada processo está esperando por um recurso que o outro processo possui, criando um ciclo de dependência. Portanto, a definição fornecida na afirmação II está correta.
III - Memória virtual:
A memória virtual é uma técnica que utiliza o espaço de disco para estender a memória RAM disponível fisicamente. Isso permite que o sistema operacional execute mais processos do que caberiam na RAM, utilizando partes do disco rígido como extensão da memória. A técnica de paginação é um método usado para gerenciar essa memória virtual, dividindo a memória em blocos menores e mapeando-os para o disco. A afirmação III está, portanto, correta.
Agora, vamos analisar por que as outras afirmações estão incorretas:
I - Diferença entre processos e threads:
A única diferença apontada na afirmação I é que processos são iniciados pelo sistema operacional e threads são iniciadas por processos em execução. No entanto, essa não é a única diferença. Threads compartilham o mesmo espaço de endereçamento e recursos de um processo, enquanto processos são independentes e possuem espaços de endereçamento separados. Portanto, a afirmação I está incorreta.
IV - Falha de segmentação:
Uma falha de segmentação ocorre quando um processo tenta acessar uma área de memória que não lhe foi atribuída. A definição dada na afirmação IV está incorreta porque a falha de segmentação geralmente não se refere a uma operação não existente, mas sim a uma tentativa de acessar uma região de memória inválida ou não permitida.
Espero que essa explicação tenha ajudado a esclarecer os conceitos envolvidos na questão. Se tiver mais dúvidas, estou aqui para ajudar!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
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.
Falha de segmentação (segmentation fault, também referido por segfault) é um erro que ocorre em programa quando este tenta acessar (para leitura ou escrita) um endereço na memória RAM que está reservado para outro programa (ou o próprio sistema operativo) ou que não existe.
processos podem ser iniciados de 3 formas: chamadas de sistema, iniciado por outro processso e iniciado por um usuário.
existem inúmeras diferenças entre threads e processos, mas pra não alongar o comentário cito essa: processos possuem um comportamento concorrente de forma que o kernel é o reponsável pela retirada de um processo em execução, mudança de contexto e escalonamento de outro. As threads possuem um comportamento cooperativo, de modo que a thread em excução muda de estado espontaneamente para que a thread "irmã" seja executada. O processos "pai" não realiza preenpção de thread. existe também a questão de processos serem entendidas como unidades de alocação de recursos, e a threads serem entendidas como unidades de execução e usam o mesmo espaço de endereçamento se pertencerem a um mesmo processo. Vale lembrar que o conceito de thread é especializado quando falamos de modo núcleo e modo usuário.
sobre sinal, é importante que saibamos diferenciar as diferentes comunicações entre processos. Sinais são interrupções e não realizam troca de informações, além de fazerem uso de variáveis de sinalização (mutex, semáforos). Quanto a Mensagens, essas fazem sim troca de informações.
I = VÁRIAS DIFERENÇAS ENTRES THREADS E PROCESSOS EXISTEM
IV = Quando é feita uma referência a um endereço em um segmento que não está presente na memória principal.
GABARITO B
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo