Exercícios de Sistemas operacionais


Um thread é Fluxo de execução e parte integrante de um  processo e o multithreading é a associação de vários fluxos de execução a um único processo.
Julgue as sentenças em verdadeiras (V) ou falsas (F).
1. Thread é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente.
2. Cada thread tem o mesmo contexto de hardware e compartilha o mesmo o espaço de memória (endereçado a um mesmo processo-pai), porém o contexto de software  é diferente.
3.Um dos benefícios do uso das threads é que quando um thread espera por um recurso um outro do mesmo grupo pode estar sendo executado.
Marque a opção correta.
1.V -2.F - 3.F
1.F - 2.V - 3.F
1.V -2.V - 3.V
 Certo1.V - 2.F - 3.V
1.F - 2.F - 3.V

Sabe-se que cada processo tem seu próprio contexto de software, contexto de hardware e espaço de endereçamento. Threads de um mesmo processo compartilham o mesmo contexto de software e espaço de endereçamento, apesar de terem contexto de hardware próprio. De acordo com as afirmações, marque a alternativa correta.
O uso de threads não influencia no desempenho, pois durante a interrupção de um thread é necessário salvar o contexto de hardware, de software e espaço de endereçamento
O uso de threads diminui o desempenho, pois durante a interrupção de um thread é necessário salvar o contexto de hardware, de software e espaço de endereçamento.
 CertoO uso de threads representa ganhos em termos de desempenho, pois durante a interrupção de um thread apenas o contexto de hardware precisa ser salvo, já que o contexto de software e o espaço de endereçamento são os mesmos entre os vários threads
O uso de threads representa ganhos em termos de desempenho, pois durante a interrupção de um thread apenas o espaço de endereçamento precisa ser salvo, já que o contexto de software e de hardware são os mesmos entre os vários threads
O uso de threads representa ganhos em termo de desempenho, pois durante a interrupção de um thread apenas o contexto de software precisa ser salvo, já que o contexto de hardware e o espaço de endereçamento são os mesmos entre os vários threads.

O uso de interrupções é fundamental para a existência de:
 CertoSistemas multitarefa
bibliotecas de software
dispositivos de hardware como teclado e disco
dispositivos de hardware como monitor e impressora
comunicação de dados
Considere uma aplicação baseada em threads em um sistema operacional com suporte a threads de kernel. Se uma das threads desta aplicação for bloqueada para aguardar um acesso ao disco podemos afirmar que as demais threads deste processo:
Serão bloqueadas também para impedir a ocorrência de erros
Terão a prioridade reduzida para aguardar o desbloqueio da thread que solicitou o acesso ao disco
 CertoPoderão continuar executando se não dependerem da thread que foi bloqueada
Não serão bloqueadas mas ficaram aguardando o desbloqueio da thread que solicitou o acesso ao disco
Serão interrompidas provocando um erro no processo.

Com relação ao conceito de thread, fluxo de dados, julgue os itens a seguir:
  I. São fluxos de execução distintos dentro de um mesmo processo.
  II. O kernel  N Ã O enxerga essas threads e, por esse motivo, não podem ser gerenciadas individualmente.
  III. O thread  N Ã O  é considerado uma solução eficiente para os sistemas modernos
 Todas estão corretas
Apenas II e III estão corretas
Apenas I e III estão corretas
 CertoApenas I e II estão corretas
Todas estão incorretas

Uma das diferenças entre threads de usuário e threads de kernel e:
 Uma thread de kernel bloqueada bloqueia todo o processo obrigatoriamente e a de usuário não bloqueia.

A thread de kernel depende de uma biblioteca para ser utilizada e a de usuário não depende.

Uma thread de kernel não pode executar instruções privilegiadas e a de usuário pode.

A thread de usuário não pode utilizar funções do sistema operacional e a thread de kernel pode.
 CertoA thread de kernel é escalonada diretamente pelo sistema operacional e a de usuário não.

1a Questão (Ref.: 201202189735)



