quinta-feira, 3 de dezembro de 2009

Sistema Operativo

Gestão pelos processos

Sistema de Informação de Gestão é um sistema de informação, tipicamente baseado em computadores, utilizado no seio de uma organização.
A WordNet descreve um sistema de informação como "um sistema que consiste na rede de canais de comunicação numa organização".
Um sistema de informação é composto por todos os componentes que recolhem, manipulam e disseminam dados ou informação. Incluem-se tipicamente hardware, software, pessoas, sistemas de comunicação como linhas telefónicas, e os dados propriamente ditos. As actividades envolvidas incluem a introdução de dados, processamento dos dados em informação, armazenamento de ambos, e a produção de resultados, como relatórios de gestão.
Como área de estudo é tipicamente referida como administração ou gestão de tecnologias de informação. O estudo de sistemas de informação é vulgarmente uma disciplina de administração e gestão comercial, e envolve frequentemente desenvolvimento de software, mas também se distingue concentrando-se na integração de
sistemas computadorizados mediante os objectivos da organização. Esta área de estudo não deve, no entanto, ser confundida com Ciência da Computação, sendo esta mais teórica e matemática por natureza, ou com Engenharia dos computadores.


A gestão da memória

A gestão da memória é um difícil compromisso entre os desempenhos (tempo de acesso) e a quantidade (espaço disponível). Deseja-se, com efeito, ter o máximo de memória disponível, mas deseja-se raramente que isto se faça em detrimento dos desempenhos.
A gestão da memória deve desempenhar as seguintes funções:

• permitir a partilha da memória (para um sistema multi-tarefas);
• permitir atribuir blocos de memória às diferentes tarefas;
• proteger os espaços memória utilizados (impedir, por exemplo, um utilizador de alterar uma tarefa executada por um outro utilizador);
• optimizar a quantidade de memória disponível, nomeadamente por mecanismos de extensão da memória.

Sistema de Ficheiros
Sistema de ficheiros ou sistema de arquivos (também conhecida por gestão de ficheiros) é a forma de organização de dados em algum meio de armazenamento de dados em massa frequentemente feito em discos magnéticos. Sabendo interpretar o sistema de arquivos de um determinado disco, o sistema operacional pode descodificar os dados armazenados e lê-los ou gravá-los.
Fazendo analogias, tal organização assemelha-se a uma biblioteca escolar. O bibliotecário organiza os livros conforme o seu gosto, cuja busca, convenientemente, procura deixar mais fácil, sem ocupar muitas prateleiras e assegurando a integridade deste. Ainda, certamente, organiza os livros segundo suas características (assunto, censura, etc.). Depois de organizados, ou durante a organização, o bibliotecário cria uma lista com todos os livros da biblioteca, com seus assuntos, localizações e códigos respectivos.


Sistema distribuído
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"[1]; 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"[
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, 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 de um Sistema Distribuido

A seguir destacamos algumas características dos sistemas distribuídos. Nem todos os SDs
apresentam as mesmas propriedades; isso pode depender do seu propósito.
1. Compartilhamento de recursos: impressoras, discos, banco de dados, arquivos, etc.
2. Concorrência e paralelismo: o acesso aos recursos devem ser sincronizados.
3. Escalabilidade.
4. Tolerância a Falhas: falhas independentes.
5. Alta Disponibilidade
6. Não existe um clock global
7. Transparência em relação as falhas, a localização de recursos, acesso, replicação,
escalabilidade, concorrência, mobilidade, desempenho, etc.




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 de multiprocessamento
Um multiprocessador ou sistema multiprocessador é 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, efectivamente, a lógica de controle é distribuída 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.

Sincronização
Sincronização é o gerenciamento adequado de múltiplas linhas de execução ou processos concorrentes que acessam um mesmo recurso limitado ou uma porção de dados, situação conhecida como condição de corrida.
Este gerenciamento em geral deve prover acesso a todas as linhas de execução dentro dos limites do recurso limitado, de modo que todas tenham tempo finito de espera (não ficarão em espera infinita). No caso de acesso a uma porção de dados, as leituras e escritas realizadas devem ocorrer de modo a preservar a consistência.
Entre os mecanismos que provém sincronização podemos citar os semáforos e exclusão mútua que definem regiões críticas.
Sincronização é útil em programas multitarefa para manter a consistência de dados usados por diversas linhas de execução, em sistemas distribuídos para controlar o acesso de diversos nós a um recurso limitado e bancos de dados para escalonar adequadamente acessos concorrentes à base.

Escalonamento
Escalonamento de processos ou agendador de tarefas (é uma actividade organizacional feita pelo escalonamento da CPU ou de um sistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, periodizando determinados tipos de processos, como os de I/O Bound e os computacionalmente intensivos.
O escalonamento de processos de 2 níveis escolhe o processo que tem mais prioridade e menos tempo e coloca-o na memória principal, ficando os outros alocados em disco; com essa execução o processador evita ficar ocioso.



quarta-feira, 2 de dezembro de 2009