sexta-feira, 5 de fevereiro de 2010
sexta-feira, 4 de dezembro de 2009
Sistemas de Multiprocessamento
Multiprocessamento é a capacidade de um sistema operacional executar simultaneamente dois ou mais processos. Pressupõe a existência de dois ou mais processadores. Difere da multitarefa, pois esta simula a simultaneidade, utilizando-se de vários recursos, sendo o principal o compartilhamento de tempo de uso do processador entre vários processos.
Características
Um multiprocessador ou sistema multiprocessado é um sistema integrado de computação com as seguintes características:
- Envolve dois ou mais processadores físicos (sejam processadores separados ou múltiplos núcleos encapsulados no mesmo chip) ou lógicos (processador(es) com a tecnologia HyperThreading da Intel) com o mesmo poder computacional e cada um capaz de executar processos autonomamente. Isto implica que não há nenhuma unidade central de controle; cada processador contém sua própria unidade de controle. Assim, efetivamente, a lógica de controle é distribuida pelo sistema.
- Os processadores compartilham um único espaço de endereçamento de memória.
- O sistema de hardware é como um todo gerenciado por um único sistema operacional.
O sistema operacional com suporte a multiprocessamento deve ser capaz de:
- suportar multitarefa;
- manter múltiplas filas de processos, uma para cada processador.
- Atenção Multiprocessamento é diferente de Multiprogramação.
Arquitetura
Sistemas multiprocessados podem ser basicamente de dois tipos: SMP e NUMA.- Multiprocessamento simétrico (SMP): os processadores compartilham a mesma memória, embora possam ter caches separadas. O sistema operacional deve estar preparado para trabalhar com coerência de caches e, principalmente, evitar condições de corrida na memória principal.
- Acesso não uniforme à memória (NUMA): a cada processador é associado um banco de memória. Nesse caso, o sistema operacional trata cada banco separadamente, pois cada banco tem um custo de acesso diferente, dependendo de qual o processador a que está associado e onde está sendo executado o processo que tenta acessar a memória.
quinta-feira, 3 de dezembro de 2009
Sistema de Escalonamento
Optimizar a performance do sistema de acordo com um critério
- Dividir a capacidade de processamento da UCP entre vários processos
- Diminuir o tempo de resposta (sistemas de Tempo-Real)
Como?
- Alguns exemplos:
- Quando um processo está à espera (por ex: de uma operação de I/O ou de um sinal), outro processo pode entrar em funcionamento
- Periodicamente é retirado um processo e substituído pelo próximo na fila de ready
Escalonando da UCP
O escalonador selecciona entre os processos na fila de Ready, aqueles que devem entrar em execução de seguida
A decisão de escalonamento pode ser feita nas seguintes circunstâncias:
1. O processo comuta do estado Running para o estado Waiting (pedido de I/O, evocação da função wait())
- O processo comuta do estado Running para o estado Ready (ocorrência de uma interrupção)
- O processo comuta do estado Waiting para o estado Ready (termina um pedido de I/O)
- O processo termina
Diagrama de Estados
Tipos de Escalonamento
Escalonamento não preemptivo:
- O escalonador apenas pode efectuar a comutação entre processos quando o processo termina ou passa para o estado de Waiting
- Exemplo: Windows 3.1 e Apple Macintosh OS
Escalonamento preemptivo:
- O escalonador pode interromper a execução de um processo antes que este tenha terminado
Estrutura de um Escalonador