Durante a execução de um programa podem ocorrer eventos inesperados, que causem um desvio forçado no fluxo de execução de um programa. Esses eventos são conhecidos por interrupção ou exceção. Em relação ao conceito de interrupção e exceção, é correto afirmar que:
Opção Não Respondida
Uma grande diferença entre a interrupção e a exceção é que no caso da interrupção o próprio programador pode escrever uma rotina de tratamento, evitando que o programa seja encerrado.
Opção Marcada Opção Certa
Exceções partem de eventos síncronos e previsíveis.
Opção Não Respondida
É através das exceções que o sistema operacional sincroniza diferentes atividades, como rotinas, programas dos usuários e dispositivos.
Opção Não Respondida
O mecanismo de interrupções ser implementado em sistemas operacionais multitarefa e monotarefa.
Opção Não Respondida
Uma exceção independe da instrução que está sendo executada, pois é sempre gerada por algum evento externo ao programa.

 2a Questão 



Para melhor análise do desempenho dos processos com os diferentes tipos de escalonamento existentes, os processos são classificados em dois tipos: CPU-bound e I/O-bound. Com esse conceito definido podemos afirmar que:

Independente do tipo de escalonamento, os processos I/O-bound levam vantagem sobre os processosCPU-bound

Os processos I/O-bound podem levar vantagem  em qualquer escalonamento baseado composto com critérios de prioridade

Os processos CPU-bound levam vantagem em escalonamentos feitos com o mecanismo de preempção por tempo, enquanto os processos I/O-bound se beneficiam através de mecanismos de prioridade dinâmica.

Não faz diferença o tipo de escalonamento, pois sempre os processos CPU-bound levam vantagem sobre os processos I/O-bound

Os processos I/O-bound levam vantagem em escalonamentos feitos com o mecanismo de preempção por tempo, enquanto os processos CPU-bound se beneficiam através de mecanismos de preempção por prioridade

 3a Questão (Ref.: 201202417295)
Pontos: 0,5  / 0,5

Um thread é Fluxo de execução e parte integrante de um  processo e o multithreading é a associação de vários fluxos de execução a um único processo.
Julgue as sentenças em verdadeiras (V) ou falsas (F).
1. Thread é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente.
2. Cada thread tem o mesmo contexto de hardware e compartilha o mesmo o espaço de memória (endereçado a um mesmo processo-pai), porém o contexto de software  é diferente.
3.Um dos benefícios do uso das threads é que quando um thread espera por um recurso um outro do mesmo grupo pode estar sendo executado.
Marque a opção correta.

1.F - 2.F - 3.V

1.F - 2.V - 3.F

1.V - 2.F - 3.V

1.V -2.V - 3.V

1.V -2.F - 3.F

 4a Questão (Ref.: 201202189712)
P

Deadlock pode ser definido como uma situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que nunca ocorrerá. Para que ocorra a situação de deadlock, algumas condições são necessárias simultaneamente. Assinale alternativa que contém todas essas condições:

Exclusão mútua e espera por recurso.

Não-preempção.

Exclusão mútua e não-preempção.

Espera por recurso e não-preempção.

Exclusão mútua, espera por recurso e não-preempção.

 5a Questão (Ref.: 201202445700)


Considere as seguintes afirmativas relativas à ocorrência de "deadlocks" (ou impasses).

I. A estratégia de tratamento de "deadlocks" conhecida como detecção requer que se determine uma condição suficiente a que eles ocorram. Uma vez determinada a condição, o tratamento por detecção consiste em verificar sua validade e, em caso afirmativo, concluir que existe um "deadlock".

II. As estratégias conhecidas como prevenção e detecção para o tratamento de "deadlocks" são complementares uma à outra: Enquanto a primeira guia o projeto dos algoritmos de compartilhamento de recursos para que "deadlocks" jamais ocorram, a segunda trata de impedir que ocorram quaisquer condições necessárias à ocorrência de "deadlocks".

III. Para que ocorra um "deadlock" é necessário que haja um ciclo de espera envolvendo um determinado conjunto de processos. Uma estratégia comum de prevenção é a criação de algoritmos de compartilhamento de recursos que impeçam a ocorrência desses ciclos.

Assinale a alternativa CORRETA:

Apenas as afirmativas I e III são verdadeiras.

