sábado, 23 de novembro de 2013

Comandos Utilizados em Redes Linux

Configuração de endereço IPv4 fixo

ifconfig eth0 192.168.1.1 netmask 255.255.255.0  (configura um ip manualmente)
ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0 (configura um alias, um segundo endereço ip)
ifconfig eth0.1 192.168.1.1 netmask 255.255.255.0  (configura IP com dot1.q)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
ifconfig eth0 down (desativa a placa de rede eth0)
ifconfig eth0 up (ativa a placa de rede eth0)
ifdown eth0 (desativa a placa de rede eth0)
ifup eth0 (ativa a placa de rede eth0)

 

Configuração de gateway IPv4  fixo

# route add default gw 192.168.10.10 (configura um gateway)
# route (mostra se o gateway foi configurado)
ou
# route -n

 

Remove a rota default

# route del default

 

Configurar uma rota para a rede 172.16.0.0/16 indo para o endereço 192.168.2.1

# route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.2.1

 

Verificar a tabela de rotas

# route -n

 

Removerndo rota para a rede 172.16.0.0/16

# route del -net 172.16.0.0/16

 

Configurar uma entrada na tabela arp de forma estática

# arp -s 192.168.2.100 00:00:20:13:c1:b5

 

Verificar o cache arp

# arp

 

Verificar o cache arp sem resolução de nome

# arp -n

 

Configuração de endereço IPv4 fixo pelo arquivo de configuração

Edite o arquivo de configuração “interfaces”, reinicie a interface e verifique a configuração.
vi /etc/network/interfaces (entra no arquivo de configuração de interfaces de rede)
# Configuração IPv4 fixo na eht0
#allow-hotplug eth0 (Quando o kernel detecta a interface física faz com que mesma levante. Está comentada e não habilitada. Pode ser utilizada ao invéz de "auto")

auto eth0    (configuração é iniciada após o restart)
iface eth0 inet static   (configura ainterface eth0 para ip estático)
address 192.168.1.1 (configura o endereço ip)
netmask 255.255.255.0 (configura a masrcara)
broadcast 192.168.1.255 (configura o endereço de bradcast)
gateway 192.168.1.254 (configura o endereço de gateway)
dns-domain Lan_Senac-ti_FNS (nome da rede)
dns-nameservers 192.168.11.1
(endereço do dns)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
route (mostra se o gateway foi configurado)

 

Traceroute sem resolução de nomes

traceroute -n www.ti-redes.com
traceroute -n 109.123.210.24
(o "-n" torna o retorno do comando mais rápido, pois não realiza a resolução de nomes)

 

Verificar o status fisíco da interface de rede

mii-tool  -v (mostra se há conectividade na NIC)

 

Verificar as conexões de internet ativas

netstat -putan

 

Verifica serviço UDP com a porta 69 (TFTP)

netstat -anup | grep 69

 

Verifica serviço TCP com a porta 22 (SSH)

netstat -antp | grep 22

 

Verificar os processos ativos

ps aux

 

Configuração de endereço IPv4 dinâmico (dhcp)

dhclient eth0 -v (configura um ip dinâmicamente por dhcp)

 

Configuração de endereço IPv4 dinâmico (dhcp) pelo arquivo de configuração

Edite o arquivo de configuração “interfaces”, reinicie a interface e verifique a configuração.
vi /etc/network/interfaces (entra no arquivo de configuração de interfaces de rede)
# Configuração IPv4 dinâmico na eht0
auto eth0
iface eth0 inet dhcp  (configura ainterface eth0 para cliente dhcp)
/etc/init.d/networking restart (reinicia as interfaces de rede)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
route (verifica se o gateway foi configurado)

 

Alteração de um endereço MAC

ifconfig eth0 hw ether 00:90:F5:75:16:27 (altera o endereço MAC da interface eth0)

 

Ativa o encaminhamento de pacotes entre placas de rede, mudando o estado '0' para '1' no iP_forward

echo 1 > /proc/sys/net/ipv4/ip_forward

 

Verificar a tabela de NAT

iptables -t nat -L

 

Configuração de uma interface para o modo promíscuo

ifconfig eth0 promisc (configura a interface eth0 para o modo promíscuo)
ifconfig eth0 -promisc (desativa o modo promíscuo)
ifconfig eth0 | grep -i PROMISC (verifica e interface eth0 está em modo promíscuo)

 

