1 SISTEMAS OPERACIONAIS Prof. Antonio Carlos de Oliveira Capitão Universidade Paulista – UNIP ICET-ICH-ICSC 2 UNIP - UNIVERSIDADE PAULISTA INSTITUTO DE CIÊNCIAS SOCIAIS E COMUNICAÇÃO INTRODUÇÃO Um computador sem seu software nada mais é do que um pedaço inútil de metal. No entanto, quando equipados com o software adequado, ele é capaz de armazenar, processar e recuperar informação, encontrar erro de sintaxe em textos, executar uma imensa variedade de jogos eletrônicos e de engajar seu usuário em muitas outras atividades bastante produtivas. O software de um computador pode ser dividido, a grosso modo, em duas categorias: os programas do sistema, que gerenciam a operação do próprio computador, e os programas de aplicação, que resolvem problemas para seus usuários. O mais importante dos programas de sistema é o sistema operacional, que controla todos os recursos do computador, e fornece base sobre a qual os aplicativos serão escritos. O Que é um Sistema Operacional? A mais evidente função do sistema operacional é servir como interface com o hardware. Isso, porém, não é tudo que ele faz. Os recursos básicos do computador consistem no hardware, software e os dados. Todos esses recursos são gerenciados pelos sistemas operacionais modernos, especialmente na máquina de grande porte. 3 Agora vamos citar separadamente de alguns sistemas operacionais: Unix, Solaris, Linux, NetWare, Windows, Mac OS X, Amiga, OS/2 e BSD. História dos Sistemas Operacionais Os sistemas operacionais vêm evoluindo gradualmente com o passar do tempo. Em razão dos sistemas estarem histórica e intimamente ligados às arquiteturas nas quais eles rodam, vamos analisar cada uma das sucessivas gerações de computadores e observar as principais características dos sistemas operacionais que rodavam em tais máquinas. A associação da geração dos sistemas operacionais á geração de computadores é discutível, mas é a única forma estruturada de abordar a questão histórica dos sistemas operacionais. O primeiro computador digital foi projetado pelo matemático inglês Charles Babbage (1972-1871). É sabido que, apesar de Babbage ter gasto toda sua vida e sua fortuna tentando construir sua “máquina analítica”, ele jamais conseguiu atingir seu objetivo, pois seu projeto era inteiramente mecânico e a tecnologia da época não conseguia produzir as engrenagens de alta precisão de que a máquina precisava para funcionar. Desnecessário dizer que a máquina analítica não tinha sistema operacional. A Primeira Geração (1945-1955): Válvulas e Painéis Após os infrutíferos esforços desenvolvidos por Babbage, quase não houve progresso nesta área até o início da Segunda Grande Guerra. Em torno de 1940, Howard Aiken, em Harvard, John von Neumann, no Instituto de Estudos Avançados de Princeton, J Presper Eckert e Willian Mauchley, na Universidade da Pensilvânia, e Konrad Zuse, na Alemanha, tiveram sucesso na construção de computadores primitivos, baseados em válvulas. Tais máquinas 4 eram enormes, ocupavam salas imensas e empregavam dezenas de milhares de válvulas em sua construção. Apesar disso, eles eram muito mais lentas do que o mais barato dos computadores pessoais disponíveis atualmente. Nesta época, um único grupo de pessoas era responsável pelo projeto, construção, programação, operação e manutenção de cada máquina. Toda a programação era feita em código absoluto, muitas vezes através da fiação de painéis para controlar as funções básicas da máquina. O conceito de linguagem de programação ainda não existia. Os sistemas operacionais também não. No inicio dos anos 50, houve uma sensível melhora no uso de tais máquinas como o advento do cartão perfurado que tornou possível a codificação de programas em cartões e sal leitura pela máquina, dispensando a programação através de painéis. A Segunda Geração (1955-1965): Transistores e Sistema Batch O desenvolvimento do transistor em meados dos anos 50 veio a alterar substancialmente o quadro descrito na segunda geração. Com o emprego desta nova tecnologia, os computadores tornaram-se confiáveis a ponto de serem comercializados. Nesta época, passou a haver uma distinção muito clara entre pessoas envolvidas no projeto, na construção, na operação, na programação e na manutenção destas máquinas. Os computadores da segunda geração eram usados maciçamente na realização de cálculos científicos e de engenharia, tal como a obtenção da solução de equações diferenciais parciais. Eles eram normalmente programados em linguagem FORTRAN ou em linguagem de montagem. Surgem os sistemas operacionais da época que eram o FMS (Fortran Monitor System) e o 5 IBSYS, ambos os sistemas operacionais desenvolvidos pela IBM para rodar no 7094. A Terceira Geração (1965-1980): Cls e Multiprogramação No início dos anos 60, a maioria dos fabricantes de computador tinha duas linhas de produtos distintas e totalmente incompatíveis. De um lado as imensas e poderosas máquinas orientadas a palavra, adequada ao processamento cientifico pesado, como o IBM 7094. Do outro lado estavam as máquinas comerciais, orientadas a caracter, como IBM 1401, utilizado pelos bancos e companhias seguradoras para pesquisar arquivos em fita e para impressão de extensos relatórios. A IBM conseguiu solucionar ambos os problemas de uma única vez, com a introdução do Sistema/360. Tal sistema era composto de uma série de máquinas, todas elas compatíveis em nível de software, abrangendo a faixa que começava no 1401, e chegava até aquelas muito mais poderosas que o 7094. Os sistemas de terceira geração vieram a popularizar várias técnicas que não estavam implementadas nos sistemas de segunda geração, a mais importante dessas técnicas é a Multiprogramação. Outra característica importante dos sistemas operacionais de terceira geração era sua capacidade de ler jobs (um programa ou um conjunto de programas) de cartão direto para disco. Desta forma, assim que um job ativo terminasse, o sistema operacional carregaria um novo job na partição livre da memória, proveniente do disco. Esta técnica foi denominada SPOOL (Simultâneos Peripheral Operation On Line) e era também empregada para as operações de saída. Com o SPOOL, os 1401 deixaram de ser necessários. A Quarta Geração: Computadores Pessoais 6 Com o desenvolvimento da integração em grande escala (LSI), apareceram chips com milhares de transistores encapsulados em um centímetro quadrado de silício, nascendo aí a idéia do computador pessoal. A grande disponibilidade de poder computacional, levou ao crescimento de uma indústria voltada para a produção de software s para os computadores pessoais. A maioria destes softwares é “amena ao usuário” (user-friendly), significando que eles são voltados para pessoas que não têm nenhum conhecimento de computadores, e mais que isto, não têm nenhuma vontade de aprender nada sobre esse assunto. Certamente esta foi uma mudança grande na filosofia de desenvolvimento dos sistemas operacionais. E outro desenvolvimento importante que começou a tomar corpo em meados dos anos 80 foi o dos sistemas operacionais para redes e o dos sistemas operacionais distribuídos. Em uma rede de computadores, os usuários estão conscientes da existência de um conjunto de máquinas conectadas à rede, podendo, portanto ligar-se a máquinas remotas e solicitar serviços das mesmas. Cada uma destas máquinas roda seu próprio sistema operacional e tem seu próprio usuário ou usuários. Em contraste, um sistema distribuído faz com que um conjunto de máquinas interligadas apareça para seus usuários como se fosse uma única máquina com um só processador. Em tais sistemas, os usuários não tomam conhecimento de onde seus programas estão sendo processados ou mesmo onde seus arquivos estão sendo armazenados, pois tudo isso é manipulado automática e eficientemente pelo sistema operacional. A História do Unix Aquilo que começou como um passatempo de um jovem pesquisador, transformou-se em um empreendimento que gera bilhões de dólares, envolvendo universidades, corporações multinacionais, agências governamentais, e entidades internacionais de padronização. Nos anos 40 e 50, todos os computadores eram pessoais, pelo menos no que diz respeito ao modo de utilização de tais máquinas. Naquela época, o usuário do computador reservava um horário para utilizá-lo. Durante este tempo, a 7 máquina ficava inteiramente dedicada a este usuário. Claro que estas máquinas eram imensas, mas isto não tem nada a ver com o fato de que somente uma pessoa de cada vez poderia utilizá-la. Com o advento dos sistemas batch, nos anos 60, o perfil do uso da máquina mudou muito. O usuário enviava ao centro de processamento de dados um job em cartões perfurados, para que este fosse processado pelo computador. Quando houvesse um número de jobs conveniente, o operador formava um lote único com tais jobs, e os submetia ao computador. Aproximadamente uma hora depois da submissão, o usuário podia buscar a listagem contendo os resultados de seu programa. Sob tais circunstâncias, a depuração de um programa era uma tarefa extremamente longa e penosa, pois uma única vírgula mal colocada resultava na perda de várias horas do tempo do programador. Para tentar resolver este problema, o sistema de compartilhamento de tempo foi inventado no Dartmouth College e no M.I.T.(Massachusets Institute of Technology). O sistema do Dartmouth College só rodava Basic e experimentou efêmero sucesso comercial. Já o sistema desenvolvido no M.I.T., denominado CTSS, esta um sistema de propósito geral, e experimentou um tremendo êxito junto à comunidade científica. Em pouco tempo, os pesquisadores do M.I.T. se juntaram com os da General Eletric (na época um grande fabricante de computadores) e os do Bell Labs, e começaram a trabalhar no projeto de um sistema de segunda geração, o MULTICS (Multiplexed Information a Computing Service). O MULTICS foi um fracasso. Ele foi projetado para suportar centenas de usuários com um hardware um pouco mais potente que o de um PC/AT (isto não é tão sem sentido quando pode parecer hoje em dia, uma vez que naquela época as pessoas escreviam aplicações muito pequenas). Houve várias razões para a falha do MUTICS, uma das quais era o fato de ele ter sido escrito em PL/I, uma linguagem muito pesada, com compilador muito ineficiente. Além disso, ele foi um projeto muito ambicioso para época, fazendo lembrar o trabalho de Charles Babbage no século XIX. O pessoal de Bell Labs abandonou o projeto no meio, fazendo com que um de seus pesquisadores, Kem Thompson, começasse a procurar algo interessante para fazer. Ele resolveu reescrever o MULTICS, numa versão bem menos ambiciosa, só 8 que desta vez em linguagem de montagem, usando um PDP-7 que estava esquecido em um canto do laboratório. Apesar do pequeno porte desta máquina, o sistema de Thompson funcionou muito bem, a ponto de suportar seus trabalhos de desenvolvimento. Em conseqüência, um outro pesquisador do Bell Labs, Brian Kernighan, chamou o sistema de UNICS (Uniplexed Information and Computing Service), numa paródia bem humorada ao nome MULTICS. Apesar de ser algumas vezes chamado de EUNUCHS (eunuco), numa alusão ao MULTICS castrado, o primeiro nome pegou, apesar de ter sido mais tarde mudado para Unix. O Unix do PDP-11 O trabalho de Thompson impressionou tanto seus colegas do Bell Labs que logo ganhou a adesão de Dennis Ritchie, e mais tarde de todos os seus colegas de departamento. Dois grandes desenvolvimentos ocorreram nesta época. O primeiro levou o Unix do obsoleto PDP-7 para as máquinas mais modernas da época, que dominavam o mercado de minicomputadores por quase toda a década de 70. Estas tinham uma memória razoavelmente grande, bem como hardware para proteção de memória, tornando possível o suporte a vários usuários ao mesmo tempo. O segundo desenvolvimento concentrou-se na linguagem na qual o Unix foi escrito. Inicialmente, Thompson havia tentado reescrever o sistema em Fortran, desistindo logo no primeiro dia. Já se estava tornando óbvio que era muito difícil e penoso reescrever todo o sistema, cada vez que se tornava necessário transportá-lo para um novo tipo de máquina, de forma que Thompson resolveu reescrever o Unix em uma linguagem de alto nível que ele próprio havia desenvolvido, a linguagem B. Esta linguagem era uma simplificação da BCPL, que, por sua vez, era uma simplificação da CPL, a qual, como o PL/I, nunca funcionou a contento. Devido à debilidade da linguagem B, principalmente devido à falta de estruturas convenientes, esta tentativa não teve sucesso. Ritchie então projetou uma linguagem para suceder a B, denominada C, e escreveu um excelente compilador para ela. Juntos, Thompson e Ritchie reescreveram o Unix em C. A linguagem C foi a linguagem certa, no momento certo, e tem dominado o mercado da programação de sistemas desde então. Muitas empresas comercializam atualmente compiladores para a linguagem C. 9 Dennis Ritchie (de pé) e Ken Thompson começam a portar o Unix em um PDP-11 (um minicomputador) através de dois terminais de digitação tipo 33. Em 1974, Ritchie e Thompson publicaram um artigo marcante sobre o Unix (Ritchie and Thompson, 1974). O trabalho descrito neste artigo ganhou mais tarde, em 1984, o maior prêmio que pode ser concedido a trabalhos envolvendo temas na área da ciência da computação, o famoso Turning Award. A publicação deste trabalho incentivou muitas universidades a solicitarem ao Bell Labs cópias do Unix. Uma vez que a companhia controladora do Bell Labs na época, a AT&T, era um monopólio controlado, operando na área das telecomunicações, não lhe era permitido entrar na área da computação. Por este motivo, a Bell Labs não colocava nenhuma objeção para licenciar o Unix para as universidades, mediante o pagamento de uma pequena taxa. Numa destas coincidências que muitas vezes fazem história, o PDP-11 era, na época, o computador preferido de quase todos os departamentos de 10 computação das universidades, e os sistemas operacionais que vinham com o PDP-11 eram amplamente reconhecidos como pavorosos tanto por professores, quando por alunos. O Unix preencheu rapidamente este vazio, em especial pelo fato de ele ser fornecido com o código-fonte completo, de forma que as pessoas podiam estudá-lo com afinco. Foram logo organizados diversos encontros científicos em torno do Unix, com palestrantes de peso tomando o microfone para anunciar um pequeno bug no kernel do sistema, descoberto e consertado por ele. Como resultado de toda esta atividade, novas idéias e muitos melhoramentos foram rapidamente incluídos no sistema. A versão que se tornou o primeiro padrão de fato no mundo acadêmico foi a versão 6, assim denominada por ter sido descrita na sexta edição do Manual do Programador Unix (Unix Programer’s Manual), que em seguida, anos depois, foi substituída pela versão 7, desta formou-se toda uma geração de estudantes, o que contribuiu muito para a sua grande difusão fora do círculo acadêmico. Com isso, em meados dos anos 80, o Unix era amplamente usado tanto em minicomputadores quanto nas estações de trabalho de uma grande variedade de fabricantes. A Portabilidade do Unix Estando o Unix escrito em C, sua customização a uma nova máquina, conhecida como portabilidade, tornou-se muito mais simples do que nas primeiras versões experimentais. O ato de implantar o sistema em uma nova arquitetura requer que, em primeiro lugar, exista um compilador C disponível para a máquina alvo. É preciso também escrever todos os drivers para os dispositivos suportados por ele, tais como terminais, impressoras e discos. Apesar do código de tais drivers também estar escrito em C, eles não podem ser transportados diretamente de uma máquina para outra em função das diferenças existentes no hardware dos dispositivos, ou seja, a unidade de disco flexível de determinada máquina tem características diferentes que as de outra máquina, exigindo um driver diferente para gerenciá-la. Finalmente, deve ser escrita, em geral na linguagem de montagem, uma pequena parte do código do sistema, que depende das características da máquina alvo. Destacamos como códigos dependentes da máquina as rotinas de tratamento de interrupção, e as rotinas para gerência da memória. 11 O primeiro sistema Unix implantado em uma máquina diferente do PDP-11 rodou no minicomputador Interdata 8/32. Este exercício revelou uma série de compromissos que o Unix mantinha com a máquina hospedeira, entre eles considerar que tosos os números inteiros eram de 16 bits, que todos os ponteiros também eram de 16 bits (fazendo com que o tamanho de um programa não pudesse ultrapassar 64K endereços), e que a máquina possuía exatamente três registradores disponíveis para armazenamento temporário. Tais limitações retratavam características do PDP-11, e nenhuma delas era válida no Interdata, de forma que foi necessário muito trabalho para livrar o Unix destes limitantes. Um outro problema aconteceu com o compilador C escrito por Ritchie. Apesar de ele ser muito rápido e extremamente eficiente, só produzia código objeto para o PDP-11. Para resolver esta questão, em vez de escrever um novo compilador específico para o Interdata, Steve Johnson do Bell Labs projetou e implementou um compilador C portátil, que pode ser customizado para gerar código objeto para qualquer máquina, exigindo para tal muito pouco trabalho, considerando-se a magnitude do problema resolvido. Por anos a fio, quase todos os compiladores C eram baseados no compilador projetado por Johnson, o qual contribuiu enormemente para a difusão do Unix e seu emprego em novas arquiteturas. O trabalho de portar o Unix para o Interdata começou muito lentamente, pois todo o trabalho de desenvolvimento tinha que ser feito na única máquina do Bell Labs que estava funcionando com o sistema instalado, o PDP-11, que estava no quinto andar do prédio, enquanto que o Interdata encontrava-se no primeiro andar. Desta forma, gerar uma nova versão significava compilar esta versão no PDP-11, e transportá-la fisicamente através de fitas magnéticas, esta forma de comunicação de computadores era apelidada de Sneaker Net, ou seja, rede de informações em calçado tênis. Passados vários meses em subidas e descidas, começou a surgir um interesse muito grande na conexão eletrônica de diferentes máquinas Unix. A interligação em rede de máquinas Unix lançou suas bases nesta época. Com a divisão da AT&T em várias companhias independentes, imposta em 1984 pelo governo norte-americano, a nova empresa pôde constituir legalmente uma subsidiária para operar no ramo de computadores. Logo depois, era 12 lançada a primeira versão comercial, o chamado System III, que não foi bem recebido pelo mercado. Em função disso, ele foi substituído um ano depois de lançado por uma nova, o System V, a versão IV é um dos grandes mistérios não resolvidos da ciência da computação. O Sistema V original vem, desde então, sendo substituído por novos releases, cada um deles maior e mais complicado que seu antecessor. Neste processo comercial, está-se perdendo a idéia original do Unix, de ser um sistema simples e elegante. Apesar de o grupo de Ritchie e Thompson ter produzido mais versões posteriores, elas nunca foram amplamente divulgadas, pois AT&T colocou toda a sua estrutura de marketing para suportar o System V, apenas implantaram algumas idéias destas versões em releases do System V. O Unix de Berkeley Uma das primeiras grande universidades americanas a adquirir o Unix versão 6 foi a University of California at Berkeley. Como o código-fonte estava disponível, o pessoal de Berkeley foi capaz de analisar e modificar substancialmente o sistema. Auxiliada por fundos da DARPA (Defense Advanced Research Projects Agency), Berkeley produziu e distribuiu uma versão melhorada do Unix do PDP-11, chamada 1BSD (First Berkeley Software Distribuition). Esta versão foi quase que imediatamente seguida pela 2BSD. As mais importantes foram as versões 3BSD e sua sucessora 4BSD, esta última desenvolvida para o VAX. Apesar da AT&T ter liberado uma versão de Unix para o VAX, denominada 32V, ela era essencialmente a versão 7, ou seja, sem nenhuma inovação, apenas adaptada para a máquina. Em contraste, a 4BSD incorporava um grande numero de melhoramentos. O Principal deles foi o uso da memória virtual e da paginação, permitindo que os programas fossem maiores que a memória física, dividindo-os em páginas que iam e vinham da memória, conforme a necessidade. Outra mudança permitiu nomes de arquivos com mais de 14 caracteres. A implementação do sistema de arquivos também sofreu mudanças que o tornaram mais rápido. A manipulação de sinais tornou-se mais confiável. A ligação em rede de máquinas Unix, outra característica desenvolvida em Berkeley, fez com que o protocolo de rede do 13 BSD, o TCP/IP, se tornasse o padrão de fato, com uma utilização muito maior que a dos padrões oficiais, tal como o OSI. O pessoal de Berkeley também acrescentou um número considerável de utilitários Unix, incluindo um novo editor(vi), um novo Shell(csh), compiladores Pascal e Lisp, e muitos outros utilitários de menor interesse. Todas estas modificações fizeram com que diversos fabricantes de computadores, entre eles a Sun Microsystems e a DEC, baseassem suas versões do Unix no de Berkeley, em vez da versão “oficial” da AT&T. Em conseqüência disto, o Unix de Berkeley tornou-se absoluto no mundo acadêmico, de pesquisa e de defesa militar. A Padronização do Unix No final dos anos 80, estavam amplamente divulgadas duas versões diferentes e incompatíveis de Unix, a 4.3BSD e a System V Release 3. Além disso, cada fabricante fazia o favor de adicionar à sua versão seus próprios melhoramentos, obviamente não padronizados. Este racha no mundo, somado ao fato de não haver padrão para o formato dos programas em binário, inibiu em muito seu sucesso comercial, pelo fato de ter-se tornado impossível a qualquer fornecedor de software escrever pacotes de programas para o sistema, na expectativa de que tais pacotes rodassem em qualquer Unix, como ocorre com o MS-DOS. Várias tentativas de padronizá-lo falharam. A AT&T, por exemplo, lançou a publicação SVID (System V Interface Definition), que definia todas as chamadas de sistema, formatos de arquivo, etc. Este documento foi uma tentativa de manter na linha todos os fornecedores do System V, mas não teve nenhum efeito no campo inimigo (BSD), que simplesmente não tomou conhecimento do documento. A primeira tentativa séria de reconciliar as duas vertentes do Unix começou sob os auspícios do Comitê de Padronização do IEEE (Institute of Electrical and Electronics Engineers), uma organização muito respeitada, e, mais que isto, neutra. Centenas de pessoas da indústria, das universidades e do governo participaram deste trabalho. O nome escolhido para o projeto foi POSIX, as três primeiras letras significando Portable Operating System. O IX foi adicionado para compor um nome que lembrasse o Unix. 14 Após uma imensa discussão, o comitê POSIX produziu um padrão denominado 1003.1 que define um conjunto de rotinas de biblioteca que todos sistemas Unix produzido em conformidade com este padrão deve suprir. Muitos destes procedimentos, fazem uso de chamadas de sistema, mas poucos podem ser implementados fora do kernel. A idéia era de que o fornecedor de software tivesse certeza de que, se usasse apenas os procedimentos definidos, seu programa iria rodar em qualquer sistema aderente ao padrão. Em vez de tomar como ponto de partida a união das peculiaridades do System V e do BSD (o que todos os comitês de padronização normalmente fazem), o comitê do IEEE enfocou a interseção de tais características. Grosseiramente falando, se uma determinada característica estava presente em comum nos sistemas, ela deveria ser incluída no padrão; caso contrário, não. Como resultado deste procedimento, o padrão 1003.1 ficou tremendamente semelhante à versão 7. As duas áreas em que o 1003.1 se afastou da versão 7 foram o tratamento de sinais, quase todo tirado do BSD, e na manipulação dos terminais, completamente nova. O documento final foi escrito numa linguagem que ternasse simples o seu entendimento tanto pelo pessoal da implementação do sistema operacional, quanto para aqueles que deveriam produzir software. Apesar de o padrão 1003.1 preocupar-se somente com as chamadas de sistema, outros documentos também produzidos sob a inspiração do comitê tentaram padronizar os programas utilitários, a ligação de rede, e muitas outras características do Unix. Vale observar que a linguagem C também foi padronizada pela ISSO e pela ANSI. Infelizmente, quando tudo parecia resolvido no que diz respeito às diferenças estruturais do System V e BSD, um grupo de empresas, formado pela IBM, DEC, Hewlett-Packard, entre outras, não gostou da idéia de ver a AT&T ditando regras para o Unix, formando um consórcio denominado OSF (Open Software Foundation), para produzir um sistema que estivesse de acordo com todos os padrões vigentes, não só o IEEE, mas que também continha algumas características adicionais, tais como um sistema de janelas (X11), uma interface gráfica (MOTIF), processamento distribuído (DCE), e muito mais. 15 A reação da AT&T constituiu na formação de seu próprio consórcio, o UI (Unix International) para fazer exatamente a mesma coisa que o consórcio concorrente. A versão UI é baseada no System V. Atualmente, o UNIX System V Release4 é o mais recente, comercializado pela UNIX System Laboratories (USL), que é de posse da Novell. O resultado disso tudo é que agora existem dois poderosos grupos industriais oferecendo versões diferentes, de maneira que os usuários estão tão próximos de um padrão quanto estavam antes da iniciativa do IEEE. Além disso, algumas empresas consorciadas possuem suas versões próprias do sistema, a exemplo da IBM que comercializa o AIX. Desnecessário dizer que cada um de tais sistemas está evoluindo em direções diferentes, fazendo-nos prever para breve um imenso caos no mercado. Uma propriedade comum a todos estes sistemas é o fato de eles serem extremamente grandes e complexos, ou seja, a antítese exata da idéia original. Mesmo que o código-fonte de tais sistemas estivesse disponível, o que não é verdade, está fora de questão a possibilidade de uma única pessoa poder vir a entendê-lo na sua totalidade. 16 A tabela a seguir mostra a árvore genealógica do UNIX. 17 O Xenix Ao final da década de 1970, a Microsoft havia comprado o código fonte licenciado do Unix pela AT&T, que no momento ainda não havia registrado o nome de Unix do sistema operacional. Então, Microsoft criou o Xenix, que não foi comercializado diretamente para o usuário final, mas sim, para empresas de software OEM, como a Intel, Tandy, Altos e a SCO, e que estas forneceram suas versões finais do Xenix para seus clientes. O SCO Xenix A SCO criou sua primeira versão de Xenix, nomeado de SCO Xenix System V, para processadores Intel 8086 e 8088 em 1983. Em 1985, é criado o SCO XENIX 286 para os processadores baseados no Intel 80286. Também foram definidos padrões de compatibilidade de softwares aplicativos para funcionarem em versões de sistema operacionais posteriores ao 286. No ano seguinte, é lançado como o modelo para vendas a versão OEM (Original edition for manufacturers) do SCO XENIX 286 para consumidores que queriam um sistema Unix para seus computadores. Em 1987, o SCO XENIX 386 é o primeiro sistema operacional de 32 bits de processamento, e o sistema Unix pioneiro para tecnologias baseadas no Intel 386. Com a aquisição de direitos comerciais no uso do nome de sistema operacional Unix pela AT&T, é lançado o SCO UNIX System V/386. Logo depois é introduzido o SCO Open Desktop, a primeira interface gráfica de 32 bits para processadores baseados nos da Intel. Nos anos 90, com o novo processador de multiprocessamento da Intel, a SCO cria seu pacote de softwares para suportar esta nova tecnologia, o SCO MPX. Daí então, foi criada uma linha de utilitários de seus sistemas, o SCO OpenServer. 18 Em 1995, com a compra da divisão comercial de souce tecnológica da Novell (atual proprietária da Unix Laboratories) e do UnixWare 2, em dois anos a SCO desenvolve um novo sistema para servidores Intel, o UnixWare 7. Em 1998, é feita a primeira tentativa de estabelecer uma padronização de sistema Unix em servidores Intel em um centro de dados, o Data Center Initiative. A SCO aliado a IBM e Intel trabalham em um projeto para desenvolverem, em conjunto, uma grande quantidade de sistemas Unix para processadores Intel IA-32 e Intel IA-64, para que no futuro, resulte numa linha única de produtos que tenha um campo de atuação amplo, partindo de servidores até a integração de um complexo empresarial na totalidade. Graças a este projeto, em 1998, o UnixWare torna-se a primeira plataforma de desenvolvimento estável para processadores Intel IA64 (Itanium). Em 1999, é lançado o UnixWare 7 Release 7.1, com nova tecnologia de rede, baseado no Tarantella, além de novas edições de Business e Data Centers. Sua última versão no momento é o UnixWare 7 NonStop. Do SunOs ao Solaris Nos anos de 1980, Bill Joy, estudante graduado em Berkeley e um dos criadores da versão 6 do Unix, com seu mestrado em engenharia elétrica, torna-se co-fundador da Sun Microsystems (Sun significa Stanford University Network). A empresa, logo então, cria sua versão de Unix BSD denominada SunOs. Por possuir excelente sistema de ferramentas de rede, o NFS, tornou-se padrão industrial. Em 1983, seu release 4.1.4, era a última versão de sistema operacional baseado no BSD, alterando bases de software para o System V release 4, cujo nome seria Solaris. A versão Solaris 2 oferecia suporte ao mutiprocessamento, que funcionaria em conjunto com seu SPARC station 10 (o primeiro computador de multiprocessamento de mesa). 19 Com a criação do JAVA(1995), o primeira plataforma de software universal, vários aprimoramentos no ambiente de rede foram desenvolvidos para o Solaris 2.6, aumentando a performance de softwares de Internet. Torna-se também o mais popular sistema Unix de controle de disco(HD) em multiusuário. Em 1998, Solaris 7 é a evolução em software de rede para tecnologia avançada de 64 bits, dando um enorme salto em performance, capacidade e dimensões. O nome da versão escolhida como 7 seria para desmoralizar sua rival emergente, a Microsoft, que na época planejava lançar o Windows NT 5.0, baseado no raciocínio de que o 5 do NT é menor que o 7 do Solaris. No ano 2000, o Solaris 8 inova em já possuir suporte ao novo protocolo de rede TCP/IP, o IPv6, e seu custo ser reduzido, na época custava 30 dólares a sua versão registrada. Além de possuir várias ferramentas freeware poderosas. É inegável que a Sun ainda traga mais novidades ao mercado consumidor, ao invés de janelas azuis. A História do Linux O Linux surgiu com a necessidade, de um estudante de ciência da computação Linus Torvalds, insatisfeito com o MS_DOS decidiu então criar um sistema alternativo, uma versão do UNIX que funcionasse em sua maquina. Após meses de obstinado trabalho, começava a se delinear o sistema operacional Linux. A vida do linux começou nas mãos de Linus Torvalds, da Universidade de Helsinki, na Finlândia. Embora o Linux que conhecemos hoje tenha sido desenvolvido com a ajuda de programadores do mundo todo, Linus Torvalds ainda mantém o controle de evolução do sistema operacional Linux: o Kernel. Originalmente, Torvalds desenvolvia o Linux como um passatempo. As primeiras versões não se destinavam ao usuário final, que saiu em outubro de 1991 na versão 0.02 mesmo esta primeira versão já oferecia o mínimo 20 de funcionalidade para permitir aos programadores de Unix a alegria da programação do Kernel. Como núcleo do sistema operacional, o Kernel mantém funcionado perfeitamente – sem um Kernel estável e poderoso, você não tem um sistema operacional. Mas quando a equipe de programadores cresceu, e o software básico para um sistema operacional completo surgiu, tornou-se evidente que o Linux estava evoluindo para o estado em que poderia ser chamado de sistema operacional. Em março de 1992, a versão 1.0 do Kernel apareceu, tornando-se o primeiro lançamento oficial do Linux. Nesse ponto o Linux executava a maioria das ferramentas Unix comuns, desde compiladores até software de interligação de rede e Windows. Como o Linux é um clone do Unix, maioria dos recursos do Unix está disponível. O Linux é um sistema operacional preemptivo e multitarefa, que significa que se pode ter mais de um programa executando simultaneamente. O linux cuida de alterar entre os vários processos, sem que os processos tenham conhecimentos de fato. Isso é o contrario dos sistemas operacionais multitarefa cooperativos, como o Windows 3.1. Com um sistema operacional multitarefa cooperavitos, cada aplicativo é responsável por ceder tempo do processador – se um aplicativo nunca cede, outros aplicativos não receberão nenhum tempo do processador. Sistema Operacional Multitarefa Dizer que um sistema operacional é multitarefa é o mesmo que dizer que ele pose executar mais de um aplicativo ou processo por vez. Por exemplo, o sistema pode imprimir um documento, copiar um arquivo e discar para internet, enquanto o usuário esta digitando um programa de processamento de textos. Mesmo com essas tarefas de segundo plano ocorrendo, o processador, em primeiro plano, não deve congelar ou se tornar inutilizável. A multitarefa permite que um computador com um único processador pareça estar realizando varias tarefas ao mesmo tempo. 21 O Linux suporta o conceito de memória virtual utilizando uma parte dedicada de uma unidade de disco da máquina, chamada partição de troca (swap), o Linux troca paginas entre memória e o espaço de troca conforme necessário. Para o Linux quaisquer aplicativos em execução, a máquina parece ter mais memória física do que realmente existe. Isso, naturalmente, cobra um preço – o de ler e gravar na unidade de disco. O Linux suporta bibliotecas compartilhadas dinamicamente. Uma biblioteca compartilhada contém uma ou mais funções “comuns” que diversos programas concorrentes podem executar de maneira compartilhada. Esses programas concorrentes podem todos compartilhar um único arquivo de biblioteca e chamar quaisquer funções contidas dentro deles. Isso reduz o tamanho dos aplicativos individuais por que eles não têm de conter as funções compartilhadas. Sistema Operacional Multiusuários Mais importante que um sistema operacional multitarefa, o Linux é assim como todos os Unix e seus clones em sistema operacional multiusuário. Todas as versões de Windows e Mac são sistema monousuário. Embora alguns serviços do Windows NT apresentam uma aparência de recursos multiusuários, apenas um usuário pode se conectar e executar aplicativos em dado momento, nesses sistemas operacionais. Apenas recentemente foram feitos esforços para estender o Windows NT para uma plataforma multiusuário, sob o aspecto da edição Windows NT terminal Server. Em comparação, o Linux permite vários usuários simultâneos, utilizando integralmente os recursos de multitarefa do sistema operacional. A maior vantagem disso é que o linux pode ser distribuído como um servidor de aplicados. A partir de seus computadores de desktop ou terminais, os 22 usuários podem se conectar com um servidor. Linux através de uma rede local e executar aplicativos no servidor, em vez de usar seus PCs desktop. Aplicativos de Linux Como sistema operacional, o Linux poder ser usado para desenvolver parcialmente qualquer tipo de aplicativos. Entre os aplicativos para Linux, estão: Aplicativos de processamento de texto. Alem do software de processamento de texto comercial, como WordPerfect, StarOffice e Applixware, e o Linux oferece ferramentas poderosas para a edição de arquivos de texto e processamento de texto de modo automatizado. Linguagens de programação. Existe uma ampla variedade de linguagens de programação e de script e ferramentas disponíveis para Linux e de todos os sistemas operacionais Unix e correlatos. Essa abundancia de ferramentas de programação torna fácil desenvolver novos aplicativos, que podem ser executados não somente em Linux, mas também em Unix e correlatos. X Windows. O Windows é a resposta do Unix á interface gráfica com o usuário. O X Windows é um ambiente de GUI altamente flexível e configurável que e executado no Linux. Os aplicativos que são executados em X Windows ajudam d tornar o Linux um sistema operacional fácil de ser usar. Ferramentas para Internet. Além de oferecer suporte a software tradicionais, o Linux fornece uma ampla gama de software para internet, incluído aplicativos baseados em caracteres e gráficos para leitura de correio, a todo o conjunto de software necessário para criar servidores de internet (inclusive servidor Web, servidores de correio e servidores de newgroups), além de suporte de re completo para conexão com a internet através de rede local ou modem. 23 Banco de Dados. Assim como todas as plataformas Unix, o Linux proporciona uma robusta plataforma para rodar aplicativo de banco de dados cliente-servidor. Desde seus primeiros dias, banco de dados poderosos como mSQL e Postgre estão disponíveis para o Linux. Atualmente, Oracle, Sybase e Informix oferecem produtos de banco de dados relacionados para Linux. Software de compatibilidade com DOS e Windows. O Linux pode executar software dos com um alto grau de estabilidade e compatibilidade, e oferece varias estratégias para executar software Windows. Além disso, estão disponíveis emuladores para outros sistemas de computadores populares, incluindo as linhas de computador Macintosh e Atari ST. Motivos que viabilizam a utilização do Linux Há muitas razões que viabilizam a utilização do Linux. Uma razão é seu poder e perfil enxuto. O Linux é um forte sistema operacional multitarefa e multiusuário que requer um mínimo de recurso de hardware. A segunda razão é a disponibilidade sempre crescente de utilitários resistentes e software profissional (business software). Uma razão importante para o surto de Linux é o surto disponível. Ao comprar uma versão comercial do Linux, você na realidade esta pegando pelo suporte fornecedor. Muitos newgroups de Linux, organizações de grupo de usuários, na web contendo extensas quantidades de documentação de Linux fornecendo também fornecendo suporte para Linux, com respostas pra praticamente qualquer questão do Linux pode ser rapidamente revelada. Hoje o Linux é antes de tudo um sistema operacional de servidor, a maioria de Linux focaliza as capacidades de serviços do sistema operacional. Algumas razões que tornam o Linux um servidor muito forte incluem as seguintes: Desempenho. O Linux tem uma alta relação desempenho/custo e executa tão bem quanto qualquer sistema operacional ou ate melhor. 24 Segurança. As questões de segurança são resolvidas rapidamente e a distribuição é imediata. Os fornecedores comerciais orientados podem levar semanas ou meses para corrigir e distribuir patches. Economia. O Linux pode ser obtido pelo custo de um download ou pode comprar um CD-ROM com Linux e software de suporte por menos. Na parte comercial você pode obter distribuições comerciais, como o Red Hat e o Caldera OpenLinux, que contem o sistema operacional, o código-fonte e uma riqueza de programas e utilitários de suporte. Outras utilizações do Linux são as seguintes: Servidores FTP Servidor de correio eletrônico Servidor da Web Servidor distribuído de software Servidor DNS (nome de domínio) Servidor de banco de dados Servidor samba (Windows) A História do NetWare O Netware da Novell está no Mercado desde 1983, no mesmo ano em que a IBM introduziu o DOS 2.0 para IBM PC. Seu grande destaque foi o momento em que começaram a florescer as redes para computação pessoal. A Novell havia introduzido o NetWare, e ele estava começando a se estabelecer como um padrão corporativo .O NetWare é um sistema operacional Corporativo ( CLIENTE / SERVIDOR). A novell desenvolveu originalmente o Netware para ser executado em um servidor baseado em microprocessador Motorola MC68000 usando a tecnologia S-NET da NOVELL . Com a criação da Versão 2.0 do DOS 25 para IBM PC abriu para muitas empresas, entre elas a Novell , a oportunidade de desenvolver seu produto. Como o código do Netware estava escrito em C , que era uma linguagem denominada portátil , a Novell pode traduzir o código do Netware existente para novos equipamentos. Como é conhecido , o DOS/ Intel 8088 não é o melhor para executar aplicações multiusuário, especialmente sistemas operativos como Netware. A BIOS (Sistema básico de Entrada e Saída ), desenvolvido para o PC (DOS), está baseada em arquitetura monousuário. A Novell deixou de Lado completamente este sistema de E/S e criou um sistema que funcionasse de forma mais efetiva em modo multiusuário. Devido a isto, o NetWare foi escrito especificamente para o hardware dos sistemas baseados no processador 8088, sem desconsiderar o DOS, e seu sistema E/S. Essa estratégia fez com que a Novell ganhasse forças desde então . Para manter a compatibilidade com o DOS, a Novell teve que fazer uma série de desenvolvimento e atualizações de controladores quase que constantemente mais esses problemas foram se dissolvendo com a utilização do SHELL( Interface que permite o usuário trabalhar de forma mais amigável com o DOS podendo executar também em paralelo o NetWare) para o DOS , assim todas aplicações do DOS poderiam ser utilizadas através do NetWare, graças ao SHELL. O NetWare também tinha programas de segurança e tolerância a falhas na manipulações de informações .A Novell seguiu melhorando o NetWare no rítimo dos avanços tecnológicos . Já o NetWare 286 funcionava em modo protegido , era baseado no processador 80286 e mais eficiente. Em 1989 , a Novell apresentou o NetWare 386 e seu sistema de gerenciamento de impressão aproveitando o máximo de vantagens do microprocessador Intel 80386. O Processador 80386 é especialmente adaptado a estrutura multiusuário, preparado para trabalhar em Rede( NetWork ). A estratégia da Novell tem sido sempre em acelerar o crescimento das redes .No princípio dos anos Noventa o Netware estava sendo utilizado em 60% das redes instaladas e os outros 40 % restantes estavam sendo consumidos por outros produtos de outras empresa.Com tudo, a Novell foi 26 impulsionada a uma tecnologia de arquitetura chamada SISTEMAS ABERTO NETWARE que visava atender os seguintes objetivos : Disponibilizar serviços oferecido pelo NetWare em grandes plataformas; Trabalhar com protocolo padrão como TCP /IP e níveis da camada OSI; Oferecer Roteamento de grandes Redes ( NetWork) ; Manter uma arquitetura aberta e oferecer ferramentas de desenvolvimento para criar aplicações que ofereçam ajustes necessários. Atualmente o NetWare está em sua Versão 6. O Novell NetWare 6 é a solução de software de serviços que oferece um acesso ininterrupto e seguro aos principais recursos de rede. Ele permite que você acesse arquivos, impressoras, diretórios, e-mail e bancos de dados em qualquer tipo de rede, plataforma de armazenamento e desktop cliente. O NetWare 6 aproveita a grande capacidade do Novell e Directory™, oferecendo uma maneira de gerenciar facilmente a rede a partir de um dispositivo sem fio habilitado para a Web ou a partir de um computador desktop tradicional. O NetWare 6 também suporta padrões abertos de Internet e inclui serviços de rede inovadores e baseados em browser. O NetWare revoluciona o acesso e o gerenciamento de arquivos , uma solução exclusiva de serviços de rede que permite acessar arquivos pessoais, de qualquer local e a qualquer momento, através de qualquer dispositivo habilitado para a rede. Ao usar o Novell iFolder, você não precisa se preocupar em enviar pôr e-mail, do seu desktop corporativo para o laptop, aqueles arquivos de apresentação importantes. Tudo o que você salvar no iFolder em uma máquina será totalmente sincronizado no iFolder em todas as suas outras máquinas. Você pode trabalhar on-line, off-line, em casa, no escritório ou quando estiver viajando. O iFolder garantirá que você sempre tenha a versão mais recente do arquivo. Além disso, o iFolder oferece forte segurança aos seus dados, garantindo que os arquivos estejam sempre protegidos de curiosos. 27 O NetWare 6 também inclui o Novell iPrint, uma solução de impressão notável que fornece acesso global a todos os recursos de impressão através de um browser da Web padrão. O Novell iPrint se baseia no IPP (Internet Printing Protocol) e ajuda a reduzir custos de manutenção de rede oferecendo a administradores um único ponto de gerenciamento para todas as impressoras em rede. Ideal para usuários móveis, o NetWare 6 incorpora o NetWare Web Access, uma interface personalizada através da qual você pode, de qualquer ponto do mundo, acessar recursos de rede importantes. Com o NetWare WebAccess, basta utilizar um browser da Web padrão para efetuar login no ambiente de rede: não é mais necessário instalar um software cliente especial no computador da empresa. Para estender ainda mais os limites da sua rede, o NetWare 6 oferece suporte a vários protocolos de arquivos, incluindo o AFP (Appletalk Filing Protocol) para Macintosh, o NFS (Network File System) e o CIFS (Common Internet File System). O suporte do NetWare a esses diversos protocolos elimina a necessidade de software cliente: a comunicação é feita através do TCP/IP e os aplicativos originais são executados na rede. O suporte desse protocolo também permite aproveitar os recursos totais do e Directory através de qualquer sistema de terceiros, incluindo o Windows, o Macintosh e o Unix, para a administração central e o acesso a arquivos. Finalmente, o NetWare 6 aperfeiçoa a infra-estrutura de e Business ao permitir tolerância a falhas confiável através do Novell Cluster Services™ 1.6, ao oferecer componentes habilitados para MP (multiprocessador) e ao armazenar vários volumes de dados no Novell Storage Services 3.0. Esses recursos garantem o acesso rápido e ininterrupto aos dados importantes de sua empresa.O NetWare 6 oferece suporte a vários idiomas. Esses idiomas incluem: alemão, chinês simplificado e tradicional, espanhol, francês, inglês norteamericano, italiano, português e russo. 28 A História do Windows O Windows é um sistema operacional , que surgiu no início como interface do Ms-Dos e que só veio a se tornar verdadeiramente um sistema operacional na sua edição do Windows 95. Nessa jornada da Microsoft com o seu produto Windows já tivemos muitas edições do Windows que foram elas desde o primeiro em 1985: Windows 1.0, Windows 2.0, Windows 3.0, Windows 3.1 que passou a ser conhecido e aceito, Windows 3.11 para workgroups uma versão para redes, Windows 95 que se torna verdadeiramente um sistema operacional, Windows NT também para servidores de rede, Windows 95 SE (second edition) para correção de bugs, Windows 98 que passa a trabalhar com 32 bits, Windows 98 SE (second edition) para correção de bugs, Windows 2000 que foi na verdade com correção de bugs e suporte de rede uma atualização do Windows NT, Windows XP e o mais novo lançamento Windows Server 2003 Family que inclui todas as funcionalidades básicas que o usuário espera deu um sistema operacional Windows Server, como confiabilidade, segurança e escalonabilidade. O Windows é um sistema operacional gráfico que utiliza imagens, ícones, menus e outros aparatos visuais para ajudá-lo a controlar seu computador. A maioria das pessoas acha isso mais fácil de trabalhar do que digitar comandos em um prompt ou gritar com o computador (o que alivia a tensão, mas raramente é eficaz). O nome Windows provém do termo inglês para janelas, que são caixas gráficas em que ele exibe informações. A parte específica da janela que exibe essas informações é conhecida como quadro ou frame. Cada programa em execução aparece em sua própria janela na tela. Você pode mover as janelas ou alterar seu tamanho e, em geral, as janelas oferecem elementos que permitem que controle a janela em si ou as informações dentro dela. Windows 95 O Windows 95 é um sistema operacional que foi projetado especificamente para superar diversas das limitações impostas por sua encarnação 29 anterior – o Windows 3.1 -, o Windows 95 oferece um grande número de novos recursos e fornece uma interface de usuário nova e melhorada. Talvez a característica singular mais importante do Windows 95 seja o fato de ele ser um sistema operacional de 32 bits. Ao passar para uma implementação de 32 bits, o Windows 95 deixou para trás uma grande parte das artimanhas e problemas associados com os sistemas mais antigos de 16 bits. Um dos objetivos principais de projeto do Windows 95 foi torná-lo compatível com o Windows 3.1 e com o DOS – e com programas projetados para processar sobre eles – isto é, o Windows 95 foi projetado para ser compatível com a ampla base de aplicativos de PC já existentes. Assim, o Windows 95 pode processar quatro tipos de programas: aqueles escritos para o DOS, aqueles escritos para o Windows 3.1, aqueles escritos para o Windows NT e aqueles escritos especificamente para o Windows 95. O Windows 95 cria automaticamente o ambiente correto para o tipo de programa que você processa. Por exemplo, quando você executa um programa DOS, o Windows 95 cria automaticamente um aviso de comando especialmente preparado em que o programa é processado. Windows NT A rede Windows NT usa um sistema operacional de rede centralizado, normalmente chamado de arquitetura cliente/servidor. O computador central, onde roda a maior parte do sistema operacional de rede, é chamado de servidor. Um computador que se use os recursos gerenciados pelo servidor é chamado de cliente. Todos os computadores dessa rede são designados ou como servidores ou como clientes: os servidores fornecem os serviços e os clientes os usam. 30 Suporte para Multiprocessadores O Windows NT Server suporta computadores com múltiplos processadores simétricos; ele pode ser instalado em um computador que tenha até quatro processadores. O Windows NT Workstation está limitado às máquinas que não tenham mais do que dois processadores. Windows 98 O Windows 98 é um ambiente operacional gráfico que facilita muito mais a exploração do seu computador do que se você estivesse usando um sistema operacional não-gráfico como o MS-DOS. Na verdade, o Windows 98 freqüentemente é chamado de Graphical User Interface (interface gráfica com o usuário) ou GUI. Em contraste, o MS-DOS usa uma interface de linha de comando ou prompt. O que isto significa para você é bastante simples – um computador que executa o Windows 98 é muito mais simples de usar do que um computador que exibe apenas um prompt do DOS. A sua tela do Windows 98 mostra muito mais informações do que você teria em um sistema operacional não-gráfico. O Windows 98 também fornece acesso fácil a uma faixa inteira de ferramentas por meio de simples cliques do mouse. Ao combinar esses dois benefícios, você percebe uma das grandes vantagens do Windows 98 – não é preciso lembrar-se de muitos comandos para usar o Windows 98. Windows 2000 O Windows 2000 é o sistema operacional sucessor do Windows 98. Independentemente da capacidade do seu hardware, é o Windows 2000 quem realmente manda. O Windows 2000 controla todo o hardware e o software em seu sistema e é através dele que você se comunica com seu computador. O Windows 2000 é um descendente direto do Windows NT, a versão “avançada” da Microsoft do seu software de sistema operacional 31 Windows. Existem várias versões do Windows 2000, mas as duas versões primárias são Professional e Server: * Windows 2000 Professional – Esta é a mais comum das duas versões. Ela fornece todos os recursos de que você precisa para um sistema operacional, permitindo que uma ou várias pessoas utilizem um computador e o software do Windows comum. * Windows 2000 Server – Este é o sistema operacional projetado para rodar em redes de computadores. Há várias versões do Windows 2000 Server, cada uma das quais realiza tarefas específicas para redes, Internet, bancos de dados e outras funções de empresas de grande porte. O Windows 2000 Server não é um sistema projetado para uso doméstico (embora você pudesse fazer isso, seria como usar um 747 para levar seus filhos na escola). A História do Mac OS X MAC OS X Server é o primeiro da nova geração de servidores poderosos e escalonáveis, que tornam mais fácil a publicação de material de mídia digital e Web através da Internet ou gerencia redes de computadores Macintosh. O MAC OS X Server é baseado em um novo núcleo do sistema operacional, o que traz alta performance e grande confiabilidade e oferece o ambiente de servidor ideal para a Internet, publishing e educação. O MAC OS X Server aproveita-se das vantagens do Power Macintosh G3 para alcançar novos níveis de performance e capacidades do servidor. Combinado com a facilidade e ambiente amigável do Macintosh, o Mac OS X Server torna-se possível para a maioria dos usuários configurar um servidor inteiramente funcional em menos de cinco minutos. Recursos de Segurança A versão Mac OS X Server, conta com o mesmo nível de segurança dos sistemas BSD UNIX comerciais, nível C3, 32 classificado pelo governo americano. Enquanto que os Mac OS (comum) que são um sistema operacional voltado para usuários Desktop, não oferecem nenhum nível de segurança para uso corporativo. Arquitetura do Sistema Operacional Para melhorar a resposta do sistema e oferecer maior escalonabilidade para o maior número de clientes, o Mac OS X Server também possui multitarefa preemptiva para rodar muitos trabalhos e operar várias operações ao mesmo tempo, como escrever e ler arquivos do disco, ou receber e enviar informações na rede. Todos os aplicativos rodam suave e eficientemente - sem monopolizar o CPU ou blocos enquanto aguardam as operações serem realizadas. Além disso, a rede é baseada em códigos BSD testados por muito tempo (desde que o TCP/IP foi inventado) e é capaz de passar centenas de megabits por segundos por múltiplas interfaces da rede. Os antigos sistemas operacionais da Apple usavam multitarefa cooperativa, travando com maior facilidade. Isso não acontece em um sistema operacional multitarefa preemptivo, como o Mac OS X. Sistemas de Arquivos Pode ser usado o HFS(Hieraarchical File System), porém, o mais apropriado é o UFS(Unix File System) pois ele foi construído sobre o microKernel Mach 2.5, baseado em Unix , na versão 4.4 do Berkeley Systems Distribuin (BSD) que permite arquivos com tamanhos de até 2048 GB e até 32.768 por diretório. Gerenciamento de Memória Um serviço revolucionário incluído no Mac OS X é o NetBoot, que torna o gerenciamento de redes entre Macintosh tão fácil quanto operara um computador comum. O NetBoot não requer computadores com configuração local, então configurar uma rede a partir de uma Mac é rápido e fácil. O NetBoot também permite que 33 computadores Macintosh rodem o mesmo sistema e aplicativos armazenados no NetBoot Server. Assim, autorizando-se o servidor automaticamente se atualizam todos os Macs da rede. Ao mesmo tempo o NetBoot protege o sistema operacional e os aplicativos de corrupção e incluem ferramentas de gerenciamento para policiar as configurações do sistema e controlar o acesso de usuários. O NetBoot oferece uma outra importante vantagem: os usuários podem acessar seguramente seus próprios aplicativos , documentos e mesa de trabalho pessoal, de qualquer Mac da rede. O gerenciamento de memória a memória protegida é uma função ligada ao conceito de multitarefa preemptiva. O sistema monitora a utilização que cada aplicativo faz da memória, impedindo que um programa tente acessar e corromper a área de memória do outro. Interface A interface do Mac OS X é baseada em janelas, ícones, botões, menus, seguindo os mesmos padrões dos outros sistemas operacionais da Apple. Pode se dizer que ela é uma interface de boa qualidade, pois além de ser prático para o usuário, dá liberdade para que ele personalize o seu sistema. A interface gráfica amigável do assistente do Mac OS X permite configurar um servidor básico de Apache com um simples clique; ferramentas avançadas permitem configurar todas as características do Apache. O Mac OS X Server também inclui as ferramentas de desenvolvimento e licença básica de uso para o WebObjects, a tecnologia Apple para desenvolvimento flexível e escalonável de aplicativos de rede dinâmicos, desde comércio eletrônico até gerenciamento de recursos e administração de escolas. Quem está habituado com as linhas de comando do UNIX pode abrir um terminal na tela do Mac e criar rotinas e macros personalizadas. As principais características gráficas do Mac OS X são: 1. Menus; 2. Janelas; 3. Janelas de cópia de arquivos 4. Menus do sistema 5. Ícones 6. Desktop ( área de trabalho) 34 Pontos Fortes, Vantagens e Desvantagens do Mac OS X Para preservar os aplicativos antigos, a Apple construiu um mecanismo para rodar programas feitos para Mac OS X 8. Por isso, o servidor executa o Mac OS 8.5 como se fosse um programa à parte. Para conseguir tamanha confiabilidade, o Mac OS X Server incorpora um modelo de sistema de proteção de memória que previne sistemas individuais de interferir com operações críticas. Dessa maneira, os usuários tem menos possibilidades de sofrerem um "congelamento" ou perder todos os trabalhos. O Mac OS X possui uma on line, que orienta você na execução de diversas tarefas. Além disso, caso o problema seja o software a Apple Computer Brasil tem uma rede com mais de 20 lojas de assistências técnicas autorizadas, espalhadas por várias cidades brasileiras, entre elas: Goiânia, São Paulo, Belo Horizonte e outras. O Mac OS X Server tem a performance desejada para suportar trabalhos em QuickTime, compatíveis com todos os clientes que estejam rodando QuickTime 3 em plataformas Windows ou Macintosh. O Mac OS X também oferece serviços poderosos de escalonamento de arquivos, capaz de suportar milhares de arquivos abertos e mais de mil usuários. Usuários autorizados podem acessar arquivos de qualquer cliente AppleShare por TCP/IP ou AppleTalk. Informações de usuários e grupos podem ser compartilhados por múltiplos servidores, e todos podem ser gerenciados remotamente, utilizando ferramentas de administração remota. O Mac OS X Server inclui o Apache, servidor de Web mais famoso do mundo, que escala grupos de trabalho com um pequeno número de usuários para um site da Internet. A História do Amiga O microcomputador AMIGA da empresa canadense Commodore foi sem sombra de dúvidas o que existiu de mais avançado em toda a história da informática mundial, sua arquiteta sempre andou à frente de seu tempo, 35 desde seu lançamento em 1986 até os dias de hoje continua páreo aos computadores mais avançados. Sua arquitetura totalmente nova e um sistema operacional gráfico fizeram outros grandes fabricantes tremerem no meio da década de 80, como Apple/Macintosh e IBM/Microsoft, mas devido principalmente a fraca estratégia de marketing da Commodore, os computadores da série AMIGA não chegaram a mesma popularização dos PCs e Macs, apesar da visível superioridade do Amiga. FIGURA 1: AMIGA 500 Junto com o Mac, ele apresentava um sistema operacional gráfico muito poderoso, apresentando recursos desde 1986 que apenas em 1995 o Windows/Microsoft foi oferecer nos PCs. A questão é que devido a uma bem sucedida e milionária campanha de marketing, aliado a jogadas desleais da Microsoft aproveitando seu monopólio, fizeram com que a maioria do público só conhecesse Windows + PC (Windows + Intel = Wintel), principalmente no Brasil, onde poucos conheceram os fantásticos recursos do Amiga + Workbench (seu sistema operacional). Não querendo, parecer um radical, mas realmente foi isso que aconteceu, a Commodore tinha um marketing fraco e não conseguiu deslanchar em países como o Japão e EUA, ganhando terreno apenas na Europa e na América Latina, mais específico no Brasil, via Paraguai. 36 FIGURA 2: AMIGA 2000 FIGURA 3: AMIGA 2000 Logo do seu lançamento, existia apenas o modelo AMIGA 1000 (Figura 2), que logo foi desmenbrado em dois modelos com seu hardware e sofware revisados. O modelo Amiga 500 (Figura 1) era direcionado ao público doméstico e o Amiga 2000 (Figura 3) ao público profissional. Ambos apresentavam os mesmos recursos, apenas o número de slots para expansões (periféricos) era maior no A2000. Muitas empresas de publicidade fizeram uso de um A2000 mais a placa gráfica "Video Toaster" para fazer efeitos visuais. Para jogos o Amiga é uma poderosa plataforma, não existindo nada que superasse na época e mesmo até hoje faz coisas que um processador Pentium duvida. Centenas foram as softhouses a lançarem títulos para Amiga, ente elas uma das principais era a Psygnosis (semelhante a uma Konami para MSX). No EUA/Canada e principalmente na Europa o Amiga se tornou um sucesso de vendas, formando vários grupos de usuários que produziam material "demos" que demonstravam toda capacidade gráfica, 3D e sonora do seu hardware. Entre estes grupos, os mais conhecidos são: Crionics, Phenomena, Sanits e Skid Row entre outros vários. Softwares profissionais estão disponíveis para todas as áreas: Desktop Publishing, 37 editoração de texto (Final Writer), edição de vídeos (Deluxe Video), banco de dados e edição de músicas (Bars & Pipes e ProTracker). FIGURA 4: AMIGA 1200 FIGURA 5: AMIGA 4000 No início da década de 90 a Commodore lançou a série de Amigas A1200 (Figura 4) e A4000 (Figura 5) com grandes revisões na parte gráfica e no sistema operacional, permanecendo o som original dos primeiros Amigas, pois ainda era o suficiente. Logo após estes lançamentos a Commodore ainda tentou entrar na área de videogames com o CDTV e o Amiga CD, mas afundou-se em crises e acabou por decretar falência e fechar por volta de 1994. Hoje o Amiga ainda esta muito vivo, mesmo sem o suporte de um grande fabricante, várias pessoas pelo mundo ainda fazem hardware e software para linha. Um exemplo foi a iniciativa do Amiga 5000. No Brasil a onda começou em 1989 quando a revista Microsistemas publicou uma matéria de capa enfatizando as qualidades deste micro, a edição 38 logo se esgotou e começava ali a corrida para comprar um Amiga, fosse de Miami ou mesmo do Paraguai (o meu A500 e A1200). Hoje a turma de usuários de Amiga nacionais ainda é grande, apesar que já foi bem maior e inclusive ele foi fabricado oficialmente por aqui pela empresa PCI que vendia os modelos Amiga 600 e Amiga 1200. História do OS/2 No ano de 1987 a IBM anuncia sobre um novo sistema operacional desenvolvido em conjunto com a Microsoft: o OS/2. Neste anúncio inicial, os executivos das duas companhias se levantaram e proclamaram seu desejo de fazer do OS/2 o substituto DOS. Afinal, disseram, não era gráfico, não oferecia uma interface com o usuário padronizada, só podia executar um programa por vez e ainda era oprimido pelo limite de endereço de memória de 640 Kb. Já que a Microsoft havia falado, durante algum tempo, sobre um "DOS multitarefa" e a IBM tinha deixado escapar que estava desenvolvendo sua própria alternativa, as duas companhias assinaram um contrato de desenvolvimento em conjunto, segundo o qual o OS/2 seria o casamento destas duas propostas. Quase desde o princípio, porém, este contrato foi problemático. O OS/2 deveria ser lançado, inicialmente, em duas versões. A primeira - lançada no final de 1987 - seria o OS/2 1.0, que ofereceria a multitarefa preemptiva e o suporte a grandes aplicativos, com até 16 MB, que era o limite do Processador 286. Mas a verdadeira versão gráfica - a que atraiu a atenção da maioria dos usuários e desenvolvedores seria o OS/2 1.1 com o Presentation Manager, lançada apenas em outubro de 1988. O maior problema seria as questões de compatibilidade. O OS/2 foi escrito, originalmente, para o 286, mas o próprio processador tinha algumas limitações. O 286 havia introduzido o que a Intel chamava de memória "protegida" e a capacidade de elaborar programas que ultrapassavam a barreira dos 640 Kb, mas isto era feito de um modo que, algumas vezes, o tornava incompatível com os programas já existentes baseados em 8088/8086. Uma "caixa de compatibilidade" permitia que os usuários 39 executassem alguns programas DOS existentes, mas as primeiras versões da caixa de compatibilidade não eram tão compatíveis assim. O 386 da Intel viria resolver muitos destes problemas ao introduzir o que era conhecido como modo 86 Virtual, permitia que uma máquina executasse diversas sessões 8086. O OS/2, no entanto, não trabalharia com o modo virtual ainda por muitos anos. Além disto, havia alguma confusão sobre uma versão isolada do OS/2, apenas da IBM, chamada Extended Edition, que adicionaria um gerenciador de base de dados e comunicações. Finalmente, alguns usuários pensavam que o nome OS/2 significava que o sistema operacional funcionaria apenas em máquinas PS/2. Enquanto isto, a Microsoft continuava trabalhando no Windows, definido pela companhia como um produto que trabalharia sobre o DOS e que seria uma "transição" para o OS/2. Em 1987, o Microsoft Windows 2.0 melhorava a interface com o usuário do Windows para incluir recursos como a sobreposição de janelas, a capacidade de redimensionamento das janelas e os aceleradores de teclado (teclas de atalho). Deste modo, ele passou a ser muito mais parecido com o Windows e o OS/2 atuais, além de fornecer um melhor suporte aos padrões SAA (de Systems Application Architecture, ou Arquitetura de Aplicativos de Sistema) de interface com o usuário da IBM do que um ano antes do OS/2. Mas esta versão funcionava em modo real compatível com 8088/8086, e não no modo protegido mais sofisticado do 286, ou seja, os aplicativos ainda não faziam muito bem a multitarefa e ainda eram limitados em tamanho. Ainda naquele ano, o Windows foi dividido em Windows/286 e Windows/386, sendo que o último adicionava capacidades multitarefa, a capacidade de executar aplicativos em máquinas virtuais e o suporte a até 16Mb de memória. O Windows/386 não significa muito hoje em dia, mas, àquela época, era o máximo. E foi ele quem marcou o início da competição entre o OS/2 e o Windows, embora a IBM e a Microsoft negassem o fato. O mais importante é que tornou-se claro que o Windows e o OS/2 não eram tão 40 compatíveis quanto o prometido inicialmente, já que os dois suportavam modelos muito diferentes para desenhar os gráficos na tela. Isto deixou confusos os desenvolvedores de software, que recebiam, da Microsoft, instruções para elaborarem programas para o Windows com a promessa de que estes poderiam ser facilmente passados para o OS/2 mais tarde e, da IBM, para escreverem seus programas diretamente para o OS/2. Nenhuma das plataformas recebeu muito suporte naquela época. O suporte inicial de aplicativos para a plataforma Windows era um tanto limitado, com exceção do Aldus PageMaker e do Microsoft Excel, lançados em 1987. O espantoso é que não teríamos um Processador de textos completo para Windows até o final de 1989, quando surgiram o AmiPro, da Samma (posteriormente comprado pela Lotus e atualmente vivendo sob o nome Word Pro), e a primeira versão do Microsoft Word. Praticamente todos os principais desenvolvedores prometiam o suporte à versão gráfica do OS/2, mas os aplicativos custavam a aparecer. O mundo do PC, pelo contrário, se acomodava num mar de aplicativos DOS e ambientes de rede básicos. De maneira lenta, porém decidida, os computadores tornavam-se parte da vida comercial de praticamente todos os trabalhadores de colarinho branco. Não eram excitantes, mas certamente funcionavam. A despeito de todas as promessas, o mundo da computação no final da década seguia com padrões que já existiam há anos, como o DOS e o barramento ISA, e com um monte de propostas para o futuro - porém sem uma direção clara. A IBM não havia conseguido estabelecer um novo rumo para si mesma e para a indústria e nenhum outro desenvolvedor havia realmente se destacado com definições de padrões. Se o mundo da computação estava procurando por um novo padrão ou não, ele encontrou um em maio de 1990, quando a Microsoft finalmente lançou o Windows 3.0. O Windows 3.0 era executado sobre o DOS e, portanto, oferecia compatibilidade com os programas DOS. Ele se beneficiava do processador 386, podendo fazer a multitarefa com programas DOS e também com 41 programas Windows. A interface com o usuário foi projetada para se parecer com o Presentation Manager, trazendo um Gerenciador de Programas baseado em ícones e um Gerenciador de Arquivos em estilo árvore, incluindo avanços como ícones sombreados. Embora o Windows 3.0 tenha exigido revisões mínimas de praticamente todos os programas Windows existentes na época, não havia muito a ser revisado. Além do mais, imediatamente após a introdução do Windows 3.0, começaram a aparecer os aplicativos, liderados pela divisão de aplicativos da própria Microsoft e seguidos por praticamente todos os outros grandes desenvolvedores. Mesmo depois do anúncio do Windows 3.0, a Microsoft e a IBM continuavam falando sobre o OS/2 e, especialmente, sobre o OS/2 2.0, a primeira versão 32 bits real que viria a aparecer, finalmente, em 1992. Para contundir ainda mais as coisas, enquanto a IBM posicionava o OS/2 como o futuro sistema operacional para todos os usuários, a Microsoft posicionava o OS/2 como um topo de linha, apenas para os aplicativos missão crítica e baseados em servidor. Em vez disto, a Microsoft começou a falar sobre o OS/2 3.0 (não confundir com o posterior IBM OS/2 Warp 3.0), que adicionaria segurança e suporte avançados a multiprocessador, sendo capaz de executar aplicativos Windows e Posix diretamente. Neste cenário, o Windows NT era o núcleo sobre o qual se apoiariam o DOS, o Windows, o OS/2 e o Posix. As duas companhias finalmente separaram suas estratégias no início de 1991, com Jim Cannavino, da IBM, e Bill Gates, da Microsoft, brigando como um casal durante um divórcio litigioso. O OS/2 conquistou um forte nicho em algumas grandes aplicações corporativas, auxiliado por sua estabilidade e robustez, comparadas ao Windows 3.x. Mais tarde, a IBM faria uma última tentativa de fazer do OS/2 o principal sistema operacional com seu OS/2 Warp 3.0, mais orientado ao consumidor comum e lançado no final de 1994. Ele venderia milhões de cópias mas não diminuiria a grande inclinação da indústria pelo Windows. A Microsoft viria a transformar seu antigo "OS/2 3.0" no Windows NT 3. 1, que foi lançado em 1993 sem o suporte gráfico ao OS/2 e 42 recebido, inicialmente, como um sistema operacional para servidores de aplicativos, concorrendo, principalmente, com o OS/2 da IBM. Para a maioria dos usuários de PCs, a Microsoft ofereceu o Windows 3.1 avançado no final de 1991, que adicionava uma melhor integração de aplicativos, recursos arrastar-e-soltar e uma maior estabilidade. No início dos anos 90, ele se tornou o padrão dominante para os aplicativos para PC e a Microsoft ocupou o papel de líder na definição das especificações multimídia. A História do BSD O FreeBSD é um sistema operacional UNIX-compatível designado para plataformas Alpha e Intel (PC). Nesta última arquitetura, ele trabalha em 32 bits e destaca-se pela alta performance e estabilidade, especialmente no tocante ao gerenciamento de redes e servidores web. Oficialmente, o BSD nasceu na Universidade de Berkeley em 1993. O nome “FreeBSD” traduz alguns conceitos do sistema: o prefixo “free” é uma alusão ao software livre, já que o sistema possui código-fonte aberto e pode ser distribuído gratuitamente; o termo BSD define a linhagem a que esse sistema operacional pertence. Com o passar dos anos, FreeBSD passou a ser sinônimo de BSD para processadores Intel e compatíveis. A grande maioria dos usuários do FreeBSD é formada por administradores de sistemas e usuários avançados, atraídos principalmente pela solidez do sistema, sua velocidade e custo zero. Isso, no entanto, não significa que o FreeBSD está direcionado apenas para ambientes corporativos. Em estações de trabalho, o sistema também se comporta muito bem, e o suporte gráfico X Window com aplicativos visuais torna o FreeBSD recomendado até para usuários sem tanta experiência em informática. 43 Conclusão A evolução dos sistemas operacionais foi a base para o desenvolvimento da informática em geral. Essa evolução começou há muito tempo atrás com o surgimento de sistemas, que tinham sua operação ou manutenção somente pelo grupo de pessoas que o tinha criado, pelo fato da linguagem utilizada nestas máquinas serem bem particulares a elas. Então, depois de algum tempo surge a idéia de criar sistemas operacionais em linguagem de nível superior, o que facilitou a portabilidade e criação dos sistemas. A manutenção de alguns sistemas também foi possível ser executado por outros grupos de programadores, além de seus criadores, graças às distribuições do código em aberto. Com isso o tamanho das máquinas, a eficiência, o custo e facilidade no manuseio e a comunicação de informações foram o maior enfoque nesta evolução. O que antes era feito necessariamente por uma única máquina de grande porte e custo elevado, hoje são possíveis de processar os dados em redes com vários computadores interconectados e bem menores, porém com rendimento até maior que os primeiros, porque o trabalho pode ser divido entre hosts, fazendo com que se pareça na verdade com um único aparelho mais poderoso. Os computadores pessoais de pequeno porte tornam-se mais acessíveis aos seus usuários, isso se deve ao fato do uso de linguagens mais simples em compreensão, não exigindo tanto conhecimento de máquina, além de possuírem sua eficácia comprovada. A partir daí começamos a enxergar o domínio no mercado exercido pelo Windows da Microsoft, que sempre teve como objetivo esse usuário sem muito conhecimento, e através das suas janelas oferece fácil manuseio. Enquanto que os sistemas operacionais multiusuário que interconectam e gerenciam a rede, como por exemplo, o Linux e Unix, usados por empresas, necessitam de uma pequena quantidade de pessoal especializado para a 44 manutenção deste ou terceirizar a solução computacional, se tal não for viável ou possível de ser resolvido pela empresa em si. Concluindo, a tendência da informática é do seu uso se ampliar, pelos seus benefícios na produtividade e a acessibilidade econômica na aquisição destas soluções, mas com a quantidade de pessoal especializado reduzido, devido ao custo de manutenção dos funcionários e da terceirização de serviços computacionais no mercado. 45 Bibliografia ARMSTRONG, James C. Jr. UNIX Secrets. s.l. Editora: IDG Books Worldwide, 1996. DANESH, Armand. Dominando Linux ´´A Bíblia ’’. Editora: Makron, 2000. DAVIS, Willian; ALENCAR, Dalton Conde. Sistemas Operacionais: Uma Visão Sistemática. Rio de Janeiro – RJ. Editora: Editora Campus Ltda, 1990. GOOKIN, Dan. Microsoft Windows 2000 Professional. Rio de Janeiro – RJ. Editora: Editora Campus Ltda, 2000. NORTON, Pete; LAFORE, Robert. Desenvolvendo o OS/2. Rio de Janeiro – RJ. Editora: Editora Campus Ltd, 1991. SCHILDT, Herbert. Programando em C e C + + com Windows 95. Editora: Makron, 1995. UNDERDAHL, Brian. Windows 98 Prático e Rápido. Editora: IDG Books, 1998. TANENBAUM, Andrew S; MACHADO, Nery Filho. Sistemas Operacionais Modernos. Rio de Janeiro – RJ. Editora: LTC- Livros Técnicos e Científicos Editora S.A., 1992. WILCOX, Adam. Desenvolvendo NetWare 312. São Paulo – SP. Editora: IBPI, 1995. Lucent Technologies, Bell Labs Innovations. The Creation of the UNIX Operating System. http://www.bell-labs.com/history/unix/ . Acessado em 23 mar 2003. Ehlis, Adam C. The History of UNIX. http://www.ehlis.com/adam/solaris/history.html. Acesso em 6 abr 2003. Computer Hope Company. UNIX Information about Xenix, UNIX variant. http://www.computerhope.com/unix/xenix.htm . Acessado em 6 abr 2003. SCOGroup. History of The SCO Group. http://www.caldera.com/company/history.html. Acessado em 6 abr 2003. 46 NOVELL DO BRASIL. Produtos. http:\\www.novell.com.br. Acessado em 19 mar 2003. The Creation of the UNIX* Operating System. http://www.bell-labs.com/history/unix/. Acessado em 23 mar 2003. "Mac os" Comparação de Sistemas Operacionais. http://www.apple.com. Acessado em 05 abr 2003. "Mac os" Comparação de Sistemas http://www.geocites.com/Capeveral/Hall/4932/macintosh/mac_os.html. abr 2003. Operacionais. Acesso em 5 Comodore Amiga. http://akira.ucpel.tche.br/emuladores/amiga/index.html. Acessado em 3 abr 2003. IBM. http//:www.ibm.com/software/os/warp/. Acessado em 6 abr 2003. A História do FreeBSD. Revista Geek Brasil. Edição 45, p. 43-48, nov 2002.