Apenas a afirmativa I é verdadeira.

Apenas a afirmativa II é verdadeira.

Apenas a afirmativa III é verdadeira.

Apenas as afirmativas II e III são verdadeiras.

 6a Questão (Ref.: 201202406725)
Pontos: 0,5  / 0,5

No gerenciamento de processos existem várias estratégias de escalonamento. Correlacione os tipos de escalonamento com a estratégia correspondente:
FCFS    - SJF    -    Round Robin    -    Múltiplas Filas
I- o primeiro que chega é o primeiro a ser atendido
II- o menor primeiro
III- escalonamento circular
IV- filas com prioridades diferentes

II - III - I - IV

III - I - II - IV

III - II - I - IV

I - II - III - IV

II - I - III - IV

 7a Questão (Ref.: 201202194381)
Pontos: 1,0  / 1,0

No contexto de gerência de memória, por que o algoritmo de substituição de páginas ótimo não pode ser implementado?

O algoritmo de substituição de páginas ótimo não pode ser implementado porque não há poder computacional suficiente nos dias atuais.

O algoritmo de substituição de páginas ótimo não pode ser implementado porque é muito complexo.

O algoritmo de substituição de páginas ótimo não pode ser implementado porque não é possível prever qual página será menos acessada no futuro.

O algoritmo de substituição de páginas ótimo não pode ser implementado porque exige uma quantidade de memória muito grande.

O algoritmo de substituição de páginas ótimo não pode ser implementado porque o hardware necessário seria absurdamente caro.

 8a Questão (Ref.: 201202409556)


Quais são as diferenças entre as threads de usuário e threads suportado do kernel? Em que circunstâncias é um tipo de "melhor" do que o outro?



Gabarito:
 Threads de usuário não têm suporte no kernel, então eles são muito baratos para criar, destruir, e alternar. Threads de kernel são mais caros porque são necessárias chamadas do sistema para criar e destruí-las e o kernel deve programá-los. Estas são mais poderosos porque eles são programados de forma independente e podem ser bloqueadas individualmente.

 9a Questão (Ref.: 201202189604)


Suponha um posto de abastecimento que venda apenas gasolina. Este posto tem 5 (cinco) caixas para que os clientes façam o pagamento. Cada caixa executa uma instância de um programa que atualiza o estoque (em litros) de gasolina. O arquivo que contém o estoque fica em um servidor, sendo compartilhado entre os cinco caixas. Sempre que um cliente faz o pagamento, o sistema do caixa faz, basicamente, três operações:
1.     Lê o arquivo de estoque para saber a quantidade de litros que há em estoque.
2.     Subtrai do estoque a quantidade de litros comprada pelo cliente.
3.     Grava o arquivo de estoque com a quantidade de litros calculada no passo "2".
Considerando a situação exposta, descreva que problemas podem decorrer do compartilhamento do recurso "arquivo de estoque" pelos cinco processos executados de forma concorrente.



Gabarito:
 O arquivo de estoque pode ser gravado de forma inconsistente. Se um caixa já tiver executado o passo 1 ou 2 e ainda não tiver executado o passo 3 (ou seja, a gravação do arquivo) e outro caixa executar o passo 1, esse segundo caixa irá fazer uma leitura do arquivo de estoque desatualizado, desconsiderando a operação realizada pelo primeiro caixa. Dessa forma, quando o segundo caixa fizer a gravação, a operação realizada pelo primeiro caixa terá sido ignorada.

 10a Questão (Ref.: 201202194473)



Estamos terminando o primeiro semestre de 2010 e os principais lançamentos no mercado da informática se concentram nos produtos digitais portáteis, especialmente os netbooks, os tablets e os smartphones. E esse nicho do mercado desperta a atenção e acirra a briga das empresas pelos sistemas operacionais. O iPhone OS4 (da Apple), o Windows 7 (da Microsoft) e o Android (da Google) são alguns dos mais "badalados" nesse momento, dos quais são demandadas características de gerenciamento de:

Memórias com tecnologia flash cada vez maiores e mais lentas, o que faz crescer a necessidade de disco rígido externo para essas plataformas de portáteis