Configuração de endereço IPv6 fixo

ip -6 addr add 200::1/64 dev eth0  (configura um ipv6 200::1 com mascara /64 manualmente)
ip -6 addr del 200::1/64 dev eth0  (configura um ipv6 200::1 com mascara /64 manualmente)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
ifconfig eth0 down (desativa a placa de rede eth0)
ifconfig eth0 up (ativa a placa de rede eth0)
ifdown eth0 (desativa a placa de rede eth0)
ifup eth0 (ativa a placa de rede eth0)
ping6 ::1 (faz um icmp para o endereço ipv6 de loopback ::1, equivalente ao 127.0.0.1 do ipv4)

 

Configuração de endereço IPv6 fixo pelo arquivo de configuração

Edite o arquivo de configuração “networking”, reinicie a interface e verifique a configuração.
vi /etc/network/interfaces (entra no arquivo de configuração de interfaces de rede)
# Configuração IPv6 fixo na eht0
auto eth0
iface eth0 inet6 static (configura ainterface eth0 para ip estático)
address 200::1 (configura o endereço ip)
netmask 64 (configura a masrcara)
gateway 200::2
(configura o endereço de gateway)
/etc/init.d/networking restart (reinicia as interfaces de rede)
ifconfig eth0 (verifica se a configuração foi realizada com sucesso)
ip -6 route show (verifica se o gateway foi configurado)

 

Todos os comandos postados aqui são baseados na distribuição Debian

sexta-feira, 22 de novembro de 2013

Update com Join no MySQL

Como fazer um update em uma tabela do MySQL, com base no valor de um campo de outra tabela com a qual essa se relaciona? Veja o modelo a seguir:

update TabelaQueDesejaAtualizar, TabelaComAQualVaiRelacionar
set TabelaQueDesejaAtualizar.CampoParaAtualizar = TabelaComAQualVaiRelacionar.CampoComValorDesejado
where TabelaQueDesejaAtualizar.CampoParaRelacionar = TabelaComAQualVaiRelacionar.CampoParaRelacionar;


Exemplo:

update Funcionario, PessoaFisica
set Funcionario.codPessoa = PessoaFisica.codPessoa
where Funcionario.codPessoaFisica = PessoaFisica.codPessoaFisica;

Considerando as tabelas Funcionário e PessoaFisica, atribui ao campo codPessoa na tabela Funcionario o valor do campo codPessoa da tabela PessoaFisica, levando em conta que as tabelas Funcionario e PessoaFisica possuem um relacionamento por meio do campo codPessoaFisica existente nas duas tabelas. Desta forma, na tabela Funcionario, no campo codPessoa, teremos o mesmo valor deste campo no registro correspondente na tabela PessoaFisica.
Claro que esse campo codPessoa na tabela Funcionario não faz nenhum sentido e é totalmente redundante, sendo que o mesmo existe na tabela PessoaFisica. O exemplo foi apenas para mostrar como funciona um update com “join” no MySQL, e que deve funcionar em outros bancos. Eu lembro que no SQL Server havia uma forma diferente de se fazer isso, mas não lembro exatamente como.

Fonte:http://manoelcampos.com/2009/03/22/update-com-join-no-mysql/

terça-feira, 6 de agosto de 2013

Baixar Debian Lenny 6.0.7 Full + Updates

Debian é simultaneamente o nome de uma distribuição não comercial livre (gratuita e de código fonte aberto) de GNU/Linux(amplamente utilizada) e de um grupo de voluntários que o mantêm à volta do mundo. Uma vez que o Debian se baseia fortemente no projecto GNU, é usualmente chamado Debian GNU/Linux. O Debian é especialmente conhecido pelo seu sistema de gestão de pacotes, chamado APT, que permite: atualizações relativamente fáceis a partir de versões realmente antigas; instalações quase sem esforço de novos pacotes e remoções limpas dos pacotes antigos. Atualmente o Debian Stable se encontra na versão 7.0, codinome "Wheezy".
O Debian Stable procura sempre manter os pacotes mais estáveis, assim, ele mantém o Gnome 3 e o KDE 4.4 por padrão. O fato dele conter pacotes mais antigos, garantindo a estabilidade, é o grande foco para servidores.
O projecto Debian é mantido por doações através da organização sem fins lucrativos Software in the Public Interest (SPI).
O nome Debian vem dos nomes dos seus fundadores, Ian Murdock e de sua ex-mulher, Debra. A palavra "Debian" é pronunciada em Português como Débian.

Baixar Iso do Repositório do Debian:  debian-6.0.7-ia64-DVD-1.iso 64Bits    
                                                       debian-6.0.7-i386-DVD-1.iso 32Bits

domingo, 4 de agosto de 2013

Reparando o Windows 7 pelo “In-Place Upgrade”

O Windows 7 pode ser o melhor sistema da Microsoft até o momento, mas não é imune a problemas. Veja como reparar uma instalação danificada, sem perder seus programas instalados e arquivos pessoais.
Todo sistema operacional precisa de um reparo ocasional, e o Windows 7 não é exceção. Não importa se a fonte do problema são arquivos corrompidos, um malware particularmente agressivo ou outro problema sério, ocasionalmente você terá que reinstalar sua cópia do Windows.
Formatar o HD e fazer uma instalação “do zero” pode ser um problema, já que será necessário perder um bom tempo depois com atualizações, restauração de backups e reinstalação de programas. Mas felizmente há uma forma de reparar uma instalação danificada do Windows 7 e ainda assim manter seus programas, arquivos pessoais e contas de usuário intactas, usando um recurso chamado “In-Place Upgrade”. Embora tecnicamente projetado para fazer um upgrade a partir de versões anteriores como o Vista, ele também é eficaz como uma ferramenta de reparo.
O processo envolve múltiplos passos, incluindo uma “faxina” inicial para garantir que tudo corra bem. Note que o processo precisa ser feito a partir do próprio Windows. Se seu PC não consegue sequer carregar o sistema, então esta dica não serve para você.
Há algumas outras limitações que mencionaremos mais tarde no artigo, então leia este guia inteiro antes de tentar o proceso em seu PC. Fazer uma instalação para reparo deve ser sua última opção, e só é algo a considerar se você já tiver tentado remover o spyware de seu PC, atualizado drivers e tentado, sem sucesso, retornar a uma cópia anterior do sistema usando a Restauração do Sistema.
Prepare seu PC
Antes de iniciar os reparos, tome algumas medidas para se certificar de que o processo corra sem problemas. A primeira é fazer o backup de quaisquer arquivos importantes em um HD externo. Embora seja improvável que o processo de reparo falhe ou deixe seus arquivos inacessíveis, é sempre bom se precaver.
Depois do backup, recomendamos desinstalar quaisquer aplicativos de segurança, como firewalls e anti-vírus. Temos de fazer isso porque como eles monitoram a máquina em busca de modificações em arquivos do sistema, podem atrapalhar a cópia dos novos arquivos (do DVD de instalação) sobre os antigos no HD. Depois do upgrade você poderá reinstalar os programas. Por precaução você também deve baixar e guardar (em um CD ou Pendrive) todos os drivers necessários para o funcionamento de seu computador, especialmente os drivers de rede, essenciais para sua conexão à internet.
Depois de fazer o backup, remova os arquivos temporários e outro “lixo” que possa ter se acumulado no sistema após um período prolongado de uso. Para fazer isso clique no Menu Iniciar, digite pasta no campo de pesquisa e selecione o item Opções de Pasta nos resultados. Na janela que surge, clique na aba Modo de Exibição e marque a opção Mostrar arquivos, pastas ou unidades ocultas, e clique em OK.
win7fix_opcoes_pasta-360px.jpg
Você precisará apagar alguns arquivos ocultos antes de reinstalar o Windows
Agora faça uma limpeza de disco. Clique no Menu Iniciar e selecione Computador. Clique com o botão direito sobre seu HD principal (geralmente o C:) e selecione o itemPropriedades no menu. Na janela que abre clique no botão Limpeza de Disco na aba Geral. Aguarde a varredura do disco e clique no botão Limpar arquivos do sistema. Aguarde nova varredura.
Agora clique na aba Mais opções e clique em no botão Limpar sob o item Restauração do Sistema e Cópias de Sombra. Na janela que surgir, clique em Excluir. Depois volte à abaLimpeza de Disco, marque as caixinhas em frente a todos itens da lista e clique em OK. O utilitário irá se livrar de versões antigas de arquivos do sistema, arquivos temporários e outro lixo digital. Dependendo de quanto lixo estiver acumulado em seu HD, isto pode levar de alguns segundos a vários minutos.
win7fix_limpeza_disco-360px.jpg
Dependendo da máquina, a limpeza de disco pode liberar vários GB de espaço no HD
Depois de tudo isso, ainda há algumas pastas das quais você terá que se livrar manualmente. Clique no Menu Iniciar, em Computador, dê dois cliques no drive C: e abra a pasta Windows. Apague qualquer coisa que estiver dentro das pastas Prefetch e Temp. Não apague as pastas, apenas o conteúdo delas. Depois volte ao C: e abra a pasta Users. Abra a pasta com seu nome de usuário e dentro dela as pastas AppData, depois Local, depois Temp. Apague tudo o que estiver lá dentro, e reinicie o PC.
Instale o Windows 7
Terminada a preparação, é hora de começar a reinstalação do Windows. Você vai precisar de um DVD de instalação do sistema com a mesma versão já instalada em seu PC e pelo menos 10 GB de espaço livre no HD. O disco de instalação precisa ser “limpo”, ou seja, discos de recuperação que vieram com o seu PC, customizados pelo fabricante, não irão funcionar.
Insira o DVD de instalação no drive, clique em Executar Setup.exe e no botão Instalar Agora. Você terá a opção de se Conectar para receber as atualizações mais recentes para a instalação ou Não obter as atualizações mais recentes para a instalação. Se sua conexão à internet estiver funcionando, é melhor conectar. A seguir aceite os termos de licença e escolha se quer fazer uma Atualização ou uma instalação Personalizada. Como estamos reparando uma instalação já existe, escolha a atualização.
win7fix_tipo_instalacao-360px.jpg
Escolha uma "atualização" para reparar sua cópia do Windows 7
Depois disso o instalador irá fazer um teste de compatibilidade, no qual sua máquina deve passar sem problemas. Afinal, você já está rodando a mesma versão do Windows 7. Mas não custa dar uma olhada para ver se não há nenhum problema inesperado. Depois clique no botão Avançar, e o processo de instalação irá começar.
Se a opção de atualização não estiver disponível por algum motivo, você ainda pode acessá-la com um truque simples. Clique com o botão direito do mouse no arquivosetup.exe no DVD e selecione o item Propriedades no menu. Na nova janela, clique na abaCompatibilidade e marque a opção Executar este programa em modo de compatibilidade. Selecione o item Windows Vista (Service Pack 2) no menu, e marque também a opção no rodapé da janela que diz Executar este programa como administrador. Clique em OK. Rode osetup.exe novamente, e a opção de atualização deve aparecer.
Os passos seguintes da instalação não exigem intervenção manual. O instalador irá coletar informações sobre seu sistema, copiar os arquivos necessários e mover quaisquer documentos e pastas pessoais para uma cópia fresquinha do Windows 7. O processo não é rápido (um reparo típico levou 40 minutos em nossa máquina de testes), mas o tempo total irá variar de sistema para sistema, dependendo da quantidade de dados que precisam ser transferidos do sistema velho para o novo.
win7fix_atualizar-360px.jpg
Se seu PC estiver conectado à internet, escolha a primeira opção para baixar atualizações do sistema
Embora a maioria dos dados e programas instalados em sua “velha” cópia do Windows 7 devam ser transferidos sem problemas para a nova, algumas coisas como temas e sons personalizados não serão migradas. Você terá de reinstalá-los depois.
“Faxina” após a instalação
Depois que o upgrade estiver completo, você terá de ativar o sistema e responder a algumas perguntas básicas (data e hora, configurações de rede, etc). No final deste processo o Windows irá medir o desempenho da máquina para atribuir a ela uma pontuação no Windows Experience Index (Índice de Experiência do Windows, IEW) e fazer algumas atualizações e correções finais. Depois disso, dê uma “volta” pelo sistema e certifique-se de que todos os seus arquivos estão no lugar e que seus aplicativos estão funcionando corretamente. Rode também o Windows Update, para garantir que seu sistema tenha as atualizações mais recentes instaladas.
Para finalizar, livre-se do lixo deixado pela cópia velha do Windows 7. Estes arquivos estarão em duas pastas do sistema, chamadas $INPLACE.~TR e $WINDOWS.~Q no HD. Se tudo estiver ok, você pode apagar estas duas pastas. Repita também os passos que descrevemos anteriormente para fazer uma limpeza de disco e pronto.
Parabéns, você trouxe seu Windows 7 de volta à vida com sucesso. Mantenha este guia à mão, caso você tenha de repetir o processo.
Fonte:Uol_PCW

terça-feira, 30 de julho de 2013

RESTAURAR GRUB APÓS REINSTALAÇÃO DO WINDOWS

Passo 1. Com o computador desligado, insira o CD de instalação do Ubuntu na unidade e ligue a máquina.
Passo 2. Quando aparecer o menu de boot do CD, escolha a opção “Experimentar o Ubuntu”;
Passo 3. Depois que o computador inicializar o Ubuntu completamente, clique em “Aplicativos > Acessórios > Terminal”;
Passo 4. Quando a tela do terminal abrir, digite o seguinte código:
sudo fdisk -l
Passo 5. Esse comando mostrará todas as partições que existem no seu computador. Encontre a partição que contém o Ubuntu, normalmente exibida como partição “Linux”;
Passo 6. Sabendo em qual a partição está o Linux, digite:
sudo mount /dev/nomedaparticao /mnt
Em ‘nomedaparticao’, digite o nome da partição que está com o Linux instalado. Por exemplo:
sudo mount /dev/sda3 /mnt
Passo 7. Com a partição já montada, digite:
sudo grub-install --root-directory=/mnt /dev/sda
Feito isso, você terá o sistema de inicialização que tinha antes de reinstalar o Windows

quinta-feira, 30 de maio de 2013

Exercícios de Fixação Redes II e Sistemas Operacionais

Sistemas Operacionais  /  Material Redes II





Material para Estudos de Sistemas Operacionais:


     Baixar Questionários Respondidos.

                PodCastNarrado-Sist.Operacionais                                                                           

Material para Estudos de Redes II:



                                                           PdCastNarrado-Redes II

                              
   

domingo, 31 de março de 2013

Redes de computadores II


Redes de Computadores II

REDES SEM FIO

LAN´S SEM FIO 802.11

ACESSO CELULAR À INTERNET


Baixar Material para Estudos: Parte 1Parte 2

sábado, 30 de março de 2013

Resumo Sistemas Operacionais (part2)


Definições sobre Sistemas Operacionais.


Há alguns anos um sistema operacional era definido como o software que controla o hardware, o panorama dos sistemas de computador evoluiu significativamente, exigindo uma definição mais rica. Hoje, as aplicações são desenvolvidas para serem executadas simultaneamente. O sistema operacional separa as aplicações do hardware por elas acessado e é primordialmente, um gerenciador de recursos.

Baixe AQUI o Material Completo.

Espaço de Endereço do Processo

Um processo tem seu próprio espaço de endereço, que consiste em:
Região de texto
→ Armazena o código que o processador executa.
Região de dados
→ Armazena variáveis e memória alocada dinamicamente.
Região de pilha
→ Armazena instruções e variáveis locais para chamadas ativas ao procedimento.


Estados de processo: ciclo de vida de um processo

Um processo passa por uma série de estados de processo distinto:
Estado de execução
   ● O processo está sendo executado em um processador.
Estado “de pronto”
   ● O processo poderia ser executado em um processador se houvesse algum disponível.
Estado bloqueado
   ● O processo está aguardando a ocorrência de algum evento para prosseguir.

O sistema operacional mantém uma lista de prontos e uma lista de bloqueados para armazenar referências a processos que não estão sendo executados.


Gerenciamento de processo

Os sistemas operacionais prestam certos serviços fundamentais aos processos. Por exemplo:
■ Criam processos.
■ Destroem processos.
■ Suspendem processos.
■ Retomam processos.
■ Mudam a prioridade de um processo.
■ Bloqueiam processos.
■ Acordam (ativam) processos.
■ Despacham processos.
■ Capacitam os processos à comunicação inter-processos (IPC).


Estados de processo e estados de transição
Estados de processo
■ O ato de designar um processador ao primeiro processo da lista de prontos é denominado despacho.
■ O sistema operacional usam um temporizador de intervalo para permitir que um processo seja executado durante um intervalo de tempo específico ou quantum.
■ A multitarefa cooperativa permite que todo processo seja executado até o fim.