Sistema Distribuido
Definição
Um sistema distribuído segundo a definição de Andrew Tanenbaum é uma "colecção de computadores independentes que se apresenta ao usuário como um sistema único e consistente"; outra definição, de George Coulouris, diz: "colecção de computadores autónomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados"[carece de fontes?].
O suporte completo de um sistema de banco de dados distribuídos implica que uma única aplicação seja capaz de operar de modo transparente sobre dados dispersos em uma variedade de banco de dados diferentes, gerenciados por vários SGBDs diferentes, em execução em uma variedade de máquinas diferentes que podem estar rodando em diversas plataformas diferentes e uma variedade de sistemas operacionais. Onde o modo transparente diz respeito à aplicação operar sob um ponto de vista lógico como se os dados fossem gerenciados por um único SGBD, funcionando em uma única máquina com apenas um sistema operacional.
Características Fundamentais
Execução concorrente das componentes – paralelismo real
o Necessidade de coordenação entre os vários componentes
Falhas independentes das componentes e das comunicações
- Impossível determinar se existe uma falha dum componente ou do sistema de comunicações
- Necessidade de tratar as falhas
Ausência de relógio global – existem limites para a precisão da sincronização dos relógios locais
- Impossível usar relógios locais para ordenar globalmente todos os eventos
Implicações
Nenhuma componente tem uma visão exacta e instantânea do estado global do sistema
Os componentes têm uma visão parcial do estado global do sistema
- Os componentes do sistema estão distribuídos e só podem cooperar através da troca de mensagens, as quais levam um tempo não nulo a serem propagadas
Na presença de falhas, o estado global pode tornar-se incoerente → as visões parciais do estado global podem tornar-se incoerentes
- Por exemplo, réplicas de um ficheiro podem ficar incoerentes
Vantagens
• Economia: melhor relação custo/desempenho
• Eficiência: maior poder total de computação
• Distribuição inerente: máquinas espacialmente separadas
• Confiabilidade: se uma máquina falha, o sistema como um todo pode ainda sobreviver
• Crescimento incremental: poder computacional adicionado em incrementos
Desvantagens
• Pouco software disponível (ainda!)
• Networking: a rede pode causar problemas
• Segurança: várias portas de acesso (mas...)
Sistema Operativo
Um sistema operacional possui as seguintes funções:
- gerenciamento de processos;
- gerenciamento de memória;
- sistema de arquivos;
- entrada e saída de dados.
Gestão de Processos
O sistema operacional multitarefa é preparado para dar ao usuário a ilusão que o número de processos em execução simultânea no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que o usuário pensa que sua execução é simultânea.
São utilizados algoritmos para determinar qual processo será executado em determinado momento e por quanto tempo.
Os processos podem comunicar-se, isto é conhecido como IPC (Inter-Process Communication). Os mecanismos geralmente utilizados são:
- sinais;
- pipes;
- named pipes;
- memória compartilhada;
- soquetes (sockets);
- trocas de mensagens.
O sistema operacional, normalmente, deve possibilitar o multiprocessamento (SMP ou NUMA). Neste caso, processos diferentes e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompível, o que significa que pode ser interrompido no meio da execução de uma tarefa.
SO fornece serviços para:
- Criação e eliminação de processos
- Escalonamento de processos (multiprogramação)
- Tratamento das interrupções
- Mecanismos para sincronização de processos
- Mecanismos para a comunicação de processos
Gestão de Memórias
O sistema operacional tem acesso completo à memória do sistema e deve permitir que os processos dos usuários tenham acesso seguro à memória quando o requisitam.
Vários sistemas operacionais usam memória virtual, que possui 3 funções básicas:
- assegurar que cada processo tenha seu próprio espaço de endereçamento, começando em zero, para evitar ou resolver o problema de relocação (Tanenbaum, 1999);
- prover proteção da memória para impedir que um processo utilize um endereço de memória que não lhe pertença;
- possibilitar que uma aplicação utilize mais memória do que a fisicamente existente.
Gestão de arquivos/ficheiros
A memória principal do computador é volátil, e seu tamanho é limitado pelo custo do hardware. Assim, os usuários necessitam de algum método para armazenar e recuperar informações de modo permanente.
Um arquivo é um conjunto de bytes, normalmente armazenado em um dispositivo periférico não volátil (p.ex., disco), que pode ser lido e gravado por um ou mais processos.
Um sistema de ficheiros é constituído por duas partes:
- Um conjunto de ficheiros (dados).
- Uma estrutura de directórios (organização).
O sistema operativo é responsável por:
- Criação e eliminação de ficheiros.
- Criação e eliminação de directórios.
- Suporte das funções base para a manipulação de ficheiros e directórios.
- Mapeamento dos ficheiros (lógico) no suporte de armazenamento secundário (físico).
- Criação de cópias de segurança dos ficheiros em suporte estável, não volátil.
- Gestão e manutenção das permissões de acesso aos ficheiros.
Um ficheiro é uma colecção de informação relacionada, identificada por um nome. Normalmente, os ficheiros representam programas ou dados.
Propriedades dos ficheiros:
- Nome
- Tipo
- Local
- Tamanho
- Segurança
- Data
- Dono
Operações sobre ficheiros:
- Criação
- Escrita
- Leitura
- Posicionamento
- Eliminação
A estrutura de directórios permite gerir e organizar o conjunto de ficheiros existentes num volume.
Operações desempenhadas num directório:
- Pesquisa de ficheiros, criação de ficheiros, eliminação de ficheiros, listagem de conteúdos, renomear ficheiros.
São possíveis muitas formas de organização. A mais comum é em árvore com um número arbitrário de níveis.
quarta-feira, 18 de novembro de 2009
segunda-feira, 2 de novembro de 2009
Como instalar o Windows XP
- CD do Microsoft Windows XP.
- Chave do produto (Product Key) : A chave do produto encontra-se no verso da embalagem do Windows XP.
- Informações sobre a rede: Se o computador estiver conectado a uma rede (é o que ocorre na maioria dos casos), obtenha estas informações antes de executar a instalação.
2- No menu vá para a opção BOOT (Use as teclas ← →).
Agora, você pode escolher qual dispositivo será usado como primeiro boot, segundo boot, terceiro e assim por seguir. Use as teclas ↑↓ para selecionar opção First BOOT DEVICE pressione a tecla ENTER e selecione CD-ROM (vamos dar o BOOT através do CD). Na opção Second Boot Device selecione Hard Drive.
4- Em seguida, a tela abaixo aparecerá. Nela tem uma mensagem PRESSIONE UMA TECLA PARA INICIAR DO CD. Preste atenção pois esta tela só aparece por poucos segundos. Aperte qualquer tecla para iniciar do CD.
5- O CD começará a ser acessado. A próxima tela a aparecer é igual à abaixo.
6- Espere até que apareca a próxima tela (veja abaixo). Você quer instalar o Windows XP no disco rígido, então aperte ENTER.
7- Após teclar ENTER, a tela abaixo aparecerá (Contrato do Windows XP). Se concordar com o contrato (ou seja, quiser instalar o Windows XP), tecle F8.
9- Depois de particionado e formatado, você deve apertar ENTER na tela mostrada abaixo.
10- O programa começará a copiar os arquivos.
11- Após a conclusão da cópia de todos os ficheiros de instalação (processo que pode levar vários minutos). Não deveremo fazer nada, pois caso pressionemos alguma tecla, como o cd de instalação ainda está na drive, poderemos voltar a entrar no menu de instalação do Windows XP. Por isso, deveremos esperar mais um pouco… enquanto a instalação continua…