TCC Diego Sistemas Operacionais (Versão Final)
TCC Diego Sistemas Operacionais (Versão Final)
TCC Diego Sistemas Operacionais (Versão Final)
Para os usurios de computadores de mesa, significa poder adicionar diversos recursos: uma nova atualizao de segurana, patch do sistema, novo aplicativo ou at mesmo um novo sistema operacional sem ter de comprar um novo computador. Quando voc entende o funcionamento de um sistema operacional e sabe como configur-lo, voc pode fazer muitas mudanas no comportamento dele. Isto funciona tanto para o telefone celular quanto para o computador. O objetivo de um sistema operacional organizar e controlar o hardware e o software para que o dispositivo funcione de maneira flexvel e previsvel. Neste artigo, vamos explicar o que um software precisa fazer para ser chamado de sistema operacional e mostrar como funciona o sistema operacional do seu
computador vendo alguns exemplos de como controlar os outros sistemas operacionais que existem ao seu redor.
realizar uma variedade de tarefas; interagir com os usurios de forma complexa; acompanhar as necessidades que mudam com o tempo.
Todos os computadores de mesa tm sistemas operacionais. Os mais comuns so os da famlia Windows, da Microsoft, o OS X, sistema operacional do Macintosh desenvolvido pela Apple, o Linux, sistema operacional desenvolvido por Linus Torvalds e pela comunidade de desenvolvedores de software open source, e a famlia UNIX de sistemas operacionais (que foram desenvolvidos por uma srie de pessoas, empresas e colaboradores). Existem ainda centenas de outros sistemas operacionais desenvolvidos para aplicaes especficas como mainframes, robtica, manufatura, sistemas de controle em tempo real e etc.
operacional gerencia o teclado, a tela, a agenda, a bateria e a conexo de rede; 2. Proporciona uma maneira estvel e consistente para lidar com o hardware, sem ter de conhecer todos os detalhes do hardware. A primeira tarefa, ou seja, o gerenciamento de recursos de software e hardware uma tarefa extremamente importante. Diversos programas e mtodos de entrada de dados competem pela ateno da CPU (Unidade Central de Processamento) e demandam memria, espao em disco e largura de banda de entrada/sada. O sistema operacional faz o papel do bom pai. Ele cuida para que cada aplicativo tenha os recursos necessrios para o funcionamento e gerencia a capacidade limitada do sistema para atender a todos os usurios e aplicativos. A segunda tarefa fornecer uma interface consistente para os aplicativos. A interface especialmente importante se mais de um tipo de computador utiliza o sistema operacional ou se o hardware do computador constantemente atualizado. Uma API (Application Program Interface - Interface de Programao de Aplicativos) permite que o desenvolvedor do software escreva um programa em um computador e tenha um alto nvel de segurana de que este aplicativo vai rodar em outro computador do mesmo tipo, mesmo que a quantidade de memria e a rea de armazenamento sejam diferentes. Mesmo que um computador seja nico, um sistema operacional assegura que os aplicativos continuem funcionando aps as atualizaes de hardware. Isso acontece porque o sistema operacional, e no o aplicativo, que gerencia o hardware e a distribuio dos seus recursos. Um dos desafios do desenvolvedor de sistemas operacionais criar um sistema flexvel o suficiente para reconhecer hardwares de milhares de fabricantes diferentes. Os sistemas atuais podem acomodar milhares de impressoras, drivers e perifricos especiais em qualquer combinao possvel.
sistema operacional de tempo real (RTOS - Real-time operating system). utilizado para controlar mquinas, instrumentos cientficos e sistemas industriais. Geralmente um RTOS no tem uma interface para o usurio muito simples e no destinado para o usurio final, desde que o sistema entregue como uma "caixa selada". A funo do RTOS gerenciar os recursos do computador para que uma operao especfica seja sempre executada durante um mesmo perodo de tempo. Numa mquina complexa, se uma parte se move mais rapidamente s porque existem recursos de sistema disponveis, isto pode ser to catastrfico
quanto se uma parte no conseguisse se mover porque o sistema est ocupado. monousurio, monotarefa. O sistema operacional foi criado para que um nico usurio possa fazer uma coisa por vez. O Palm OS dos computadores Palm um bom exemplo de um moderno sistema operacional monousurio e monotarefa. monousurio, multitarefa. Este tipo de sistema operacional o mais utilizado em computadores de mesa e laptops. As plataformas Microsoft Windows e Apple MacOS so exemplos de sistemas operacionais que permitem que um nico usurio utilize diversos programas ao mesmo tempo. Por exemplo, perfeitamente possvel para um usurio de Windows escrever uma nota em um processador de texto ao mesmo tempo em que faz download de um arquivo da Internet e imprime um email. multiusurio. Um sistema operacional multiusurio permite que diversos usurios utilizem simultaneamente os recursos do computador. O sistema operacional deve se certificar de que as solicitaes de vrios usurios estejam balanceadas. Cada um dos programas utilizados deve dispor de recursos suficientes e separados, de forma que o problema de um usurio no afete toda a comunidade de usurios. Unix, VMS e sistemas operacionais mainframe como o MVS so exemplos de sistemas operacionais multiusurio.
importante diferenciar os sistemas operacionais multiusurio dos sistemas operacionais monousurio que suportam rede. O Windows Server e o Novell Open Enterprise Server podem suportar centenas ou milhares de usurios em rede, mas os sistemas operacionais em si no so sistemas multiusurio de verdade. O administrador do sistema o nico "usurio" do Windows Server ou do Novell Open Enterprise Server. O suporte rede e todos os usurios remotos so, do ponto de vista do sistema operacional, um programa sendo executado pelo administrador.
gerenciamento do processador gerenciamento da memria gerenciamento de dispositivos gerenciamento de armazenamento interface de aplicativos interface do usurio
Algumas pessoas defendem que o sistema operacional deveria fazer mais do que essas seis tarefas. Na verdade, alguns fabricantes at incorporam mais utilitrios e funes auxiliares nos seus sistemas, mas, essas 6 tarefas definem o ncleo de quase todos os SOs.
s pode fazer uma coisa de cada vez. Para criar esta aparncia de coisas acontecendo ao mesmo tempo, o sistema operacional precisa mudar de um processo para o outro milhares de vezes por segundo. Vamos ver o que acontece.
Um processo ocupa uma certa quantidade de memria RAM. Ele tambm utiliza os registradores, pilhas e filas da CPU e memria do sistema operacional. Quando 2 processos acontecem ao mesmo tempo, o sistema operacional aloca uma certa quantidade de ciclos da CPU para um programa. Depois que os ciclos so executados, o sistema operacional faz uma cpia de todos os registradores, pilhas e filas utilizados pelos processos e registra o ponto em que a execuo foi interrompida. Ele ento carrega todos os registradores, pilhas e filas utilizados pelo segundo processo e aloca outra quantidade de ciclos de CPU para ele. Quando os ciclos terminam, o sistema operacional copia todos os registradores, pilhas e filas utilizadas pelo segundo programa e carrega o primeiro programa.
Todas as informaes necessrias para controlar a mudana dos processos so armazenadas num pacote de dados chamado de bloco de controle de processo, que contm:
um nmero ID que identifica o processo; ponteiros para as localizaes do programa e seus dados quando o ltimo processamento ocorreu; contedo dos registradores; estado de vrios flags e switches; ponteiros para os limites superior e inferior da memria requisitada para o processo; uma lista de arquivos abertos pelo processo; a prioridade do processo; o status de todos os dispositivos de entrada/sada requisitados pelo processo.
Cada processo tem um status associado a ele. Muitos processos no consomem tempo da CPU at que recebam algum tipo de comando. O processo pode estar, por exemplo, esperando que o usurio aperte alguma tecla, enquanto ele espera, a CPU no utilizada. Neste momento, o processo est "suspenso". Quando o usurio aperta a tecla, o sistema operacional muda o status do processo. Quando o status do processo muda de "pendente" para "ativo" ou de "suspenso" para "em execuo", as informaes no bloco de controle de processo devem ser usadas, assim como os dados de programa, para direcionar a execuo da alternncia de tarefas do sistema operacional. Essa troca de processo acontece sem a interferncia direta do usurio e cada processo consegue ciclos de CPU suficientes para realizar suas tarefas em um perodo razovel de tempo. O problema acontece quando o usurio tenta executar muitos processos ao mesmo tempo. O prprio sistema operacional
precisa de alguns ciclos de CPU para salvar todos os registradores, filas e pilhas dos processos e realizar a alternncia entre eles. Se uma determinada quantidade de processos iniciada, e se o sistema operacional no foi cuidadosamente planejado, o sistema pode comear a usar a maioria dos ciclos de CPU disponvel para alternar os processos em vez de execut-los. Isso se chama thrashing e geralmente requer algum tipo de interveno direta do usurio para interromper os processos e reorganizar o sistema. Uma forma de reduzir o thrashing diminuir a necessidade de criao de novos processos para realizar as tarefas. Alguns sistemas operacionais utilizam um processo mais "leve" chamado thread. Uma thread pode controlar o trabalho mas, geralmente, no lida com os vrios tipos de entrada/sada e no estabelece estruturas que exijam o longo bloco de controle de processo de um processo regular. Um processo pode iniciar muitas threads ou outros processos, mas uma thread no pode iniciar um processo. At agora, tudo o que discutimos diz respeito a uma nica CPU. Em um sistema com duas ou mais CPUs, o trabalho dividido. O sistema operacional deve equacionar a demanda de cada processo para as diferentes CPUs. Os sistemas operacionais assimtricos utilizam uma CPU para suas prprias necessidades e dividem os processos dos aplicativos entre as outras CPUs. Os sistemas operacionais simtricos compartilham as vrias CPUs e equacionam a demanda e a disponibilidade da CPU, mesmo quando o sistema operacional o nico aplicativo em execuo. A CPU no o nico recurso requisitado mesmo quando somente o sistema operacional est sendo executado. O gerenciamento da memria um passo crucial para que todos os processos sejam executados de maneira tranqila.
(inicializao), o sistema operacional do nosso computador imaginrio vai utilizar toda a memria disponvel. Depois ele "recua" o suficiente para atender s necessidades do prprio sistema operacional. Vamos supor que o SO precise de 300 megabytes para rodar. Agora, o sistema operacional vai para o fim da memria RAM e distribui essa memria para diversos drivers necessrios para controlar os subsistemas do computador. No nosso computador imaginrio, os drivers ocupam 200 megabytes. Agora que o sistema operacional foi completamente carregado, existem 500 megabytes disponveis para os processos dos aplicativos. Quando os aplicativos comeam a ser carregados na memria, eles so carregados em blocos. O tamanho desses blocos determinado pelo sistema operacional. Se o tamanho do bloco 2 megabytes, todo processo carregado receber um pedao da memria que mltiplo de 2 megabytes. Os aplicativos sero carregados nestes tamanhos fixos de blocos. Os blocos iniciaro e terminaro nos limites estabelecidos por palavras de 4 ou 8 bytes. Esses blocos e limites organizam o carregamento dos aplicativos, impedindo sobreposio. Depois que o processo estiver concludo, a pergunta que nos resta : o que se pode fazer quando o espao de 500 megabytes for ocupado? Na maioria dos computadores, possvel adicionar mais memria, alm da capacidade original. Por exemplo, voc pode expandir a memria RAM de 1 para 2 Gigabytes. Isto funciona, mas custa caro. Este fato tambm ignora um dado importante da computao: a maioria da informao que um aplicativo armazena na memria no est sendo usada o tempo inteiro. Como um processador s pode acessar um local da memria por vez, a maior parte da memria RAM no utilizada. Como o espao de disco rgido mais barato do que a memria RAM, mover a informao da memria RAM para o disco rgido uma soluo sem custo algum. Esta tcnica conhecida como gerenciamento da memria virtual. O armazenamento em disco apenas um dos tipos de memria que podem ser gerenciados pelo sistema operacional. Tambm a memria mais lenta. A seguir, veja uma classificao por velocidade dos tipos de memria em um computador.
Memria cache de alta velocidade. Pequenas quantidades de memria disponveis para a CPU atravs das conexes mais rpidas. Os controladores de memria cache prevem que tipo de dados a CPU vai precisar e os transferem da memria principal para a memria cache de alta velocidade para aumentar o desempenho do sistema. Memria principal. Est a memria RAM, medida em mega e em gigabytes. Memria secundria. um tipo de armazenamento magntico rotativo que mantm os aplicativos e dados prontos para serem usados. Tambm serve como memria RAM virtual gerenciada pelo sistema operacional.
O sistema operacional deve equacionar as necessidades dos diversos processos com a disponibilidade dos diferentes tipos de memria. Ele pode mover dados em blocos (chamados de pginas) para a memria disponvel de acordo com a necessidade dos processos.
sistema operacional, atravs do drivers, lida com os detalhes de cada tipo de hardware. O programador deve, simplesmente, escrever um cdigo para API e deixar o resto do trabalho para o sistema operacional. A API um tema de discusses na indstria dos computadores. As empresas perceberam que os programadores, utilizando as APIs podem controlar e lucrar em cima de uma parte da indstria. Esta uma das razes pela qual tantas empresas fornecem, gratuitamente, aplicativos como visualizadores e leitores. Eles sabem que os consumidores vo solicitar programas que possam ser lidos por visualizadores gratuitos. As empresas desenvolvedoras de aplicativos estaro prontas para pagar os royalties e permitir que seus softwares tenham as funes solicitadas pelos consumidores.
Existem outras interfaces de usurio para sistemas operacionais. Algumas so grficas, outras no. O Unix, por exemplo, tem uma interface chamada Shell que mais flexvel e poderosa do que a interface baseada em texto dos sistemas operacionais padro. Programas como o Korn Shell e o C Shell so interfaces de texto que adicionam utilitrios importantes. Porm, o seu principal objetivo facilitar o
acesso do usurio s funes do sistema operacional. Existem interfaces grficas como o X-Windows e o Gnome que tornam o Unix e Linux parecidos com computadores Windows e Macintosh, do ponto de vista do usurio. importante lembrar que, em todos estes exemplos, a interface com o usurio um programa ou um conjunto de programas que funcionam como uma camada acima do sistema operacional. Podemos dizer o mesmo (apesar dos diferentes mecanismos) dos sistemas operacionais Windows e Macintosh. A funo principal do sistema (o gerenciamento dos recursos do computador) est no kernel (ncleo) do sistema operacional. O gerenciador de exibio uma parte separada, porm intimamente ligada ao kernel que funciona por trs dele. A ligao entre o kernel do sistema operacional e a interface do usurio, utilitrios e outros softwares definem as diferenas entre os sistemas operacionais.
Logotipo do Linux
organizaes comerciais que distribuem verses executveis dos seus softwares. Estas verses no podem ser estudadas nem alteradas pelos usurios. O software livre tem o cdigo-fonte aberto. Assim, o material original pode ser estudado, alterado e complementado. Alm disso, os resultados so distribudos gratuitamente. Isso gerou o desenvolvimento e a distribuio de inmeros aplicativos gratuitos como o programa de manipulao de imagens GIMP (em ingls), o popular servidor da Web Apache (em ingls) e o navegador de internet Firefox. A vantagem para os usurios que eles podem personalizar os seus sistemas e ter mais controle sobre o comportamento de seus dispositivos.
o TiVo DVR (gravador de vdeo digital) roda uma verso modificada do Linux. Muitos usurios TiVo fizeram alteraes para adicionar funcionalidade extra aos seus sistemas. possvel aumentar a capacidade de armazenamento, adicionar shells do UNIX e mudar o modo de vdeo de NTSC para PAL.
Gravador de vdeo digital (30 horas) Philips HDR312 TiVo e Switch Workgroup 5 portas Linksys EZXS55W EtherFast 10/100
2. LINUX
O Linux um sistema operacional de cdigo fonte aberto parecido com o Unix, originalmente escrito por
Linus Torvalds com a ajuda de vrios outros desenvolvedores ao redor do mundo. o mais notvel e importante exemplo de software livre. Uma vez que todos podem us-lo, alter-lo e redistribui-lo, o sistema teve um crescimento exponencial, que faz com que o projeto, a cada dia, agregue mais usurios e desenvolvedores, inserindo melhorias e funcionalidades em seu cdigo fonte. possvel obter o Linux na forma de distribuies, que so pacotes de software contendo o kernel Linux e vrios outros aplicativos livres, como sutes para escritrio, ambientes grficos, editores de imagens, navegadores de internet etc. Essas distribuies podem ser adquiridas gratuitamente pela internet, via download dos CDs de instalao ou via aquisio do CD que alguma empresa vende. O custo do Linux, neste ltimo caso, estaria relacionado apenas ao trabalho tcnico que a empresa teve para empacot-lo, e a gastos como confeco de caixinhas e manuais de instalao. Cada distribuio rene a coleo de software mais apropriada para o seu pblico alvo. O Linux concorre fortemente no mercado de servidores com sistemas Unix proprietrios e com o Windows Server, da Microsoft. Tem conquistado terreno tambm no desktop, sendo uma alternativa de baixo custo para empresas e usurios que querem economizar com licenas de software ou que preferem um ambiente aberto que pode ser modificado de acorco com as suas necessidades. O Linux tambm usado em "sistemas embarcados" (sistemas com aplicaes j embutidas), como PDAs, celulares e outros micro-componentes, e foi o sistema operacional escolhido para o projeto OLPC (One Laptop per Child Um Laptop por Criana), o laptop de 100 dlares. Embora todo o sistema - incluindo as distribuies -, seja chamado de Linux, o termo original refere-se ao kernel, que apenas o ncleo de um sistema operacional. Aqui tambm utilizaremos o nome Linux para designar todo o conjunto. O kernel Linux foi originalmente desenvolvido por Linus Torvalds, um programador finlands que segue a filosofia de vida Faa voc mesmo. O projeto acabou atraindo a ateno de vrios outros desenvolvedores e projetos de software livre, como o GNU, tornando-se o mais popular sistema operacional aberto.
2.1 Histria
2.1.1 O sistema GNU O sistema Linux deve-se criao do sistema operacional GNU, de Richard Stallman. Com o desenvolvimento iniciado em 1984, o projeto GNU (sigla para GNU is Not Unix GNU no Unix) tinha como foco a criao de um sistema operacional de cdigo fonte aberto inspirado em Unix, pudesse ser usado, alterado e distribudo por qualquer pessoa, para qualquer um.
O projeto deu incio Free Software Foundation e a vrias ferramentas de programao, como bibliotecas de cdigo (conjunto ou pedaos de software que podem ser compartilhados por outras aplicaes), compiladores (programas que traduzem texto escrito em uma linguagem de programao para linguagem de mquina, que o computador pode interpretar diretamente), editores de texto e outros softwares que fazem parte de um sistema operacional. No entanto o sistema ainda no estava completo. At 1991 o sistema operacional GNU ainda no tinha um kernel finalizado, o que fazia com que os usurios apenas usassem os programas e as bibliotecas GNU dentro de algum UNIX comercial, como o Solaris da Sun. O kernel o ncleo de um sistema operacional, o componente responsvel pela interao do sistema com o hardware e com o compartilhamento de recursos (a camada de abstrao entre os programas e o hardware). Tambm o responsvel pelo gerenciamento da memria, dos sistemas de arquivos, dos processos e da entrada e sada de dados.
O smbolo do GNU
O sistema operacional GNU, em seu projeto original, utilizaria um kernel chamado GNU/Hurd. Diferentemente dos kerneis tradicionais, o Hurd possua uma arquitetura muito complexa, fator que resultou na demora da finalizao do sistema operacional. 2.1.2 O Minix Desenvolvido para uso acadmico e parecido com o Unix, o sistema operacional Minix foi criado em 1987 pelo professor de engenharia da computao Andrew S. Tanenbaum para suas aulas sobre sistemas operacionais. Naquela poca, o cdigo fonte do Minix estava disponvel para o estudo, porm a sua modificao e redistribuio eram restritas e o sistema ainda no havia sido inteiramente adaptado para a plataforma de 32bits, arquitetura de hardware que comeava a ficar popular com as vendas de PCs com processadores Intel 386. 2.1.3 O kernel Linux Em 1991, Linus Torvalds iniciou o desenvolvimento de um kernel para substituir o kernel do Minix, enquanto era estudante da Universidade de Helsinque. O projeto recebeu o nome de kernel Linux. Em suas primeiras verses, o kernel Linux usava o conjunto de aplicaes do Minix. Quando Linus Torvalds mudou o licenciamento do Linux para a licena GPL, tornando-o legalmente compatvel com o projeto GNU, os desenvolvedores do GNU e do kernel Linux trabalharam juntos para integrar os dois softwares e gerar um sistema operacional completo e de cdigo livre.
O sistema completo ficou conhecido como sistema operacional Linux. Para a Free Software Foundation (instituio que sustenta o projeto GNU), o nome correto do sistema deveria ser GNU/Linux, uma vez que todos os aplicativos vieram do sistema GNU e o termo Linux refere-se apenas ao kernel. Essa diferena de termos gerou muita discusso na comunidade de software livre. 2.1.4 As distribuies Linux J com os aplicativos e bibliotecas do sistema GNU e licenciado sob a GPL, tornando-se um software livre, ter o sistema completo instalado em um computador ainda era uma tarefa para poucos. Para fazer isso os usurios necessitavam de todos os cdigos fontes, bibliotecas, um ambiente de compilao e conhecimento dos detalhes tcnicos de configuraes e dos arquivos no sistema, tarefa nada fcil para um usurio comum. Para facilitar o processo de instalao do sistema e dos aplicativos, grupos de desenvolvedores comearam a empacotar o Linux em sistemas de instalao, juntando o sistema com os aplicativos bsicos que seus usurios viessem a usar. Comearam a ento surgir as primeiras distribuies Linux. Cada distribuio prov um mtodo de instalao do sistema, ferramentas para ajudar os usurios nas configuraes e ferramentas para a instalao e remoo de aplicativos. Atualmente, as principais distribuies Linux so: Debian, Ubuntu, Red Hat, Mandriva, SUSE e Slackware. Grande parte das distribuies so mantidas pela comunidade, como a Debian. Outras so mantidas pela comunidade e/ou por empresas que comercializam servios de suporte, como Red Hat, Ubuntu, SUSE e Mandriva. Dependendo do pblico alvo que a distribuio quer atingir, ela pode ter mais ou menos participao da comunidade de usurios. J outras, como a Slackware, so mantidas por uma nica pessoa. No Brasil o Linux ficou conhecido com o Conectiva Linux, distribuio baseada em Red Hat que era desenvolvida em Curitiba. A Conectiva foi comprada pela empresa francesa Mandrake, que na poca desenvolvia o Mandrake Linux, outro linux baseado em Red Hat. A fuso entre essas duas empresas deu origem distribuio Mandriva. Embora uma distribuio de Linux possa ser feita e mantida por uma nica pessoa, seus softwares so criados por vrios desenvolvedores ao redor do mundo, como o kernel Linux e todo o ecossistema de aplicativos do projeto GNU. O trabalho da distribuio, neste caso, apenas empacot-los, criando uma infra-estrutura para a instalao e configurao do sistema, bem como de seus aplicativos. Valendo-se da liberdade de redistribuio e alterao, algumas distribuies personalizam os softwares que distribui, alterando-os para as necessidades de seus usurios e dando a eles garantias de segurana que o projeto original do software no capaz de dar.
2.2.3 A estrutura de diretrios e arquivos do Linux No Linux, o sistema de diretrios e arquivos comea na raiz /. Abaixo dela possvel achar os diretrios dos usurios, das configuraes globais, dos programas instalados e dos dispositivos disponveis no computador. Essa estrutura foi inspirada no Unix e usada em quase todas as distribuies Linux. A tabela e as imagens abaixo listam e explicam a funo de cada diretrio (ou pasta) do sistema:
/bin Contm arquivos programas do sistema que so usados com freqncia pelos usurios. /boot Contm arquivos necessrios para a inicializao do sistema. /cdrom Ponto de montagem da unidade de CD-ROM. /media Ponto de montagem de dispositivos diversos do sistema (rede, pen-drives, CD-ROM em distribuies mais novas). /dev Contm arquivos usados para acessar dispositivos (perifricos) existentes no computador. /etc Arquivos de configurao de seu computador local. /floppy Ponto de montagem de unidade de disquetes /home Diretrios contendo os arquivos dos usurios. /lib Bibliotecas compartilhadas pelos programas do sistema e mdulos do kernel. /lost+found Local para a gravao de arquivos/diretrios recuperados pelo utilitrio fsck.ext2. Cada partio possui seu prprio diretrio lost+found.
/mnt Ponto de montagem temporrio. /proc Sistema de arquivos do kernel. Este diretrio no existe em seu disco rgido, ele colocado l pelo kernel e usado por diversos programas que fazem sua leitura, verificam configuraes do sistema ou modificar o funcionamento de dispositivos do sistema atravs da alterao em seus arquivos. /root Diretrio do usurio root. /sbin Diretrio de programas usados pelo superusurio (root) para administrao e controle do funcionamento do sistema. /tmp Diretrio para armazenamento de arquivos temporrios criados por programas. /usr Contm maior parte de seus programas. Normalmente acessvel somente como leitura. /var Contm maior parte dos arquivos que so gravados com freqncia pelos programas do sistema, e-mails, spool de impressora, cache, etc.
Diferentemente de sistemas como o Microsoft Windows, que utilizam um registro para guardar as configuraes de sistema e de usurio, toda a configurao do Linux baseada em arquivos texto. As configuraes globais que valem para todos os usurios do sistema, como a de rede (endereo de ip, gatway e DNS), ficam em arquivos texto no diretrio /etc. J as configuraes especficas de cada usurio, como o papel de parede, ficam dentro do diretrio pessoal, localizado em /home/usuario, onde usuario o nome do usurio usado para iniciar a sesso. Para os usurios avanados, esta forma de configurar o sistema bastante til. Leva-se bastante tempo para entender os arquivos e configurar o sistema, mas possvel configurar o software minuciosamente para ser executado da maneira desejada, e em caso de panes no sistema como a falha de um disco rgido, basta reinstalar o Linux e restaurar o backup da pasta /etc e /home que tudo voltar ao normal.
Um editor de texto no terminal grfico editando o arquivo de configurao de conexo de rede, localizado em /etc/network/interfaces
O que as distribuies atuais fazem para que o usurio leigo configure o Linux de forma rpida criar interfaces grficas que alteram os arquivos de configurao, facilitando assim configuraes bsicas como alterao de senhas, configuraes de rede e internet, impresso e etc. Essas ferramentas so chamadas front-ends e so normalmente includas no conjunto de ferramentas administrativas que cada distribuio prov, elas podem variar dependendo da distribuio que voc est usando.
2.2.5 Dispositivos de hardware Os dispositivos de hardware, como mouse, HDs e parties so representados como arquivos no sistema no diretrio /dev. O arquivo de dispositivo /dev/input/mice refere-se ao mouse. Sempre que um programa precisar do mouse ele ir procurar este arquivo. O arquivo /dev/sda refere-se ao primeiro HD do tipo SATA, e /dev/hdb ao segundo HD do tipo IDE. Para parties, o arquivo /dev/sda0 refere-se primeira partio no primeiro HD do tipo SATA, enquanto o arquivo /dev/sda1 refere-se segunda partio no primeiro HD do tipo SATA. Arquivos como /dev/sdb0 e /dev/hdb0 tambm so vlidos. 2.2.6 Pontos de montagem No Windows, unidades de disco so representados por letras, como C:, D:, E: etc. No Linux essas unidades so montadas em diretrios vazios dentro do diretrio raiz (/), chamados de pontos de montagem. Por exemplo: A primeira partio onde est instalado o Linux se encontra em /dev/sda0, arquivo que pode ser entendido como: a primeira partio (0) do primeiro HD
do tipo SATA (sd a). Essa partio montada no diretrio raz (/), o primeiro ponto de montagem. Um segundo HD, /dev/sdb, pode ser instalado no computador e montado no diretrio /home, onde ficam os arquivos dos usurios. A sua primeira partio (/dev/sdb0), deveria neste caso ser montada no diretrio /home. Assim, sempre que um usurio acessar algum subdiretrio de /home estar, na realidade, acessando arquivos do segundo disco rgido. Pontos de montagem podem ser carregados durante a inicializao do sistema, atravs do arquivo /etc/fstab que lista os pontos de montagem, ou manualmente. O usurio pode montar a sua partio do Windows dentro do Linux, caso o primeiro esteja instalado na mesma mquina, ou ento montar dispositivos removveis, como pen drivers e iPods, e desmont-los ao final do uso.
Listagem das parties de um computador com Linux e seus respectivos pontos de montagem
Terminal texto aberto esperando nome de usurio e senha para inicializar a sesso
2.3.1 Os terminais finitos Em uma instalao padro de Linux, o sistema inicializa com 6 terminais texto. Esses terminais so referenciados pelo sistema por ttyX, onde X o nmero do terminal, iniciando com 1. Voc pode navegar entre eles usando as teclas ALT+F1, ALT+F2, ALT+F3 e assim por diante at ALT+F6. Se o sistema j estiver inicializado em um terminal grfico e voc estiver nele, acrescente a tecla CTRL na seqncia de comandos, ficando: CTRL+ALT+F1. Voc pode navegar entre os terminais texto de 1 a 6. Os terminais 7 a 12 (F7 a F12 seguindo as teclas de um teclado de PC) so reservados para ambientes grficos, em que somente um j suficiente. Para voltar ao terminal grfico utilize a sequncia ALT+F7. Um usurio pode, se desejar, criar mais terminais texto editando as configuraes do sistema, porm isso no feito normalmente, uma vez que o sistema suporta terminais virtuais. 2.3.2 Os terminais infinitos Os terminais virtuais so infinitos e podem ser criados utilizando emuladores de terminais. Emulador um software que permite simular o funcionamento de outro. No sistema os terminais virtuais so referenciados por pst/X, onde X o nmero do terminal virtual, iniciando com 0. O programa de linha de comando screen permite a criao de terminais virtuais dentro de um terminal texto. J os programas grficos como o xterm e o gnome-terminal permitem a criao e o uso de terminais texto dentro do ambiente grfico, privando o usurio de ter que mudar de tela sempre que precisar executar um programa na linha de comando. Terminais remotos tambm so exemplos de terminal virtual.
Um terminal texto virtual sendo executado dentro do terminal grfico. O comando who lista, alm dos usurios logados no sistema, o nmero do terminal que o usurio est usando
2.3.3 Os interpretadores de comandos (shell) Para que os comandos dos usurios sejam executados pelo computador, um programa deve interpretar o que o usurio digitou e converter os comandos em instrues diretas para o computador. Esses programas se chamam shell, e so carregados assim que uma sesso de terminal texto iniciada. As distribuies Linux so configuradas por padro para usar a shell Bash, shell oficial do projeto GNU, porm o usurio pode mudar de shell se assim desejar, editando suas configuraes pessoais. Outros exemplos de shell so sh, ksh, tcsh e csh, usadas em sistemas Unix e Unix-like como os BSDs. 2.3.4 Os scripts de shell Uma outra vantagem de se usar o terminal texto a possibilidade de escrever scripts. Os usurios podem escrever em um arquivo uma sequncia de comandos que executam uma determinada tarefa, como backup, e salv-lo em algum diretrio do sistema. Quando necessitarem daquela sequncia de comandos novamente, em vez de redigitar tudo no terminal, devem apenas executar o arquivo criado. Esses scripts podem ser comparados aos arquivos bat do mundo DOS/Windows, sendo muito mais poderosos e flexveis. Alguns programas de administrao de sistema, includos em vrias distribuies, so na realidade scripts de shell que manipulam os arquivos de configurao e alteram o comportamento do sistema.
Editando o arquivo de configurao do X11, onde possvel configurar detalhes como a resoluo de tela
Ao contrrio do que muitas pessoas pensam, o terminal grfico no foi criado para facilitar a vida de um usurio leigo. O X Window System foi criado originalmente para dar suporte grfico aos usurios do Unix provendo meios de visualizar e criar imagens e interagir com o mouse. Ele no especifica funcionalidades bsicas como botes, janelas e barras de tarefas. Este trabalho fica por conta dos Gerenciadores de Janelas, tambm conhecidos como Ambientes Grficos.
2.4.2 Os ambientes grficos Os ambientes grficos so programas que criam uma interface de janelas para o usurio. So eles os responsveis por dar forma ao contedo grfico que exibido na tela, criando botes, janelas, barras de tarefas, cones e outros elementos encontrados em uma interface grfica moderna. Eles interpretam os comandos do usurio como a shell faz no terminal texto, porm com o uso do mouse e de teclas de atalho do teclado. Os primeiros ambientes grficos eram desenvolvidos para funcionar em monitores monocromticos e placas de vdeo com poucos recursos, fornendo apenas uma interface bsica para o gerenciamento de janelas.
O antigo gerenciador de janelas TWM, desenvolvido para computadores com poucos recursos
De forma diferente dos sistemas Windows, da Microsoft, e do Mac OS X, da Apple, que fornecem um nico ambiente grfico, os usurios de sistemas Linux podem optar por usar qualquer ambiente grfico, fazendo com que o desktop Linux possa ter diversas caras. Os ambientes grficos mais utilizados e que so includos na maioria das distribuies Linux so o Gnome e o KDE. H tambm os ambientes grficos de peso-leve como o XFCE, desenvolvidos para computadores com menos recursos.
Os ambientes grficos Gnome (no alto), KDE (no meio) e XFCE (acima). O XFCE desenvolvido para computadores com poucos recursos
Os ambientes grficos mais modernos fornecem, alm de uma interface para o gerenciamento de janelas, bibliotecas de cdigo que permitem a criao de programas grficos, fazendo com que as aplicaes escritas naquela mesma biblioteca tenham um layout e um comportamento compatveis com o resto do ambiente. As bibliotecas grficas mais conhecidas so a GTK, criada originalmente para o software de edio de imagens Gimp e usada posteriormente na criao do ambiente grfico Gnome, e a QT, da empresa Trolltech, usada para a criao do ambiente grfico KDE e de aplicativos proprietrios, como o Skype e o navegador de internet Opera.
Atualmente, os pacotes de software de Linux mais comuns so RPM, originalmente criado para a distribuio Red Hat, e DEB, criado para a distribuio Debian. Distribuies derivadas da Red Hat tambm utilizam o formato RPM - caso das distribuies Mandriva, Fedora e Suse. Distribuies derivadas da Debian utilizam o formato DEB, como a Ubuntu e a prpria Debian. 2.5.2 Dependncias A principal finalidade de um pacote ajudar a distribuio Linux a resolver problemas de dependncia de software. A dependncia de software acontece quando o usurio precisa instalar um programa, mas para que ele funcione corretamente um outro programa ou biblioteca j devem estar instalados no sistema. Alm do software compilado, um pacote de software contm informaes extras, como a lista de dependncias de que o software necessita. Para ser executado em Linux, o navegador de internet Mozilla Firefox necessita que a biblioteca grfica GTK esteja instalada. Neste caso, o pacote de software Firefox inclui em sua lista de dependncias uma referncia para o pacote libgtk2.0-0, com outras bibliotecas que so necessrias.
O site pacakages.ubuntu.com lista os pacotes disponveis em seus repositrios, incluindo a lista de dependncia de cada um
Para facilitar o download de pacotes e suas dependncias e a atualizao e remoo dos aplicativos instalados, algumas distribuies desenvolveram ferramentas gerenciadoras de pacotes. Estas ferramentas automatizam o processo de instalao de novos softwares, incluindo suas dependncias e removendo as dependncias desnecessrias. Elas tambm informam ao usurio quando uma nova verso dos softwares que ele j tem instalado est diponvel, atualizando assim todo o sistema. Em distribuies derivadas da Debian, como a Ubuntu, os aplicativos de linha de comando apt-get e aptitude so usados para o gerenciamento dos pacotes do sistema. Em distribuies derivadas da Red Hat, possvel encontrar as ferramentas yum, up2date e urpmi, todas de linha de comando. H no entanto front-ends grficos que auxiliam usurios leigos na instalao de novos aplicativos, privando-os de usar o terminal texto para isso.
A ferramenta grfica Synaptic o front-end grfico para o gerenciador de pacotes apt-get, usado na distribuio Ubuntu
2.5.3 Compilando um software manualmente O que fazer quando voc quer instalar um software que a sua distribuio no fornece nem em seus repositrios oficiais, ou que ainda no h pacotes de software em outros sites no formato que a sua distribuio suporta? A ltima alternativa a compilao do cdigo fonte. Para compilar um cdigo fonte necessrio que o usurio j saiba quais so as suas dependncias e j tenha instalado todas elas no sistema. Tambm necessrio ter instaladas as bibliotecas de cdigo e os compiladores das linguagens de programao em que o software em questo foi desenvolvido. Esse tipo de instalao a mais complexa e era a nica forma de se instalar programas no Linux quando ainda no existiam os pacotes de software. No
entanto, muitas pessoas ainda a utilizam quando querem testar verses beta de softwares que a sua distribuio ainda no lanou. A compilao normalmente feita com os comandos de terminal texto:
./configure, que analisa o sistema e a lista de dependncias que o software exige, make, que compila o cdigo fonte e make install, que instala a aplicao compilada. A instalao por compilao no garante atualizaes automticas de segurana, levando o usurio a faz-la manualmente sempre que houver uma nova verso.
A remoo de um aplicativo instalado por compilao pode ser feita com o comando make uninstall ou manualmente, removendo os arquivos executveis do disco rgido.
Grande parte das distribuies identificam, durante o processo de instalao, os sistemas operacionais instalados no computador, criando a configurao correta para cada um deles. Outras distribuies, ao contrrio, falham nessa identificao fazendo com que o usurio tenha que configurar manualmente para poder voltar a usar o Windows. 2.6.2 Mquinas virtuais: Windows dentro do Linux e Linux dentro do Windows Para os usurios que no querem ficar reiniciando o sistema e no querem comprometer o Windows com a instalao do Linux, a segunda alternativa o uso de mquinas virtuais. Uma mquina virtual emula um hardware usando software, possibilitando que outros sistemas operacionais sejam instalados sobre outro sistema operacional. Os programas mais utilizados para isso so o VMWare (disponvel para Windows e Linux) e o Virtual PC (da Microsoft, disponvel apenas para Windows). Com os dois sistemas operacionais em execuo, possvel at a criao de uma rede, tambm virtual, para o compartilhamento de internet e arquivos. necessrio lembrar que um sistema rodando em uma mquina virtual ir consumir mais recursos da mquina do que se ele estivesse instalado diretamente no computador fsico, uma vez que todo o hardware emulado por software e que h dois sistemas operacionais em execuo. Para isso, necessrio utilizar uma mquina com bastante memria e uma capacidade de processamento adequada.
Sesso do VMWare rodando o sistema operacional GNU/Haiku. O VMWare pode rodar qualquer sistema operacional
2.6.3 Emulando a camada de aplicao do Windows Programas desenvolvidos para o Windows usam funes do sistema operacional para as tarefas mais bsicas: criao de arquivos em disco, exibio de janelas e caixas de dialogo, botes e outros eventos. Todas essas funes so encontradas na Windows API (Windows Application Programming Interface), que existe dentro das principais DLLs do Windows. Um audacioso projeto de software livre chamado Wine, sigla para Wine Is Not an Emulator, desenvolveu um interpretador de executveis do Windows que traduz essas chamadas de funes de sistema para usar as funes do Linux, permitindo que os softwares do Windows sejam executados dentro do Linux. Por causa da obscuridade da API do Windows o Wine ainda no capaz de interpretar todos os executveis, mas pode privar o usurio de ter de emular todo o sistema com uma mquina virtual se quiser apenas executar um ou dois aplicativos.
J para a execuo de aplicativos desenvolvidos sob a plataforma .Net da Microsoft, o projeto Mono desenvolveu uma mquina virtual capaz de rodar os aplicativos escritos nesta plataforma, sendo tambm uma alternativa ao Java, da Sun. 2.6.4 Usando softwares multiplataforma Usurios que no desejam emular computadores ou APIs devem usar softwares multiplataforma. Esses softwares disponibilizam verses para vrios sistemas operacionais, como Windows e Linux, fazendo com que o usurio abra seus documentos em qualquer plataforma. Exemplos de softwares multiplataformas so a sute de escritrios OpenOffice.org, capaz de abrir documentos do Microsoft Office, e o navegador de internet Mozilla Firefox. O uso desses aplicativos incentivado pelas comunidades de software livre para acostumar o usurio Windows com as aplicaes que existem no Linux, antes mesmo de pensar em formatar seu HD.
2.6.5 Compatibilidade com rede Para que um computador possa acessar os arquivos de outro, o Windows utiliza o protocolo de rede SMB. No Linux o suporte a esse protocolo foi implementado atravs do projeto Samba, que criou softwares e bibliotecas de cliente e servidor do protocolo SMB. Com isso, o Linux tem sido usado como alternativa de baixo custo para servidores de arquivos em rede, possibilitando a troca de arquivos pela rede entre mquinas que usam Windows e Linux.
3.Windows
Microsoft Windows uma popular famlia de sistemas operacionais criados pela Microsoft, empresa fundada por Bill Gates e Paul Allen. Antes da verso 4.0 (comercialmente chamada Windows 95), era uma interface grfica para o sistema operacional MS-DOS.
3.1.1 Curiosidades sobre Bill Gates Bill Gates foi convidado por uma escola secundria para uma palestra. Chegou de helicptero, tirou o papel do bolso onde havia escrito onze itens. Leu tudo em menos de 5 minutos, foi aplaudido por mais de 10 minutos sem parar, agradeceu e foi embora em seu helicptero. 1. A vida no fcil acostume-se com isso. 2. O mundo no est preocupado com a sua auto-estima. O mundo espera que voc faa alguma coisa til por ele ANTES de sentir-se bem com voc mesmo. 3. Voc no ganhar R$20.000 por ms assim que sair da escola. Voc no ser vice-presidente de uma empresa com carro e telefone disposio antes que voc tenha conseguido comprar seu prprio carro e telefone. 4. Se voc acha seu professor rude, espere at ter um chefe. Ele no ter pena de voc. 5. Vender jornal velho ou trabalhar durante as frias no est abaixo da sua posio social. Seus avs tm uma palavra diferente para isso: eles chamam de oportunidade. 6. Se voc fracassar, no culpa de seus pais. Ento no lamente seus erros, aprenda com eles. 7. Antes de voc nascer, seus pais no eram to crticos como agora. Eles s ficaram assim por pagar as suas contas, lavar suas roupas e ouvir voc dizer que eles so ridculos. Ento antes de salvar o planeta para a prxima gerao querendo consertar os erros da gerao dos seus pais, tente limpar seu prprio quarto. 8. Sua escola pode ter eliminado a distino entre vencedores e perdedores, mas a vida no assim. Em algumas escolas voc no repete mais de ano e tem quantas chances precisar at acertar. Isto no se parece com absolutamente NADA na vida real. Se pisar na bola, est despedido RUA!!! Faa certo da primeira vez! 9. A vida no dividida em semestres. Voc no ter sempre os veres livres e pouco provvel que outros empregados o ajudem a cumprir suas tarefas no fim de cada perodo. 10. Televiso NO vida real. Na vida real, as pessoas tm que deixar o barzinho ou a boate e ir trabalhar. 11. Seja legal com os NERDS. Existe uma grande probabilidade de voc vir a trabalhar PARA um deles.
de aplicaes. Era uma primeira tentativa de criar um sistema multitarefa. Nessa poca, instalado em computadores XTs que tinham apenas 512Kb de memria, ocupava praticamente toda a memria disponvel. O Windows 1.01 no foi nenhum grande sucesso comparado com seus sucessores da dcada de 1990, devido limitao do hardware da poca. Inicialmente, ele foi lanado em quatro disquetes de 5.25 polegadas de 360 KB cada um. Continha o Reversi (jogo), um calendrio, bloco de notas, calculadora, relgio, prompt de comando (uma janela direta para o DOS), Write, Control Painel, Paint e programas de comunicao. Permite a utilizao de mouse, janelas e cones. Nesta verso ainda no havia sobreposio de janelas.
Windows 2.1/286 foi lanada para aproveitar todos os recursos dos microprocessadores 286; Windows 2.1/386 foi lanada para aproveitar todo o potencial dos microprocessadores 386.
Existe uma outra verso da famlia Windows 2.xx, o Windows 2.11, que foi lanada em Maro de 1989, com pequenas mudanas em gerenciamento de memria, melhor impresso e drivers Postscript.
poca era o nico possvel de compatibilizar todos os programas das verses anteriores. Utilizava o CPU Intel 80286 e Intel 80386. Tambm existe a verso 3.0a, que foi lanada em 31 de Outubro de 1990. Pode ter sido responsvel pela sada do mercado de empresas como Novell e Lantastic, que dominavam como fornecedoras de NOSes (sistemas operacionais para redes) em plataformas cliente-servidor e ponto a ponto, respectivamente. Existem cinco verses especiais do Windows 3.0:
Windows with Multimedia Extensions - foi lanada por vrios fabricantes de perifricos multimdia, por isso ela no tem uma certa data de lanamento. Tinha recursos multimdia (semelhantes aos do Windows 3.1) e era um pouco mais estvel. Windows 3.1 - foi lanada em 6 de Abril de 1992 e tinha softwares para multimdia e fontes TrueType (aumenta muito o nmero de tipos de letras disponveis) e era mais estvel do que o Windows 3.0. Ele era apresentado em oito disquetes de alta densidade de 3,5" de 1,44 MB cada um. Nesta verso permitiu o uso de um maior nmero de lnguas de trabalho, incluindo o Cirlico e o Japons. O Minesweeper substituiu o Reversi. Windows for Workgroups 3.1 - foi lanada 28 de Outubro de 1992, e era praticamente o Windows 3.1 com suporte a rede, fax-modem e correio eletrnico. Ele era apresentado em nove disquetes de alta densidade de 3,5" de 1,44 MB cada um. Windows 3.2 - nesta verso limitou-se em acrescentar o Chins como uma lngua de trabalho. Windows for Workgroups 3.11 - foi lanada 8 de Novembro de 1993 e era praticamente a reviso da verso anterior. Windows for Pen Computing - foi lanada em Abril de 1994 e tinha todos os recursos do Windows for Workgroups 3.11 mais o suporte a canetas para PCs.
3.2.5 Windows NT
O Windows NT foi lanado pela primeira vez pela Microsoft em 1993 com o objetivo principal de fornecer mais segurana e comodidade aos utilizadores de empresas e lojas (meio corporativo), pois as verses do Windows disponveis at ento no eram suficientemente estveis e confiveis. Foi um sistema operativo de 32 bits, multitarefa e multiutilizador. A sigla NT significa New Technology (nova tecnologia em ingls). Trazia a funcionalidade de trabalhar como um servidor de arquivos. Os NTs tm uma grande estabilidade e tm a vantagem de no ter o MS-DOS. A arquitetura desta verso fortemente baseada no microkernel. Assim, em teoria, pode-se remover, atualizar ou substituir qualquer mdulo sem a necessidade de alterar o resto do sistema. Cogita-se que boa parte do cdigo fonte do Windows NT seja baseado no OS/2, um sistema operacional desenvolvido conjuntamente pela Microsoft e IBM, mas desentendimentos entre as duas companhias levaram ao fim da parceria e a IBM passou a se dedicar sozinha ao OS/2 e a Microsoft ao
Windows. O Windows NT tambm tinha elementos dos sistemas VMS e Lan Manager. Ele no era muito popularizado at ao aparecimento do Windows 2000 (NT 5.0). O Windows NT aceita trs tipos de sistemas de arquivos: FAT (Windows NT 3.xx e Windows NT 4.0); FAT32 (Windows 2000, Windows XP e Windows 2003) e NTFS (Windows NT 4.0, Windows 2000, Windows XP, Windows 2003 e Windows Vista). Existem edies especiais:
NT 3.1 era muito semelhante ao Windows 3.1. Foi lanado em 1993. Pode ser utilizado no Intel x86, DEC Alpha e MIPS CPUs. NT 3.5 foi lanado em 1994 e era semelhante ao NT 3.1. NT 3.51 foi lanado em 1995 e tinha uma interface semelhante ao Windows 3.1 e trouxe algumas inovaes nas reas de gesto e distribuio de energia, podia executar um grande nmero de aplicaes Win 32 do Windows 95. Mas foi rapidamente ultrapassado porque no oferecia bons servios de Internet. NT 4.0 foi lanado em 1996 tinha uma interface semelhante ao Windows 95 e era mais estvel mas menos flexvel do que o Windows 95. Introduziu o Web Server, o Microsoft FrontPage, softwares de criao e gesto de web sites, o Microsoft Transaction Server e o Microsoft Message Queuing (o MSMQ melhora a comunicao). NT 5.0 s foi produzido em verso Beta e posteriormente foi mudado para Windows 2000. Tinha uma interface semelhante ao Windows 98.
Este Windows permaneceu sem popularidade at o fim da era 9x/ME, quando lanaram o Windows 2000. Nesta edio tambm foi implementada a idia de Servios (ou Processos), no qual o sistema operacional trabalha a partir de servios, tendo assim menores chances de travar, pois era possvel reinicializar apenas um servio ao invs da mquina por inteiro. Estas verses do Windows aceitam quatro tipos de sistemas de arquivos:
FAT 12 e 16 - Windows 1.0x, Windows 2.xx, Windows 3.xx, Windows 95, Windows 98, Windows ME, Windows NT 3.xx e Windows NT 4.0; FAT 32 - Windows NT 3.51 (com o PowerPack), Windows 95 OSR 2.x, Windows 98, Windows 2000, Windows XP e Windows Server 2003; NTFS - Windows NT 3.xx, Windows NT 4.0, Windows 2000, Windows XP , Windows Server 2003 e o Windows Vista.
3.2.6 Windows 95
Oficialmente, Windows 4.x. Foi lanada em 24 de Agosto de 1995. Ele era um Windows completamente novo, e de nada lembra os Windows da famlia 3.xx. O salto do Windows 3.0 ao Windows 95 era muito grande e ocorreu uma mudana radical na forma da apresentao do interface. Introduziu o Menu Iniciar e a Barra de Tarefas. Nesta verso, o MS-DOS perdeu parte da sua importncia visto que o Windows j consegue activar-se sem precisar da dependncia prvia do MS-DOS. As limitaes de memria oferecidas ainda pelo Windows 3.0 foram praticamente eliminadas nesta verso. O sistema
multitarefa tornou-se mais eficaz. Utilizava o sistema de ficheiros FAT-16 (VFAT). Os ficheiros (arquivos) puderam a partir de ento ter 255 caracteres de nome (mais uma extenso de trs caracteres que indica o contedo do arquivo, facilitando assim sua identificao e podendo ser associado para abertura em determinados programas). Existe uma outra verso do Windows 95, lanada no incio de 1996, chamada de Windows 95 OEM Service Release 2 (OSR 2), com suporte nativo ao sistema de arquivos FAT32. J o Windows 95, a partir da reviso OSR 2.1, inclua o suporte nativo ao Barramento Serial Universal (USB) e Ultra DMA (UDMA). Foi lanada ainda uma verso especial, o Windows 95 Plus!, com um pacote de diferentes temas visuais e sonoros para personalizao do sistema operacional. Esta verso tambm inclua o navegador Internet Explorer.
3.2.7 Windows 98
Esta verso foi lanada em 25 de Junho de 1998. Foram corrigidas muitas das falhas do seu antecessor. A maior novidade desta verso era a completa integrao do S.O. com a Internet. Utilizava o Internet Explorer 4. Introduziu o sistema de arquivos FAT 32 e comeou a introduzir o teletrabalho (s foi possvel devido integrao do Web). Melhorou bastante a interface grfica. Incluiu o suporte a muitos monitores e ao USB (Universal Serial Bus). Mas, por ser maior do que o Windows 95 e possuir mais funes, era tambm mais lento e mais instvel. Nessa verso, nasce a restaurao de sistema via MS-DOS (Scanreg.exe /restore). A restaurao de sistema visava corrigir problemas retornando o computador a um estado anteriormente acessado (ontem, antes de ontem, etc). Existe uma verso especial, conhecida como Windows 98 Segunda Edio (Windows 98 SE). Foi lanada em 1999 e esta verso visava corrigir as falhas (bugs) e resolver os problemas de instabilidade do Windows 98. Inclua drivers e programas novos. Substituiu o Internet Explorer 4 pela verso 5, que era mais rpida, e introduziu a Internet Connection Sharing, que permite a partilha de uma rede de internet para muitos computadores. Acrescentou tambm o NetMeeting 3 e suporte a DVD. Muitos utilizadores classificam este sistema como um dos melhores da Microsoft, apesar de ser tratar de um sistema operacional sem suporte a multitarefa real, e ainda tendo o DOS como o seu ncleo principal.
3.2.9 Windows ME
Foi lanado pela Microsoft em 14 de Setembro de 2000, sendo esta a ltima tentativa de disponibilizar um sistema baseado, ainda, no antigo Windows 95. Essa verso trouxe algumas inovaes, como o suporte s mquinas fotogrficas digitais, aos jogos multi jogador na Internet e criao de redes domsticas (home networking). Introduziu o Movie Maker e o Windows Media Player 7 (para competir com o Real Player) e atualizou alguns programas. Introduzia o recurso "Restaurao de Sistema" (que salvava o estado do sistema em uma determinada data, til para desfazer mudanas mal sucedidas) e o Internet Explorer 5.5. Algumas pessoas crem que este foi apenas uma terceira edio do Windows 98 e que foi apenas um produto para dar resposta aos clientes que esperavam por uma nova verso. Muitas pessoas achavam-no defeituoso e instvel, o que seria mais tarde comprovado pelo abandono deste segmento em funo da linha OS/2-NT4-2000-XP.
3.2.10 Windows XP
Lanada em 25 de Outubro de 2001 e tambm conhecida como Windows NT 5.1. Roda em formataes FAT 32 ou NTFS. A sigla XP deriva da palavra experincia. Uma das principais diferenas em relao s verses anteriores quanto interface. Trata-se da primeira mudana radical desde o lanamento do Windows 95. Baseada no OS/2 da IBM, cujos alguns direitos so compartilhados entre a IBM e a Microsoft, e, seguindo a linha OS/2-NT2000-XP, a partir deste Windows, surgiu uma nova interface. Nota-se uma melhoria em termos de velocidade em relao s verses anteriores, especialmente na inicializao da mquina. O suporte a hardware tambm foi melhorado em relao s verses 9x-Millenium, abandonada definitivamente. Esta verso do Windows foi considerada como a melhor verso j lanada pela Microsoft para usurios domsticos, possui uma interface totalmente simples a inovadora. Um dos problemas seu consumo, ele s pode ser instalado em estaes com mais de 128Mb de memria, e cada vez que a Microsoft lana uma nova verso, cada vez maior e mais abstrado do hardware. Verses: Home, Professional, Tablet PC Edition, Media Center Edition, Embedded, Starter Edition e 64-bit Edition
o gerenciamento dos recursos de hardware e software, incluindo processador, memria, armazenamento e dispositivos adicionais e a possibilidade de os programas funcionarem com o hardware do computador
Quando muitas pessoas pensam em sistemas operacionais, elas pensam na parte que podem ver: a interface grfica com o usurio (GUI). A GUI o que as pessoas usam para interagir com o hardware e software no computador. Nos sistemas Windows, recursos como o menu Iniciar, a lixeira e as representaes grficas dos arquivos e pastas fazem parte da GUI. A GUI do Windows Vista uma interface 3-D chamada Windows Aero. Das quatro edies do Windows Vista, trs - Home Premium, Business e Ultimate suportam o Windows Aero. A Home Basic, a edio mais bsica do sistema operacional, usa uma GUI graficamente mais leve que a Aero. As outras edies tambm podem usar essa GUI bsica, assim, as pessoas com computadores mais antigos que no suportam muitos grficos 3-D ainda podem atualizar para o Vista.
4.Mac Os
Algum poderia imaginar que uma colorida ma se tornaria mais famosa que a fruta que representa a cidade de New York ou a ma, que smbolo dos discos dos Beatles? Com certeza no. A marca Apple traduz aos usurios de informtica toda a imagem da criatividade, inovao, design e originalidade. 4.1 Histria A fabulosa e maravilhosa histria comeou quando Steven Wozniak e Steve Jobs, que tinham sido colegas de turma no colegial, vislumbraram essa possibilidade. Ambos eram interessados em eletrnica. Aps a graduao, continuaram amigos e em contato direto, trabalhando em empresas localizadas no Vale do Silcio. Steve Jobs trabalhava na Atari e Wozniack na Hewllet-Pachard. Wozniack trabalhou por algum tempo no desenvolvimento e design de computares, quando em 1976, criou e desenvolveu o que se tornaria o Apple I. Jobs com sua grande viso do futuro insistia que ambos, mais Ron Wayne, deveriam tentar vender a mquina. A idia era fazer um microcomputador que pudesse ser menor e bem mais acessvel que os modelos desenvolvidos pela lendria PARC. Essa idia e unio resultaram no nascimento da Apple Computer Company em 1 de abril. A sede da empresa funcionava na garagem da casa de um deles. Os hobistas no levaram o Apple I a srio e os computadores s decolaram em 1977, quando o Apple II foi apresentado em uma feira de informtica. Primeiro computador a ter o CPU feito de plstico e com designers grficos coloridos, o Apple II era uma mquina impressionante. 4.2 Novos Produtos Em meados de 1978, o lanamento do Apple Disk II, o computador mais barato da poca, fizeram as vendas da empresa dispararem. Com o aumento das vendas, veio tambm um aumento significativo da empresa e pr volta de 1980, quando o Apple III foi lanado, comearam a vender seus computadores para o exterior. Em 1981, as coisas ficaram um pouco mais difceis, pois com o mercado saturado, tornou-se mais difcil vender computadores. Wozniack teve que se ausentar da empresa devido a um acidente e Jobs assumiu o controle. Desde sua histrica visita as instalaes da Xerox em 1979, Jobs e outros engenheiros comearam a trabalhar no desenvolvimento do computador batizado como Lisa, que redefiniria o conceito dos computadores pessoais. No entanto, Jobs, provou ser um pssimo gerente de
projetos e o Lisa somente decolou pelas mos de Mike Markkula, presidente da empresa e um dos principais acionistas. Jobs resolveu trabalhar em outro projeto, mais especificamente o Macintosh, um computador pessoal com preo de U$500. Em 1981 a IBM lanou seu primeiro PC e com a poderosa empresa pr de trs, o PC rapidamente comeou a dominar o mercado de computadores pessoais, fazendo com que a Apple tivesse que trabalhar rapidamente para equilibrar esse cenrio. Jobs trabalhou arduamente no projeto do Mac e em 22 de janeiro de 1984, durante o intervalo do Super Bowl, a Apple lanou o Macintosh nacionalmente com o clebre comercial intitulado 1984. Inicialmente a mquina vendeu bem, mas no natal desse mesmo ano as vendas no se sustentaram devido a alguns problemas que o computador apresentava como a memria RAM e conectividade do disco rgido. Com os problemas do Macintosh e uma grave situao financeira, a empresa mergulhou em uma grande crise no ano de 1985. A empresa conseguiu sair da crise com a introduo da LaserWriter, primeira impressora a laser para Mac, e com o PageMaker, um programa de publicao e editorao. Esses dois produtos colocaram a Apple novamente no rumo certo. Em 1988 foi lanada a campanha Think Different, passando um conceito totalmente diferente em relao aos computadores que a empresa fabricava e vendia. Em 1990, em franca batalha com a Microsoft, em virtude do sistema operacional Windows, a empresa lanou seu prprio sistema operacional chamado Mac Os. No ano seguinte, a Apple deu um grande passo ao entrar no mercado de Notebooks, com o lanamento de seus primeiros computadores portteis que rapidamente se tornaram um grande sucesso. Em 1996, finalmente, Steve Jobs retornou com grande moral para a empresa e iniciou uma srie de mudanas drsticas. Em 1997, a empresa lanou novos computadores como o PowerMac G3 e o PowerBook G3. No ano seguinte lanou no mercado o iMac, um computador com visual futurista e de fcil manuseio, causando enorme impacto no mercado. No ano de 2001 introduziu a nova linha de PowerMacs, com drive tanto para CD como para DVD. Com essas medidas e lanamentos no final da dcada de 90, alm da introduo dos poderosos computadores para designers grficos como o G4, a Apple parece ter conseguido vencer as fases de prejuzos e incertezas que sempre rondaram a empresa no decorrer dos anos. 4.3 Evoluo Logotipo
4.4 As verses de SO 4.4.1 System 1.0 (jan.1984) O primeiro sistema operacional do Mac ocupava exorbitantes 216K de memria, sendo que s o Finder ocupava 46K. Vinha com um driver de impressora ImageWriter e com os acessrios Alarm Clock e Calculator. Alm do disquete do sistema, vinha outro com o programa Mousing Around, que ensinava como lidar com essa ferramenta revolucionria, o mouse.
4.4.2 System 1.1 (mai.84) Upgrade que teve como objetivo principal dar uma acelerada no sistema. J havia um proto-Startup Items (voc podia fazer um programa abrir quando o Mac fosse ligado), mas ainda no existiam funes bvias como Shut Down ou New Folder (havia sempre uma pasta vazia em cada disco, e sempre que voc o renomeasse, apareceria outra pasta). 4.4.3 System 2.0 (abr.85) Finalmente apareceram os comandos New Folder e Shut Down, cones pequenos na lista por nomes, um DA (Desk Accessory) chamado Choose Printer (o pai do Chooser) e o comando Use MiniFinder (ancestral do At Ease). dessa verso a capacidade de arrastar um cone de um disquete para o lixo para faz-lo sair (anteriormente, voc tinha que dar o comando Eject Disk, e s a arrast-lo para o lixo). 4.4.4 System 3.0 (jan.86) Foi lanado junto com o Mac Plus e trazia um Finder mais rpido e eficiente. Pela primeira vez trazia um cache de memria RAM e a capacidade de colocar uma pasta dentro da outra, criando assim um sistema hierrquico (antes s existia um nvel). Foi o primeiro a utilizar um Installer. 4.4.5 System 3.1 (fev.86) Upgrade que trouxe mais bugs do que coisas boas. 4.4.6 System 3.2 (jun.86) Apareceu para consertar cerca de 30 bugs das verses anteriores e trouxe tambm uma verso nova da calculadora, usada at hoje. 4.4.7 System 3.3 (jan.87) Pequeno mas importante upgrade, que trouxe ao Mac a capacidade de se ligar em rede usando AppleShare. 4.4.8 System 4.0 (mar.87) Trazia consertos para alguns bugs e j no rodava no modelo original do Mac (o Macintosh 128K). 4.4.9 System 4.1 (abr.87) Vinha com o AppleShare 1.1, que era necessrio para a rede do Mac II e possibilitava a utilizao de hard disks maiores do que 32Mb! 4.4.10 System 4.2 (out.88)
Trazia pela primeira vez o MultiFinder, que deixava voc usar dois ou mais programas ao mesmo tempo (multitarefa).
4.4.11 System 6.0.2 (set.89) No trazia muitas mudanas. O System 6.0 tinha muitos bugs e foi substitudo logo aps o seu lanamento. O System 6.0.1 teve tantos problemas que nunca foi lanado. 4.4.12 System 6.0.3, 6.0.4, 6.0.5, 6.0.7 (1990) O System 6.0.3 vinha com o SE/30 e era o recomendado pela Apple para todos os modelos mais recentes. O 6.0.4 era a menor verso do System 6.0 que podia rodar em um IIci. O Mac IIfx precisava, no mnimo, do System 6.0.5, e o 6.0.7 era o necessrio para fazer o Classic, o IIsi e o LC funcionarem. 4.4.13 System 6.0.8 (jan.91) ltima verso do System 6, e nica a funcionar em um LC II. Melhorou os drivers das impressoras. Nessa poca, o sistema j tinha o triplo do tamanho do original, ocupando cerca de 600k. 4.4.14 System 7.0 (mai.91) Foi o maior upgrade at aquela data. Voc precisava ter um hard disk e no mnimo 2Mb de RAM em seu Mac para poder instal-lo. Foi o upgrade mais traumatizante feito pela Apple. Vrios programas que rodavam no System 6.x no rodavam no System 7, obrigando o usurio a fazer o upgrade no s do sistema, mas tambm dos programas. Mas o upgrade valia a pena: alm de um visual novo, trazia endereamento de 32 bits (o que possibilitava usar mais de 8Mb de RAM), o conceito de alias (rplica), um Apple Menu que podia ser personalizado, o Application Menu, os balezinhos de ajuda, janelas e cones coloridos, File Sharing, a pasta de Startup Items, o painel de controle Views e o QuickTime. Alm desses, vrias coisas que so bsicas para o nosso dia-a-dia, como comandos de teclado para selecionar cones e abrir e fechar janelas, aquele triangulinho que aparece na frente dos folders na lista por nomes, a habilidade de trocar cones e um lixo que no esvaziava sozinho e inexplicavelmente quando voc desligava o seu Macintosh. 4.4.15 System 7.0.1 (ago.91) Veio mais para corrigir alguns erros da verso anterior. Trouxe consigo o painel de controle Cache Switch, que tornava a srie Quadra mais compatvel
com o sistema, alm de algumas mudanas para os PowerBooks (recmlanados) funcionarem melhor. 4.4.16 System 7.1 (jul.92) Inaugurou a era dos System Enablers, que eram complementos dos sistemas para os novos Macs que apareciam no mercado. Sua maior mudana foi a introduo da pastinha Fonts. Antes, o armazenamento de fontes no sistema era um samba do crioulo doido.
4.4.17 System 7 Pro (System7.1.1) (out.93) Tentativa fracassada da Apple de fazer um sistema para usurios corporativos e outro para os home users. 4.4.18 System 7.1.2 (jul.94) Era o sistema que acompanhava a primeira gerao de Power Macs. Apenas 10 a 15% do cdigo do sistema era nativo para o PowerPC. 4.4.19 System 7.1.2P Verso do sistema 7.1 para Performas apenas. No confunda com a verso 7.1P2, especial para os Macs da srie 630 (Quadras, LCs e Performas). 4.4.20 System 7.1.3 Sistema do PowerBook 500. Trouxe consigo a Control Strip. 4.4.21 System 7.5 (nov.94) Macintosh Drag & Drop, QuickDraw GX e Apple Guide. O resto das mudanas eram na maioria sharewares que a Apple comprou e transformou em partes oficiais do sistema. Entre eles estavam o WindowShade, o reloginho na barra de menu, um novo quebra-cabea, PC Exchange, Desktop Pattern, e o Find File. 4.4.22 System 7.5.1 (System 7.5 Update 1.0) (mar.95) Conjunto de patches para consertar alguns problemas do 7.5. Criou tambm uma nova funo para o boto de fora do teclado, que passou a servir para reiniciar e desligar o Mac. 4.4.23 System 7.5.2 (ago.95) Sistema feito para os Macs com barramento PCI (Power Mac 7200, 7500, 8500 e 9500) e para o PowerBook 5300. Alm de s funcionar nessas mquinas, trazia vrios bugs e incompatibilidades com programas j existentes.
4.4.24 System 7.5.3 (System 7.5 Update 2.0) (fev.96) Veio para salvar o Mac de toda a confuso dos sistemas anteriores, agrupando todos os patches e enablers em um nico sistema, eliminando assim vrias extenses que serviam para corrigir bugs. Introduziu tambm o Open Transport 1.1, o Control Strip para todos os Macs e trouxe a grande virtude de no destruir os comentrios do Get Info depois de um rebuild no Desktop.
4.4.26 System 7.5.4 (set.96) A idia era fazer um sistema mais estvel, mas na ltima hora foram descobertos alguns problemas e seu lanamento foi cancelado. 4.4.27 System 7.5.5 (set.96) Surgiu um dia aps o 7.5.4 e trazia algumas melhorias na estabilidade e no desempenho geral. Sua grande vantagem era ser um sistema universal, que funcionava em qualquer modelo de Mac. 4.4.28 System 7.6 (jan.97) Prometido como o ltimo sistema antes da grande mudana de sistema do Mac OS 8, o System 7.6 nada mais do que o System 7.5.5 com algumas verses de softwares atualizadas, como o QuickTime 2.5, LaserWriter 8.4 com o Desktop Printing, QuickDraw 3D, Open Transport 1.1.1, OpenDoc 1.1, Cyberdog, alm de um Extensions Manager novo e de uma verso melhorada do Installer. 4.4.29 Mac OS 8 O Mac OS 8 um sistema operacional lanado pela Apple Computer em 26 de julho de 1997. Ele representou a maior atualizao do Mac OS desde o lanamento do System 7, seis anos antes. Lanado sobre uma srie de atualizaes, essa verso contm uma tecnologia integrada conhecida como Copland. O Mac OS 8 ajudou a modernizar o famlia Mac OS enquanto a Apple desenvolvia a nova gerao de sistemas operacionais, os Mac OS X. O Mac OS 8 foi o primeiro software mais vendido da Apple com 1,2 milhes de cpias vendidas em duas semanas. Ele sofreu algumas modificaes com o tempo como a introduo da interface Platinum e um processador PowerPC. A atualizao 8.1 introduziu um novo e mais eficiente sistema de arquivos conhecido como HFS Plus. O Mac Os 8.5 foi a primeira verso do Mac OS a requerer um processador PowerPC. Juntamente com o PowerPC vieram o QuickDraw e o AppleScript, e depois
com o com sistema de busca Sherlock. Seu sucessor, Mac OS 9 foi lanado em 23 de Outubro de 1999. 4.4.29 Mac OS 9 Mac OS 9 um sistema operacional da Apple Computer, o ltimo da linha clssica do Mac OS. Lanado em 23 de Outubro de 1999, a Apple o classificou como "O Melhor sistema Operacional em Internet", destacando a capacidade de busca na Internet do Sherlocks 2's, a integrao com os servios gratuitos da Apple Online conhecido como iTools, e melhorando a rede Open Transport. Embora o Mac OS 9 carecesse de funcionalidade para um sistema operacional moderno, como uma memria protegida e multitarefa preemptiva, mas tarde foi introduzido um mecanismo de atualizao de software e suporte a mltiplos usurios. A Apple parou de desenvolver o Mac OS 9 em 2002, transitando todo o processo de desenvolvimento para o futuro Mac OS X. Desde aquele tempo no ouve mais atualizaes. As atualizaes finais para o Mac OS 9 foram para compatibilidade com o Mac OS X mesmo rodando em um Classic Environment e o tornando compatvel com aplicativos Carbon.
O sistema operacional foi distribudo sem custos por empregados da Apple depois do pronunciamento de Steve Jobs em uma conferncia em So Francisco. Logo aps, foi distribudo para os usurios do Macintosh em 25 de outubro, 2001 nas lojas da Apple e outros distribuidores de produtos Apple. O sistema operacional foi melhor recebido do que Mac OS X verso 10.0, embora os crticos reclamassem do excesso de Bugs e da falta de alguns recursos no novo sistema operacional.
WWDC em 11 de junho de 2007, CEO da Apple Steve Jobs anunciou que, dos 22 milhes de usurios do Mac OS X, mais do que 67% estavam usando Tiger
4.5 Interface: A interface do Mac OS baseada em janelas, cones, botes, menus, assim como a maioria dos ambientes grficos. Pode se dizer que ela uma interface de boa qualidade, pois alm de ser pratico para o usurio, d liberdade para que ele personalize o seu sistema. As principais caractersticas grficas do Mac OS so: Menus:
2.
Janelas:
cones:
Launcher:
O Laucher uma ferramenta do Mac OS que permite abrirmos programas de um modo prtico e rpido: ao invs de voc abrir as pastas, voc seleciona o arquivo a ser executado, e ento abre o programa. 4.6 Sistema de Arquivos: HFS (Hierarchical File System) 4.6.1 Gerenciamento de Memria A memria protegida uma funo ligada ao conceito de multitarefa preemptiva. O sistema monitora a utilizao que cada aplicativo faz da memria, impedindo que um programa tente acessar e corromper a rea de memoria do outro. Porm o MacOS 8 usa um sistema de multitarefa cooperativo, onde erros de proteo podem acontecer facilmente. A arquitetura de 32 bits do Copland gerencia um espo max de 4 GB.o copland desmembra esse espao de modo que 1GB dividido entre cdigo e as tarefas do sistema operacional e os isoladores de I/O. Os 3 GB restantes so para aplicativos.
5.Rivalidade
5.1 Mac vs. PC Afinal, o que h de to legal assim nos computadores da Apple? As mquinas criadas pela empresa de Steve Jobs so o equivalente ao, digamos, um prato preparado com trufas brancas. Na realidade, ningum est preocupado com o que est dentro destas mquinas lindas e caras nem mesmo o que acontece por trs de aparente tranqilidade do Mac OS X. Quando ele funciona, ele funciona maravilhosamente.
As mquinas mas recentes produzidas pela Apple vm equipadas com alguns dos mais rpidos e bem-desenhados hardwares disponveis e, de lambuja, trazem um sistema operacional poderoso, estvel e fcil de usa que, ainda por cima, parece estar ainda imune aos problemas de segurana que atormentam a vida dos usurios de PCs com Windows.
Grandes desenvolvedores de software, entre os quais a Adobe e at mesmo a Microsoft, continuam a desenvolver aplicativos para Macintosh, tornando os Mac mais competitivos. Algumas poucas aplicaes-chave, como o AutoCAD, ainda requerem a plataforma Windows, mas felizmente os Macs podem rodar o sistema operacional da Microsoft relativamente bem. O hardware proprietrio da Apple ainda mais caro, comparado aos PCs, mas equipamentos produzidos por outras empresas rodando o OS X podem, em breve, se tornar realidade. E o que faz o sucesso dos PCs? Mais do que uma plataforma computacional, os PCs so uma plataforma aberta na qual uma gama enorme de hardware e software pode se acomodar. No lugar de escolher um hardware limitado oferecido por apenas uma empresa (no caso, a Apple), voc pode escolher entre as centenas de competidores do mercado pela configurao exata que se deseja, em geral por muito menos dinheiro do que seu equivalente na plataforma Mac. Pode-se, inclusive, dispensar o Windows e utilizar qualquer das muitas distribuies Linux gratuitas.
5.2 Ballmer vs. Torvalds Quando Steve Ballmer, o Golias, mira algo, inevitavelmente ele consegue o deseja. Para o executivo da Microsoft, o Linux coisa para comunistas. Muito do tremendo crescimento que a empresa fundada por Bill Gates conseguiu foi sob a batuta de Ballmer como CEO, cargo que assumiu em 2000. Sua gesto foi marcada pela aquisio de empresas, tais como o Visio, a Great Plains e a Groove Network. Nesse meio tempo, ele se tornou um bilionrio. Com o mundo dos softwares deixando os PCs e migrando para o mundo web, Ballmer precisa, desesperadamente, adquirir alguma coisa nova (como o Yahoo ou Facebook), caso no queira ser derrotado pelo Google.
J Linus Torvalds, nosso David, no contra os produtos da Microsoft; ele apenas no est interessado neles. Ele comeou a trabalhar em um sistema operacional open source gratuito no ano em que se graduou em Cincia da Computao.
Embora ele continue tendo a ltima palavra sobre quais contribuies recebidas da comunidade faro parte do kernel do sistema operacional Linux, ele continua sendo um mero programador e trabalha para a Linux Foundation. Graas a Torvalds, software open source e, em particular, o Linux pode, eventualmente, dar uma mordidinha no almoo da Microsoft. 5.3 Gates vs. Jobs O sucesso da Microsoft rendeu a Bill Gates uma fortuna de pelo menos 58 bilhes de dlares. Tudo bem que o responsvel pelo processo antitruste que o governo norte-americano trava conta a Microsoft afirma que algumas das prticas de negcio que geraram tal fortuna so antiticas afinal, negcios so negcios, certo? Em alguns dias se tudo correr conforme previsto o fundador da Microsoft deixar de dar expediente na empresa para trabalhar, em perodo integral, na Bill & Melinda Gates Foundation, que ir levar uma parte considervel de sua fortuna.
Graas s contribuies de algum ainda mais rico que Gates, Warren Buffett, a fundao j tem recursos da ordem de 40 bilhes de dlares que sero usados para o desenvolvimento da agricultura sustentvel global, servios de financiamento para erradicao da pobreza, no combate ao HIV, malria, tuberculose, desnutrio e melhoria da sade de crianas e mulheres, alm do combate ao analfabetismo nos EUA e no resto do mundo. Ser, ento, que os fins justificam os meios? Steve Jobs a estrela-pop do mundo da tecnologia e um megalomanaco de primeira linha. Ele tambm bilionrio, se bem que no to rico quanto Gates. Sua viso de como um PC ou outro gadget deveria ser, comeando com o Apple I (1976), sempre esteve anos-luz frente da concorrncia. Ele imaginou que as pessoas pagariam mais para ter um telefone ou notebook que no fosse apenas funcional, mas que tambm fosse uma pea de arte, com o Air e o iPhone. Por mais de 30 anos, Jobs se entusiasma com seu trabalho, estimulando e infernizando a vida de seus funcionrios para que produzam dispositivos mais legais, e tambm convencendo o consumidor de quo maravilho esses produtos o so. A propsito, eles realmente so.
Usurios Linux X Usurios Windows Essa uma rivalidade um tanto irracional que vem ganhando fora devido a popularizao do linux, dos sites de relacionamento e da incluso digital, no h uma razo nica ou concreta para que isso ocorra sendo que as vezes um comentrio gera uma discusso de at um ms, abaixo esto algumas delas que eu encontrei no site de relacionamentos ORKUT.
primeiro, porque os programas bem feitos so extremamente parametrizveis, ou seja, so flexveis o suficiente para servirem s suas necessidades sem a menor necessidade de cdigo-fonte. segundo, porque os softwares so cada dia mais complexos, e conhecer um determinado software a fundo pode ser uma tarefa de tempo integral por anos e anos.
Mas existem, entretanto, casos onde essa alterao realmente necessria. E a, por onde comea, e para onde vai? Felizmente, o Ubuntu herdou do Debian suas melhores prticas em software organizado. Nenhuma outra distribuio tem um sistema to simples e funcional de se modificar um determinado software do que aquelas baseadas em Debian e que publicam seus cdigos-fonte de forma igual a este. Vamos utilizar aqui um software extremamente complexo e sofisticado - o Xorg. O Xorg, no Ubuntu constitui um nico arquivo-fonte que gera mais de cinquenta pacotes binrios deb, que podem ser totalmente refeitos com apenas alguns comandos. Para comear qualquer desenvolvimento de software no ubuntu, absolutamente necessrio instalar o pacote build-essential. Ele um metapacote que instala a maior parte do que voc v precisar para compilar qualquer programa do ubuntu. Para instala-lo, foi necessrio digitar no terminal: sudo apt-get install build-essential Isso instalou um conjunto de ferramentas de desenvolvimento. claro que um software complexo como o Xorg no tem como dependncias apenas as ferramentas bsicas - uma srie de outras bibliotecas foram necessria para podermos compil-lo. Para no perdermos tempo procurando como loucos este tipo de dependncia, pesquisamos e descobrinos que o pessoal do Debian resolveu isto de forma bastante simples.Apenas uma linha de comando e pronto, ento digitamos: sudo apt-get build-dep xserver-xorg A maioria dos computadores no tem os repositrios de cdigo-fonte habilitados no apt-get. Ento tivemos que fazer o seguinte Nosso arquivo /etc/apt/sources.list tinha o seguinte contedo:
deb http://archive.ubuntu.com/ubuntu/ breezy main restricted universe multiverse deb http://security.ubuntu.com/ubuntu/ breezy-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ breezy-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ breezy-backports main restricted universe multiverse Duplicamos as linhas, mudando a palavra deb no comeo das linhas para deb-src. No nosso caso, o arquivo ficou assim: deb http://archive.ubuntu.com/ubuntu/ breezy main restricted universe multiverse deb http://security.ubuntu.com/ubuntu/ breezy-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ breezy-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ breezy-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ breezy main restricted universe multiverse deb-src http://security.ubuntu.com/ubuntu/ breezy-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ breezy-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ breezy-backports main restricted universe multiverse Uma vez feito isso, foi necessrio atualizar a lista de pacotes disponveis no sistema, com o comando sudo apt-get update Feito isso, o sistema estava pronto para receber os arquivos de cdigo-fonte do Xorg! Baixando o cdigo-fonte O comando para baixar o cdigo-fonte de algum pacote no Ubuntu apt-get source. Mas, diferentemente do comando apt-get install, este ir copiar o arquivo no diretrio que voc estiver. Portanto, vou baix-lo l com o comando sudo su cd /usr/src apt-get source xserver-xorg E aguardamos. A velha histria de ir tomar um caf enquanto espera, neste caso, verdadeira. O fonte do X tem cerca de 50 mb!
timo, estou com o cdigo-fonte, e agora? Ao finalizar o download, nos encontrvamos com uma srie de arquivos novos. Os arquivos eram: xorg_6.8.2-77.diff.gz xorg_6.8.2-77.dsc xorg_6.8.2.orig.tar.gz e um diretrio xorg-6.8.2 O arquivo xorg_6.8.2.orig.tar.gz o fonte original do Xorg, como se voc tivesse feito o download do mesmo diretamente do site http://x.org. O arquivo xorg_6.8.2-77.dsc um arquivo de descrio. Ele contm as informaes necessrias para garantir que este realmente o pacote certo e quais as dependncias para compil-lo. O arquivo xorg_6.8.2-77.diff.gz o arquivo com as modificaes feitas no cdigo-fonte pelo empacotador, ou seja, as diferenas entre o arquivo original e o que ser efetivamente compilado na sua distribuio, incluindo a estrutura necessria para gerar um pacote debian.. Compilando o software e gerando os pacotes sem alteraes Uma vez que todas as peas esto no lugar certo, para compilar todo o Xorg e gerar os pacotes, seria relativamente fcil, entrariamos no diretrio xorg-6.8.2 e executariamos o comando dpkg-buildpackage E mais um cafzinho. Este processo extremamente lento para um software to complexo como o Xorg. Ei, mas no amos alterar o software? Uma vez que nos certificamos que o software j estava compilando corretamente e gerando os pacotes corretamente, estvamos prontos para alter-lo. Ns pegamos trs alteraes bastante simples para que pudssemos testar sem perigo de estragar todo o trabalho j feito, as modificaes so:
modificar o arquivo xorg-6.8.2/debian/control - para que ele passe a considerar a plataforma amd64 para o pacote xserver-xorg-driver-via modificar o arquivo xorg-6.8.2/build-tree/xc/config/cf/xorg.cf - para que ele passe a compilar o mdulo da via no amd64 - afinal, no adianta mandar gerar o pacote se esse driver no for sequer compilado, no mesmo? e por fim, a alterao mais importante - modificar o arquivo buildtree/xc/programs/Xserver/hw/xfree86/drivers/via/via_mode.c - para corrigir um bug no mesmo.
Temos aqui alteraes de dois tipos diferentes. A primeira mexe apenas no diretrio debian, enquanto a segunda e a terceira mexem diretamente no cdigo-fonte do Xorg. Alterando e entendendo as diferenas Uma vez que j sabamos o que alterar, a coisa ficou fcil. Criamos cpias dos arquivos sem modificaes: cd /usr/src/xorg-6.8.2 cp -a debian debian-orig cp build-tree/xc/config/cf/xorg.cf build-tree/xc/config/cf/xorg.cf.orig cp build-tree/xc/programs/Xserver/hw/xfree86/drivers/via/via_mode.c buildtree/xc/programs/Xserver/hw/xfree86/drivers/via/via_mode.c.orig Por qu? Para estabelecer as diferenas entre os arquivos originais e os modificados. Agora modificamos os arquivos. Editamos o primeiro arquivo, o debian/control - Ele arquivo de controle dos pacotes deb. Adicionamos a string amd64 no final da linha 618, ou seja, ficou assim essa parte do arquivo: Package: xserver-xorg-driver-via Architecture: i386 ia64 hurd-i386 amd64 Para editar o segundo arquivo, o xorg.cf. Alteramos a linha 455, adicionando a string via. A seo fica assim: # define XF86CardDrivers mga glint nv tga s3 s3virge sis rendition \ neomagic tdfx savage cirrus tseng trident \ chips apm i128 ati ark cyrix siliconmotion \ vga dummy vesa i810 via \ XF86OSCardDrivers XF86ExtraCardDrivers E finalmente o terceiro arquivo, o via_mode.c . Nele, modificamos a linha 739, tirando o valor 08f e colocando o valor 084. A seo fica assim: case VIA_KM400: if (pVia->ChipRev Executando o comando diff e jogando a sada para os lugares certos Agora tivemos que comparar as nossas alteraes com os arquivos originais, e registrar estas alteraes nos lugares corretos. Para isso: cd /usr/src/xorg-6.8.2/build-tree diff -ruN xc/config/cf/xorg.cf.orig xc/config/cf/xorg.cf > ../debian/patches/991_xorg_cf.diff diff -ruN xc/programs/Xserver/hw/xfree86/drivers/via/via_mode.c.orig
xc/programs/Xserver/hw/xfree86/drivers/via/via_mode.c > ../debian/patches/991_via_mode.diff Isso gerou os seguintes arquivos: debian/991_via_mode.diff e debian/991_xorg_cf.diff. Feito isso, a rvore de alteraes se completou. Apagamos os diretrios temporrios e reconstruimos os arquivos de controle com os comandos cd /usr/src/xorg-6.8.2 rm -rf build-tree/ stampdir/ cd .. dpkg-source -b xorg-6.8.2 Tanta coisa, e agora? Agora, o diretrio xorg-6.8.2, que foi severamente modificado, foi removido, para a testarmos a coisa feita da forma certa. cd /usr/src rm -rf xorg-6.8.2 E ficamos apenas os mesmos arquivos que vieram com o comando apt-get source, porm com suas alteraes. Para, a partir deles, gerar os pacotes, com os comandos cd /usr/src dpkg-source -x xorg_6.8.2-77.dsc cd xorg-6.8.2 dpkg-buildpackage E, de novo, um cafzinho .
Etapa final, recompilar em DVD. Para recompilar o ubuntu com as modificaes em um dvd, usamos um programa especial para isso o Reconstructor, ele tem uma interface muito fcil de se utilizar e no foi difcil recompilar tudo, e o melhor que ao final do processo ele j grava no dvd o sistema recompilado.
Nas imagens seguintes esto as telas de configurao, na qual alm de recompilar o ubuntu pode-se alterar certas coisas como imagem de splash do boot e outros.