Estados de transição
■ Até agora, existem quatro estados de transição possíveis:
   ● Quando um processo é despachado, ele transita de pronto para em execução.
   ● Quando o quantum de um processo expira, ele transita de em execução para pronto.
   ● Quando um processo é bloqueado, ele transita de em execução para bloqueado.
   ● Quando um evento ocorre, ele transita de bloqueado para pronto.


Blocos de controle de processo (PCBs) /Descritores de processo

Os PCBs mantêm as informações que o sistema operacional precisa para gerenciar o processo.

■ Normalmente, eles incluem as seguintes informações:
   ● Número de identificação de processo (PID).
   ● Estado do processo.
   ● Contador de programa.
   ● Prioridade de escalonamento.
   ● Credenciais.
   ● Um ponteiro para o processo-pai.
   ● Ponteiros para os processos-filho.
   ● Ponteiros para localizar os dados e instruções do processo na memória.
   ● Ponteiros para recursos alocados.


Modelos de thread

Três são os modelos de thread mais conhecidos:
  ■ Threads de usuário
  ■ Threads de núcleo
  ■ Uma combinação de ambos



Os threads de usuário executam operações de suporte a threads no espaço do usuário.
   ■ Isso significa que os threads são criados por bibliotecas em tempo de execução que não podem executar instruções privilegiadas nem acessar as primitivas do núcleo diretamente.


Os threads de núcleo tentam resolver as limitações dos threads de usuário mapeando cada Thread para o seu próprio contexto de execução.
   ■ O thread de núcleo oferece mapeamento de thread um-para um.
      ● Vantagens: maior escalabilidade, interatividade e rendimento.
      ● Desvantagens: sobrecarga decorrente do chaveamento de contexto e menor portabilidade em virtude de as APIs serem específicas ao sistema operacional.

Os threads de núcleo nem sempre são a solução ideal para as aplicações.











sexta-feira, 29 de março de 2013

Sistemas Operacionais - 5º Período.

By: Ariadne Gomes.


Exercícios fixação Sistemas Operacionais

1.     Defina os seguintes estados de um processo:
Estado de execução: o processo está sendo executado em um processador.
Estado de pronto: o processo poderia ser executado em um processador se houvesse algum disponível.
Estado bloqueado: o processo está aguardando a ocorrência de algum evento para prosseguir.

2.     Liste abaixo serviços fundamentais aos processos prestados pelos Sistemas Operacionais.
Criam processos, destroem processos, retomam processos, mudam a prioridade de um processo, bloqueiam processos, acordam(ativam) processos, despacham processos e capacitam os processos à comunicação interprocessos.

3.     O que significa Estados de um Processo?
Significa que um processo passa por uma série de estados de processo distinto, são eles:
Estado de execução: o processo está sendo executado em um processador.
Estado de pronto: o processo poderia ser executado em um processador se houvesse algum disponível.
Estado bloqueado: o processo está aguardando a ocorrência de algum evento para prosseguir.

4.     O que significa Estados de Transição?
Existem 4 tipos de estados de transição, são eles: quando um processo é despachado ele transita do ponto de pronto para em execução (1), quando o quantum de um processo expira, ele transita de em execução para pronto (2), quando um processo é bloqueado ele transita de em execução para bloqueado (3) e quando um evento ocorre ele transita de bloqueado para pronto (4).

5.     Quais informações são mantidas num PCB?
Número de identificação de processo, estado do processo, contador de programa, prioridade de escalonamento, credenciais, um ponteiro para o processo pai, ponteiros para os processos filhos, ponteiros para localizar os dados e instruções do processo na memória e ponteiros para recursos alocados.

6.     Defina o que é suspensão de um processo.
É quando o processo é retirado indefinidamente da disputa por tempo em um processador, sem ser destruído. É útil para detectar ameaças à segurança e para depuração de software.

7.     O que é chaveamento de contexto?
É a troca do processo em execução por um processo previamente pronto.

8.     Defina Thread.
É às vezes chamado de processo leve. Existem threads de instrução e de controle. Os threads compartilham espaço de endereço e outras informações globais com seu próprio processo. Devem ser gerenciados pelo sistema operacional ou pela aplicação de usuário.

9.     Qual ou quais os principais motivos para a criação de Threads?
Os threads tornaram-se proeminentes por cauda de tendências subsequentes em relação: Ao projeto de software, ao desempenho e à cooperação. Todo thread transita entre uma série de estados, os threads e os processos têm muitas operações em comum.A criação de thread não requer que o sistema operacional inicialize recursos compartilhados entre os processos pai e os respectivos threads.

10.  Quais são os estados de uma Thread?
Estado nascido, estado pronto, estado em execução, estado morto, estado bloqueado, estado de espera, estado adormecido.

11.  Como é o ciclo de vida de uma Thread?

Nascido - > Pronto - > Em execução     -->      em espera
                                                                 -->       adormecido
                                                                 -->       morto                                                                                                                                                                                                                                    
                                                                 -->       bloqueado

12.  Quais são as operações de Threads que são comuns a processos?
Criar, sair, suspender, retomar, dormir, acordar.

13.  Sobre operações com Threads defina as seguintes:
a.     Cancelar : indica que um thread deve ser terminado, mas não garante que será terminado porque os threads podem mascarar o sinal de cancelamento.
b.    Associar: Para que um thread primário aguarde até que todos os outros terminem, ele associa a esses threads. O thread que se associa é bloqueado até que o thread ao qual ele se associou termine.

14.  Quantos e quais são os modelos de Threads?
São três os modelos de Threads: Threads de usuário, de núcleo e uma combinação de ambos.

15.  Defina:
a.       Threads de usuários: executam operações de suporte a threads no espaço do usuário.
b.    Threads de núcleo: tentam resolver as limitações dos threads de usuário mapeando cada thread para o seu próprio contexto de execução.

c.     Thread de usuários/núcleos (combinação):Implementação da combinação de threads de usuário e de núcleo.

16)                  Quais são as três finalidades principais de um sistema operacional?

·                    Oferecer um ambiente para um usuário de computador executar programas no hardware de forma eficiente e conveniente
·                    Alocar os recursos separados do computador de acordo com a necessidade para a solução de determinado problema
·                    Atuar como um programa de controle fazendo a supervisão da execução dos programas do usuário e gerenciando a operação e controle dos dispositivos de E/S.

17)                  Quais são as principais diferenças entre sistemas operacionais para computadores de grande porte (mainframes) e computadores pessoais?
Geralmente os sistemas operacionais para computadores de grande porte (mainframes) possuem requisitos mais simples do que para computadores pessoais e precisam alternar rapidamente entre diferentes tarefas. Eles não precisam se preocupar com a interação comum usuário tanto quanto um computador pessoal. Como resultado, um sistema operacional para computador pessoal, precisa se preocupar com o tempo de resposta para um usuário interativo e com o compartilhamento de tempo.

18)                  Liste as quatro etapas que são necessárias para se executar um programa em uma máquina completamente dedicada.
·         Reservar tempo de máquina.
·         Carregar o programa manualmente para a memória.
·         Carregar o endereço inicial e iniciar a execução.
·         Monitorar e controlar a execução do programa a partir do console. 

4  4) Enfatizamos a necessidade de que um sistema operacional faça uso eficaz do hardware de computação. Quando é apropriado que um sistema operacional deixe de lado esse princípio e “desperdice” recursos? Por que esse sistema não é realmente desperdiçador?
Sistemas monousuários devem maximizar o uso do sistema para o usuário. Uma GUI poderia “desperdiçar” ciclos de CPU, mas otimiza a interação do usuário com o sistema.

19) Qual é a principal dificuldade que um programador precisa contornar na escrita de um sistema operacional para um ambiente de tempo real?
A principal dificuldade é manter o sistema operacional dentro das restrições de tempo fixas de um sistema de tempo real. Se o sistema não completar uma tarefa em certo período de tempo, ele pode causar uma quebra do sistema inteiro que está executando. Portanto, ao escrever um sistema operacional para um sistema de tempo real, o desenvolvedor precisa estar certo de que esses esquemas de escalonamento não permitem que o tempo de resposta ultrapasse a restrição de tempo.

20) Considere as diversas definições do sistema operacional. Considere se o sistema operacional deverá incluir aplicações como navegadores Web e programas de correio. Argumente tanto contra como a favor, e dê suporte à sua resposta.
Aplicações como navegadores Web e ferramentas de e-mail estão realizando um papel cada vez mais importante nos sistemas desktop modernos. Para cumprir esse papel, eles precisam ser incorporados como parte do sistema operacional. Ao fazer isso, eles podem oferecer melhor desempenho e melhor integração com o restante do sistema. Além disso, essas aplicações importantes podem ter o mesmo estilo do software do sistema operacional.

21) Como a distinção entre modo kernel e modo usuário funciona como uma forma rudimentar de sistema de proteção (segurança)?
Estabelecendo um conjunto de instruções privilegiadas que só possam ser executadas quando estiver no modo monitor, o sistema operacional tem garantia de controle do sistema inteiro o tempo todo.
8) Alguns computadores protegiam o sistema operacional colocando – o em uma partic]cão da memória que não poderia ser modificada pelo job do usuário ou pelo próprio sistema operacional. Descreva duas dificuldades que você acredita que poderiam surgir com tal esquema.
Os dados exigidos pelo sistema operacional (senhas, controles de acesso, informações contábeis etc.) teriam de ser armazenados ou passados pela memória desprotegida e, portanto, estariam acessíveis a usuários não autorizados.

22)A internet é uma LAN ou uma WAN?
Wan.

23) Quais são as cinco principais atividades de um sistema operacional em relação à gerência de processos?
·         A criação e a exclusão de processos do sistema e do usuário.
·         A suspensão e a retomada de processos.
·         A provisão de mecanismos para o sincronismo de processo.
·         A provisão de mecanismos para a comunicação entre processos.
·         A provisão de mecanismos para o tratamento de deadlock.

24)Qual é a finalidade dos programas do sistema?
Os programas de sistema podem ser considerados como pacotes de chamadas de sistema úteis. Eles oferecem a funcionalidade básica para os usuários, e por isso os usuários não precisam escrever seus próprios programas para solucionar problemas comuns.

25) Liste cinco serviços fornecidos por um sistema operacional. Explique como cada um oferece conveniência aos usuários. Explique também em quais casos seria impossível para os programas em nível de usuário oferecerem esses serviços?
·         Execução de programa. O sistema operacional carrega o conteúdo (ou seções) de um arquivo para a memória e inicia sua execução. Um programa em nível de usuário poderia não ser confiável para alocar devidamente o tempo de CPU.
·         Operações de E/S. Discos, fitas, linhas seriais e outros dispositivos precisam ter comunicação em um nível muito baixo. O usuário só precisa especificar o dispositivo e a operação que atuará sobre ele, enquanto o sistema converte essa requisição em comandos específicos do dispositivo ou controlador. Não se pode confiar que os programas no nível do usuário acessarão apenas os dispositivos aos quais devem ter acesso e que somente os acessarão quando não estiverem sendo usados.
·         Manipulação do sistema de arquivos. Existem muitos detalhes na criação, exclusão, alocação e nomeação de arquivos que os usuários não terão de realizar. Os blocos de espaço no disco são usados por arquivos e precisam ser rastreados. A exclusão de um arquivo exige a remoção das informações do arquivo de nomes e a liberação dos blocos alocados. As proteções também precisam ser verificadas para garantir o acesso apropriado ao arquivo. Os programas do usuário não poderiam garantir a aderência aos métodos de proteção, nem se pode confiar neles para alocar apenas blocos livres e desalocar blocos na exclusão do arquivo.
·         Comunicações. A troca de mensagens entre os sistemas requer que as mensagens sejam transformadas em pacotes de informação, enviadas ao controlador de rede, transmitidas por um meio de comunicação e remontadas pelo sistema de destino. É preciso que haja ordem nos pacotes e correção de dados. Novamente, os programas do usuário não poderiam coordenar o acesso ao dispositivo da rede, ou então poderiam receber pacotes destinados a outros processos.
·         Detecção de erros. A detecção de erros ocorre nos níveis de hardware e de software. No nível de hardware, todas as transferências de dados precisam ser inspecionadas para garantir que os dados não tenham sido adulterados em trânsito. Todos os dados na mídia precisam ser verificados para garantir que não sejam alterados desde que foram gravados na mídia. No nível de software, a mídia precisa ser verificada em busca da consistência dos dados; por exemplo, se a quantidade de blocos de armazenamento alocados e não alocados combina com a quantidade total no dispositivo. Os erros são constantemente independentes do processo (por exemplo, a adulteração dos dados em um disco), de modo que é preciso haver um programa global (o sistema operacional) que trate de todos os tipos de erros. Além disso, processando os erros pelo sistema operacional, os processos não precisam conter código para apanhar e corrigir todos os erros possíveis em um sistema.
   
      Baixar Exercícios de Fixação: Aqui.