Buscar

SO P2


Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Software Livre
1-) Com base no conceito e nas características, é sinônimo de “software livre”: Open-Source
2-) Quando um software é dito "software livre", tem como principal característica o fato de: Ter o "código-fonte" disponível para alteração.
3-) Qual software não é um software proprietário? Kurumin
4-) O Windows e Linux são classificados como sistemas operacionais. A principal diferença entre eles está é seu núcleo. Onde o núcleo do Windows é proprietário e do Linux é livre. Como é chamado o núcleo de um sistema operacional? Kernel
5-) Assinale a alternativa correta de acordo com os conceitos relacionados a softwares livres.
Softwares livres relacionam-se com a liberdade dos usuários de executar, copiar, redistribuir, estudar, modificar e melhorar os programas sem necessidade de receber permissão do fornecedor.
6-) Um software livre após sofrer modificações, atualizações ou extensões deve passar adiante a liberdade de ser copiado e modificado novamente por qualquer outro usuário que assim deseje. Esse conceito é conhecido como:
Copyleft
7-) Qual das descrições abaixo definem corretamente software livre:
Qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribuído, sem nenhuma restrição.
8-) NÃO é um software livre: 
Netscape Navigator
9-) A respeito do sistema Linux, assinale a alternativa correta:
O Linux funciona em dezenas de plataformas, desde mainframes até relógios de pulso, passando por várias arquiteturas e dispositivos.
10-) Considerando os sistemas operacionais Windows XP e Linux, assinale a opção correta:
Nautilus é um programa semelhante ao Windows Explorer que permite gerenciar arquivos.
11-) De acordo com a Free Software Foundation, um programa de computador que se qualifica como software livre NÃO fornece a liberdade para:
Revogar ou adicionar restrições retroativas às regras de uso do programa.
12-) O gerenciamento de contratos de licença de software deve possibilitar a gestão de todos os processos definidos numa política que contemple a gestão de contratos de licença para os diferentes tipos de software, sejam eles, adquiridos, gratuitos, OEM etc. A licença LGPL (Lesser General Public License):
Permite ao desenvolvedor usar bibliotecas livres em um software proprietário, sem ter de abrir o código da sua própria aplicação.
13-) Quanto a software livre é correto afirmar:
O software livre pode ser utilizado por qualquer pessoa, em quantas máquinas quiser, em qualquer tipo de sistema computacional, sem nenhuma restrição imposta pelo fornecedor.
Multithread
1-) O scheduling da CPU lida com a escolha de qual processo, ou thread, da fila de prontos deve ser alocado a seguir. Existem vários algoritmos com essa função, sendo que um é comprovadamente ótimo, no quesito de minimizar o tempo médio de espera para determinado conjunto de processos. Esse algoritmo ótimo é scheduling:
Trabalho mais curto primeiro
2-) Em alguns sistemas operacionais modernos, é correto afirmar:
Em alguns sistemas operacionais modernos, é fornecido suporte para múltiplas linhas de controle dentro de um processo, denominadas threads.
3-) Sistemas operacionais modernos têm uma gerência de processos e de threads bem definida. Nesse contexto, é correto afirmar: 																 A threads de um mesmo processo compartilham a mesma seção de código na memória.
4-) Para que seja possível executar um processo com várias threads (multithreaded process), o gerenciador de threads deve prever áreas específicas de memória para armazenar, separadamente por thread, as seguintes informações:
Registros do processador e pilha.
5-) Em relação aos conceitos de processo e thread, é correto afirmar que:
Segundo o modelo de thread clássico, distingue-se processo de thread, pois processo é usado para agrupar recursos, enquanto thread é a entidade escalonada para execução em uma CPU
6-) A tecnologia hyperthreading implementa o conceito de _________ e faz com que um processador físico seja visto pelo sistema como mais de um processador lógico.
Simultaneous multi threading
7-) O conceito corretamente associado à multithread em sistemas operacionais é
Existência de múltiplas threads no mesmo processo, sendo executadas em paralelo.
8-) Em uma execução de processo com multi-thread, o sistema operacional garante a proteção entre threads em relação ao espaço de memória compartilhado entre eles.
Errado.
9) Um sistema operacional moderno prevê uma maneira de um processo dividir a si mesmo em outras tarefas, as quais podem ser executadas concorrentemente. Essas novas tarefas são denominadas
Threads.
10) Sobre processos e threads, pode-se afirmar:
Threads possuem contexto simplificado.
Exercícios Diogo
1-Em Software proprietário você pode:
Apenas utilizar.
2- O que é software shareware?
Software para utilizar por um tempo determinado depois comprar uma licença ex: arquivos zip.
3- O que define melhor código fonte fechado?
Programa onde se se pode utilizar mas não se consegue alterar nada no software.
4- O que é o prazo de validade técnica do programa?
É o prazo da empresa para dar suporte técnico para o software licenciado.
5- O que significa Gnu
Gnu is Not Unix (Gnu não é Unix)
Aula 06 - Ambiente Multithread e suas vantagens
- Ideia: Trabalhar de forma concorrente dentro do mesmo processo, dividindo as tarefas em várias tarefas menores -> threads ou sub-rotinas.			 - Thread -> processo 
- Minimização de recursos do sistema, e ganho de desempenho, uma vez que os processos demandam muito tempo com a criação/troca/eliminação de processos. – Trabalham de forma cooperativa e utilizam o mesmo espaço e endereçamento, tornando o acesso mais rápido e simples.
Alocação de recursos									 O processador seleciona um processo para execução e com a unidade de escalonamento permite a execução de threads.
Sistemas Operacionais							 Threads									 -> Até 1970, sistemas operacionais suportavam processos apenas com monothreads. -> Em 1979, foi introduzido o conceito light weight (peso leve) -> espaço de endereçamento de um processo era compartilhado com vários programas.
Uma aplicação pode implementar concorrência em uma ambiente monothread através de processos independentes e subprocessos.
Problemas
-> Aplicações Concorrentes 								 - Demanda de consumo de diversos recursos do sistema; - Sempre que um processo é criado, o sistema aloca recursos para cada processo, consumindo tempo de processador neste trabalho. Para isso, deve existir uma biblioteca de rotinas que possibilita à aplicação realizar tarefas como criação/ eliminação de threads. Neste modo, o sistema operacional não sabe da existência de múltiplas threads, sendo responsabilidade exclusiva da aplicação gerenciar e sincronizar.
Vantagens e Desvantagens
Compartilhamento de espaço de endereçamento de memoria entre threads de um mesmo processo. -> Permitir o compartilhamento de dados entre as threads de maneira mais rápida e eficiente. -> Necessidade de implementar mecanismos de comunicação e sincronização para garintir acesso seguro aos dados compartilhados na memória.
Exemplo de uso de threads
-> Um jogo que pode ser modelado com linhas de execução diferentes, sendo uma para desenho de imagem e outra para aúdio.
Benefícios da Thread
- Aplicações paralelas em ambientes multi processadas:
-> Beneficia a concorrência entre os threads com a possibilidade do paralelismo de execução entre processadores. 
- Ambiente cliente-servidos 							 -> melhoria no desempenho da aplicação servidora.			 -> a comunicação pode ser feita de forma simples. 
- Arquitetura MicroKernel 							 -> Utiliza processos para implementar funções relativas ao Kernel no SO., quando algum cliente precisa de algum sistema/serviço. 			 -> Implementando thread, possibilitando um melhor desempenho dos processos servidores. 
Modo Kernel 
-> É possível o acesso irrestrito ao conjunto de instruções da máquina. -> Para passar do modo usuário ao modo kernel, não é suficiente que um processo precise de acesso privilegiado ao hardware, mas sem que ele execute uma chamada de sistema.
Scheduler Activations
-> quando operado num processo de S.O., fornece funcionalidade de encadeamento no nível do kernel com flexibilidade e desempenho no encadeamento no nível do usuários.
Aula 07 – Sincronização e comunicação entre processos
Aplicação Concorrente 
É a sincronização e comunicação entre os processos. Muitas vezes os processos concorrentes devem comunicar entre si. Esta comunicação pode ser implementada através de memória compartilhada e a troca de mensagems.
O que ocorre quando dois ou mais processos acessam uma mesma posição da matriz? Deve existir mecanismo de controle conhecidos como race conditions.
Exclusão Mútua
É uma técnica usada em programação concorrente para evitar que dois processos ou threads tenham acesso simultaneamente a um recurso compartilhado, “seção crítica”. Um meio simples para exlusão mútua é a utilização de um semáforo binário, só podendo assumir dois valores distintos, 0 e 1.
Inanição 
Quando um processo nunca dispõe de recursos suficientes para executar plenamente.
Starvation
É uma espera indefinida. Um processo fora da sua região critica impede que outros processos utilizem o recurso compartilhado. Solução Hardware: desabilitar interrupções; Solução Software: algoritmo de dekker.
Esperada Ocupada
É um modelo de programação paralela caracterizado por testes repetidas de uma condição por testes repetidos de uma condição que impedem o progresso de um processo e que só pode ser alterado por outro processo. Desvantagem: Desperdício de tempo de um mono processador, passando tempo testando condições.
Sincronização Condicional
É quando o acesso a um recurso compartilhado exige uma sincronização entre os processos através de operações de gravação e leitura em um buffer.
Semáforos
É uma variável interna, não negativa, que só pode ser manipulada por duas instruções: DOWN (decrementa) e UP(incrementa). Exemplo na exclusão mútua: Quando for entrar na região crítica o processo executa um DOWN, se o semáforo for igual a 1, este valor é decrementado e o processo entra na região crítica.
Monitores
São mecanismos de sincronização de alto nível que torna mais simples o desenvolvimento de aplicações.
Forma Assíncrona
Aumentar a eficiência de aplicações concorrentes. Para implementar essa solução, além da necessidade de buffers para armazenar as mensagens, devem haver outros mecanismos de sincronização que permitam ao processo identificar se uma mensagem já foi enviada ou recebida.
Deadlock
É a situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que não ocorrerá.
Soluções
a) exclusão mútua: cada recurso só pode estar alocado a um único processo; b) espera por recurso: um processo, além dos recursos já alocados, pode estar esperando por outros recursos. c) espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa.
Aula 8 – Software Livre
Os programas podem ser divididos em
Software de Infraestrutura 							 Um programa que se comunica diretamente com o harware, controla o uso da memoria principal, do processador e o acesso de dispositivos de E/S. Exemplo: Linux, FreeBSD, Mac OS X.
Software de Ferramenta						 Programa implantado com a finalidade de operacionalizar o computador para desenvolver algoritmos computacionais, banco de dados, etec. Exemplo: Java, Ruby, Fortran.
Software de Aplicativo 							 Programa aplicativo, utilizado para uma aplicação especifica, como edição de texto, calculo por uma planilha eletrônica, etc. Exemplo: OpenOffice, Gime, Mozilla.
Código Fonte
É a receita, a formula secreta que descreve como o programa funciona. Software será traduzido para uma linguagem de programação.
Software Proprietário
Tem código fonte fechado. – Impossibilita modificação de seu conteúdo. – É valorizado como um produto para comercialização; - Venda para obtenção de lucro, necessária licença de uso.
-> Produtos de SP que permitem cópias. – Software Freeware, permitem a redistribuição, mas não a disponibilização e modificação de seu código fonte.
-> Software Shareware 							 - Redistribuído de forma liberal; - Uso limitado, obriga a pagar; - Protegido por direitos autorais.
Copyright: O proprietário licencia o uso de uma cópia e desta forma se remunera. Copyleft: Remuneração ocorre pela venda de serviços que tem como base a utilização do software – categoria livre.
Vantagens
- Padrões abertos como XML, TXT - Independência tecnológica - Conhecimento local, emprego e renda - Economia de dinheiro 					 - Combate aos monopólios 								 - Apoio de fabricantes de hardware 							 - Maturidade: Banco do Brasil, Previdência Social
Software Livre 
Garante plena liberdade de uso, modificação e publicação de versões modificadas. O usuário tem acesso a todos códigos fonte. Independência.
Origens
- Sistema Operacional Unix, 1960. O Unix era distribuído livremente. 		 - Em 1970, a abertura de código fonte era uma regra na área da computação. 	 - Em 1980, a Unix foi amplamente utilizado. 				 - Em 1984, Unix passou a ser controlado, com licença de uso. Richard Stallman desenvolve o projeto denominado GNU (GNU is not Unix). 			Objetivo: Desenvolver e manter o SOGNU. – Fomentar o desenvolvimento de SL; - Disseminar a ideia de liberdade; - Em 1991, Linus Trovalds construiu o Kernel (núcleo), denominado Linux = Linus + Unix.
Open Source
(Código fonte aberto) 								 - Conciliar as liberdades de uso; 						 - Modificação é cópia com interesse das empresas.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando