Sunday, January 07, 2007
sistemas operacionais
Sistema operativo (como é conhecido em Portugal) ou sistema operacional (como é conhecido no Brasil) é um programa (software) ou um conjunto de programas cuja função é servir de interface entre um computador e o usuário. É comum utilizar-se a abreviatura SO (em português) ou OS (do inglês "Operating System").
Segundo Tanenbaum e Silberschatz existem dois modos distintos de conceituar um sistema operacional: (i) pela perspectiva do usuário (visão "top-down"), é uma abstração do hardware, fazendo o papel de intermediário entre o aplicativo (programa) e os componentes físicos do computador (hardware); (ii) numa visão "bottom-up", de baixo para cima, é um gerenciador de recursos, i.e., controla quais aplicações (processos) podem ser executadas, quando, que recursos (memória, disco, periféricos) podem ser utilizados.
Portanto, se não existissem os sistemas operacionais, todo programa desenvolvido deveria saber como comunicar-se com os dispositivos do computador que precisasse utilizar.
| |
História dos sistemas operacionais
No início da computação os primeiros "sistemas operacionais" eram únicos, pois cada mainframe vendido necessitava de um sistema operacional específico. Esse problema era resultado de arquiteturas diferentes e da linguagem utilizada — no caso, assembly (linguagem de baixo nível). Após essa fase, iniciou-se a pesquisa de sistemas operacionais que automatizassem a troca de tarefas (jobs), pois os sistemas eram mono-usuário e tinham cartões perfurados como entrada (eliminando, assim, o trabalho de pessoas que eram contratadas apenas para trocar os cartões perfurados).
Um dos primeiros sistemas operacionais de propósito geral foi o CTSS, desenvolvido no MIT. Após o CTSS, o MIT, os laboratórios Bell da AT&T e a General Eletric desenvolveram o Multics, cujo objetivo era suportar centenas de usuários. Apesar do fracasso comercial, o Multics serviu como base para o estudo e desenvolvimento de sistemas operacionais. Um dos desenvolvedores do Multics, que trabalhava para a Bell, Ken Thompson, começou a rescrever o Multics num conceito menos ambicioso, criando o Unics (em 1969), que mais tarde passou a chamar-se Unix. Os sistemas operacionais eram geralmente programandos em assembly, até mesmo o Unix em seu início. Então, Dennis Ritchie (também da Bell) criou a linguagem C a partir da linguagem B, que havia sido criada por Thompson. Finalmente, Thompson e Ritchie reescreveram o Unix em C. O Unix criou um ecossistema de versões, onde destacam-se: System V e derivados (HP-UX, AIX); família BSD (FreeBSD, NetBSD, OpenBSD, etc.), Linux e até o Mac OS X (que deriva do Mach e FreeBSD).
Na década de 1970, quando começaram a aparecer os computadores pessoais, houve a necessidade de um sistema operacional de utilização mais fácil. Em 1980, William (Bill) Gates e seu colega de faculdade, Paul Allen, fundadores da Microsoft, compram o sistema QDOS ("Quick and Dirty Operating System") de Tim Paterson por $50.000, batizam-no de DOS (Disk Operating System) e vendem licenças à IBM. O DOS vendeu muitas cópias, como o sistema operacional padrão para os computadores pessoais desenvolvidos pela IBM.
No começo da década de 1990, um estudante de computação finlandês postou um comentário numa lista de discussão da Usenet dizendo que estava desenvolvendo um kernel de sistema operacional e perguntou se alguém gostaria de auxiliá-lo na tarefa. Este estudante chamava-se Linus Torvalds e o primeiro passo em direção ao tão conhecido Linux foi dado naquele momento.
Estrutura
Um sistema operacional (ou seu kernel), possui as seguintes funções: (i) agendamento de processos; (ii) gerenciamento de memória; (iii) sistema de arquivos; (iv) disponibilização de entrada e saída de dados.
Classificações
Em relação ao seu projeto (arquitetura), segundo Tanenbaum:
- Sistema monolítico: o kernel consiste em um único processo executando numa memória protegida (espaço do kernel). Ex.: Windows, Linux, FreeBSD.
- Sistema em camada: funções do kernel irão executar em camadas distintas, de acordo com seu nível de privilégio. Ex.: Multics.
- Modelo cliente-servidor ou micro-kernel: o kernel consiste apenas no essencial (comunicação e gerenciamento de processos), e funções como sistemas de arquivos e gerenciamento de memória são executadas no espaço do usuário como serviços; as aplicações (programas) são os clientes. Ex.: GNU Hurd, Mach.
- Monitor de máquinas virtuais: fornece uma abstração do hardware para vários sistemas operacionais. Ex.: VM/370, VMWare, Xen.
Quanto à capacidade de processamento, pode-se usar a seguinte classificação:
- Monotarefa: pode-se executar apenas um processo de cada vez Ex.: DOS.
- Multitarefa: além do próprio SO, vários processos de utilizador (tarefas) estão carregados em memória, sendo que um pode estar ocupando o processador e outros ficam enfileirados, aguardando a sua vez. O compartilhamento de tempo no processador é tão bem distribuído que o usuário tem a impressão que vários processos estão sendo executados simultaneamente. Ex: Windows, Linux, FreeBSD.
- Multiprocessamento ou multiprogramação: o SO pode distribuir as tarefas entre vários processadores.
win os X
WinOSX Transformation Pack é um pacote de transformação que vai deixar seu computador com a cara do sistema operacional Mac OS X da Apple. O programa é capaz de customizar tudo facilmente, instalando aparências novas para o Windows, Controle, Pesquisa, Sombras e muitas outras características.
Se você não gostar de algumas das opções incluídas no pacote completo, poderá desinstalar componentes ou o software inteiro sem perigo. É claro que apenas a aparência do Windows será mudada, a funcionalidade será mantida, apenas possuindo skins feitas pela fantástica comunidade de fãs deste sistema operacional.
![]()
Antes de instalar o WinOSX Transformation Pack você pode criar um ponto de restauração do Windows, assim, se não gostar do programa ou se ele não funcionar corretamente, você pode simplesmente restaurar o sistema para um ponto anterior à instalação do programa.
.
![]()