Dispositivos de E/S genéricos como, por exemplo, leitores de Blu-Ray, mini DV e teclados USB

Processadores específicos que consomem mais energia e por isso aumentam a freqüência de recarga das baterias

O cenário apresentado não é aplicável, pois o mesmo não é uma realidade de mercado.

Dispositivos de E/S mais específicos como, por exemplo, display multitouch, webcam, cartões de memória


faço trabalhos avulsos de programação em php , javascript , html , VBA-EXCEL e EXCEL formulas avançadas . pode entrar em contato no whatsapp 83988596239. nós combinaremos os valores de acordo com a demanda.

sistemas operacionais aula 2 - estacio

1a Questão 

Para interromper a execução de um programa no sistema Linux utilizamos a combinação das teclas Ctrl + C. Nesse caso, podemos afirmar que:

a combinação das teclas gera automaticamente um sinal ao processo, sem passar pelo sistema operacional, garantindo um melhor desempenho.

o sistema operacional trata este evento com a utilização da estrutura de sincronização - semáforo, que sinaliza ao processo a ocorrência do evento.
 a combinação das teclas gera um sinal para o processo, que por sua vez, gera uma interrupção para o sistema operacional, sinalizando assim a ocorrência do evento.
 o sistema operacional, a partir da rotina de tratamento da interrupção, gera um sinal sinalizando ao processo a ocorrência do evento.

o sistema operacional trata este evento com a utilização da estrutura de sincronização - monitor, que sinaliza ao processo a ocorrência do evento.


 2a Questão 
Processadores atuais incluem mecanismos para o tratamento de situações especiais, conhecidas como interrupções. Em uma interrupção, o fluxo normal de instruções é interrompido para que a causa da interrupção seja tratada. Com relação a esse assunto, assinale a opção CORRETA.

Quando uma interrupção ocorre, o próprio processador salva todo o seu contexto atual, tais como registradores de dados e endereço e códigos de condição, para que esse mesmo contexto possa ser restaurado pela rotina de atendimento da interrupção.
 O processador pode auto interromper-se para tratar exceções de execução, tais como um erro em uma operação aritmética, uma tentativa de execução de instrução ilegal ou uma falha de página em memória virtual.

Rotinas de tratamento de interrupção devem ser executadas com o mecanismo de interrupção inibido, pois esse tipo de rotina não permite aninhamento.

As operações de entrada e saída geram interrupções de forma síncrona à execução do processador, para que nenhuma instrução fique incompleta devido à ocorrência da interrupção.

O uso de interrupção para realizar entrada ou saída de dados somente é eficiente quando o periférico trata grandes quantidades de dados, como é o caso de discos magnéticos e discos ópticos. Para periféricos com pouco volume de dados, como teclados e mouses, o uso de interrupção é ineficiente.



 3a Questão 

À instância de um programa em execução chamamos processo. Cada processo no sistema pode estar em algum de seus estados em certo momento. Um processo no estado executando passa para o estado pronto, quando:

ocorre quando o processo deve aguardar um recurso
 ocorre quando o processo é interrompido e novo processo será selecionado

término do programa

ocorre quando a solicitação de recurso é atendida

ocorre apenas na admissão



 Código de referência da questão.4a Questão (Ref.: )

Processos do tipo _________, permitem a comunicação direta do usuário com o processo durante o seu processamento. Marque a opção que melhor completa a frase acima.
 Processos Background
 Processos Foreground

Processos I/O bound

Processos CPU bound

Processos em Lote



 Código de referência da questão.5a Questão (Ref.: 
Suponha que um usuário acionou um programa que, ao ser carregado, solicitou a digitação de uma senha. Quando o programa foi acionado, o processo passou pelos estados "pronto" e "executando". Em seguida o programa ficou no estado "espera", pois dependia de uma operação de E/S (leitura do teclado) para prosseguir. Quando o usuário informar a senha o processo passará do estado "espera" diretamente para o estado "executando"?

Sim. Assim que liberar o processador ele será executado.

Sim. Mas somente se o computador tiver mais de uma CPU.

Não. O processo ficará em estado de ¿espera¿ e aguarda até que o sistema operacional o selecione para execução.
 Não. O processo passa para o estado "pronto" e aguarda até que o sistema operacional o selecione para execução.

sim, pois independente da quantidade de CPU´s ele será executado.



 6a Questão (Ref.: 201502800474)
Para interromper a execução de um programa no sistema operacional Linux utilizamos a combinação das teclas Ctrl + C. Nesse caso, podemos afirmar que:

o sistema operacional trata este evento com a utilização da estrutura de sincronização - semáforo, que sinaliza ao processo a ocorrência do evento.

a combinação das teclas gera automaticamente um sinal ao processo, sem passar pelo sistema operacional, garantindo um melhor desempenho.
 o sistema operacional, a partir da rotina de tratamento da interrupção, gera um sinal sinalizando ao processo a ocorrência do evento.

a combinação das teclas gera um sinal para o processo, que por sua vez, gera uma interrupção para o sistema operacional, sinalizando assim a ocorrência do evento.

o sistema operacional trata este evento com a utilização da estrutura de sincronização - monitor, que sinaliza ao processo a ocorrência do evento.

faço trabalhos avulsos de programação em php , javascript , html , VBA-EXCEL e EXCEL formulas avançadas . pode entrar em contato no whatsapp 83988596239. nós combinaremos os valores de acordo com a demanda.

Sistemas Operacionais - aula 1 estacio

 1a Questão (Ref.: 201502419893)

Em relação às estruturas dos sistemas operacionais modernos, podemos afirmar que:
I - O conceito de microkernel é de reduzir o kernel a comunicações de processos básicos e controle de I/O, e deixar os outros serviços de sistemas situados no user-space (espaço do usuário) em forma de processos normais (chamados de servers).
II - O kernel monolítico executa cada serviço básico do sistema como gerenciamento de memória, manipulação de interrupções e comunicação I/O, sistemas de arquivos, no espaço do kernel.
III - Na estrutura do microkernel tanto o núcleo como como os demais serviços são executados em modo kernel.
IV - No kernel monolítico o sistema operacional é escrito como uma coleção de rotinas, ligadas a um único grande programa binário executável. 
Assinale a alternativa que contém a(s) afirmação(ões) correta(s):
Somente II, III e IV

Somente I, II e IV
Somente I e III
Somente I, III e IV

Somente I, II e III




 Código de referência da questão.2a Questão (Ref.: 201502204926)

Quais das instruções só podem ser executadas pelo kernel de um sistema operacional: I ¿ Desabilitar todas as interrupções II ¿ Ler o horário do relógio III ¿ Alterar o horário do relógio IV ¿ Alterar o mapa de memória
III e IV

II

I, III e IV
I, II e III
I, II e IV




 Código de referência da questão.3a Questão (Ref.: 201502206525)

Qual instrução não precisa ser executada em modo privilegiado?
http://simulado.estacio.br/img/Imagens/quadrado_x.gif 
Obter a hora corrente
Limpar memória
Iniciar um processo
Ativar interrupções por tempo
Desativar interrupções por tempo




 Código de referência da questão.4a Questão (Ref.: 201502800500)

Analise as seguintes instruções: I - Desabilitar todas as interrupções; II - Ler o horário do relógio; III - Alterar o horário do relógio; IV - Alterar o mapa de memória. Quais dessas instruções só podem ser executadas pelo kernel de um sistema operacional?

I, III e IV
I, II e IV
I, II e III
III e IV
II




 Código de referência da questão.5a Questão (Ref.: 201502221418)

(badesc 2010) Um sistema informatizado opera 24 horas por dia, por meio de uma conexão direta ao computador central, realizando todas as solicitações no momento em que as transações ocorrem, com destaque pelo menor tempo de resposta, requisito de suma importância para a sua eficiência e performance. Duas aplicações para emprego desse sistema são exemplificadas pelo controle de passagens de grandes companhias aéreas ou rodoviárias e pela monitoração do lançamento de um foguete. Por suas características, esse sistema opera na modalidade de processamento conhecida como:

on-line e time sharing.
off-line e real time.

on-line e real time.
off-line e time sharing.
batch e real time.




 Código de referência da questão.6a Questão

Para que uma aplicação execute instruções privilegiadas deverá efetuar:
uma interrupção

uma solicitação ao administrador do sistema
o acesso com uma conta privilegiada.
a execução de um programa específico

uma chamada ao sistema

faço trabalhos avulsos de programação em php , javascript , html , VBA-EXCEL e EXCEL formulas avançadas . pode entrar em contato no whatsapp 83988596239. nós combinaremos os valores de acordo com a demanda.

Funções de Data e Hora - VBA EXCEL

Funções de Data e Hora


Pessoal, segue uma porção de funções de Data e Hora
Funções de Data e Hora VBA
Funções de Data e Hora VBA
Quase sempre estamos utilizando essas funções (quem nunca precisou usar um format vba ) e por isso creio que seja válido postar, pois muitas vezes há como facilitar o trabalho ou linhas de código se souber uma função que já traga uma data formatada.
Eu mesmo no início quando queria fazer um log com datas eu concatenava day(now), month(now) e year(now)
e conforme abaixo da para usar DateSerial(Year(Now), Month(Now), Day(Now))
Outra função que facilita muito é o format()…sempre precisamos quando o cliente pede a data em algum formato específico ou quando pegamos data em formato de outro idioma.
Bem façam bom proveito!!!

Funções de Data e Hora VBA

 Função

 Descrição

NowData e hora atual. Exemplo: 22/01/2013 21:00:47 PM retornado por Now()
DateData atual. Exemplo: 22/01/2013 retornado por Date()
TimeHora atual. Exemplo: 21:00:47 retornado por Time()
TimerNúmero de segundos desde a meia-noite. Exemplo: 75783,98  retornado por Timer
TimeValue()Retorna somente a hora. Exemplo: 21:00:47  é o retorno de TimeValue(Now)
DateValue()Retorna somente a data de um argumento
DateSerial()Traz a data divida por 3 argumentos: year, month, day
Examplo: logDeData = DateSerial(Year(Now), Month(Now), Day(Now))
logDeData = 22/01/2013
DatePart()Retorna uma porção da data conforme informado.
Exemplo de ano: 2013 é o retorno de DatePart(“yyyy”, Date)
Exemplo de mês: 01 é o retorno de DatePart(“m”, #22/01/2013#)
Número da semana: 4 returned by DatePart(“ww”, Now)
Dia da semana(traz em número 1 a 7, domingo=1),  DatePart(“w”, Now)
Trimestre: 1 é o retorno de DatePart(“q”, Now)
Year()Traz somente o ano de uma data
Month()Traz somente o mês de uma data
Day()Traz somente o dia de uma data
MonthName()Traz o nome do mês, exemplo de uso: MonthName(Month(Date))
WeekdayName()Nome do dia da semana, ex: terça-feira =  WeekdayName(Weekday(Date))
DateDiff()Retorna a diferença entre datas.
Diferença de dias: 344 para o próximo ano novo, DateDiff(“d”, Date, #1/1/2014#)
Meses: 12 de diferença, DateDiff(“m”, #22/01/2013#, #1/1/2014#)
DateAdd()Adiciona e subtrai datas.
22/01/2014 é o resultado da adição de ano, DateAdd(“yyyy”, 1, #1/22/2013#)
Hoje mais 15 dias é o retorno de DateAdd(“d”, 15, Date)
Para subtrair de uma data basta: DateAdd(“d”, -45, Date)
Format() Muito útil para formatar datas (vale também p/ formatar datas que estão em inglês)
ter, 22-janeiro-2013 é o retorno de Format(Date,”ddd, d-mmmm-yyyy”)
22-jan-13 é o resultado de Format(Date,”d-mmm-yy”)

faço trabalhos avulsos de programação em php , javascript , html , VBA-EXCEL e EXCEL formulas avançadas . pode entrar em contato no whatsapp 83988596239. nós combinaremos os valores de acordo com a demanda.

Programando com JS 2 / 5 - Resto 2

  Desafio Leia um valor inteiro N . Apresente todos os números entre 1 e 10000 que divididos por N dão resto igual a 2. Entrada A ...