VMware
VMWare é um software/máquina virtual que visa criar ambientes para instalação de sistemas distintos. Ele permite a instalação e utilização de um sistema operacional dentro de outro dando suporte real a softwares de outros sistemas.
| VMWare | ||
|---|---|---|
Red Hat Linux 9 rodando sob o VMware. | ||
| Desenvolvedor | VMware | |
| Última versão | 5.5.1 (20-dez-2005) | |
| Sistema Op. | Multiplataforma | |
| Gênero | Virtualização, Emulação | |
| Licença | Proprietária | |
| Website | http://www.vmware.com | |
Você pode por exemplo utilizar o Linux no Windows XP a um clique do mouse sem requerer a processos complexos de particionamento e configuração. Também pode fazer o inverso, utilizar o Windows XP e seus programas dentro do Linux.
Cada máquina virtual opera como se fosse um computador separado, com direito a discos rígidos SCSI e IDE, drives de CD-ROM, placas de rede e placa de som - porém sempre usando os recursos (CPU, memória e espaço em disco) da máquina host (que é onde o VMware roda). Ou seja, para tirar bom proveito do VMware se faz necessária uma boa configuração de hardware.
A principal vantagem de máquinas virtuais como o VMWare sobre os emuladores é o suporte integral de recursos sem a necessidade de criar códigos de tradução complexos pesados ao desempenho da máquina. A principal desvantagem é obviamente o preço a pagar por isso: o VMWare é um software proprietário com todas as restrições típicas de um.
Recentemente, foram lançadas novas versões do VMware, que são gratuitas:
- VMware Server, voltado ao uso em servidores. Conta com gerenciamento remoto.
- VMware Player, que executa máquinas virtuais prontas; poderá refazer o sistema de ficheiros consoante a distribuição que pretenda, podendo se necessário, por exemplo, instalar uma distribuição Linux de raíz.
[editar] Funcionamento
Os arquivos são armazenados em "discos virtuais" que aparecem como arquivos dentro da pasta do VMWare no sistema host e cada sistema operacional pode ter uma configuração de rede distinta, com seu próprio endereço IP e tudo mais. As máquinas virtuais ficam acessíveis na rede, como se fossem realmente PCs completos, permitindo correr um servidor Web ou um programa P2P dentro de uma máquina virtual, sem comprometer a segurança do seu sistema operacional principal.
[editar] Utilidade
Com o VMWare é muito mais simples estudar a integração de redes entre vários sistemas operacionais. Ele permite ainda simular uma rede com várias versões do Linux e Windows. Também é uma excelente opção para conhecer outros sistemas de forma simplificada, ou para manter a compatibilidade entre sistemas antigos e novos.