10.1 - Por que deu Errado? 131

Propaganda
1
SANDRA REGINA DA LUZ INÁCIO
LINUX X WINDOWS:
AS VANTAGENS E DESVANTAGENS
Flórida Christian University
São Paulo, SP - 2004
1
2
SANDRA REGINA DA LUZ INÁCIO
LINUX X WINDOWS:
AS VANTAGENS E DESVANTAGENS
Trabalho
apresentado
para
aprovação da Matéria Informática
como Conceito de Negócios, como
exigência parcial para a conclusão do
curso
de
Doutorado
em
Administração de Empresas da
Flórida Christian University, sob
orientação do Prof. Dr. Nelson Juniti
Nakamura.
Flórida Christian University
São Paulo, SP - 2004
2
3
Este trabalho, como tudo de maior e melhor que fiz em minha vida, dedico à minha
mãe Dirce (in memorian), que foi, é, e sempre será a razão de todas as minhas lutas e,
principalmente, de minhas vitórias.
“Aprendi a fazer da morte uma grande conselheira.”
3
4
AGRADECIMENTOS
Ao Prof. Dr. Rafael Olivieri Neto, pela maravilhosa oportunidade que me deu de estar
inserida neste magnífico programa de Doutorado..
Ao Prof. Dr. Nelson Juniti Nakamura, pelo brilhantismo demonstrado em sua
disciplina, orientação, ajuda e sugestões que contribuíram de forma expressiva e gratificante
para o desenvolvimento desse trabalho.
À minha família, que sempre incentivou-me sob todos os aspectos e obstáculos que a
vida nos impôs.
À todos aqueles que foram, são e serão meus alunos.
”Cada um que passa em nossa vida, passa sozinho, mas não vai só, nem nos deixa só. Leva
um pouco de nós mesmos e deixa um pouco de si mesmos”.
(Autor
desconhecido)
4
5
SUMÁRIO
LISTA DE TABELAS ............................................................................................................VII
LISTA DE FIGURAS ........................................................................................................... VIII
RESUMO ................................................................................................................................. IX
ABSTRACT .............................................................................................................................. X
1. INTRODUÇÃO .................................................................................................................... 11
1.1 - O Problema de Pesquisa
17
1.2 – Objetivos do trabalho
17
1.2.1 – Especifico
17
1.2.2 – Geral
17
1.3 – A Justificativa
17
1.4 - Metodologia de Pesquisa
20
1.5 – Sujeito de pesquisa, coleta e análise dos dados
21
1.6 – Limitações da pesquisa
21
1.7 - Hipótese do trabalho?
22
1.8 - As dificuldades encontradas
22
2. A HISTÓRIA DO LINUX
23
2.1 - Como Nasceu o Linux?
23
- 2.2 - Linha do Tempo do Linux
23
2.3 - História do Tux
24
3. SOFTWARE LIVRE
26
3.1.Uma nova visão econômica
26
3.2 - Justificativas iniciais
26
3.3 - Desenvolvimento cooperativo de software
29
3.4 - Comparação entre software aberto e fechado
30
3.5 – Liberdade
30
4. ARQUITETURA DO LINUX
32
4.1 - Desenvolvimento do Kernel
32
4.2 - A organização do kernel
33
4.3 - Compilação do kernel
34
5
6
4.4 - Tipos de dispositivos e módulos
34
4.5 - Sistema de Arquivos
35
4.6 - Métodos de Acesso
37
4.7 - Estrutura de Diretórios
37
4.8 - Proteção
40
4.9 - Sistema de Arquivos no Linux
41
5. A HISTÓRIA DO WINDOWS
44
5.1 - O primeiro IBM-PC, lançado em 1981
44
5.2 – Uma História dos Sistemas Microsoft e sua Relacão com os Sistemas Padronizados e
Abertos
46
5.3 - O MS-DOS como caminho de migração para sistemas abertos
46
5.4 - O caminho do monopóliocom a IBM.
47
6. ARQUITETURA DO WINDOWS NT
50
6.1 - Estrutura de Processos no Windows NT
51
6.2 - Gerenciamento dos Processos
54
6.3 – Multithreading
56
6.4 - FAT (File Allocation Table)
57
6.5 - Arquivos do NTFS
59
6.5.1 - Estrutura do Volume NTFS
60
6.5.2 - Arquivos de Sistema do NTFS
60
6.5.3 - Master File Table (MFT) - $mft
61
6.5.4 - Master File Table2 - $mftmirr (or MFT2)
61
6.5.5 - Log File - $logfile
61
6.5.6 - Volume - $volume
61
6.5.7 - Attribute Definitions Table - $attrdef
61
6.5.8 - Cluster Allocation Bitmap - $bitmap
61
6.5.9 - Boot File - $boot
62
6.5.10 - Bad Cluster File - $badclus
62
6.5.11 - Upcase Table - $upcase
62
6.6 - Segurança no NTFS
62
6.6.1 – Recuperabilidade
63
6.6.2 - Arquivos pequenos
63
6
7
6.6.3 - Arquivos Grandes
64
6.6.4 - Arquivos extremamente grandes:
64
6.7 - Atributos do NTFS
65
6.8 - Herança de Controle de Acesso a Arquivos e Diretórios
66
6.8.1 - Movendo diretórios e arquivos
66
6.9 - Transações no NTFS
67
6.10 - Servidor de Arquivo de Log
69
7. CASOS DE MIGRAÇÃO DO WINDOWS PARA LINUX
70
7.1 – Caso 01 – Malharia Manz
70
7.2 - Caso 02 - Linux na escola
71
7.3 – Caso 03 - IBM inaugura laboratórios Linux em São Paulo
73
7.4 – Caso 04 - Fabrimar - sem perda de tempo
76
7.5 – Caso 05 – A Texto Editora migra para Linux
79
8. LINUX X WINDOWS
82
8.1 - Segurança: Windows x Linux
82
8.2 – A utilização do Linux e do Windows
84
8.3 - Experiência no mercado
86
8.4 - Reforço de peso
86
9. ESTUDOS COMPARATIVOS ENTRE LINUX E WINDOWS FEITOS PELA
UNIVERSIDADE DE SÃO PAULO E A EQUIPE DE IWB
88
9.1 - Análise Técnica
90
9.2 - Metodologia da pesquisa
91
9.3 - Estudo do TCO de Servidores
109
10. CONCLUSÕES E RECOMENDAÇÕES
131
10.1 - Por que deu Errado?
131
10.1.1 - Hardware Ineficiente
131
10.1.2 - Simplesmente não funciona
132
10.1.3 – Evite Exageros
133
10.1.4 - Software não existe
133
10.1.6 - Documentação não existe
134
10.1.7 - Software e documentação existem, mas é impossível de usar
135
7
8
10.1.8 - Pessoal Técnico
10.8 - O beta-tester
135
135
10.9 - Custo de migração para Linux é "proibitivo", diz estudo da Folha Online 136
10.10 - Os mitos do sistema aberto
137
10.11 - Custo Zero: A Fama do Linux
141
11. REFERÊNCIAS BIBLIOGRÁFICAS
144
8
9
LISTA DE TABELAS
Tabela 1 - Situações Relevantes para Diferentes Estratégias de Pesquisa
19
Tabela 2 – Objetos do Windows NT
49
Tabela 3 o que cada estado representa
53
Tabela 4 - Atributos dos arquivos criados no NTFS
64
9
10
LISTA DE FIGURAS
Figura 1 – Tabela de objetos do Windows NT
51
Figura 2 - Diferentes estados de execução do thread
52
Figura 3 – Lista das prioridades
55
Figura 4 – Estrutura Multitheading
56
Figura 5 – Onde as informações são armazenas no FAT
57
Figura 6 – Blocos do FAT
58
Figura 7 – Small Diretores
62
Figura 8 – Arquivos Grandes
63
Figura 9 – Estrutura de dados não residentes
64
Figura 10 – Propriedades de segurança-
66
Figura 11 – Diagrama de blocos do NTFS
67
Figura 12 – Servidor de arquivo log
68
10
11
RESUMO
Este trabalho, assim como a pesquisa teórica feita foram direcionados no sentido de
identificar comportamentos específicos das variáveis que influenciam e são responsáveis pela
escolha dos Sistemas Operacionais Windows e Linux, como melhor ferramenta para sua
organização.
O conjunto de informações obtidas permitem demonstrar algumas variáveis que
podem auxiliar o leitor na tomada de decisão na compra de um sistema operacional, assim
como no melhor gerenciamento das atividades relacionadas com a tecnologia necessária para
o seu dia-a-dia.
Resumidamente, este estudo tem como referencial teórico os fundamentos das
características dos sistemas operacionais Windows e Linux, o atual cenário das empresas
diante da tecnologia e os prós e contras, a história evolutiva destes assuntos e suas
competências para dar suporte ao sucesso, assim como o desenvolvimento humano e suas
necessidades únicas para atingir a excelência, utilizando a tecnologia como ferramenta para
isso.
11
12
ABSTRACT
This work, as well as the made theoretical research had been directed in the
direction to identify specific behaviors of the variable that influence and are responsible for
the choice of the Operational systems Windows and Linux, as better tool for its organization.
The set of gotten information allows to demonstrate some variable that can
assist the reader in the taking of decision in the purchase of an operational system, as well as
in the best management of the activities related with the necessary technology for its day-byday.
In brief, this study has as referencial theoretician the beddings of the
characteristics of the operational systems Windows and Linux, the current scene of the
companies ahead of the technology and the advantages and cons, the evolutiva history of
these subjects and its
abilities to give has supported to the success, as well as the human development and its only
necessities to reach the excellency, using the technology as tool for this.
12
13
1. INTRODUÇÃO
Competitividade, uma palavra que com certeza está no plano de todos os
diretores e administradores de empresas, tornar a empresa mais competitiva possível é um
grande desafio, a otimização dos processos são continuas, o nível de excelências dos produtos
e serviços estão cada vez mais altos, conseguir um diferencial está cada vez mais difícil.
Toda empresa tem suas particularidades e necessidades, porém quando falamos
em tecnologia de software isso já não acontece, as empresas estão fardadas a utilizar o que e
os fabricantes disponibilizam no mercado e os poucos software que se tem a possibilidade de
customização são caros e a tecnologia fica em poder da empresa. Existe uma necessidade de
adaptação e correção de falhas existentes além do domínio da tecnologia para se alcançar
níveis até então nunca obtidos.
Entra uma longa discussão sobre os Software Livres e Open Source, de um
lado empresas que investem pesado no desenvolvimento de software, e esperam ganhar
milhões defendendo o direito de serem proprietários dos softwares, do outro lado uma
comunidade que defende a liberdade dos software e o compartilhamento de conhecimentos,
empresas também investem pesado no desenvolvimento desses software e conseguem obter
lucro,
programadores de todo mundo desenvolvem, aperfeiçoam e adaptam-no as suas
necessidades.
Conforme a Conectiva (2004), nos anos 50, quem dissesse que Rockefeller um
dia perderia toda a sua fortuna seria tido como um louco. Um cidadão da década seguinte não
conseguiria imaginar nada mais assombroso que a TV em preto e branco. Imagine então com
o computador!!!
Os anos 80 e 90 viram surgir um dos maiores impérios empresariais de todos
os tempos, dirigido por um pacato senhor chamado William Henry Gates III, que veio a
tornar-se o homem mais rico do mundo.
Sr. Gates conseguiu o feito graças a uma de suas invenções, um programa de
computador que facilitava a operação desses intrincados aparelhos. As inegáveis qualidades
da criação de Bill Gates foram notadas no mundo todo, e seu programa, chamado Windows,
dominou 90% das máquinas em atividade.
13
14
Desde simples usuários, passando por programadores e analistas, chegando aos
gerentes, todos só enxergavam uma solução para todos os problemas propostos pela
computação: aquela que vem daquela empresa (diga-se Microsoft).
Haviam naquela época (e ainda há!!!) outras opções de sistemas (Unix, Xenix,
BSD, por exemplo), mas eram de custos inacessíveis, além de não ser aquilo que todo mundo
sonhava. Todos procuravam alguma alternativa que fosse confiável, barata, adequada à
situação, à prova de falhas e extensível para futuras mudanças de realidade. Até que um dia...
Mais propriamente no mês de Agosto de 1991, um pacato e jovem geek de 21
anos de idade, iniciou o projeto "LINUX". Seu nome: Linus Torvalds, então estudante de
Ciência da Computação da Universidade de Helsinque, capital da Finlândia, um mero "nerd".
Usando o Assembler (ou Assembly, como queira...), Linus iniciou
cortando(hacking) o kernel como um projeto particular, inspirado em sua paixão pelo Minix,
um pequeno sistema UNIX, desenvolvido por Andy Tannenbaum.
O estudante universitário desejava desenvolver uma versão do Unix que
rodasse em micros PC AT e compatíveis, mas que fosse diferente dos sistemas Unix já
existentes, cujo preço era exorbitante para o usuário comum.
Linus chegou a divulgar a idéia num newsgroup de que participava (sem
êxito...) e embalado pelo projeto, programou sozinho a primeira versão do kernel do
Linux(núcleo do sistema operacional).
Ele se limitou a criar, em suas próprias palavras, "um Minix melhor que o
Minix" ("a better Minix than Minix").
Até que numa calma manhã do dia 05 de Outubro de 1991, Linus anunciou a
primeira versão "oficial" do Linux, versão 0.02 .
14
15
Depois de finalizar o kernel, Linus deu ao seu filhote o rumo que desencadeou
seu grande sucesso: passou a distribuir o código-fonte do kernel pela internet (comp.os.minix)
para que outros programadores pudessem aprimorar o sistema.
Ele colocava a seguinte mensagem:
"Você suspira por melhores dias do Minix 1.1, quando homens
serão homens e escreverão seus próprios "device drivers" ?
Você está sem um um bom projeto e está morrendo por colocar
as mãos em um S.O. no qual você possa modificar de acordo
com suas necessidades? Você está achando frustrante quando
tudo trabalha em Minix ? Chega de atravessar noites para obter
programas que trabalhem correto? Então esta mensagem pode
ser exatamente para você ?
Como eu mencionei a um mês atrás, estou trabalhando em uma
versão independente de um S.O. similar ao Minix para
computadores AT-386. Ele está, finalmente, próximo ao estágio
em que poderá ser utilizado(embora possa não ser o que você
esteja esperando), e eu estou disposto a colocar os fontes para
ampla distribuição. Ele está na versão 0.02..., contudo, eu tive
sucesso rodando bash, gcc, gnu-make, gnu-sed, compressão, etc.
nele."
Assim, várias empresas e programadores de todo o planeta contribuíram com
seus conhecimentos para melhorar o Linux.
1.1 - O Problema de Pesquisa:
“Quais são os fatores que fazem com que uma empresa opte por um
determinado sistema operacional? Seria devido aos custos, a opercionalização, a manutenção,
treinamento, ou o quê?”
1.2 – Objetivos do trabalho
1.2.1 - Especifico
15
16
Discorrer sobre as reais vantagens de instalar ou migrar para um determinado
sistema operacional, sendo o Windows ou Linux, os impactos na cultura da organização, a
visão dos gestores e funcionários, as dificuldades de operacionalização e treinamento.
1.2.2 - Geral
Fazer um levantamento sobre as vantagens do Linux e do Windows , história,
tendências, relatos de empresas que utilizam, qual o impacto da redução de custo com
licenças, como o governo está se posicionando em relação ao Software Livre, a sociedade em
geral.
1.3 - A Justificativa
Depois de comprar o mais moderno computador pessoal do mercado as
empresas não sabem bem o que fazer com seu modelo mais antigo e ainda funcional? Uma
opção seria tentar dar-lhe nova vida com o Linux, o padrão de sistema operacional que vem se
oferecendo como alternativa ao Windows da Microsoft (Rodrigues, 1999).
Com mais estabilidade, segurança e um preço mais baixo por um sistema
operacional com aparência semelhante ao do Windows, os defensores do Linux dizem que
estão preparando-se para encarar a Microsoft, que domina o mercado de computadores
pessoais.
Por menos de US$ 100, a maioria das versões do Linux oferecem um pacote de
software que permite que os usuários enviem e recebam e-mails, naveguem pela Internet,
escrevam documentos e editem planilhas. O Windows mais o sistema de produtividade Office
da Microsoft custam centenas de dólares, juntos.
O preço do Linux varia de acordo com o distribuidor - Red Hat, SuSE, Xandros
e Mandrake, por exemplo - e cobre principalmente acordos de atualização regular de software,
manuais e assistência técnica, bem como a gravação do software em CD, numa bela
embalagem.
16
17
No passado confinado aos computadores de usuários bem familiarizados com a
tecnologia, o Linux vem se tornando mais fácil de instalar, operar e manter, para o usuário
médio.
O Xandros Desktop, uma das versões do sistema, requer apenas cinco cliques,
ou menos, para instalar o sistema.
A Red Hat, mais visível das distribuidoras Linux, oferece um pacote de
programas que inclui serviços de mensagens instantâneas, software de tratamento de fotos
digitais, sons e vídeo, além de uma série de jogos.
Muitos dos arquivos pessoais, documentos e imagens usados em um sistema
Windows podem ser transferidos e usados no Linux. Alguns programas padrão Windows,
como uma versão mais antiga do Office ou de seu rival, Lotus Notes, podem ser até instaladas
com um sistema operacional Linux.
E para aqueles que têm medo de depender exclusivamente do Linux, usar um
computador mais velho é um bom teste, diz Frederick Berenstein, co-presidente do conselho
da Xandros.
Desenvolvido há apenas uma década pelo então estudante finlandês Linus
Torvalds, o Linux foi criado como uma alternativa aberta aos sistemas operacionais baseados
no Unix e fechados.
Versões gráficas e baseadas em ícones do Linux passaram por um longo
caminho desde as edições baseadas em comandos de texto do sistema que apenas os mais
entendidos sabiam manejar.
Números são difíceis de se conseguir, mas a maioria dos especialistas concorda
que o sistema da Microsoft é executado em mais de 90% dos computadores pessoais do
mundo, com o Linux representando uma minúscula parcela do total. Apesar disso, o sistema
aberto conseguiu já 15% a 20% de participação no mercado de servidores.
17
18
Agora, os desenvolvedores do Linux criaram uma variedade de opções de
gráficos que tornam o uso do sistema muito fácil para usuários que nunca vão querer digitar
uma linha de comando para executar uma ação como a cópia de um disquete.
Os usuários podem personalizar suas telas, fontes e conectar vários dispositivos
aos seus PCs. A navegação por alguns sites de distribuição Linux leva o usuário a conhecer
uma série de aplicativos disponíveis gratuitamente para download. Além disso, algumas
versões do Linux podem trocar de idioma praticamente de forma instantânea, enquanto a
Microsoft cria versões diferentes de seu sistema para cada idioma distinto.
A edição padrão do Mandrake Linux, uma popular plataforma Linux, custa
US$ 33, enquanto uma versão mais avançada com mais de 2 mil programas custa US$ 70.
A última edição para usuários domésticos do Red Hat Linux custa US$ 30 e
uma edição pessoal da tradicional distribuição SuSE custa US$ 27. Xandros está sendo
vendida por US$ 99.
"É cedo para afirmar que isso é uma ameaça à Microsoft e ao Windows, uma
vez que as porcentagens de usuários ainda são baixas. Mas os números estão crescendo e em
algum ponto será possível comprar computadores com o Linux pré-instalado, com
impressoras e outros dispositivos com drivers para o sistema e aplicativos criados tanto para o
Windows, quanto para o Linux", disse o vice-presidente de marketing da Red Hat, Mark
Visser. "Uma vez que isso ocorra, a ameaça ao Microsoft Windows se tornará muito real."
1.4 - Metodologia de Pesquisa
Há a preocupação em estabelecer os aspectos principais do método de
pesquisa, ou seja, o tema, o tipo de pesquisa, as etapas percorridas na realização do estudo, a
forma como foram obtidas e tratadas as informações, assim como o alcance e as limitações do
trabalho, são aspectos esclarecidos.
18
19
A abordagem sistemática tem influenciado positivamente a compreensão de
diversos assuntos em várias áreas de estudo, principalmente no tratamento de problemas
complexos, como uma maneira de entendê-los ou procurar-lhes soluções.
As idéias de Yin (1989), sobre as diversas possibilidades de pesquisa são
relacionadas na Tabela 1, sendo mostradas comparativamente em função da bibliografia
pesquisada e as questões que levanta.
Tabela 1 - Situações Relevantes para Diferentes Estratégias de Pesquisa
QUESTÃO DA
CONTROLE SOESTRATÉGIAS
PESQUISA
BRE COMPORTAPOSSÍVEIS
MENTO
EXPERIMENTO
Como, por que
Sim
FOCO EM EVEN- TOS
CONTEM-PORÂNEOS
Sim
LEVANTAMENTO
ANÁLISE
ARQUIVOS
HISTÓRIA
Quem, qual, onde
Quantos
Quem, qual, onde
Quantos
Como, por que
Não
Sim
Não
Sim, Não
Não
Não
ESTUDO DE
CASO
Como, por que
Não
Sim
O estudo em questão se caracteriza como uma “dissertação”, na forma
conceituada por Salvador (1980:35): “um estudo teórico, de natureza reflexiva, que consiste
na ordenação de idéias sobre um determinado tema”.
Para caracterização do problema, baseamo-nos em pesquisas bibliográficas,
onde, selecionando-se uma bibliografia adequada ao tratamento que se pretendia dar ao
assunto e; selecionando e organizando-se informações extraídas dessa bibliografia e dos
conceitos passados em sala de aula.
O estudo foi realizado em quatro etapas. Em primeiro lugar foi definido o
tema, a partir da aula expositiva por intermédio da matéria Informática como Conceito de
Negócios..
A próxima etapa, foi preciso identificar preliminarmente, uma bibliografia a
respeito do assunto:“Windows x Linux”.
19
20
A etapa seguinte, foi aprofundar a análise da bibliografia, a fim de buscar uma
maior compreensão dos inter-relacionamentos existentes entre os conceitos citados pela
fundamentação teórica.
Por fim, a quarta etapa consiste na confecção deste trabalho, para análise.
1.5 – Sujeito de pesquisa, coleta e análise dos dados
A pesquisa foi elaborada a partir de alguns modelos de teóricos de empresas
que migraram ou implantaram o Sistema Linux, feita a análise de desempenho, foi comparada
às características do Windows NT, onde, por intermédio dstes dados e índices foi elaborado
um modelo teórico comparativo entre ambos.
Também foi extraído da internet através do site www.informationweek.com.br,
estudos realizados pela Universidade de São Paulo e o grupo IWB.
1.6 - Limitações da pesquisa
Alguns aspectos devem ser observados antes de assumir-se que se está
propondo um modelo acabado ou universal. Não é esta a intenção do trabalho, assim como
não está voltado para um tipo específico de instituição. A intenção é de iniciar o
desenvolvimento de um modelo para um referencial teórico específico, que venha a ser
testado através de uma futura aplicação.
No âmbito deste trabalho, o modelo deve ser entendido como um instrumental
teórico com intenção de aproximação do fenômeno estudado.
Não estão descritos em nenhum momento resultados da aplicação do modelo é
completo, que é uma sugestão para estudos posteriores.
1.7 - Hipótese do trabalho?
Uma hipótese de trabalho serviu como base:
20
21
“O fato de um sistema operacional ser mais barato ou gratuito, não
significa melhor desempenho, agilidade e principalmente que seja o melhor para sua
empresa, devido aos fatores treinamento, tempo de implantação e cultura
organizacional”.
1.8 - As dificuldades encontradas
Tentamos entrar em contato com empresas que migraram do Windows para
Linux por meio de e-mails, telefone e contato verbal, mas nenhuma respondeu as mensagens
ou prontificou-se a dar depoimentos reais (talvez até pelo pouco tempo para a elaboração
deste trabaho). Os livros sobre o assunto são voltados para área técnica e não abre uma
discussão sobre o impacto social que o Linux causa ou pode causar.
A nossa única opção foi através da Internet, pesquisarmos os estudos e
resultados obtidos atra’ves da Universidade de São Paulo e a equipe IWB.
21
22
2. HISTÓRIA D0 LINUX
2.1 Como Nasceu o Linux?
De acordo com a Conectiva Informática, a história do Linux começa no ano de
2001 representa um marco histórico para o sistema operacional Linux. Dez anos antes, no dia
3 de julho de 1991, Linux Torvalds comunicava oficialmente à comunidade de
desenvolvedores do newsgroup comp.os.minix que estava trabalhando em um projeto em
minix. Naquela ocasião, Linus buscava a indicação de um documento das regras posix mais
recentes. O que não significa, necessariamente, que o Linux nasceu naquele dia.
Há uma outra data, 25 de agosto de 1991, em que Linus divulga no mesmo
news-group, que está fazendo um sistema operacional propriamente dito. E o mais importante
de tudo: livre. Assim ficou mais explícito para o público a intenção dele em tornar sua obra
disponível para todos que estivessem interessados. "Algumas pessoas até se ofereceram para
fazer os beta-testes", disse Linus no seu livro mais recente, "Só por Prazer". Linus lembra-se
da data exata da disponibili-zação da versão 0.01 do sistema operacional que dez anos mais
tarde tornaria o Linux (17 de setembro de 1991). Portanto, deixamos a interpretação da data
de aniversário do Linux para os leitores.
2.2 - Linha do Tempo do Linux
Acompanhe os fatos mais marcantes de uma década com o Linux
1991: O estudante de Ciência da Computação da Universidade de Helsinque, Linus Torvalds,
começa a desenvolver um SO que mais tarde seria chamado de Linux.
1992: Surgem as primeiras distribuições, como a SLS (Safe Landing System Linux). A SuSE
é fundada. Criação da linguagem Java. Lançamento do Windows 3.1.
1993: Saem os primeiros CD’s com o Linux (Yggdrasil). Lançados o projeto Debian e a
distribuição Slackware. Lançamento do Windows NT.
1994: A versão beta do RedHat e o kernel 1.0 são lançados. Caldera e Open Linux iniciam
suas atividades.
22
23
1995: Fundação da Conectiva, a primeira distribuição Linux brasileira. Neste ano, é lançado o
Windows 95.
1996: O projeto KDE é fundado.
1997: Linus Torvalds começa a trabalhar na Transmeta, no Vale do Silício, onde está até hoje.
O projeto Gnome é criado por Miguel de Icaza, Bruce Perens anuncia o desenvolvimento do
apt-get 1.1.
1998: A Netscape abre o código-fonte do seu browser. Alan Cox começa a trabalhar na
RedHat. Linus é capa da revista Forbes. Lançado o Windows 98.
1999: É lançado o Samba 2.0. A Dell comercializa os primeiros computadores com Linux
pré-instalado. Jon Maddog Hall é contratado pela VA Linux Systems.
2000: A Conectiva recebe investimentos da Intel, Latintech e ABN Amro Bank. A ABES dá a
primeira "batida" geral contra a pirataria, impulsionando o Linux no Brasil.
2001: Lançamento do Kernel 2.4. A IBM anuncia que investirá US$ 1 bilhão em Linux.
2002: Versão beta do UnitedLinux atinge mais de 15 mil downloads no primeiro mês, isto
significa mais de 500 downloads por dia, um percentual altíssimo para esse mercado. O
United Linux é um sistema operacional padronizado e focado no segmento corporativo,
resultado de uma iniciativa da indústria Linux para alavancar o desenvolvimento, certificação
global e uniforme do Linux. O UnitedLinux potencializa os esforços coletivos de seus
fundadores, com um resultado final projetado para prover uma infra-estutura sem precedentes
para o mercado Linux corporativo. As empresas fundadoras do UnitedLinux, Conectiva S.A.,
Grupo SCO, SuSE Linux AG, e Turbolinux Inc., são líderes nessa indústria.
2003: UnitedLinux Libera Versão 1.0
2.3 - História do Tux
23
24
O simpático pingüim que se tornou ícone do Linux foi criado por Larry Ewing
em meados de 1996, depois de um concurso de logotipos para o sistema operacional. A
simpática criaturinha criada por Ewing venceu quase por aclamação de toda a comunidade. A
idéia do pingüim foi casualmente sugerida pelo próprio Linus Torvalds, depois de mencionar
publicamente que os achava engraçadinhos. Quando o concurso estava em andamento, Linus
havia sugerido que o pingüim deveria ser gordinho e com um ar de satisfação depois de
empanturrar-se com peixes. Para Linus, um pingüim como logotipo daria mais liberdade às
pessoas que quisessem usar materiais relacionados ao sistema operacional. Outra razão que
Linus salientou é que, usando algo parecido com o pingüim dá às pessoas a oportunidade de
fazer modificações. Exatamente como acontece hoje, quando encontramos diferentes
variantes do pingüim em boxes das distribuições espalhadas por todo o mundo. O nome "Tux"
é uma variante de "tuxedo", mais conhecido entre nós como "smoking". E, para quem não
sabe, há um Tux, em carne e osso, no Zoológico de Bristol, na Inglaterra.
24
25
3. SOFTWARE LIVRE
3.1.Uma nova visão econômica
Será que o código aberto realmente reduz o Custo Operacional ou é apenas um
"barato que sai caro"? É mais econômico porque é de graça ou é de graça porque é mais
econômico? Até que ponto podemos apostar financeiramente em algo que tem revolucionado
a indústria do software, quebrando antigos paradigmas existentes? Quais as razões técnicas e
econômicas que justificam apostar em um projeto que utilize ferramentas open source ou seja
efetivamente open source? Será que estávamos cegos ou é realmente uma "terceira via"?
3.2 - Justificativas iniciais
A visão de código aberto é hoje algo forte dado aos seguintes fatores:
1. Rápida difusão de seu código – A utilização de produtos, como Linux e
Apache, tem apresentado um crescimento a taxas de 100% a 200% ao ano; como podemos
constatar através dos dados de sua participação no ambiente corporativo brasileiro,
apresentados através da 13ª Pesquisa Anual de Administração de Recursos de Informática, da
Escola de Administração de Empresas, da Fundação Getúlio Vargas, em São Paulo (EaespFGV). Segundo a pesquisa, o Linux hoje está presente em nada menos que 8% do parque
instalado de máquinas no país. Este crescimento é evidenciado se compararmos os dados da
mesma pesquisa efetuada no ano passado, onde sua participação era de apenas 3%.
2. Significativo investimento de capital – Pesos pesados da indústria como HP,
IBM e Sun, por exemplo, investiram significativas quantias com o objetivo de estimular a
difusão do código aberto, principalmente em versões do Linux.
A gigante IBM, por exemplo, anunciou no ano passado um aporte de capital de
US$ 1 bilhão, além do fato de estar portando o sistema para suas novas linhas de mainframes.
Logo em seguida o mercado recebia a informação de mais um aporte de capital no valor de
US$ 1 milhão, para um centro de tecnologia, – localizado no centro de Manhattan, em Nova
Iorque –, onde os usuários poderão realizar testes de aplicações específicas para esta
plataforma open source que rodam na linha eServers de servidores e em mainframes IBM.
Estas políticas mostram, claramente, uma mudança de postura do mercado tradicional.
25
26
Ao mesmo tempo, no Vale do Silício, empresas de renome, como Cobalt
Networks, Collab.Net, Scriptics e Sendmail (há mais de 300 dias rodando seus servidores em
Linux, sem paradas), receberam aporte de capital em razão de seus projetos open source.
3. Nova estrutura organizacional de desenvolvimento – Em virtude do código
aberto ser de natureza colaborativa, o seu desenvolvimento é efetuado em geral por vários
programadores ao redor de todo o mundo, isto é, o potencial de inovação do produto está
sujeito a um constante bombardeio de novas idéias, permitindo assim, um aumento na
qualidade do resultado final.
Isto nos faz lembrar que há alguns anos, uma instituição financeira brasileira,
havia iniciado um projeto baseado em Linux. Porém, a equipe se deparou com um grave
problema. Todas as placas de comunicação que utilizavam não dispunham de drivers para
configuração. E agora o que fazer? Como resolver o problema, se na época não existia no
Brasil "gente capacitada"?
Não só conseguiram ajuda para o problema, como um colaborador da
comunidade mundial Linux desenvolveu e ofertou o driver específico para as placas de
comunicação utilizadas. E isto ocorreu em menos de uma semana.
4. Choque entre nova e velha economia – O processo de utilização do open
source se baseia em vários fatores. No caso do fator econômico; como algo que é publico
pode ser considerado de qualidade? A visão tradicional explica que neste caso, o aumento da
qualidade deve vir da especificação de domínio privado.
O código open source quebra este paradigma. Claro que o código aberto não é
perfeito, mas qualquer projeto deve estar aberto para acrescentar algo que realmente atenda e
supere as necessidades dos usuários a um custo menor.
No que se refere ao medo; há algum tempo o mercado tradicional vivia das
seguintes afirmações: não há gente capacitada para atendimento de suporte técnico, não há
aplicativos comerciais suficientes, não é uma plataforma escalável, não é adequado para as
empresas e não é seguro.
Como já vimos, todos estes argumentos hoje praticamente caíram por terra.
Podemos considerar que já estamos vivenciando a quebra deste paradigma, chegando ao
ponto (hoje em dia) da Microsoft ter um programa para abrir parte de seu código (no caso o
Windows) para empresas que tenham um número "X" de licenças. O velho problema continua
26
27
sendo: o open source parece ser o caminho; mas algumas corporações ainda continuam com
um certo medo desta tendência.
Aqui no Brasil, empresas, como Metrô de São Paulo, Vésper, Lojas Renner,
Fundação Ruben Berta (controladora da Varig), Banrisul, Cosmoquimica, BrFree, Brasil
Telecom, Lojas Colombo e Marabrás, Petrobras, Embraer e Bom Preço, são algumas das que
já consideram este paradigma coisa do passado. Será que estamos vivendo uma "software
revolution" com o open source como mártir e herói?
Na esfera de governos internacionais, o Departamento de Informação e Defesa
dos Estados Unidos (DISA), adotou o StarOffice, da Sun Microsystems, que estará sendo
utilizado em mais de 25 mil unidades e em cerca de 10 mil estações de trabalho UNIX, além
de 600 organizações-clientes em todo o mundo. A desenvolvedora afirma ainda, que um
instituto governamental de pesquisa francês, o Departamento de Finanças da Alemanha e o
Governo da China têm analisado o uso do StarOffice ou outro programa open source. O que
contrapõe a teoria existente é que o StarOffice agora será "cobrado" (segundo as últimas
notícias) por um preço extremamente baixo. Mas será isto um erro hilariante na estratégia de
marketing ou uma brilhante jogada?
Lembramos ainda, que todas as soluções de software utilizadas pelas forças
armadas são baseadas em open source, justamente pelo alto teor de segurança que devem
possuir.
5. Capacidade de oferecer vida útil longa aos equipamentos – Todos nós
sabemos das dificuldades de investimentos para manter o parque instalado de hardware
aderente aos requisitos das novas versões de software liberadas pelas corporações de códigos
privados. Já os códigos open source, por possibilitarem o conhecimento interno e a sua
customização, conseguem retirar o máximo da capacidade instalada, sem com isso incorrer
em prejuízo operacional do negócio. Pois possibilitam o desenvolvimento de pacotes
específicos de acordo com a característica de cada empresa. Em resumo: você e o seu vizinho
são alfaiates um do outro, com lucro para ambos.
6. Capacidade de redução do custo de licenças – No ano passado, o Gartner
Group e o Giga Information Group publicaram uma pesquisa onde afirmavam que o ambiente
open source estava sendo visto como uma nova forma de pressão para as corporações na
negociação com as empresas de sistemas de códigos proprietários. Como resultado disso, os
custos com novas aquisições de licenças poderiam ser reduzidos drasticamente, além de
27
28
possibilitar uma independência na escolha de plataformas operacionais. Uma prova desta
afirmativa é que cerca de dois terços dos maiores clientes da Microsoft ainda não assinaram o
novo programa de licenças de software, que representa uma importante fonte de renda para a
companhia. Pelo menos um terço dos clientes entrevistados não demonstraram a intenção de
renovar a assinatura do programa. Isto mostra a "força" que existe no "open source".
No início de julho, a taxa de empresas aderindo ao programa ainda era baixa.
Conforme os estudos, muitas companhias estão fazendo uso do tempo restante (até o final de
julho) para avaliar alternativas, como por exemplo o Linux e o StarOffice.
3.3 - Desenvolvimento cooperativo de software
Para entendermos onde o código open source chegou, devemos olhar por onde
ele caminhou através ao longo dos anos no processo de desenvolvimento cooperativo
(compartilhado) de software. Para tanto, dividiremos o processo em três eras:
a) Primeira era – Do início do anos 60 até o início dos anos 80 – Os primórdios
dos sistemas operacionais nasceram em meio acadêmico, como em Berkley e MIT
(Massachusetts Information Technology) e nos laboratórios da Bell e da Xerox, nos anos de
1960 e 1970. Nesta época, era comum programadores compartilharem um lugar-comum: o
código fonte. Em meados dos anos 70, o foco voltou-se para o desenvolvimento
multiplataforma, utilizando no desenvolvimento principalmente a linguagem C e o ambiente
UNIX. Somente através da difusão da Usenet é que o desenvolvimento compartilhado ganhou
mais adeptos; onde a computação em rede com a comunidade UNIX de programação acelerou
o processo de compartilhamento de tecnologias. Ao mesmo tempo, nenhum esforço foi
executado com o intuito de delinear os direitos de propriedade de softwares ou restringir o
reuso destes.
b) Segunda era – Do início dos anos 80 até o início dos anos 90 – Em função
de vários litígios judiciais, iniciou-se um esforço de definição de regras de desenvolvimento
compartilhado e cooperativo. Ao mesmo tempo, surgiram diversas reações através de
instituições como a Free Software Foudation do MIT, que disseminava o software sem
nenhum custo, contribuindo assim para a criação de licenças para uso, uma espécie de
antecessor do GPL (GNU Public License, como é conhecida atualmente).
28
29
c) Terceira era – Do início do anos 90 até hoje – Com a difusão da Internet em
ritmo acelerado, a utilização do software livre cresceu de maneira assustadora, onde o mais
importante "filho" foi o surgimento do Linux (variante do UNIX, desenvolvido por Linus
Torvalds, em 1991), seguido de outros como o StarOffice.
3.4 - Comparação entre software aberto e fechado
Na visão dos programadores, o software aberto possui as seguintes vantagens
econômicas:
a) Efeito alumínio – Como é aberto e pode ser utilizado por todos, reluz para
todos, mesmo não sendo ouro.
b) Benefícios de customização e "bug-fixing" – Qualquer um pode ajudar a
customizar o software aberto e se houver algum problema, qualquer um também pode ajudar
a repará-lo.
Na visão de desempenho (em linhas gerais), podemos citar as – significativas –
algumas vantagens do open source:
a) Medição aberta de performance – Se é aberto, podemos ver e medir não
somente o desempenho do produto em si, mas do desenvolvimento do mesmo.
b) Total iniciativa – O programador open source é seu próprio chefe e também
o empregado, e isto aumenta a responsabilidade e a iniciativa.
c) Grande fluência – O mercado é mais aberto ao programador open source, o
interesse de divulgação é enorme e, neste caso, o potencial humano realmente faz a diferença.
3.5 - Liberdade
Formalmente, Software Livre é todo software que oferece quatro tipos de
liberdades aos seus usuários:
A liberdade de executar o programa, para qualquer propósito
A liberdade de estudar como o programa funciona, e adaptá-lo para as suas
necessidades. Aceso ao código-fonte é um pré-requisito para esta liberdade.
A liberdade de redistribuir cópias de modo que você possa ajudar ao seu
próximo.
29
30
A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de
modo que toda a comunidade se beneficie. Acesso ao código-fonte é um pré-requisito para
esta liberdade.
30
31
4. ARQUITETURA DO LINUX
4.1 - Desenvolvimento do Kernel
Pessoas pelo mundo afora estão programando no kernel do Linux,
especialmente para escrever drivers de dispositivos (device drivers), melhorando,
aperfeiçoando e consertando o sistema. Esta é uma das inúmeras razões pelas quais o Linux se
tornou um sistema com um rápido e estável desenvolvimento. Munidos de uma lista de
discussão com alto tráfego de mensagens, os programadores do kernel do Linux (também
conhecidos como kernel hackers) possuem uma grande integração entre si. A cada novo
código, conserto ou aperfeiçoamento no kernel, tudo é intensamente revisado e discutido.
O mundo do kernel do Linux gira em torno de duas palavras: device drivers.
Um device driver (acionadores de dispositivos), como o nome diz, é um código que
compreende o dispositivo e realiza uma comunicação com ele. O aperfeiçoamento,
criaçatilde; o e conserto de device drivers é o principal trabalho dos atuais programadores do
kernel do Linux. Como foi dito anteriormente, esses programadores fazem alterações no
kernel, através da lista de discussões chamada linux-kernel.
4.2 - A organização do kernel
O kernel do Linux é um código relativamente complexo, comparando-se a
pequenas aplicações. O tamanho do código fonte do kernel atualmente é de aproximadamente
75 Megabytes, incluídos todos os device drivers oficiais. Para se compreender um código
desse tamanho é necessária uma certa organização. O código do kernel do Linux é distribuído
livremente conforme as regras da Licença Pública da GNU.O código fonte do kernel pode ser
baixado por diversos meios, como ftp ou http. Você pode facilmente encontrar o código do
kernel no endereço www.kernel.org, que é a distribuição oficial do kernel. Para um acesso
mais rápido, sugiro utilizar o espelho brasileiro da distribuição, localizado no ftp no endereço
ftp.br.kernel.org. A seguir, vou tentar exemplificar a organização assumida pelos
programadores do kernel, virtualmente e fisicamente.
Virtualmente, o kernel do Linux, assim como a maioria dos kernels dos Unixs
atuais, é dividida em várias partes, para melhor compreensão, como vemos a seguir:
31
32
Gerência de processos: cuida da criação, eliminação e gerência dos processos.
Um processo não é nada mais do que uma tarefa sendo executada continuamente.
Comunicação e escalonamento de processos também são gerenciados por esta parte.
Gerência de memória: gerência a memória do computador através de vários
algoritmos para possibilitar o melhor uso da memória, que é o maior recurso do computador.
Muitas partes do kernel interagem com o gerenciamento de memória, requisitando ou
dispensando memória para utilização.
Sistemas de arquivos: Todo sistema Unix é altamente baseado em arquivos.
Quase tudo em Unix pode ser tratado como um arquivo. Através de um sistema de arquivos
virtual, o Linux suporta vários sistemas de arquivos que possuem diversas formas de
organizar a informação no meio físico. Veremos mais adiante mais detalhadamente os
sistemas de arquivos.
Drivers de dispositivos: uma das partes mais importantes do kernel. Com
exceção do processador, memória e algumas outras pequenas partes, a maior parte do código
é executada por drivers de dispositivos. O kernel necessita ter um driver para cada dispositivo
integrado ao computador, de teclados a câmeras de vídeo.
Interligação em redes: a interligação em redes é controlada pelo kernel.
Recebimento, envio, transformação de pacotes são operações controladas pelo kernel, que
possui mecanismos para repassar os pacotes a processos, conhecidos como sockets (soquetes).
Além dessas partes, o kernel do Linux, principalmente, possui uma parte
especial, que adiciona uma nova funcionalidade ao kernel: a habilidade de expandir seu
código enquanto está em execução. Isso significa que você pode adicionar funcionalidades ao
kernel enquanto o sistema está em execução. Cada pedaço de código adicionado ao kernel é
chamado de módulo. Existem diversos tipos de módulos, como módulos que são drivers de
dispositivos ou drivers de rede, ou apenas pequenas modificações no código do kernel.
Fisicamente, o código do kernel do Linux é dividido em vários diretórios.
Documentation/ documentação relativa ao kernel
Arch - código dependente de arquitetura
32
33
Drivers - drivers de dispositivos
Fs - sistemas de arquivos
Include - definições e protótipos de funções
Init - código de inicialização
Ipc - comunicação entre processos
Kernel - código base do kernel
Lib - funções básicas
Mm - gerenciamento de memória
Modules - armazenamento de módulos compilados
Net - código de interligação em redes
Scripts - scripts diversos para configuração
4.3 - Compilação do kernel
Dentro do diretório arch/ está contido o código dependente de arquitetura. O
resto dos diretórios é o mais portável possível, tornando o Linux facilmente portável entre
diversas plataformas.
4.4 - Tipos de dispositivos e módulos
A maneira como os sistemas Unix oferecem seus devices (dispositivos),
geralmente pode ser classificada em três categorias, cada uma dedicada a tarefas diferentes. O
Linux pode carregar cada um desses tipos de devices em forma de módulos, permitindo que o
usuário teste novos hardwares sem a necessidade de reinicialização total do sistema.
Os três tipos de devices são especificados a seguir:
1. Dispositivos de caractere (char devices): Os devices de caractere são aqueles
que podem ser acessados e manejados como um arquivo normal. Este tipo de driver
geralmente implementa as funções primitivas como open(), close(), read() e write(). O console
e a porta paralela são exemplos de char devices. Esses devices são acessados geralmente
utilizando arquivos especiais, contidos no diretório /dev, como por exemplo: /dev/tty1,
/dev/lp1. A grande e única diferença entre os char devices e arquivos é que em arquivos
normais pode-se retroceder e ler os dados novamente, enquanto nos char devices não existe
33
34
esta possibilidade, pois geralmente são canais de informações, em que você apenas pode ler
seqüencialmente.
2. Dispositivos de bloco (block devices): Os dispositivos de bloco são
geralmente dispositivos que podem conter um sistema de arquivos, como por exemplo um
disco rígido. Na maioria dos sistemas Unix, dispositivos de bloco somente podem ser
acessados em múltiplos de um bloco, em que um bloco geralmente é 1 Kilobyte de
informação. O Linux kernel permite que você escreva e leia de um dispositivo de bloco como
se fosse um dispositivo de caracter. Como resultado, dispositivos de bloco e de caractere
apenas diferem na forma como são gerenciados internamente pelo kernel.
3. Dispositivos de rede (network interfaces): qualquer transação entre redes é
realizada através de uma interface (uma ligação). Geralmente uma interface é um dispositivo
de hardware, mas pode ser qualquer software, como por exemplo a interface de loopback (que
representa a própria máquina). Uma interface geralmente gerencia o envio e recebimento de
pacotes entre a rede, processando-os através de um subsistema do kernel. Os sistemas Unix
costumam nomear as suas interfaces por seus nomes, como por exemplo: eth0, que seria a
primeira interface ethernet do sistema. A comunicação entre o kernel e as interfaces é
completamente diferente dos dispositivos anteriores. Basicamente, em vez de utilizar
primitivas como read() ou write(), ele gerencia a transmissão de dados através do recebimento
e envio de pacotes em uma fila. Esses são os principais tipos de dispositivos existentes no
kernel do Linux. De fato existe mais uma classe de dispositivos, os dispositivos SCSI.
4.5 - Sistema de Arquivos
Para Michael (2001), o sistema de arquivos diz respeito à arquivos
propriamente ditos, diretórios e partições. Os arquivos são conjuntos de dados. Os diretórios
contém arquivos e são úteis em termos de organização das informações. As partições separam
logicamente e fisicamente os diretórios e arquivos.
O conceito de arquivo, os dados precisam necessariamente estar em um
arquivo para que eles possam ser escritos na memória secundária. O arquivo é a forma de
armazenamento de dados em dispositivos de memória secundária, como disquetes, discos
rígidos, CD-ROMs e fitas magnéticas. Os arquivos guardados nesses dispositivos podem ser
34
35
manipulados através do sistema operacional. Geralmente, os arquivos contêm programas ou
dados e são seqüências de bits, bytes, linhas ou registros.
Muitos tipos de dados podem ser armazenados em arquivos. Os arquivos
podem representar um texto, uma imagem, um programa executável, sons, e assim por diante.
São atributos de um determinado arquivo: nome, tipo, localização, tamanho,
proteções e data e horário de criação e/ou última modificação.
Para manipularmos corretamente um arquivo, dispomos de operações que
podem ser realizadas em arquivos: criação de arquivos, escrita em arquivos, leitura de
arquivos, reposicionamento em arquivos ("seek", procura em arquivos), remoção de arquivos
e truncamento de arquivos (remoção apenas do conteúdo do arquivo, mantendo intactos o
próprio arquivo e seus atributos). Essas são as operações em arquivos necessárias, mas
podemos incluir outras operações menos importantes como a alteração de nomes e outros
atributos de arquivos e a anexação ("append") em arquivos, ou seja, acrescentar novos dados
aos arquivos sem excluir os dados anteriores. As operações citadas até aqui podem ser
combinadas para realizarem operações complementares. Por exemplo, a cópia de arquivos
consiste na criação de um novo arquivo, a leitura dos dados de um arquivo que já existia
previamente e a escrita dos mesmos dados no novo arquivo.
Algumas operações em arquivos implicam em procura em diretórios. A fim de
evitar essa busca repetidamente, muitos sistemas operacionais irão abrir ("open") um arquivo
quando esse é referenciado, mantendo uma tabela ("open-file table") contendo informações
sobre todos os arquivos abertos. Desse modo, usa-se um índice da tabela quando houver
necessidade de uma operação em arquivos, eliminando a busca em diretórios. Quando um
arquivo aberto não é mais utilizado, ele é então fechado ("closed") e perde a sua referência na
tabela.
Dependendo do tipo do arquivo, esse pode conter uma planilha, um vídeo ou
um texto. Através do tipo do arquivo, o sistema operacional poderá manipular o arquivo de
diferentes maneiras. Uma técnica geralmente usada é acrescentar uma extensão ao nome do
arquivo. Assim, o nome do arquivo estaria seguido por um ponto e em seguida uma extensão
que identificaria o tipo de arquivo. Nesse caso, arquivos que contêm texto podem possuir a
35
36
extensão "txt" e arquivos executáveis, a extensão "exe", por exemplo. Os diversos tipos de
arquivos também podem ser utilizados para indicar a estrutura interna do arquivo.
Internamente, um arquivo é dividido em registros lógicos que são armazenados
em blocos físicos de mesmo tamanho que existem nos dispositivos de memória secundária.
Esse encapsulamento pode ser realizado pelo programa usado para lidarmos com os dados de
um arquivo ou pelo sistema operacional. Um arquivo pode ser considerado como uma
seqüência de blocos. Geralmente, algum espaço do último bloco em que é armazenado um
arquivo é desperdiçado devido à fragmentação interna. Exemplificando, um arquivo cujo
tamanho é 700 bytes será armazenado em dois blocos se cada bloco possuir 512 bytes; porém
o segundo bloco conterá 188 bytes de dados referentes ao arquivo e os 324 bytes restantes
desse último bloco não serão necessários e representarão um desperdício (188 + 324 = 512).
4.6 - Métodos de Acesso
Para utilizarmos aquilo que é armazenado em um arquivo, é necessário acessar
esse arquivo e ler seus dados. Há várias maneiras de acessarmos os dados de um arquivo.
O acesso seqüencial a um arquivo é o método mais simples de acesso. Nesse
tipo de acesso, os dados de um arquivo são acessados na ordem em que eles estão dispostos,
ou seja, para acessarmos um dado em um arquivo devemos primeiramente acessar todos os
dados que estão localizados antes desse dado, assim como em uma fita cassete.
O acesso direto permite que os dados sejam lidos ou que dados possam ser
escritos sem uma ordem particular. O acesso direto a um arquivo é baseado em um modelo de
disco. Em bancos de dados, o acesso direto é de grande utilidade pois agiliza a procura por
dados.
Existem também outros métodos de acesso a dados em arquivos. Em geral, tais
métodos utilizam a construção de um índice para o arquivo. Esse índice contém apontadores
para os blocos. (Michael, 2001)
4.7 - Estrutura de Diretórios
36
37
Podemos ter milhares de arquivos armazenados em memória secundária. O
bom gerenciamento desses arquivos necessita de organização, que geralmente é feita em duas
partes.
Em primeiro lugar, o sistema de arquivos é dividido em partições. Cada disco
possui no mínimo uma partição. A partição é a estrutura de mais baixo no sistema de
arquivos. Os diretórios e os arquivos estão contidos em partições. Algumas vezes, as partições
são usadas para criar áreas diferenciadas no disco e essas áreas podem ser tratadas como
diferentes meios de armazenamento. Também é possível fazer com que dois ou mais discos
formem uma única partição.
Em seguida, cada partição contém informações sobre os arquivos. Tais
arquivos são guardados em diretórios. O diretório contém informações sobre os arquivos
contidos nele, como nome, tipo, tamanho e localização dos arquivos.
Procurar por um arquivo, criar um arquivo, remover um arquivo, alterar o
nome de um arquivo e listar o conteúdo de um diretório são algumas operações que podem ser
realizadas em diretórios.
Existem alguns esquemas para definir a estrutura lógica de um diretório. A
estrutura mais simples em se tratando de diretórios é aquela em que temos apenas um nível.
Todos os arquivos se encontram em um único diretório. Essa estrutura é simples, mas pode se
tornar problemática quando há um número muito grande de arquivos e/ou mais de um
usuário, pois dois ou mais arquivos não podem possuir o mesmo nome e os sistemas
operacionais geralmente limitam o comprimento do nome do arquivo em um número máximo
de caracteres. E com um número de arquivos muito extenso, torna-se muito difícil ao usuário
lembrar-se de todos os arquivos contidos em um único diretório.
A principal desvantagem na estrutura descrita acima é a perplexidade que
ocorre quando há vários usuários. Uma solução seria criar um diretório para cada usuário.
Nessa estrutura que possui dois níveis de diretórios, cada usuário possui o seu próprio
diretório e esses diretórios possuem uma estrutura similar, porém cada diretório pertencente a
um usuário lista apenas os arquivos de propriedade de seu usuário. Quando um usuário se
conecta ao sistema, o diretório "mestre" (primeiro nível de diretório) é buscado. O diretório
37
38
"mestre" é indexado pelo nome do usuário ou número da conta e cada entrada do diretório
"mestre" aponta para um diretório de usuário. Nesse esquema, vários arquivos poderão ter o
mesmo nome, desde que dois ou mais arquivos com o mesmo nome não pertençam a um
mesmo usuário. Cada usuário possui poder de criar ou remover arquivos em seu próprio
diretório de usuário. Os diretórios de usuários podem ser criados ou removidos, mas tais
operações devem se restringir aos administradores do sistema. Uma desvantagem dessa
estrutura é a impossibilidade de existir a união entre mais de um usuário caso dois ou mais
usuários queiram realizar uma tarefa em conjunto em sistemas que não permitem que um
usuário acesse o diretório e os arquivos de um outro usuário qualquer. Por outro lado, existem
sistemas em que é permitido a um usuário acessar um arquivo de um outro usuário. Para
realizar o acesso, deve ser informados o nome do usuário e o nome do arquivo. A estrutura de
dois níveis de diretórios pode ser vista como uma árvore invertida de altura 2; a raiz da árvore
é o diretório "mestre". O nome de um usuário e um nome de um arquivo desse usuário define
uma rota, um caminho ou um "path" (/usuário/arquivo).
Pode-se estender a árvore de altura 2 existente na estrutura de dois níveis de
diretórios em uma árvore de qualquer tamanho desejado, criando-se um número arbitrário de
níveis. Desse modo, um usuário possui a liberdade para criar os seus próprios subdiretórios e
organizar melhor os seus arquivos, podendo resultar em diretórios distintos para arquivos
associados a diferentes temas. Um diretório ou subdiretório contém arquivo ou subdiretórios.
Um diretório é um arquivo tratado de maneira especial e todos os diretórios possuem o
mesmo formato interno. Toda entrada de um diretório possui um bit que possuirá o valor "0"
(zero) caso se trate de um arquivo e esse mesmo bit terá o valor "um" (1) se tivermos um
subdiretório nessa entrada.
Outra estrutura possível é a estrutura de diretórios dispostos em grafo acíclico,
que é uma evolução da "árvore" de diretórios. Nessa estrutura, dois ou mais usuários podem
compartilhar arquivos, fazendo com que arquivos ou subdiretórios sejam referenciados por
mais de um usuário simultaneamente. Não se tratam de cópias, mas sim de arquivos ou
subdiretórios únicos que são compartilhados por mais de um usuário. Desse modo, alterações
nos arquivos ou subdiretórios realizadas por um usuário serão automaticamente visíveis a
outros usuários que utilizam o que é compartilhado. Assim, um arquivo pode estar em dois ou
mais diretório diferente. Um modo de implementação desse compartilhamento de
subdiretórios e arquivos é através de links, que são apontadores para um outro arquivo ou
38
39
subdiretório. Uma outra implementação é a duplicação de informações, porém todas essas
cópias precisam estar sempre consistentes, ou seja, não pode haver diferenças entre as cópias
em nenhuma hipótese. Na estrutura de grafo acíclico, um arquivo pode possuir várias rotas
("paths").
Um problema na estrutura de grafo acíclico é garantir que não há ciclos. Ciclos
são problemáticos quando desejamos procurar algo no sistema de arquivos ou remover um
subdiretório. Busca de arquivos ou subdiretórios pode causar "loops" infinitos quando
ocorrem ciclos no grafo. Uma solução seria estabelecer um limite com relação ao número de
subdiretórios percorridos pelo algoritmo de busca. A remoção de subdiretórios que resultam
em ciclos pode ser controlada armazenando-se temporariamente o que será removido e, caso
não haja ciclos, realizando-se a real remoção no sistema de arquivos. É válido lembrar que os
algoritmos de detecção de ciclos em grafos são computacionalmente caros.
4.8 - Proteção
Uma preocupação referente às informações contidas em arquivos diz respeito à
proteção, seja proteção contra danos físicos ou proteção contra acessos impróprios.
A proteção contra danos físicos consiste basicamente em criar cópias de
segurança dos arquivos de tempos em tempos, a fim de evitar perda de dados devido à
problemas de hardware, catástrofes naturais, acidentes, temperaturas elevadas, entre outros.
Por outro lado, a proteção contra acessos indevidos pode ser bastante
necessária em sistema multi-usuário contra espionagem e invasões.
Os mecanismos de proteção permitem ou proíbem o acesso de arquivos e/ou
diretórios. Um fator do mecanismo de proteção é o tipo de acesso requisitado. Alguns tipos de
operações podem ser controladas como leitura, escrita, execução, anexação, remoção e
listagem de arquivos.
Uma maneira de lidarmos com o problema de proteção é tornar o acesso
dependente ao usuário. Assim, vários usuários podem possuir diferentes tipos de acesso a um
arquivo ou a um diretório. Uma implementação para isso é associar uma lista de acessos a
39
40
cada arquivo ou diretório, especificando o tipo de acesso para cada usuário. Desse modo,
quando um usuário requer um acesso a um arquivo ou diretório, o sistema operacional
verifica a lista de acesso referente ao arquivo ou diretório. Se o usuário estiver presente na
lista, o acesso é permitido. Caso contrário, o acesso será negado a esse usuário.
O principal problema com a lista de acessos é o seu tamanho. Se liberarmos o
acesso de leitura de um arquivo para todos os usuários, será necessário listar todos os usuários
para o acesso permitido para leitura. A fim de evitarmos problemas, podemos utilizar uma
versão reduzida da lista de acessos. A versão reduzida da lista de acessos reduz o tamanho da
lista e em muitos sistemas possui três classificações de usuários: proprietário ("owner", o
usuário que criou o arquivo), grupo ("group", um conjunto de usuários que podem
compartilhar um arquivo) e universo ("universe", todos os outros usuários do sistema). Assim,
o proprietário pode, por exemplo, ler, escrever e executar um determinado arquivo, é
permitido ao grupo executar e ler esse arquivo, mas não possui permissão para escrita e o
universo tem a possibilidade apenas para leitura do arquivo.
Uma outra forma de proteção é associar uma senha a cada arquivo. Essa pode
ser uma boa alternativa, mas possui desvantagens. Associando-se uma senha a cada arquivo, o
número de senhas que devem ser guardadas pelos usuários pode se tornar muito extenso.
Porém, se apenas uma senha for utilizada para todos os arquivos, todos os arquivos ficarão
vulneráveis caso a senha seja descoberta por um invasor. Alguns sistemas operacionais
permitem a associação de uma senha para cada subdiretório. Em uma estrutura de diretórios
com muitos níveis, geralmente não é necessário proteger arquivos individualmente, mas
precisamos proteger grupos de arquivos que formam o conteúdo de um subdiretório.
4.9 - Sistema de Arquivos no Linux
De acordo com Jack (2000), o Linux obedece ao modelo padrão de sistema de
arquivo do Unix, onde um arquivo não tem necessariamente que ser um objeto estocado no
disco ou ter que ser procurado numa rede de um servidor de arquivo remoto. Ao invés disso,
os arquivos do UNIX podem ser qualquer coisa capacitada de manipulação da entrada e saída
de um conjunto de dados. Os devices drivers podem aparecer como arquivos, e canais de
comunicação entre processos ou conexões de rede também semelhante aos arquivos para
usuário. O kernel do Linux manipula todos aqueles vários tipos de arquivos, simplesmente
40
41
por esconder detalhes de implementação de qualquer tipo de arquivo atrás de uma camada de
software, o VFS ( virtual file system ).
O VFS é projetado através dos princípios da programação orientada a objeto e
possui dois componentes : um conjunto de definições que dizem qual objeto do arquivo tem
permissão, e uma camada de software que manipula esses objetos. Os três principais tipos de
objetos definidos pelo VFS são o objeto inode ( que são pré-alocados e espalhados no disco
para aumentar a performance ) e as estruturas de objeto de arquivo, que representam arquivos
individuais, e o objeto do sistema de arquivo, que representa integralmente o sistema.
Para cada um desses três tipos são definidos um conjunto de operações que
devem ser implementadas por aquela estrutura ora mencionada. Cada objeto de um desses
tipos contém um ponteiro para uma tabela de função ( esta lista os endereços das funções reais
que implementam essas operações para aqueles objetos em particular ).
O objeto do sistema de arquivos representa um conjunto conectado de arquivos
que forma uma hierarquia de diretórios auto-contidos. O kernel do SO mantém um único
objeto do sistema operacional para cada dispositivo de disco.
Os objetos de inode e de arquivo são mecanismo para acessar arquivos. O
primeiro representa o arquivo por completo, e o segundo como um ponto de acesso a dados.
Um processo não pode acessar um conteúdo dos dados do inode sem obter um objeto de
arquivo apontando para o inode.
Arquivos de diretórios são tratados como tipos diferentes de arquivos. A
interface de programação do Unix define um número de operações nos diretórios.
O ponto inicial do sistema de arquivos é um superbloco que contém
informações tais como tamanho do bloco, número de blocos, lista de inodes, etc. O
superbloco é replicado no disco, porque se ele não puder ser lido o sistema fica inacessível; e
usa um conjunto de grupos de blocos aonde cada um é um pequeno sistema de arquivo, com
isso tenta manter a descrição e dados próximos.
41
42
O sistema de arquivo no disco usado pelo Linux é o ext2fs ( second extended
file system ). Ele estoca os arquivo de diretório no disco da mesma maneira que é feita em
arquivos normais.
Quando se aloca um arquivo, o ext2fs deve primeiramente seleta o grupo de
bloco para aquele arquivo. Para cada bloco de dados, faz-se uma tentativa de escolher o
mesmo grupo de bloco como aquele em que o inode do arquivo foi alocado. Para as alocações
de inode, seleta-se o mesmo grupo de bloco como o diretório de arquivo como arquivos sem
diretório. Os arquivos de diretório não são mantidos juntos, e sim espalhados através de
grupos de blocos disponíveis. Essas políticas são projetadas para manter a informação dentro
do mesmo grupo de bloco, mas também espalhado no disco para reduzir a fragmentação de
qualquer uma das áreas deste.
O VFS é bem flexível, permitindo implementar um sistema de arquivo que não
estoca dados. O sistema de arquivo de processo do Linux, o proc, é um exemplo de um
sistema de arquivo cujos conteúdos não são realmente estocados em qualquer lugar, e sim
computados em demanda de acordo com as requisições de I/O do arquivo usuário
42
43
5. A HISTÓRIA DO WINDOWS
Para Asturian (2004), os ambientes operacionais do tipo Windows ficaram tão
comuns nos últimos anos, que pouca gente chega a pensar que eles também têm uma história,
tão fascinante quanto qualquer outra. Ela envolve gênios, centros secretos de pesquisa, brigas
na justiça, espionagem, o mundo rutilante das finanças internacionais, e dinheiro, muito
dinheiro.
Esse mundo, responsável, mais do qualquer outra coisa, pela enorme
popularização dos computadores pessoais, foi agitado recentemente pelo lançamento, hiperanunciado e aguardado, do carro-chefe da poderosa Microsoft Corporation, a maior empresa
de sofware do mundo: o Windows 95. No mundo dos PC s, o Windows 95 "briga", com
outros dois concorrentes: o OS/2 Warp, produto desenvolvido e comercializado pela IBM, e o
sistema operacional do Macintosh, pela Apple. Embora, em uma primeira comparação, o
Windows 95 seja inferior aos seus concorrentes, a Microsoft tem chances praticamente
absolutas de dominar o mercado mais uma vez. o OS/2, um excelente produto, tem o
problema sério de ter poucos programas aplicativos realmente compatíveis, sendo que a
maioria funciona no "modo Windows 3.1", o que é bastante estranho para uma plataforma que
deseja se firmar como líder de mercado. Além disso, a IBM cometeu alguns erros de
marketing, como basear a propaganda do OS/2 na afirmação de que ele "já oferece o que o
Windows 95 ainda não tem". Uma coisa idiota, pois a frase e a força da propaganda morreram
instantaneamente assim que o Windows 95 foi lançado... Quanto ao Mac, a frase de
propaganda também se compara com o Windows 95, só que no passado ("o Windows 95 tem
o que o Mac tinha em 88").
5.1 - O primeiro IBM-PC, lançado em 1981
Paul Allen e Bill Gates, fundadores da Microsoft, em 1980. De acordo com
Sabbatini (2004), tudo começou nos anos 70, quando um centro de pesquisas da Xerox
Corporation, localizado em Palo Alto, Califórnia, perto da Universidade de Stanford,
começou a investigar as interfaces de usuário do futuro. O PARC, como era chamado (Palo
Alto Research Center), tinha entre seus pesquisadores verdadeiros gênios e pioneiros da
computação, como Alan Kay e Douglas Engelberg. Engelberg liderou o desenvolvimento de
uma nova estação de trabalho gráfica, chamada Xerox Star, cujo sistema operacional e
interface de usuário eram inteiramente gráficas, baseadas em uma metáfora visual (a
43
44
organização e a forma de trabalho de uma pessoa em uma escrivaninha). Assim, os
pesquisadores do PARC "só" inventaram: o mouse, o sistema de janelas, os menus do tipo
"drop-down", e os ícones. (Sabbatini, 2004).
Xerox 8010 Star Information Computer System (1981). Tinha até 6 terminais
com 1.5 MB de memória e 40 MB de disco rígido em cada estação. Funcionava em rede. O
servidor tinha 600 MB de memória.
Comercialmente, a Xerox Star foi um fracasso. Era revolucionária demais, e foi
muito mal divulgada pela Xerox (que, também, não era um fabricante muito conhecido e bem
posicionado na área de computadores). O projeto foi arquivado e o PARC quase foi fechado.
Mas, o brilho e a genialidade das invenções do grupo de "Doug"Engelberg viraram um mito
na comunidade de Informática, e, assim, quando a empresa Apple Computer, fundada por
Steve Wozniak e Steven Jobs, resolveu desenvolver o PC do futuro, ela foi buscar inspiração
no PARC. A primeira tentativa da Apple, um microcomputador chamado LISA (Local
Integrated System Architecture), de 16 bits, incorporava o primeiro sistema operacional
baseado em janelas do mercado, e foi lançado mais ou menos na mesma época que o primeiro
IBM-PC (1981). Também foi um fracasso comercial. Jobs, então, liderou um processo de
reengenharia radical do produto, que levou ao famoso Macintosh, considerado por muitos
uma das maiores revoluções da história da Informática, pois integrava de forma
absolutamente brilhante a nova interface gráfica, o pequeno tamanho, a alta potência de
memória, gráficos de alta resolução e memória, e o marketing competentíssimo. Muito antes
do IBM-PC (que usava um sistema operacional muito antiquado, não gráfico, e sem mouse, o
não menos famoso MS-DOS), já usava o disquete de 3 ½ ", por exemplo.
Macintosh penetrou rapidamente o mercado acadêmico dos EUA, e, em menor
extensão, o de automação de escritórios. Mas, foi imediatamente prejudicado pela política
aberta da IBM em relação ao seu produto, que permitiu o surgimento dos clones. Em poucos
anos, a participação do Macintosh no mercado mundial começou a declinar, indo de 30 %, em
seu auge, a menos de 8 %, hoje. Outro erro da Apple foi ignorar a importância do software no
futuro. A prova é que o hardware (o computador) fica cada vez menos importante, e surgem
gigantes como a Microsoft, dedicadas a um conceito, ao invés de um produto eletrônico.
44
45
Uma coisa que nunca entenderemos completamente é essa cegueira da Apple.
Se ela tivesse também desenvolvido o seu sistema operacional para o ambiente IBM PC, sete
ou oito anos atrás, e o comercializasse, o Windows 3 nunca teria surgido e a história da
Microsoft provavelmente seria muito diferente. Infelizmente, a Apple apegou-se ao esquema
de "sistema proprietário", um filho bastardo do LISA, e que não funciona mais nos dias de
hoje. Quis dar uma vantagem ao seu hardware, proibindo os clones e ligando o software ao
hardware de forma exclusiva. O resultado: está condenada a mudar, ou desaparecer.
5.2 - Uma História dos Sistemas Microsoft e sua Relacão com os Sistemas Padronizados
e Abertos
Uma tendência perturbadora para os amigos dos sistemas livres, e inclusive
para quem ainda acredita em sistemas abertos, é como se tem usado os termos "padrão" e
"aberto" para descrever sistemas fechados e proprietários como o Windows em suas diversas
encarnações e a arquitetura Intel em contraste com sistemas realmente padronizados como os
diversos Unices e a arquitetura SPARC, por exemplo.
Esse erro tem origens históricas relativamente antigas no meio da informática.
Explicar cada detalhe dessa história seria um trabalho mais longo, em várias partes; aqui
vamos somente delinear a história do Windows e como a Microsoft deliberadamente se
afastou do ideal dos sistemas abertos, assim se colocando na posição de precisar espalhar
desinformação sobre os sistemas realmente padronizados, além de semear confusão sobre o
próprio conceito de sistemas padronizados ou abertos. Vamos passar direto sobre a história
de como o DOS foi parar na Microsoft e na IBM, o que já dá uma história em si.
5.3 - O MS-DOS como caminho de migração para sistemas abertos.
O MS-DOS da Microsoft é modo real. Isso significa que apenas um programa
pode rodar ao mesmo tempo no sistema.
O projeto original previa também um DOS
multiusuário, que mixou logo no começo.
Isso consta da história do DOS conforme a
Introdução à MS-DOS 3.0.
Então a Microsoft comprou com a AT&T uma licença do Unix, e lançou uma
versão para Intel 80286, que era o Xenix. A idéia era migrar todos os usuários de DOS para
45
46
Xenix.
Um dos piores problemas era o uso de "/" para designar opções para o
COMMAND.COM, o interpretador padrão de linhas de comando do DOS, também conhecido
como "Aviso de Comando MS-DOS" ou simplesmente "linha de comando". Por isso a versão
2.11 do DOS tinha um parâmetro do CONFIG.SYS chamado SWITCHAR que aceitava os
valores "/" ou "-". O "-" era o padrão na 2.11. O plano era que na 3.0 o padrão seria "/", e aí a
migração para Xenix seria facilitada, porque não haveria problemas mais com os nomes de
caminho do Unix. Isso está documentado no manual "ITT XTRA MS-DOS 2.11 Reference",
sendo que ITT XTRA era uma das versões OEM do DOS.
5.4 - O caminho do monopóliocom a IBM.
Quando a Microsoft percebeu que junto com a IBM ela tinha poder para
dominar o mercado sem precisar da compatibilidade com POSIX, vendeu o Xenix à SCO e
partiu para o DOS modo protegido, num projeto conjunto com a IBM. O plano era lançá-lo
como DOS 3.0, o que se provou impossível. Então o DOS modo real com acionadores de
rede foi lançado como DOS 3.0, e o DOS protegido ia ganhar o nome de DOS 4 - por isso
houve tanto tempo entre as versões 3 e 4 do DOS. Mas aí o projeto atrasou e o DR-DOS
começou a ganhar mercado, aí lançaram uma nova versão do DOS modo real como 4.0;
chegaram a pensar em ainda lançar o DOS protegido como DOS 5, mas decidiram
simplesmente mudar o nome para OS/2, combinando com as novas máquinas PS/2 da IBM.
Ao mesmo tempo criaram o Windows como um ambiente para rodar sobre
DOS. A idéia era vender eventualmente o DOS protegido com o Windows. Mas a IBM
achou que o Windows era ruim demais e não tinha conserto (no que ela tinha toda a razão), e
forçou a Microsoft a trocar o Windows protegido pelo Presentation Manager, que é a interface
gráfica do OS/2 até hoje.
Até esse momento a Microsoft ia cuidar das versões ímpares do OS/2, e a IBM
das pares - algo como o acerto entre a Intel e a HP sobre o IA-64 (Merced/Itanium,
McKinley). O 1.0 foi lançado, mas a Microsoft não fez a tarefa de casa dos drivers. Além
disso a compatibilidade com aplicações modo real era muito ruim, porque a IBM ia demorar a
ter uma máquina 386 e queria que o OS/2 rodasse no 286, que não tinha modo virtual. O
resultado é que a "caixa de compatibilidade DOS" do OS/2 ficou conhecida como "caixa de
46
47
tortura DOS". Finalmente, o OS/2 presumia uma configuração parruda de uma máquina de
boa qualidade. Para quem tinha IBM, Compaq, Xerox ou coisa assim tudo bem, mas naquela
época os /clones/ de IBM-PC eram ainda piores que hoje, e aí o OS/2 dava mensagens de erro
de montão. Para complicar, essas mensagens de erro eram no formato padrão da IBM, que
praticamente não tem informação útil nenhuma, somente um código que está muito bem
explicado numa documentação enorme, cara e que ninguém tinha. Além disso o OS/2 custava
US$ 500 ou coisa assim
O resultado disso tudo é que a adoção do OS/2 não aconteceu nas versões 1.X.
Antes de chegar à versão 2.0, a Microsoft percebeu que não precisava mais da IBM porque o
MS-DOS já tinha um domínio muito grande do mercado. Então rompeu o acordo com a IBM,
que previa também que o Windows ia ter uma versão modo protegido mas não modo virtual,
enquanto o OS/2 2.0 ia rodar no 386 com modo virtual, facilitando a migração de aplicações
DOS.
Foi lançado então o Windows 3.1, que rodava aplicações DOS em modo
virtual, portanto melhor que o OS/2 1.3. A IBM ainda lançou o OS/2 2.0, inclusive com uma
interface melhorada, a WorkPlace Shell (WPS), mas rodando somente em 386 com 8MB de
memória e uns 70 MB de disco. Na época isso era considerado excessivo, a WPS era muito
diferente do que as pessoas esperavam, a configuração inicial era muito pobre e feia, e ainda
não havia muitos acionadores de dispositivo, especialmente impressoras. Em contraposição o
Windows modo virtual exigia apenas 4MB, o modo protegido 2MB e o modo real (que
ninguém usava) 1MB.
Tinha muitos acionadores, uma interface familiar (semelhante à
interface do Windows 2 e OS/2 1), e a Microsoft logo cancelou o Word e Excel para o OS/2,
se dedicando às versões para Windows 3.1.
Por essa época a Microsoft já desenvolvia o OS/2 3.0, apelidado de OS/2 NT,
que rodava em cima de Mach ou coisa parecida. O que ela fez foi arrancar fora o Presentation
Manager e colocar o Windows por cima, e lançar com Windows NT. Dado o fracasso do
OS/2 e do PowerPC no mercado de massa, e à preocupação com outros assuntos, a IBM
acabou desistindo do OS/2 NT e a versão 3.0 (Warp) acabou sendo simplesmente uma
otimização da 2.3 - até algumas telas diziam 2.3 em vez de 3.0 Warp.
47
48
Um dado interessante é que com o fim da mania de sistemas abertos e a
consolidação do domínio da Microsoft ela deixou de falar que o NT era baseado em
micronúcleo ou orientado a objeto, cancelou as versões RISC e as personalidades OS/2 e
POSIX, e só lançou a versão multiusuário porque a Citrix fez sucesso.
48
49
6. ARQUITETURA DO WINDOWS NT
A linguagem usada para escrever a maior parte do Windows NT foi C, mas
alguns métodos foram escritos em C++ e assembly.
O código referente ao sistema dependente do hardware foi isolada em uma
biblioteca conhecida como HAL (Hardware Abstraction Layer).
Estas duas características facilitam muito a portabilidade do Windows NT para
diferentes plataformas de Hardware, como RISC ou CISC.
O Windows NT é baseado em um modelo cliente-servidor. Nessa arquitetura, o
sistema é dividido em processos (servidores), sendo cada um responsável por oferecer um
conjunto de serviços, como, serviços de arquivos, criação de processos, serviços de memória,
escalonamento, etc.
No WNT qualquer recurso é representado por um objeto (tipo abstrato que são
manipulados somente por um conjunto especial de serviços).
Mesmo não sendo totalmente orientado a objetos, o WNT utiliza objetos para
representar os recursos do sistema que possam ser compartilhados por mais de um processo.
Isto leva a um menor impacto das mudanças que sistema venha sofrer, reduzindo o custo de
manutenção, os recursos são acessados e manipulados de forma uniforme, o esquema de
proteção do sistemas são comuns a todos os objetos, o compartilhamento de recursos entre
processos fica simples e uniforme, etc.
Vejamos alguns exemplos de objetos pertencentes ao WNT:
Objetos
Processo
Thread
Seção
Arquivo
Porta
Token de acesso
Evento
Semáforo
Temporizador
Descrição
Ambiente para execução de uma aplicação.
Unidade de execução em um processo.
Área compartilhada de memória.
Instância de um arquivo ou dispositivo
Caminho para a troca de mensagens entre os processos.
Identificação de um processo.
Anúncio da ocorrência de eventos.
Contador de recursos alocados por um processo.
Contador de tempo.
Tabela 2 – Objetos do Windows NT
49
50
Podemos esquematizar a estrutura geral, interna e externa, do Windows NT em
camadas:
Aplicações: Camada pertencente ao modo usuário e possui as aplicações do cliente.
Subsistema Protegido: executado sobre modo usuário, é formado por processos servidores que
oferecem serviços para uma aplicação ou outro servidor. Cada servidor possui seu próprio
espaço de memória virtual e a troca de informações entre eles é feita através de envio de
mensagens. Inclui nele uma variedade de módulos para funções específicas, que fazem uso de
serviços provenientes do Kernel.
Executivo: é propriamente o modo Kernel.
Kernel: é o responsável pelo controle das tarefas pertencentes ao
gerenciamento do Sistema Operacional. Controla as interrupções e exceções, escalonamento
de threads, sincronização em ambientes com múltiplos processadores e entre outras tarefas.
HAL (Hardware Abstraction Layer): Camada do modo Kernel que faz a transparência da
plataforma de hardware para o Kernel, com isso o WNT pode trabalhar com multiplataformas
(Intel, Alpha, Power PC, DEC). O HAL faz com que todo o hardware, como o controle de
DMA, sistema de BUS, controle de interrupção, entre outros, de outras plataformas se
pareçam o mesmo para o Kernel.
Uma observação muito importante em relação ao modo usuário e ao modo
Kernel é que o modo usuário tem apenas acesso a camada “Serviços do Sistema”, pertencente
ao modo Kernel. O acesso é feito através de Chamadas de Sistema.
6.1 - Estrutura de Processos no Windows NT
Antes de começarmos a falar como o WNT trabalha com processos devemos
falar sobre dois conceitos fundamentais, threads e processos:
Threads: unidades de trabalho. São executadas em sequência e pode sofrer
troca de contexto pelo escalonador. Do ponto de vista do escalonador, o conceito de thread é
equivalente ao de um processo, na maioria dos sistemas operacionais.
50
51
Processos: são uma coleção de um ou mais threads e são também associados a
ele recursos do sistema. Pode-se dizer também que um processo é um programa em execução.
Do ponto de vista de tarefas ou aplicações, este conceito é equivalente a
maioria dos outros sistemas operacionais.
Devemos lembrar que estes dois conceitos se aplicam principalmente ao WNT
e que todos os recursos do Windows NT são considerados como objetos.
O corpo dos processos do Windows NT foi desenvolvido pensando em prover
suporte a variados ambientes de Sistemas Operacionais. Desta forma, a estrutura nativa,
proveniente do Kernel, de um processo no WNT é de forma simples e implementada para
propósitos gerais, permitindo a cada subsistema (ver figura 1) emular as particulariedades e
funcionalidades de um processo de outros sistemas operacionais. As características mais
importantes dos processos em WNT são:
-
Os processos em WNT são implementados como objetos;
-
Um processo em execução pode conter um ou mais threads;
-
Ambos processo e thread são sincronizados;
-
O Kernel não mantém nenhuma relação com os processos criados por ele,
incluindo relações de parentesco (pai à filho);
Um processo no Windows NT envolve um espaço de endereçamento virtual,
recursos do sistema (tais como semáforos, portas de comunicação, etc) e pelo menos um
thread, assim, processos são apenas objetos criados e eliminados pelo gerente de objetos. O
objeto do tipo processo armazena nele um header onde possui seus atributos e serviços a ele
associados.
Cada processo também possui uma tabela de objetos onde contém ponteiros
para todos os objetos a que o processo tem acesso. Cada entrada da tabela é chamada de
handle e ela aponta apenas para um único objeto. Um handle é criado quando um processo
cria um novo objeto (por exemplo um thread) ou quando solicita o acesso a um já existente.
Dois processos podem compartilhar um mesmo objeto quando ambos possuem um handle
apontado para ele. Veja figura abaixo:
51
52
Figura 1 – Tabela de objetos do Windows NT
Quando o WNT cria um novo processo, ele utiliza uma classe de objetos ou um
tipo, definido para um processo WNT como um template, para gerar um objeto
instânciado. Nesta hora da criação do processo é que são atribuídos seus atributos.
Cada processo é criado com um único thread e pode gerar threads adicionais
quando necessário e threads podem gerar outros threads também. Em sistemas
multiprocessados um processo pode ter vários threads rodando em paralelo. Assim
como um processo, um thread também possui uma estrutura interna contendo seus
atributos e serviços atribuídos a ele. Neste caso os atributos dos threads são derivados
dos atributos do processo que o gerou. Um dos atributos mais importantes dos threads é
o “Thread Context”, pois é por este atributo que o escalonador trabalha.
Durante o ciclo de vida de um processo, um thread pode passar por diferentes
estados de execução, vejamos na figura abaixo:
52
53
Figura 2 - Diferentes estados de execução do thread
Descreveremos o que cada estado representa na tabela abaixo:
Estados
Pronto
Descrição
O estado de pronto indica que o thread aguarda apenas por uma chance para ser
executado.
Standby
Neste estado o thread é selecionado para execução e aguarda apenas que a troca
de contexto ganhe a CPU. Somente um thread pode estar neste estado num
processador.
Execução
Indica que o processo esta sendo executado.
Espera
Este estado indica que o processo aguarda por algum evento para ser executado.
Transição
O processo se encontra neste estado quando esta aguardando algum recurso do
sistema para ser executado.
Terminado
É Quando o thread encerra sua execução. Ele pode ser eliminado ou não.
Tabela 3 o que cada estado representa
6.2 - Gerenciamento dos Processos
A gerência do processador para os processos determina a política de divisão da
UCP para os diversos threads, incluindo threads do sistema ou do usuário. Esta seleção
e divisão dos processos é feita por uma parte interna do Kernel chamada de dispatcher.
A política de escalonamento é implementada através de prioridades associadas
a cada thread e também possui o escalonamento de Round Robin, devido ao fato que a
troca de contexto de um thread pode ocorrer caso o seu quantum de tempo do
processador acabe. Inicialmente cada thread recebe a prioridade do processo que a
criou, mas podendo sofrer alterações durante a sua existência.
53
54
O Windows NT implementa 32 níveis de prioridade para seus threads, sendo
divididos em duas faixas: prioridade variável, que vai de 0 à 15 e a prioridade de tempo
real, que varia entre 16 e 31. Desta forma o thread de maior prioridade estará sempre
selecionado para execução.
Um processo que esteja com prioridade na faixa de 0 à 15 (variável) poderá ter
contexto mudado caso ocorra:
-
término da execução do thread;
-
thread de maior prioridade está em estado de pronto (preempção por
prioridade);
-
solicitação de um evento ou recurso do sistema (estados de espera e
transição);
-
término do seu quantum;
Este tipo de prioridade ainda pode ser dividida em dois tipos: a base e a
dinâmica. A prioridade variável base é igual ao do processo criador do thread e
normalmente não sofre mudanças durante a sua existência, já a prioridade variável
dinâmica pode variar durante sua existência e é controlada pelo sistema. O
escalonamento dos threads de prioridade variável é realizada em função das prioridades
dinâmicas. Podemos citar um exemplo para simplificar o funcionamento das prioridades
variáveis dinâmicas: caso exista um thread que seja um grande consumidor de
processamento (CPU-bound), ele tende a ter uma prioridade dinâmica menor que a de
um outro que realize inúmeras operações de E/S (I/O bound), então, toda vez que o
thread realiza uma operação que o faça ficar em estado de espera o thread CPU-bound
pode ser executado, por outro lado toda vez que o thread I/O-bound termina sua espera,
ele recebe um incremento em sua prioridade interrompendo o thread CPU-bound. Dessa
forma enquanto o thread I/O-bound executa diversas vezes, utilizando apenas parte de
seu quantum de tempo, o thread CPU-bound executa menos vezes, porém ele utilizando
por completo o seu quantum. Esta é forma adotada pelo WNT para equilibrar o uso da
CPU.
Podemos então concluir que a prioridade dinâmica é determinada através da
soma da prioridade base mais os incrementos recebidos no momento em que o thread
sai do estado de espera ou transição para o estado de pronto.
54
55
Agora um thread em execução, trabalhando na faixa de tempo real poderá
mudar seu contexto apenas quando:
-
terminou a execução do thread;
-
thread de maior prioridade entra em estado de pronto;
-
solicitação de um evento ou recurso do sistema;
Observamos duas diferenças nesta política de escalonamento com a anterior: o
de não haver o conceito de quantum de tempo e de existir prioridade dinâmica apenas.
Estes dois níveis de prioridades apresentados acima permita ao WNT oferecer
características de sistemas de tempo compartilhado e de tempo real dentro de um
mesmo ambiente, possibilitando o seu emprego em diversas aplicações.
Vejamos abaixo uma ilustração dos níveis de prioridade:
6.3 - Multithreading
O WNT suporta concorrência entre os processos porque threads de diferentes
processos podem ser executados concorrentemente. Além disso vários threads de um
55
56
mesmo processo podem ser executados paralelamente em múltiplos processadores ou
concorrentemente, desta forma um processo multithreaded possui concorrência sem
precisar usar múltiplos processos. Um thread de um mesmo processo pode trocar
informações através de uma memória compartilhada ou acessando recursos do processo
que o criou.
Um ambiente multithread orientado a objetos pode ser muito eficiente para
aplicações servidoras, por exemplo, um único servidor de processos pode servir a um
número variado de clientes, onde estes através do envio de mensagens criam novos
threads no servidor de processos, veja figura abaixo:
6.4 - FAT (File Allocation Table)
A Tabela de Alocação de Arquivos (File Allocation Table) ou FAT foi
desenvolvida e codificada em Fevereiro de 1976 por Bill Gates. Ele a desenvolveu para
uma versão do basic que podia armazenar programas e dados em discos flexíveis. O
desenho da FAT foi incorporado por Tim Patterson em uma versão prévia de sistema
operacional para o chip 8086 da Intel. Gates comprou os direitos desse sistema, então
reescreveu - o e criou a primeira versão do DOS.
As principais características da FAT:
56
57
-
Compatível com todos os sistemas operacionais
-
Uso mínimo de memória
-
Simples e confiável
-
Menos efficiente em partições acima de 32 Mega
-
Não aconselhável para Servidores de Arquivos
A FAT é onde a informação sobre blocos do disco é armazenada. Cada bloco
tem seu correspondente na FAT que descreve como ele é utilizado. É isso que diz ao
sistema operacional quais partes do disco estão sendo utilizadas por arquivos e quais
estão livres para serem utilizadas. A FAT é usada pelo sistema operacional para
encadear os blocos. A tabela de alocação de arquivos é armazenada na área de disco
imediatamente após o setor de boot. Cada volume possui duas cópias idênticas da FAT.
Isto evita a perda de dados caso a primeira seja danificada. O problema é que essa cópia
está localizada imediatamente após a primeira, então se setores ruins atingirem a
primeira FAT, as chances de atingirem a segunda são consideráveis, conforme figura:
57
58
Figura 6 – Blocos da FAT
Por natureza, a FAT suporta um máximo de 64K blocos por partição. Quando a
partição do disco é de até 32 MB, os blocos possuem tamanho de 512 bytes. Se a
partição for maior que 32MB e até 64MB, o tamanho dos blocos será de 1Kbyte. Para
partições maiores que 64MB e até 128MB ele utilizará blocos de 2K. Quanto maior os
blocos alocados, um maior número de pequenos arquivos desperdiça muito espaço do
disco.
A estrutura de diretório clássica da FAT (antes do WNT) limita o nome de
arquivos a oito caracteres com mais três caracteres para a extensão. A entrada de
diretório do FAT armazena um conjunto de atributos e detalhes do arquivo, como
tamanho e última modificação. Também é apontado o primeiro bloco do arquivo, sendo
que a FAT fornece o resto das informações para que todo o arquivo possa ser
encontrada.
6.5 - Arquivos do NTFS
58
59
O NTFS foi um sistema de arquivos criado para fornecer o que a FAT-16 não
possuia: segurança dos arquivos. Porém suas diferenças não são somente estas, outras grandes
mudanças são:
-
A arquitetura é baseada em 64 bits o que permite o uso de grandes partições
que podem ter mais de 2 Terabytes.
-
Os arquivos podem ter nomes longos com até 255 caracteres.
-
Estrutura de diretórios é organizada através de árvore B tornando a consulta de
arquivos e diretórios mais rápida.
-
Não há clusters sendo que o maior unidade de alocação é o próprio setor, ou
seja 512 bytes. Isto evita a fragmentação e a perda de espaço no disco.
6.5.1 - Estrutura do Volume NTFS
Quando um disco é formatado para como uma partição NTFS a partição é
inicializada para conter um volume NTFS. Mais precisamente cada instância de uma
MFT(Master File Table) é um volume. Diferentemente da FAT e HPFS todo espaço alocado
em uma partição NTFS faz parte de um arquivo incluindo o boot e os arquivos de sistema os
quais são usados para implementar a estrutura do volume. O coração do NTFS é o MFT
(Master File Table) o qual contém pelo menos uma gravação de todos os arquivos do volume
incluindo uma gravação pra si mesmo, o que o faz parecido com um banco de dados
relacional.
Em um volume NTFS todos os arquivos possuem um número o qual é
calculado pela sua posição na MFT e um número de seqüência o qual será discutido mais
tarde. E cada arquivo e diretório em uma partição NTFS possui uma série de atributos.
O setor de boot do NTFS fica localizado no começo do volume e possui uma
réplica localizada no meio. O setor de boot contém os padrões do parâmetro de blocagem da
BIOS (BPB – BIOS Parameter Block), a quantidade de setores no volume, e os números do
cluster inicial do MFT (Master File Table) e MFT2 (Master File Table Mirror).
6.5.2 - Arquivos de Sistema do NTFS
59
60
Os arquivos de sistema do NTFS são criados durante a formatação do disco e
contém informações sobre o número de arquivos na MFT, inclusive a própria MFT e residem
no diretório raiz do volume NTFS.
Abaixo segue uma relação de arquivos de sistema do NTFS:
6.5.3 - Master File Table (MFT) - $mft
Contém uma gravação de entrada para cada arquivo do volume NTFS
incluindo uma para si mesmo, e suas 16 primeiras entradas são reservadas para a gravação de
entradas de arquivos do sistema.
6.5.4 - Master File Table2 - $mftmirr (or MFT2)
Este é uma cópia da MFT e seu tamanho depende do tamanho do volume, a
MFT2 contém apenas um pedaço da MFT por isso seu tamanho deve ser bem calculado para
que caso ocorra uma falha no volume ele possa ser recuperado.
6.5.5 - Log File - $logfile
Este arquivo contém atributos de dados e é usado pelo NTFS e pelo serviço de
Log de Arquivos para recuperação do volume se necessário.
6.5.6 - Volume - $volume
Este arquivo contém informações tais como nome do volume, versão etc.
6.5.7 - Attribute Definitions Table - $attrdef
Contém definições de todos os atributos do sitema.
6.5.8 - Cluster Allocation Bitmap - $bitmap
60
61
Este arquivo contém um mapa do volume, mostrando quais unidades de
alocação estão sendo usados. Cada bit no mapa de bits representa um cluster. O uso de mapa
de bits aumenta a performance no NTFS na busca de espaços livres.
As grandes idéias de sucesso foram criadas por pessoas
que reconheceram um problema e
o transformaram em uma oportunidade.
Joseph Sugarman
6.5.9 - Boot File - $boot
O arquivo de boot contém informações básicas sobre o volume. A vantagem de
se fazer este arquivo é que ele pode estar localizado em qualquer lugar do volume, e pode
estar como leitura somente ou protegido pela ACL.
6.5.10 - Bad Cluster File - $badclus
Os atributos dos dados deste arquivo contém informação de todos os cluster
defeituosos do volume.
6.5.11 - Upcase Table - $upcase
Este arquivo é uma tabela usada para fazer a conversão de nomes de arquivos
com maiúsculos e minúsculos caracteres. Ele é utilizado para aplicações que utilizam somente
caracteres maiúsculos como no MS-DOS.
6.6 - Segurança no NTFS
A segurança é armazenada sobre o NTFS no mesmo lugar onde toda a
segurança no Windows NT é armazenada, ou seja na Access Control Lists (ACL). Esta lista é
formada por várias entradas denominadas Access Control Entries (ACE). Estas entradas de
controle de acesso são checadas em ordem para saber se um usuário tem ou não permissão
para executar determinada ação.
61
62
Os ACEs são ordenadas por restrições e permissões. O Windows NT checa
primeiro as restrições e depois as permissões de acesso de um determinado usuário. As
restrições de acesso sempre sobrescrevem as permissões.
6.6.1 - Recuperabilidade
A recuperação de um volume é importante para se evitar a possível perda dos
dados e por isso a maioria dos sistemas de arquivo possuem técnicas de recuperação de dados.
Com NTFS a consistência de um volume é garantida contra quedas que venham a acontecer,
pois ele utiliza logs de transação e tecnicas de recuperação. A performance é aumentada pois
o usuário não precisa esperar um arquivo ser copiado para realizar outras tarefas e também a
recuperação de dados é rápida.
Os arquivos do NTFS são gerados pelo menos com os seguintes atributos:
-
Header (H) – cabeça
-
Standard Information (SI) - informação padrão
-
Security Descriptor (SD) - descrição da segurança
-
File Name (FN) - nome do arquivo
-
Data - dados
6.6.2 - Arquivos pequenos:
Quando um arquivo é muito pequeno, é possível que ele caiba totalmente em
uma entrada de gravação da MFT junto com seus atributos, por exemplo uma MFT que
possui entradas de 2Kbytes podem armazenar arquivos com menos de 1500 bytes, veja
a figura 7 – Small Diretores
62
63
6.6. 3 - Arquivos Grandes:
Quando um arquivo é grande o bastante para que não possa ser gravado em
uma entrada da MFT o atributo de dados (Data) torna-se não residentente de forma que
passa a guardar outra informações tais como Virtual Cluster Number (Vnc) que possui o
número do primeiro cluster de uma seqüência de de dados, e o número de clusters
contínous de cada seqüência. Conforme figura:
Figura 8 – Arquivos grandes
6.6.4 - Arquivos extremamente grandes:
Quando um arquivo é muito grande e o atributo de dados não residente não
consegue armazenar (Vnc) suficientes para comportar os dados então um novo tipo de
entrada de arquivo é criado. Este tipo de entrada contém invés de conter um atributo de
dados contém um campo de atributos externos que apontam para entradas na MFT
formadas por estruturas de atributos de dados não residentes. Desta forma os dados do
arquivos podem ser divididos em várias estruturas de dados não residentes, sendo que
um arquivo pode chegar até 2 GB.
63
64
Figura 9 – Estrutura de dados não residentes
6.7 - Atributos do NTFS
Attribute List
File Name
MS-DOS
Name
Version
Security
Descriptor
Volume
Version
Volume Name
Volume
Information
Data
Index Root
Index
Allocation
MFT Bitmap
External
Attributes
(Eas)
External
Attribute (EA)
Information
User Defined
Attributes
Standard
Information
(SI) Attribute
Header
define os atributos válidos para este arquivo.
este atributo contém o nome do arquivo e o número do diretório arquivo pai. Quando há múltiplas entradas de
diretório para um mesmo arquivo, então haverá um número correspondente de atributos File Name. Este
atributo deve estar na forma residente.
este attributo contém o nome do arquivo na versão DOS bem como o nome na escrito em case-insensitive.
este atributo especifica a versão de atualização do arquivo.
este atributo contém as informações de segurança de acesso ao arquivo (contem a lista de acessos ao
arquivo (ACL)).
este atributo é usado somente nos arquivos de sistema do volume
este atributo contém o nome da unidade.
este atributo é usado somente nos arquivos de sistema do volume e contém a maior e a menor número de
versão do NTFS no volume.
este atributo contém os dados dos arquivos, tamanho do arquivo, e tamanho de todos seus atributos. Ele
pode ser armazenado de forma não residente
este atributo é usado para construir o índice de um atributo particular sobre uma série de arquivos para o
propósito de indexar estes arquivos pelos valores de seus atributos.
se o índice for encontrado na raiz do índice o atributo poderá se tornar gigantesco, então um atributo não
residente, índice de alocação é gerado para o resto da informação do índice.
este atributo contém um mapa que representa os setores que estão em uso no volume.
quando todos os atributos de um arquivo não cabem na MFT daquele arquivo, os atributos adicionais poderão
ser movidos para uma nova gravação e guardados em uma forma não residente.
este atributo contém informações sobre atributos externos
este atributo permite que atributos de usuários sejam adicionados a arquivos e diretórios.
este atributo guarda informações que não são associadas facilmente com qualquer outro atributo, tais com
data de criação, data da última modificação, hora de Quando foi acessado a última vez, atributos do arquivo
(somente leitura, oculto, etc.), estes atributos são guardados de forma residente.
este atributo é definido pelo sistema e portanto é guardado em um espaço separado e contém o seguinte:
Update Sequence array – este é usado na detecção de transferência incompleta entre setores
Sequence Number – este número é incrementado toda vez que a gravação sobre um arquivo é realizada
Reference Count – este número é incrementado a cada gravação de referência feita a ele por um índice, ou
seja, ele contém o número de diretórios que contém este arquivo em particular.
Root File Record Segment – se esta não é a primeira vez que o arquivo é gravado na MFT então ele contém
o ponteiro para a entrada raiz do arquivo na MFT. Se é a primeira vez que o arquivo é gravado então ele
possuirá valor zero (0).
First Attribute Offset – this is the offset, from the beginning of the Master File Table (MFT), to the first attribute
for this file record.
Tabela 4 - Atributos dos arquivos criados no NTFS
64
65
6.8 - Herança de Controle de Acesso a Arquivos e Diretórios
Para saber o que é herança de controle de acesso é deve-se saber primeiro o
que é um container e um não-container objeto, um objeto container é um objeto que
contém outros objetos que podem ou não ser containers, por exemplo um diretório, e
um não-container é um objeto que lógicamente não pode conter outros objetos, que por
exemplo pode ser um arquivo, desde que não contenha outros objetos.
Quando um objeto é criado, uma ou mais ACLs são usadas para o novo objeto.
A herança da ACLs é usada para manter o controle de acesso quando um objeto é
criado. Existe três tipos de ACLs:
-
ACL efetiva: É quando a ACL é Permanente para o objeto container.
-
Herança de ACL do objeto: É a ACL a ser herdada por um objeto não sub-container.
-
Herança de ACL do container: É a ACL a ser herdada por um objeto sub-container.
Estas heranças denominam as ACL que serão passadas de objeto para objeto na
criação de um arquivo ou diretório, e são melhores representadas nos diagramas abaixo.
Os efeitos da herança de ACL são mostrados logo abaixo:
-
Novos arquivos e diretórios
-
Novos sub-diretórios sempre herdam as propriedades de segurança do
diretório pai
-
Novos arquivos sempre herdam as propriedades de segurança do diretório no
qual foi criado.
Copiando arquivos e diretórios
-
Se um diretório é copiado ele herda as propriedades de segurança do novo
diretório pai
-
Se um arquivo é copiado ele herda as propriedades de segurança do novo
diretório pai.
6.8.1 - Movendo diretórios e arquivos
65
66
Se um diretório é movido, ele geralmente herda as propriedades de segurança
do novo diretório pai. Não é documentado mas ele deve manter suas propriedades de
segurança.
Se um arquivo é movido, ele mantém suas propriedades de segurança.
Figura 10 – Propriedades de segurança
6.9 - Transações no NTFS
Uma transação é uma coleção de pequenas ações na qual todas devem ocorrer
ou não. Cada modificação utilizando I/O é considerada uma transação, e ela é realizada com
sucesso ou abortada quando ocorre um erro.
66
67
O log de transações contém o seguinte
-
Criação e remoção de arquivos
-
Criação de atributos, remoção de atributo e modificações de atributos
-
Criação e remoção de índices (diretórios)
-
Gravações consertados, por exemplo um novo Virtual cluster number (Vcn)
para mapeamento de Logical cluster numbers (Lcn)
-
Periódicos checkpoints de gravações.
Toda operação de I/O que modifica um arquivo em um volume NTFS faz com
que o Serviço de log de Arquivos mantenha informações para fazer e desfazer a
transação. O log da transação é mandado então para o Gerenciador de Cache que
verifica no gerenciador de memória por recursos de memória livre. Se os recursos de
memória podem ser utilizados, o Gerenciador de Cache envia as instruções de transação
para o NTFS para fazer as mudanças no arquivo.
Se a transação tiver sucesso então ele é gravada (commit). Se ela não é
completada, o NTFS poderá fazer um roll back da transação seguindo as informações de
desfazer transação.
Figura 11 – Diagrama de blocos do NTFS
67
68
6.10 - Servidor de Arquivo de Log
O servidor de arquivo de log (LFS) trabalha com um arquivo circular
denominado log de arquivo. O log de arquivo é composto por um campo denominado
Restart Areas e campos chamados de Updates Records.
O campo Restart Areas contém um monte de checkpoints que indicam
gravações de atualização que podem fazer ou desfazer. O servidor de logs de arquivo
grava todas as informações sobre transações feitas e desfeitas neste campo.
Os campos updates records guardam informações físicas e logicas, as
informações fisicas são informações de bytes que foram alterados entre outras coisas e
as informações lógicas são informações de operações tais como “delete readme.txt”.
Observação: O Serviço de arquivo de log mantém duas restart areas para garantir
sempre que há pelo menos uma boa restart area.
Figura 12 – Servidor de arquivo log
68
69
7. CASOS DE MIGRAÇÃO DO WINDOWS PARA LINUX
7.1 – Caso 01 – Malharia Manz
“A implantação do Linux proporcionou estabilidade a baixo custo”
Elvis Pfützenreuter
De acordo com Pfützenreuter (2004), desde o início de 1998, a Malharia Manz
estudava soluções para desenvolvimento de sistemas em arquitetura cliente/servidor, bem
como ferramentas para acesso e serviços Internet. O projeto de longo prazo do departamento
de informática consistia em usar a Internet como principal meio de comunicação de dados até
meados de 1999, e migrar seus sistemas corporativos para cliente/servidor até o início de
2001.
O caminho natural parecia ser a migração progressiva da plataforma Netware
para Windows NT. Mesmo assim, a área de informática resolveu fazer alguns testes com o
Linux, motivada pelo recente lançamento do Interbase 4 para Linux. Também tornou-se o
Linux responsável pelo compartilhamento de um link discado à Internet.
Devido ao grande sucesso dessas experiências, ainda em 1998 usou-se o Linux
para converter um sistema de informações gerenciais para a arquitetura cliente/servidor,
trabalho concluído em setembro do mesmo ano. O ganho de performance, de até trinta vezes
em algumas consultas, bem como a confiabilidade, que evoluiu de falhas semanais na versão
anterior, para nenhuma falha em catorze meses de operação da nova versão, coroaram
definitivamente o Linux como plataforma de escolha para quaisquer projetos futuros. Não
obstante, o uso do Linux continuou restrito a um servidor até meados de 1999. Nesse meio
tempo, o link discado à Internet foi substituído por um link permanente síncrono.
Desde o final de 1998, já se sabia que os diversos servidores Netware 3.12
utilizados pela Manz eram sensíveis ao "bug do milênio". Eles teriam de ser atualizados para
Netware 4, ou substituídos por outra plataforma. A atualização dos servidores custaria
bastante caro, e seria um contra-senso investir em Netware se a intenção era migrar para
Linux em no máximo dois anos. Por outro lado, seria impossível migrar todos os sistemas
para cliente/servidor até a virada do milênio, tampouco substituir o grande número de
estações DOS com boot remoto.
69
70
Começou-se então a fazer testes com o Mars-NWE, o emulador de Netware
para Linux. Uma vez determinado que o Mars funcionava bem com os softwares e máquinas
em uso na Manz, os servidores foram, um a um, convertidos para Linux, num lapso de quatro
meses. A migração gradual visava o acompanhamento da confiabilidade do Mars nos
ambientes de produção. Os dois últimos servidores Netware foram desativados em agosto de
1999.
Assim, foi possível resolver o problema do bug do milênio com um custo
mínimo, manter a compatibilidade com softwares e equipamentos de legado, e de quebra,
preparar antecipadamente os servidores para a inexorável adoção da arquitetura
cliente/servidor. Para Cesar Rodrigo Tomporoski, gerente de sistemas da Manz, a substituição
do servidor Novell para Linux foi uma grata surpresa. "Nós não achávamos que a migração
poderia ser tão tranqüila, a ponto de ter passado quase despercebida pelos usuários da Manz",
diz ele, acrescentando que fora isso, a estabilidade do Linux realmente impressionou. "Sem
traumas e com ganhos efetivos, passamos então a planejar a completa conversão de toda a
nossa plataforma. Para portar alguns sistemas, desenvolvidos por nós, estamos testando o
WinLinux e, com a experiência adquirida em instalação e configuração Linux, julgamos ser
esta a melhor solução para a estabilidade, custo e facilidade de implantação", completa.
Hoje, a Manz usa Linux em todos os servidores, exceto por uma máquina
Netware da área industrial, cujo sistema de gestão ainda depende do Btrieve for Netware,
embora o fornecedor do sistema já estude o Linux como plataforma alternativa de servidor.
Também há grande interesse em se adotar o Linux nas estações de trabalho.
7.2 - Caso 02 - Linux na escola
Colégio Albert Sabin monta uma rede de comunicações que muito em breve
deve ser 100% baseada em Softwares Livres
O Colégio Albert Sabin, localizado no bairro do Butantã em São Paulo-SP, está
obtendo vários benefícios com a implantação de uma rede de comunicação com ambiente
Linux. A escola, por meio da direção do Centro de Pesquisa e Desenvolvimento, em conjunto
com a PL Tecnologia, integradora de São Paulo responsável pela implantação de toda a rede,
optou pelo sistema Linux por três características: estabilidade, baixos custos e alta
70
71
performance. De acordo com Natanael Gomes de Almeida, coordenador do CPD do Albert
Sabin, esses benefícios vêm sendo comprovados desde a instalação do sistema.
A rede do colégio conta com seis servidores (sendo um gateway, três
servidores Linux, um de arquivo e um servidor de e-mail) que administram mais de 80
estações de trabalho. Os servidores Linux estão instalados em três laboratórios, dois de
pesquisa e um de consulta (biblioteca). Esses laboratórios estão interligados ao gateway por
meio de fibra óptica. Entre os sistemas que rodam na rede está o Acadêmico, software
customizado para o Albert Sabin que oferece recursos específicos para área da Educação ~V
que, segundo o coordenador do CPD, é o único em toda a solução tecnológica implantada na
instituição que ainda roda em Windows NT.
De acordo com Almeida (2004), as funções dos servidores Linux que rodam na
escola são as mais diversas. São criadas as restrições de acesso aos alunos, de forma que só
podem acessar o que os professores autorizam, e, com o auxílio do Samba, trabalho com o
Scua, que é um programa que restringe o acesso às configurações internas do Windows NT,
explica. Ele enumera ainda um servidor de gateway principal que distribui o acesso à Internet
aos laboratórios, servidores e rede acadêmica, e o servidor de suporte, que faz o
armazenamento de arquivos para backup, drivers do Windows para manutenção e DNS
backup.
A solução tecnológica em operação no colégio ainda não está concluída, e
mudanças estão previstas. Após a conclusão de testes com o Samba e o Acadêmico, estaremos
eliminando o único servidor Windows NT~T. Todo o processo de migração dos servidores
para Linux não foi fácil. Para Almeida, o Windows está arraigado nos hábitos, na rotina das
pessoas. Passei por uma fase de desintoxicação com a implantação do Linux. Hoje, vejo que o
Linux é amigável e permite às estações de trabalho os mesmos recursos que os sistemas
operacionais concorrentes (editor de texto, editor de imagem, planilhas, entre muitos outros),
comenta.
O coordenador de CPD pretende implantar o Linux também nas estações de
trabalho dos laboratórios do Colégio Albert Sabin. Esse é um trabalho de médio prazo, conta.
Ele explica que a mudança de plataforma de trabalho deve ser gradual. Para isso, devo
ministrar instruções para os funcionários da biblioteca e alguns professores, acrescenta.
71
72
Quanto ao processo de adaptação dos usuários finais (no caso, os alunos do Colégio Albert
Sabin), Almeida prevê que os problemas seriam pequenos, e que, ao disponibilizar o Linux
como estação de trabalho, seria permitido apenas logar e executar o StarOffice e um
navegador, entre outras aplicações, como impressão de arquivos. Por ser um sistema
operacional de código aberto, temos a facilidade de modelá-lo de acordo com nossas
necessidades, complementa.
O Modelo inaugurado no dia 3 de outubro de 1993, o Albert Sabin, localizado
no bairro do Butantã em São Paulo, atende aos alunos da educação infantil, ensino
fundamental e médio. O colégio conta com 17.500 metros quadrados distribuídos em três
prédios principais com 43 salas de aula no total, laboratórios, bibliotecas, ginásio
poliesportivo e pátio externo. O espírito humanitário e perseverante do Dr. Albert Sabin é o
modelo inspirador das diretrizes de ensino propostas pelos fundadores do Colégio que leva o
seu nome.
7.3 – Caso 03 - IBM inaugura laboratórios Linux em São Paulo
Em São Paulo, no dia 04 de dezembro de 2003 - A IBM Brasil inaugura hoje
dois centros técnicos dedicados inteiramente ao desenvolvimento da tecnologia Linux. São
eles o Linux Technology Center, em parceria com a Unicamp e baseado em Campinas, e o
Linux Integration Center, na IBM em São Paulo, capital. Esta iniciativa amplia as ações da
empresa no Brasil relacionadas a Linux, que inclui a assinatura, em outubro, de uma carta de
intenções com o governo federal, visando disseminar o uso do sistema operacional aberto.
Embora os dois centros tenham por objetivo difundir Linux, eles terão objetivos distintos.
"A abertura destes dois centros no Brasil, onde Linux é amplamente aceito e
apresenta grande crescimento, é um marco para a IBM" - comemora Rogério Oliveira,
presidente da IBM Brasil. "Estamos comprometidos com Linux e orgulhosos por poder ajudar
no aculturamento dos nossos clientes, através do Linux Integration Center, e também em
contribuir com futuros programadores, alunos da Unicamp, que conduzirão o futuro deste
sistema operacional" - acrescenta Oliveira.
O LTC brasileiro terá como missão treinar desenvolvedores de software para a
melhoria do kernel do Linux. Os LTCs têm fornecido contribuições ao código fonte e
72
73
funcionalidades para a comunidade mantenedora do núcleo do Linux em diversas áreas, como
suporte à rede, segurança, gerência de sistemas e de clusters, entre outras.
O Linux Integration Center (LIC) tem como sede o IBM Austin Research Lab,
localizado em Austin, Texas, e faz parte do Grupo de Software da empresa. O LIC mantém
laboratórios em Boeblingen, na Alemanha; em Benjin, na China; em Tóquio, no Japão; em
Singapura, na Malásia e agora em São Paulo, Brasil.
Espalhados pelo mundo, os Linux Technology Centers são centros virtuais,
conectados via internet. Atualmente eles contam com mais de 300 profissionais dedicados,
cujo objetivo é aprimorar o sistema operacional. O Brasil será o único país onde um Linux
Technology Center é estabelecido em parceria com uma universidade.
Membros do LTC estão espalhados por cidades como Adelaide, Austin,
Bangalore, Beaverton, Benjin, Boeblingen, Boston, Boulder, Cambridge, Canberra, Cedar
Rapids, Chicago, Denver, Endicott, Fishkill, Hawthorne, Hursley, Kirkland, Mt. Laurel, Nova
Iorque, Portland, Poughkeepsie, Raleigh, Rochester, San Jose, Somers, Southbury, UrbanaChampaign, Yamato, Yorktown e agora no Brasil, em Campinas, São Paulo.
"A IBM é uma empresa famosa não apenas por seus produtos e serviços, mas
também pela qualidade de seus centros de pesquisa -- declara o Prof. Ricardo Anido, Diretor
do Instituto de Computação da Unicamp --. A Unicamp, por sua vez, é reconhecida pela
qualidade dos profissionais que forma, especialmente nos seus cursos de computação. Assim,
a parceria entre IBM e Unicamp para a criação de um centro conjunto na área de Linux é uma
iniciativa importante e inovadora, que permitirá a junção das competências existentes para o
desenvolvimento de software livre de alta qualidade. Esperamos no futuro ampliar essa
parceria com a inclusão de projetos em outras áreas de interesse mútuo, como a de economia
digital".
Missão do LTC
O LTC brasileiro contará com 10 estudantes selecionados pela Unicamp e pela
IBM, um professor da universidade trabalhando como coordenador e um profissional IBM
gerenciando os trabalhos a serem desenvolvidos pelo centro alinhado com as diretrizes dos
73
74
LTCs em todo o mundo. A Unicamp contribuirá com o espaço e as conexões de rede,
enquanto a IBM entrará com mão-de-obra e bolsas de estudo para alunos escolhidos. A
empresa também fornecerá toda a infra-estrutura de máquinas e software necessários para os
trabalhos. As primeiras contribuições de código para a comunidade Linux poderão ser dadas
já nas primeiras semanas de implantação do Linux Technology Center.
Em todo o mundo os integrantes dos LTCs trabalham como membros da
comunidade Linux, utilizando a experiência de programação da IBM, bem como sua
tecnologia de software, para acelerar o crescimento do Linux como um sistema operacional
corporativo cada vez mais estável. Atualmente, o LTC tem programadores envolvidos em
diversos projetos, como escalabilidade, segurança, capacidades de rede, sistemas de arquivos,
gerenciamento de volumes, performance, entre outros, necessários para tornar Linux
totalmente maduro e pronto para tarefas de missão crítica. Além disso, os LTCs fornecem
diversos serviços à crescente comunidade técnica de Linux dentro da IBM, gerenciando uma
rede mundial de sites FTP para downloads de Linux, além de canais de discussão.
Missão do LIC
O Linux Integration Center será um centro de referência no Brasil para clientes
interessados na implantação de soluções de software que incluem o middleware IBM em
Linux. Ele terá como missão criar e validar arquiteturas de soluções baseadas no sistema
operacional aberto. Neste centro, a IBM conseguirá reproduzir o ambiente tecnológico de seus
clientes e auxiliá-los em suas migrações, desenvolvendo todos os componentes que farão
parte de suas soluções finais. É a primeiro laboratório da IBM desta natureza na América
Latina.
O LIC trabalha para fornecer soluções e suporte técnico de pré-vendas, de
forma global, apoiando as equipes de negócios e trazendo a tecnologia Linux para o mercado.
Além disso, o Linux Integration Center visa aproximar o portfólio de middleware da IBM das
oportunidades de negócios relacionadas ao sistema de código aberto.
Este centro também auxiliará clientes a identificar produtos disponíveis em
Linux, assim como instalar, configurar e integrar produtos durante "testes de conceito".
Funcionários IBM poderão compartilhar as melhores práticas aplicáveis ao Linux e aos mais
74
75
de 120 produtos de middleware IBM compatíveis com Linux e encontrar soluções para
problemas de clientes, replicando diversos ambientes previamente testados em outras
situações.
Um exemplo brasileiro é a Voxline, empresa do grupo Alsaraiva, que presta
serviços de contact center para a rede Habib's. A empresa utilizou os recursos do Linux
Integration Center de Austin no seu projeto de implementação do sistema operacional aberto.
"Instalamos duas máquinas xSeries 350 trabalhando em alta disponibilidade para ser o
coração do serviço de delivery Habib's 28" - explica Francisco Viana, diretor de Tecnologia
da Informaçõa da Voxline. "O LIC nos ajudou a configurar Linux neste ambiente altamente
crítico, onde rodam o banco de dados IBM DB2 e o software WebSphere. Técnicos de Austin
acessaram remotamente nossos servidores e configuraram toda a solução"- complementa
Francisco. O trabalho foi remoto, eliminando a necessidade de viagens dos técnicos da IBM
até o Brasil ou dos especialistas da Voxline para o Texas.
7.4 – Caso 04 - Fabrimar - sem perda de tempo
Uma das maiores fabricantes de metais para cozinhas e sanitários no Brasil alia
versatilidade com baixo custo de implantação com o Linux
Facilidade na administração de servidores, aumento da produtividade,
segurança e estabilidade. Esses fatores, aliados a baixos investimentos no processo de
implantação de aplicativos e no treinamento das equipes de informática, fizeram com que a
Fabrimar, fabricante de metais para banheiros e cozinhas, empresa sediada no Rio de Janeiro,
com cerca de 900 funcionários, optasse popr instalar o Linux em seus servidores. A empresa
atua no mercado nacional há 40 anos e investiu R$ 150 mil em informática no ano passado.
Para este ano, a previsão de investimentos na área é de R$ 100 mil. O faturamento da
Fabrimar no ano 2000 foi de R$ 60 milhões. Na década de 60, a atividade principal da
empresa era a fabricação de peças usinadas e, posteriormente, botijões de gás, passando para a
produção de metais sanitários a partir da década de 70. A preocupação atual da empresa é
garantir em todo o território nacional um atendimento de qualidade com reposição imediata
de peças para seus pontos- de- vendas e, conseqüentemente, seus consumidores. A Fabrimar
tem escritórios em São Paulo, Rio de Janeiro, Minas Gerais e Pernambuco, além de
representantes em todos os demais estados. Para atingir níveis de eficiência satisfatórios, o
75
76
sistema de tecnologia da informação da empresa teria de atingir níveis satisfatórios de
confiabilidade, aliados a robustez e segurança. Todos os processos logísticos de abrangência
nacional, por mais complexos que fossem, deveriam ter baixa margem de falhas e delays que
atrapalhassem a produtividade da empresa.
O projeto inicial do sistema de informática da Fabrimar havia sido projetado
com base na tecnologia Windows NT 4.0 em servidores para arquivos, Web, correio
eletrônico e fax, além do firewall. Mas os técnicos da empresa não estavam satisfeitos.
"Tivemos muitos problemas de compatibilidade do Windows NT com os servidores HP, até
então homologados para NT" salienta Victor Zucarino, engenheiro de redes e responsável
pela rede interna da empresa desde maio do ano passado. Zucarino ressalta que horas de
trabalho foram perdidas com o trabalho de restauração de arquivos, quando o servidor caía.
Até que, no final do ano passado, Zucarino sugeriu a implantação do Linux em seus
servidores ao gerente da área de Tecnologia da Fabrimar, Waldyr Neto, responsável pela
infra-estrutura de tecnologia da informação da empresa. A sugestão foi aceita. "O MS
Windows NT 4.0, em conjunto com o servidor LC3 da HP, apresentou problemas de
compatibilidade e estabilidade", diz Zucarino. A Fabrimar contou com o apoio de seu
provedor de acesso, PC Solution, do Rio de Janeiro, para a elaboração de um projeto
orientado para soluções Linux, com servidores utilizando as aplicações Samba, Sendmail,
Apache e Ipchains.
Antes, porém, tinham sido avaliadas várias opções até chegar ao Linux. De
início, havia sido escolhida a plataforma Win NT com aplicativos de redes da Computer
Associates em servidores Intel da HP. "Com o tempo e os problemas, partimos para a
plataforma Linux", completa Victor Zucarino. Outro fato que pesou na decisão da empresa
para adoção do Linux foi a fiscalização de software que a Fabrimar sofreu no ano passado.
"Chegamos a conclusão de que não poderíamos ter a Microsoft como parceira nessa
empreitada."
Em termos de economia hoje, o servidor de arquivos Samba está no ar em
perfeito funcionamento, o servidor Apache é que guarda a intranet da empresa e não há
reclamações quanto ao firewall e o servidor de correio Sendmail. Os benefícios não se
resumem apenas na economia com o modelo open source. "Estamos felizes com o Linux não
apenas pelo dinheiro economizado em licenças, mas pela estabilidade e facilidade na
76
77
administração, que serviu de alavanca para o crescimento tecnológico da empresa", ressalta o
engenheiro da Fabrimar.
O resultado mais visível de todo o processo de modernização da rede de dados
é a forma rápida e de custos baixos com que os funcionários da empresa acessam o e-mail e a
Web. Uma aplicação baseada na plataforma Linux para entrada de pedidos pela Web a ser
utilizada pelos escritórios de vendas da Fabrimar em todo o país está em fase final de
desenvolvimento. "A comunicação na empresa ficou mais ágil e informal e a integração com
nossa força de vendas é o passo mais importante para a empresa atualmente", complementa
Waldyr Neto.
Para implantação do sistema e treinamento dos funcionários da empresa, foram
investidos R$ 4,5 mil, e o tempo gasto para instalação e configuração dos servidores foi de
apenas uma semana. A plataforma HP Intel usa as distribuições Red Hat e Conectiva nos
servidores de arquivos, Web, correio e firewall. Na aplicação ERP da Fabrimar, está sendo
utilizado o banco Informix e na aplicação de entrada de pedidos pela Web, em fase final de
testes, a empresa usa Linux com MySQL. "Temos certeza de que o retorno será bem superior
a nossas expectativas", conclui satisfeito Victor Zucarino. Problemas com o servidor
definiram a migração.
Em maio de 2000, o engenheiro de redes da Fabrimar, Victor Zucarino,
descobriu que o servidor LC3 da HP e o WinNT instalado nele estavam com um
comportamento estranho. Quando foi iniciada a migração de arquivos das estações para o
servidor, começaram a aparecer problemas de estabilidade. "Muitas vezes dois discos Scsi do
RAID paravam e perdíamos muitas horas de trabalho para recuperar os dados, isso quando
estava apenas havia duas semanas na Fabrimar". Passaram-se seis meses e vários técnicos da
HP estiveram na empresa, mas os problemas persistiam. "Testei compatibilidade com Service
Packs da MS, drivers atualizados etc. mas os problemas sempre voltavam".
O trabalho se tornou mais difícil quando os usuários passaram a não confiar
mais nos servidores e começaram a guardar seus arquivos em suas estações de trabalho. "O
problema passou de técnico a político e somente uma solução política poderia resolvé-lo",
declara.
77
78
A Micromídia, empresa parceira da Fabrimar, que fora a responsável pela
venda dos equipamentos, entrou em contato com a HP, que atendeu prontamente às
solicitações da empresa. Um novo servidor LC2000 foi fornecido. "Eu já havia instalado o
Linux no outro servidor LC3 para trabalhar como servidor intranet e e-mail, como teste", diz
Zucarino. E, com muita satisfação, complementa. "Com esse servidor, não tivemos
problemas, ele está no ar até hoje. Acho que até homologamos o equipamento para o Linux!".
O novo servidor foi instalado com o Linux e tem se comportado muito bem. "O Linux se
encaixou perfeitamente em nossas necessidades e o resultado é o retorno na confiança dos
usuários e progresso no projeto da rede Fabrimar", conclui.
7.5 – Caso 05 – A Texto Editora migra para Linux
Apesar de ser adepta do Unix, a empresa preferiu adotar o software de Linus
Torvald devido ao seu baixo custo
O Unix foi sempre o sistema operativo de referência no ambiente tecnológico
da Texto Editora. Todas as aplicações do seu core business trabalhavam com Unix, desde as
aplicações de faturação e de stock às de contabilidade. No entanto, a empresa cedeu aos
encantos do Linux, nomeadamente ao baixo preço das licenças, e decidiu adaptar todos os
seus sistemas à tecnologia de Linus Torvald.
Carlos Santiago, responsável de sistemas da Texto Editora
Segundo nos revelou Carlos Santiago, responsável de sistemas da Texto Editora, a decisão de
migrar todos os sistemas para Linux esteve também diretamente relacionada com a
versatilidade e a fiabilidade do software, dado que as diferenças em termos de qualidade do
Unix para o Linux “são praticamente inexistentes”. Atualmente, todas as aplicações da Texto
Editora operam em Linux, sejam as aplicações core como as de Internet. Outra das vantagens
do novo sistema prende-se com o tempo de instalação. A título de exemplo, a instalação de
um servidor Linux “leva cerca de 12 horas, enquanto a de um Windows NT para a mesma
finalidade demora praticamente uma semana». De referir também que o Linux «necessita de
uma máquina menos veloz para executar o mesmo tipo de aplicação, o que acarreta muitos
menos custos no momento de aquisição”.
A empresa passou a ter um conjunto de servidores que funciona com as
aplicações core business da empresa, estando o sistema de gestão central distribuído por duas
78
79
máquinas com Linux. Possui igualmente um servidor de base de dados de imagens
digitalizadas, que armazena até 8 terabytes de informação (sendo a base de dados em Oracle),
para além de servidores de ficheiros, de impressão e de tratamento de imagem, entre outros.
«São cerca de 30 as máquinas a correr Linux», revelou o técnico da empresa.
A responsável pelo fornecimento da nova tecnologia foi a Memosis, parceira
que também já havia implementado servidores na editora há cerca de 15 anos. Como nos
adiantou Carlos Santiago, a estrutura informática interna da Texto «não possuía as
competências necessárias para instalar um sistema de raiz na altura, o que fez com que o
arranque de qualquer sistema fosse sempre feito por empresas contratadas».
A Memosis também ficou encarregue de toda a infra-estrutura de rede, desde o
desenho à sua implementação em todas as instalações da companhia em Portugal e nas suas
delegações nos PALOP.
O primeiro contato da Texto Editora com o Linux deu-se há cerca de cinco
anos, altura em que instalou um Linux Enterprise Server, uma implementação que, segundo o
responsável de sistemas, «foi de grandes dimensões». As instalações agora levadas a cabo são
o estado mais evoluído das instalações Linux, tendo sido implementados dois enterprise
servers com a versão de Linux da Red Hat.
A experiência que a Texto Editora já tinha com o Unix da SCO fez com que a
instalação de sistemas Linux fosse bastante mais simples. A decisão de avançar para o SO de
código aberto “coincidiu com a abertura do mercado Internet, sendo que quase todos os
servidores Web eram Linux”, disse o mesmo responsável ao Semana. A empresa começou,
assim, por instalar quatro servidores Web em Linux. Posteriormente, veio a implementação
dos servidores de core business, que sofreram a migração de UnixWare, da SCO, para Linux,
e que «estão a apresentar, até agora, resultados bastante positivos».
Instalação sem problemas
As fases mais complicadas relacionaram-se com as instalações efetuadas pela
primeira vez. Mesmo quando se trabalha com empresas como a Memosis, que têm técnicos
competentes nesta área, “existe sempre um certo nível de ansiedade no que respeita a
79
80
primeiras implementações”, mencionou Carlos Santiago. No entanto, «não se pode dizer que
essa ansiedade fosse um problema», acrescentou.
Como já é hábito na Texto, aproveitou-se este projeto para mudar algumas
máquinas, mas não nos foi revelado quais foram as novas aquisições. Sabemos, no entanto,
que a editora possui cerca de 30 servidores de média gama, dos quais 90 por cento são
Compaq. Segundo Santiago, o motivo que levou à escolha desta fornecedora foi simples: «A
assistência técnica da Compaq permite que as peças avariadas sejam substituídas num período
máximo de 48 horas, algo que mais ninguém faz e que é imperativo para a Texto Editora.» A
empresa tem igualmente três servidores Hewlett-Packard e outros tantos de linha branca.
Os técnicos contratados para fazer a migração para Linux já vinham formados.
As pessoas que vão utilizar as máquinas, essas, «aprenderão com a prática», disse o
responsável de sistemas. A Texto Editora conta também com um system administrator. O
projeto arrancou em 1998 e, desde então, tem instalado entre sete e oito máquinas por ano,
trocando-as em cada três anos. Segundo Carlos Santiago, os sistemas da Texto em Portugal
estão praticamente definidos, pelo que não se farão mais aquisições a curto prazo.
Os projetos para o futuro passam agora pelas delegações no estrangeiro da companhia, os
quais serão levados a cabo de acordo com as especificidades e com o crescimento de cada
uma delas.
80
81
8. LINUX X WINDOWS
8.1 - Segurança: Windows x Linux
De acordo com Cortapasso (2004), quando se reúnem vários profissionais do
ramo de Informática, algumas vezes se fala sobre segurança nos vários sistemas operacionais
existentes. Entre os mais citados estão as famílias Windows e Linux. Neste caso, uma
pergunta fica no ar: Em qual sistema operacional você mais confia?
Alguns respondem que Linux é mais seguro, outros dizem que é o Windows
NT/2000. Mas no fim conclui-se que mesmo que estes dois sistemas estejam bem protegidos,
sempre existe a maneira de "burlar" a segurança dos mesmos.
Como? Utilizando um disquete de inicialização de Windows ou Linux é
possível copiar, apagar ou alterar arquivos e pastas no disco rígido. Tão simples que qualquer
pessoa com o mínimo de conhecimento consegue.
Particularmente, um disquete de inicialização do Linux permite o acesso a
todas as partições do disco rígido, sejam elas formatadas com o sistema de arquivos FAT
16/32 ou NTFS. Uma vez acessando as partições, é possível, por exemplo, alterar a senha do
administrador e com isso, fazer um grande estrago.
Com a tecnologia de Proteção de Boot desenvolvida pela SCUA, este tipo de
procedimento não é mais possível nos sistemas operacionais Windows 9x/Me e NT/2000,
pois as partições ficam inacessíveis quando a inicialização é feita por disquete. Além dessa
proteção, existe ainda a possibilidade de criptografar as partições que contenham dados
confidenciais, tornando praticamente impossível o acesso a esses dados sem uma devida
identificação e autenticação.
Tudo isso, sem contar que a SCUA sempre incorpora a seus produtos as
novidades que o mercado de segurança da informação traz freqüentemente, como novos
algoritmos de criptografia, formas alternativas de autenticação (smart cards, dispositivos
biométrico etc.).
81
82
Há muitos anos somos massacrados pelo monopólio do Sistema Operacional e
nem percebemos. Só falamos no Windows, só compramos o Windows, só usamos o
Windows. Sabemos o que ele nos oferece e somos gratos por isso. Esquecemos de conferir o
que os concorrentes têm a oferecer.
E assim Bill Gates abusou de nossa boa vontade lançou produtos inacabados e
colocou os preços nas nuvens - se tornou o homem mais rico do mundo e foi feliz para
sempre.
Mas talvez as coisas estejam prestes a mudar... Em 1991, o finlandês Linus
Torvalds lançou o Linux, um sistema operacional revolucionário que prometia bater o
Windows. Hoje, no Brasil, segundo a Istoé, ele funciona em 27% dos servidores de rede e em
5% dos micros domésticos. Na maioria das Procuradorias, inclusive na nossa, o Linux é o
sistema operacional escolhido para hospedar as páginas (Internet e Intranet) da instituição.
Conforme Paula (2004), as principais diferenças entre os dois são :
1) O Windows tem código fonte fechado, isto é, ninguém pode alterá-lo, só o fabricante tem
acesso para corrigir os erros ou aperfeiçoá-lo. Ao contrário, o Linux não tem segredos e há
vários grupos trabalhando em seu desenvolvimento e criando versões de acordo com as
diversas necessidades do mercado.
2) Uma única cópia do Windows está sendo vendida em média por R$500,00 (quinhentos
reais) enquanto o Linux é distribuído, sem limite de instalações, cobrando-se apenas os preços
dos manuais e da mídia.
3) O Linux é estável, praticamente não trava, trabalha como um verdadeiro sistema
operacional multitarefa. No Windows freqüentemente temos que pressionar Ctrl+Alt+Del e
reiniciar o computador.
4) Há uma grande oferta de aplicativos para o Windows, principalmente jogos, o que o torna o
preferido dos usuários domésticos. No Linux há programas para editar imagens, digitar textos,
acessar a Internet, mas quanto aos jogos ele deixa a desejar.
82
83
5) O Linux tem procedimento de instalação potencialmente mais difícil e só é recomendável a
usuários experientes fazê-lo sem assistência.
Certamente, a grande motivação para quem quer trocar o Windows pelo Linux
é o preço. Estima-se, segundo o Correio Braziliense, de 27/03/2001, que o Governo Federal
gasta anualmente na aquisição de software proprietários (derivados da Microsoft basicamente)
R$ 4 bilhões por ano. Na PR/GO gastaremos R$ 25.000,00 reais na compra de programas este
ano.
Claro que as coisas não são tão simples assim, não podemos trocar nossas
ferramentas, de uma hora para outra, sem antes elaborar refinado programa de treinamento e
sem um largo período de transição. Mesmo assim, as resistências seriam enormes. A inércia e
o comodismo, próprios de nossa rotina de trabalho, inibe inovações. Porém, as vantagens, a
longo prazo, são gigantescas.
8.2 – A utilização do Linux e do Windows
Pesquisa indica que 39% das empresas norte-americanas utilizam Linux em
suas aplicações. E no Brasil, como é a participação do pingüim no mercado corporativo?
(Carvalho, 2004).
Em dezembro de 2002, uma pesquisa do Goldman Sachs Group realizada nos
Estados Unidos revelou que 39% das empresas daquele país fazem uso de Linux para alguma
aplicação em suas atividades, principalmente em ambientes mainframe, data center, banco de
dados e servidores. E no Brasil, como anda a utilização do Linux no mercado corporativo?
Uma pesquisa realizada em 2002 pela Fundação Getúlio Vargas indica que o
Windows é líder disparado no mercado de desktops no Brasil, sendo usado por 97% das
empresas consultadas. Em relação aos servidores, esse número cai para 57%, enquanto que o
Linux fica com 8%.
O que faz a empresa migrar?
A velha discussão Windows x Linux sempre gera polêmica, pois os dois têm
fiéis defensores de suas vantagens e aplicações no mercado. Para o analista de suporte da
83
84
Mastery Consulting - especializada em infra-estrutura para ambientes de missão crítica -,
Rodivaldo Marcelo, a escolha entre Linux e Windows depende das necessidades de cada
empresa.
Não defendemos nem um nem outro. Tudo depende de como a empresa usa o
sistema para que ele acabe com problemas e traga soluções. Às vezes, a escolha pode estar
relacionada a uma questão de gosto, mesmo reconhecendo as qualidades de um outro - opina.
De acordo com o estudo do Goldman Sachs, as empresas americanas que
adotaram o Linux levaram diversos fatores em consideração. Entre eles estão redução de
custos, estabilidade e segurança do sistema. Neste ponto, os motivos que levam empresas
brasileiras a optarem por Linux são muito semelhantes.
Um dos principais motivos é redução de custos, que é absurda em relação ao
que se gasta com a utilização do Windows. A controvérsia surge quando se fala em TCO
(Total Cost of Ownership/Custo Total de Propriedade), pois há quem diga que o uso do Linux
sai caro em longo prazo, devido aos gastos com suporte e treinamento de pessoal – analisa.
O barato sai caro?
O TCO é um dos pontos abordados em outro estudo, este feito pelo IDC em
2002, a pedido da Microsoft. A análise mostra que as empresas que adotam Linux têm, em
um prazo de cinco anos, um aumento nos gastos relacionados a contratação de pessoal;
treinamento e manutenção.
Em relação ao Windows 2000 Server, a pesquisa mostra que o sistema requer
menos tempo para instalação e configuração, o que representaria uma economia entre 11% e
22%.
Embora reconheça que o custo de suporte e manutenção do Linux seja menor,
considerando-se fornecedores como RedHat e SuSe, o estudo do IDC diz que isto representa
apenas 10% do TCO de uma empresa, admitindo, porém, que o Linux leva vantagem no
ambiente Web.
84
85
Para nós, o Linux é mais um competidor que tenta mostrar seu valor alegando
que tem um custo menor. Mas apesar do custo ser baixo, sua manutenção é mais difícil. É
como botar o filho para estudar em uma escola pública, buscando uma economia, e depois
descobrir que a escola está a 50 Km de distância de sua casa – compara o gerente de Produtos
da Microsoft, Eduardo Campos de Oliveira.
8.3 - Experiência no mercado
Mas há casos conhecidos e amplamente divulgados pela mídia de empresas que
migraram para Linux e só lucraram com isso. Algumas delas são o Metrô de São Paulo, a rede
varejista Casas Bahia e a rede de lojas Renner, que começou a migrar para Linux em 1997.
Na Renner, essa migração teve início nos pontos de venda e hoje a empresa
utiliza o Linux em todas as suas estações de trabalho e servidores, resultando num aumento de
40% na produtividade da equipe de vendas.
A Conectiva, principal distribuidora Linux no Brasil, não tem estudos sobre a
utilização do pingüim no mercado corporativo brasileiro. Mesmo assim, o diretor de Produtos
e Soluções da empresa, Rodrigo Stulzer, ressalta que o sistema é confiável para atender a
todas as necessidades das empresas.
No mercado de servidores, podemos dizer que já atendemos a 90% dos casos
quanto ao uso desses aplicativos. Em relação aos desktops, também temos soluções para o
usuário. Hoje, ele pode facilmente usar um aplicativo semelhante ao Office, além de um
browser, um leitor de e-mails, entre outros.
8.4 - Reforço de peso
A utilização do Linux no mercado corporativo promete ganhar impulso com a
criação do UnitedLinux, uma iniciativa de algumas das principais distribuições do pingüim
em todo o mundo com o objetivo principal de aumentar e fortalecer a penetração do Linux no
mercado corporativo.
85
86
Com a iniciativa, Conectiva, Caldera, SuSE e Turbolinux desenvolveram e
lançaram, juntas, uma versão padronizada do Linux, exclusivamente voltada para o mercado
corporativo. E o UnitedLinux conta com outras importantes adesões, como IBM e AMD, que
uniram-se à iniciativa como parceiros de tecnologia.
Além disso, o Linux há tempos vem conquistando adeptos no setor público,
como o governo do Rio Grande do Sul, que tem várias iniciativas relacionadas ao uso de
software livre. As escolas do estado, por exemplo, foram informatizadas com a utilização de
Linux, o que significou uma economia de 50%, segundo o site oficial do governo do Rio
Grande do Sul.
86
87
9. ESTUDOS COMPARATIVOS ENTRE LINUX E WINDOWS FEITOS PELA
UNIVERSIDADE DE SÃO PAULO E A EQUIPE DE IWB
Todas as informações abaixo foram observadas e seguem fielmente as
pesquisas realizadas, conforme site www.informationweek.com.br.
A Equipe de IWB, com apoio da Universidade de São Paulo, analisa o custo
total de propriedade do Linux e do Windows em servidores, sob a coordenação de Nicolau
Reinhard e Nivaldo Foresti
A “guerra” entre os sistemas operacionais Windows e Mac OS data da década
de 80. No começo dos anos 90 teve início a disputa entre navegadores, envolvendo Internet
Explorer e Netscape. Em ambas as ocasiões a Microsoft saiu vitoriosa. Como a História se
repete, eis que estamos presenciando, em pleno começo do século 21, uma nova “guerra” dos
sistemas operacionais, dessa vez envolvendo Windows e Linux (Open Source). Indícios
existem que ela tenha recomeçado, agora com argumentos diferentes. Estaria a Microsoft,
depois das vitórias passadas, sendo ameaçada? A tática usada por seus adversários, talvez
mais por uma convicção do que por uma estratégia de marketing, é similar à que ela usou no
passado: dar de graça o que os concorrentes vendem.
Institutos de pesquisa independentes têm realizado estudos comparativos,
alguns deles patrocinados por empresas do mercado, como a Microsoft. Como ocorre em toda
guerra, as informações são usadas de modo estratégico. Quando os resultados privilegiam o
oponente, o estudo é recebido com consternação e dúvida. Por exemplo, se os resultados são
favoráveis à empresa que patrocinou o estudo, há quem até questione o instituto que a
realizou. Isto pode levar os institutos até a mudarem suas políticas comerciais, apesar de
serem empresas com credibilidade indubitável. Veja o caso envolvendo Forrester/Giga no
endereço http://www.forrester.com/Info/0,1503,355,00.html.
Quando INFORMATIONWEEK Brasil pensou em realizar uma bancada de
testes comparando o custo de propriedade dos sistemas operacionais para servidores Windows
e Linux para ser apresentado durante o IT Conference, esse era exatamente o cenário. Para
não deixar dúvidas quanto ao resultado do trabalho, a equipe de IWB convidou e coordenou
professores de duas entidades que pudessem ser isentos e ao mesmo tempo ter a capacidade
87
88
de realizar tal tarefa: a FEA (Faculdade de Economia e Administração) da USP, para todo o
arsenal econômico e de análise de custo, e o ICMC (Instituto de Ciências Matemáticas e
Computação) da USP de São Carlos, para os benchmarks e análises técnicas.
Apesar do estudo usar o conceito de Custo Total de Propriedade (TCO), já que
o objetivo era comparar os ambientes, não foram considerados itens de custo comuns, como
infra-estrutura física. Tampouco outros custos como o ambiente de desenvolvimento e
disponibilidade de produtos, que podem ser específicos para cada aplicação, foram
considerados. A análise dos ambientes focou os seguintes itens de custo: hardware, licenças
de software, pessoal, treinamento e consultoria e custo de downtime.
O objetivo era não somente comparar os custos entre os produtos, mas também
ajudar as corporações a verificar e analisar seus próprios números. Para isso foi construída
uma planilha que permite o cálculo daqueles itens do custo de propriedade para uma empresa
em particular.
A pesquisa realizada previamente ao estudo deixa claro que está crescendo o
uso corporativo do Linux. A tecnologia está sendo adotada em ambientes de produção e sendo
incorporada pelos técnicos, o que fica aparente quando se encontra uma mesma equipe de
suporte mantendo os dois sistemas operacionais dentro da empresa.
É importante frisar que o perfil de uso dos softwares é diferente, com
evidências de que o ambiente Linux é mais usado em serviços de infra-estrutura do que em
aplicações integradas. Da totalidade dos sistemas operacionais dentro das companhias
pesquisadas, 80% das aplicações de Linux estão em infra-estrutura ou servidor de Web. Os
demais 20% se dividem entre banco de dados e ferramentas de groupware. Já na utilização do
Windows estas últimas são mais freqüentes, com participação de 33%, contra 67% para as
primeiras.
Em ambos os ambientes, o componente de custo mais significativo é o pessoal
de suporte. Ainda que os testes de laboratório tenham identificado diferenças de tempo entre
as plataformas na execução de atividades específicas, não se observaram diferenças
significativas no custo total. A pesquisa não identificou diferenças no perfil e salários das
equipes, embora se devam considerar as diferenças de complexidade das aplicações nos dois
88
89
ambientes. Um indicador interessante é que os gastos com treinamento e consultoria
representam apenas 6% do custo total. Para empresas de pequeno porte, a participação do
custo de pessoal nos itens analisados é de 88% a 94%, contra índices de 65% a 77% nas
grandes companhias.
Já o custo de licenças associadas, como banco de dados e antivírus, tem grande
peso no valor total da solução. Por isso a vantagem financeira do Linux se torna mais
significativa apenas no caso em que a empresa também opta pelo uso de software livre
gratuito para todo o ambiente.
Na pesquisa, como também no painel de apresentação dos resultados no IT
Conference, ficou evidente que a decisão quanto à plataforma a ser usada não pode ser
baseada apenas nas diferenças de custo (que podem ser pequenas), devendo levar em
consideração aspectos técnicos, de estratégia e cultura da empresa e mercado. A dinâmica do
mercado de software, refletidas em políticas de preços, disponibilidade de serviços e recursos
humanos, deve levar a mudanças rápidas nos valores, razão pela qual esta análise deve ser
refeita por cada empresa por ocasião de novas decisões.
A pesquisa ainda revelou outros dados interessantes. Um deles é o custo médio
mensal de pessoal por servidor, levando em conta salários, encargos e benefícios: 2.653 reais,
sem diferença significativa entre ambientes ou tamanho de empresa.
9.1 - Análise Técnica
O ICMC participou do estudo ajudando nos testes de desempenho, que se não
se mostraram conclusivos, pois as ferramentas existentes não comparam adequadamente os
recursos dos sistemas operacionais. Os principais itens identificados são os seguintes:
-
Os dois sistemas já suportam plataformas de 64 bits
-
Os sistemas de cluster padrão e comerciais dos dois sistemas suportam até oito
servidores, mas o Linux tem versões com um número ilimitado de nós em um cluster,
caso da ferramenta de busca Google, que utiliza 15 mil máquinas
-
Os sistemas de arquivos e criptografia existem nas duas plataformas, com mais
integração no Windows e mais variedade no Linux, que conta uma maior
complexidade de instalação e configuração
89
90
-
O sistema de terminais é muito mais gráfico no Windows, mas muito mais antigo no
Linux
-
O Windows tem uma limitação de 64 processadores em uma configuração SMP, o que
não acontece com o Linux
9.2 - Metodologia da pesquisa
Para iniciar o trabalho foi realizada uma pesquisa em mais de 240 empresas. A
constatação é que existe uma grande diversidade nas condições de uso dos ambientes. Além
da escolha do sistema operacional, há um grande número de outras decisões e situações da
empresa que influem no custo e desempenho de operação dos servidores.
Para uniformizar os dados e facilitar a generalização das conclusões, solicitouse às companhias informarem os recursos (humanos, hardware, software e serviços) usados,
que foram valorados pela equipe da pesquisa a partir de custos obtidos junto a fornecedores
idôneos e com marcas conhecidas. Para a comparação foram usados os valores presentes dos
investimentos e despesas no período de cinco anos, descontados a um valor usual de taxa
interna de retorno em empresas. A depreciação dos investimentos é feita no mesmo prazo.
Para permitir uma comparação em condições similares, a pesquisa procurou
controlar as seguintes fontes de variação:
-
Tamanho de empresa: a amostra foi classificada em três classes de tamanho, de acordo
com o seu faturamento (pequena, média e grandes). As análises foram feitas em
separado para cada classe
-
Arquitetura e dimensão: foram identificadas as arquiteturas e dimensão do parque de
servidores para classe de tamanho de empresa. As análises comparativas foram feitas
para a configuração mais freqüente (modal) em cada classe
-
Custo de hardware e licenças de software: foram feitas pesquisas de preço junto a
fornecedores de primeira linha para as configurações modais
-
Custo de treinamento: foram pesquisados os custos em empresas especializadas
-
Custo de mão-de-obra: as empresas informaram o seu quadro técnico para suporte aos
servidores e sua dedicação a cada plataforma. Para o custo desta mão-de-obra em cada
configuração modal foram usados dados de remuneração de mercado fornecidos por
empresa de recrutamento e seleção
90
91
-
Eficiência da equipe técnica: Os tempos unitários para atividades típicas de suporte
foram obtidos a partir de experimentos no laboratório da IT Mídia e do tempo usado
em cada plataforma pelas empresas pesquisadas
Abaixo,o leitor tem todas as apresentações, planilhas, cálculos e resultados. do estudo
em questão.
91
92
92
93
93
94
94
95
95
96
96
97
97
98
98
99
99
100
100
101
101
102
102
103
103
104
104
105
105
106
106
107
107
108
9.3 - Estudo do TCO de Servidores
Autor do Estudo: Márcio Augusto Madeira - Gerente de Desenvolvimento de TI - IT Midia
S.A.
Comparativo dos sistemas operacionais Linux e Windows
Para este estudo, procuramos abordar o maior número de fatores possível que
influenciassem o custo de propriedade dos sistemas operacionais nos servidores. Para tanto,
levamos em conta o tamanho da empresa, período, crescimento médio anual da empresa,
custos com software, hardware, treinamento, suporte e pessoal.
Todos os dados utilizados foram extraídos da pesquisa elaborada pela IT Mídia
ou de institutos com autoridade reconhecida sobre tais dados.
Segue uma breve descrição sobre os dados utilizados e a forma de inseri-los na planilha.
TCO servidores do período
Calculado a partir da soma simples de Licenças, Hardware, Treinamento e
Consultoria, Pessoal e Downtime
108
109
Porte da empresa
Apenas informativo e baseado no número de usuários
Período de análise (em anos)
Influencia diretamente o cálculo do TCO e é usado para calcular valores de
upgrade de servidor, licenças baseadas em número de clientes, horas de consultoria, upgrades
de treinamento, depreciação de hardware etc.
Crescimento médio anual
Utilizado para calcular o número de clientes no final do período de análise. O
número utilizado para pequena, médias e grandes empresas foi extraído de pesquisa realizada
pela Escola de Administração de Empresas de São Paulo, da Fundação Getulio Vargas.
7
Licenças
As células preenchidas em cinza serão calculadas automaticamente.
Para cada linha da tabela informar o seguinte:
o Software: tipo de software utilizado
o Produto: produto utilizado para atender a configuração
o Total: total da linha considerando custo da licença no período, upgrades do
software e custo de licenças de cliente baseado no período e crescimento médio
anual
o Licenças de servidor
o Valor unitário: informar o valor de uma única licença. No caso de compra de um
pacote de software, colocar o valor total do pacote na primeira linha e repetir os
softwares incluídos na coluna produto das linhas seguintes
o Quantidade: informar a quantidade de licenças necessárias para o produto ou
pacote em questão. Pode ser necessária uma licença para cada servidor ou uma
para cada processador ou somente o valor da mídia, no caso de software livre
o Upgrade de licenças do servidor
109
110
o
Tempo (anos): tempo estimado para ocorrer o upgrade do produto em questão
o Custo do upgrade: custo do upgrade de uma licença. Será aplicado para a mesma
quantidade informada em Licenças de servidor
o Total do upgrade: custo total de upgrade para o período de análise informado.
o Poderá ser zero se o tempo de upgrade for maior que o período de análise.
o Licenças de cliente: alguns softwares servidores, como antivírus, podem usar um
modelo de licenciamento do software servidor pelo número de clientes, neste caso,
informar os dados individuais abaixo. Caso o produto tenha um modelo de
licenciamento baseado em quantidades fixas, i.e. 50, 100, 150 etc., registrar como
pacote em Licenças de servidor
o Valor unitário: custo da licença de servidor para um cliente
o Quantidade: quantidade atual de licenças necessárias
o Quantidade upgrade: quantidade de licenças necessárias atualizada pela taxa de
Crescimento médio anual acima
o Valor total: custo total das licenças de cliente para o software em questão
Hardware
Listar somente os hardwares utilizados como servidor.
o Configuração: descrição da configuração do hardware adquirido
o Custo total: calculado automaticamente a partir da quantidade, custo do hardware e
custo da garantia estendida. Leva em conta o Período de Análise informado acima
para descontar o valor residual calculado com base na depreciação contábil do
hardware, trazida para valor presente pelo Custo de oportunidade anual informado
na planilha Dados
o Quantidade: número de servidores do mesmo tipo e com o mesmo Uso indicado
mais à direita. Se for utilizado o mesmo tipo de servidor para duas plataformas
diferentes ou para aplicações diferentes, colocar uma linha para cada combinação
de uso e plataforma
o Garantia (anos) e Garantida Estendidas (anos): apenas informativo
o Custo hardware: custo de uma unidade da configuração informada à esquerda
o Custo garantia estendida: custo da garantia estendida comprada para o hardware à
esquerda
110
111
o Índice de desempenho: funciona como um deflator do custo do hardware. Quanto
maior o índice, menos custo será contabilizado no TCO, simulando uma
necessidade menor de hardware
o Plataforma: marcar o sistema operacional utilizado no servidor (Windows ou
Linux)
o Banco de dados, Arquivo e Impressão, Groupware, Web: marcar com um ‘x’ o
tipo de aplicação utilizada no servidor
o
Treinamento e Consultoria de Suporte
Consultoria
o Horas/ano: informar o número de horas de consultoria estimado para cada
plataforma
o Custo/hora: informar o custo da hora de consultoria para a plataforma
Treinamento
o Quantidade de treinamentos full: informar a quantidade de treinamentos
necessários para cada sistema abaixo. No estudo, demos treinamento de sistema
operacional para todo o pessoal de TI e os demais treinamentos para cargos acima
de estagiário
o Quantidade de treinamentos upgrade: será calculado com base na quantidade de
treinamentos full e o tempo em anos para o upgrade de treinamento. Poderá ser
zero se o tempo de upgrade for menor que o período de análise
Custo do treinamento para administração
Refere-se ao custo dos treinamentos para a administração e operação de Sistemas
operacionais, Bancos de dados e Groupware
o Treinamento completo: informar o valor do treinamento para os softwares
indicados em cada plataforma
o Upgrade de treinamento: informa o valor do treinamento complementar para a
nova versão de software. No estudo, consideramos 50% do treinamento inicial
111
112
o Upgrade de treinamento (tempo em anos): informar após quanto tempo do
treinamento completo deve ser realizado um upgrade de treinamento
o Software considerado: listar os softwares considerados para referência
Pessoal
O cálculo do custo de pessoal deverá levar em conta somente o tempo utilizado
para administração e operação de servidores e será trazido para valor presente à taxa de 1/12
do Custo de oportunidade anual informado na planilha Dados.
Para cada cargo da tabela, informar o seguinte:
o Quantidade de funcionários no cargo referido
o
% utilização: percentual do tempo de trabalho desses funcionários destinado à
administração e operação dos servidores
o Custo: valor pago mensalmente a cada funcionário do cargo referido, em média.
Os cargos listados sob o tipo de contrato CLT serão corrigidos de acordo com os
Encargos CLT listados na planilha Dados
Downtime
Neste estudo, mantivemos o custo de downtime em zero por considerar que
downtimes com custos significantes no TCO se refletem em acréscimo na segurança dos
sistemas servidores, seja em hardware ou em software
A seguir a planilha com o resumo do estudo em questão:
112
113
TCO Servidores
Personalizado
Linux (software livre)
Linux
Windows
Taxa de Crescimento Anual
Funcionários
Equipe de TI
Estagiário
Analista suporte JR
Analista suporte PL
Analista suporte SR
Administrador rede
Servidores
Hardware
Pentium 4,2.4GHz,256MB RAM,HD ATA 40GB
- instalação
- extensão de Garantia
Pentium 4,2.4GHz,256MB RAM,HD ATA 80GB
- instalação
- extensão de Garantia
Dual Xeon,2.4GHz,1GB RAM,RAID-5 200GB
- instalação
- extensão de Garantia
External Storage 2TB
- instalação
- extensão de Garantia
Licenças Linux
Conectiva Linux Enterprise Basic
Conectiva Linux Enterprise Standard
Conectiva Linux Entreprise Master
Vexira Antivirus for Mail Servers
Oracle Database Standard Edition
Oracle Database Enterprise Edition
Lotus Notes R5 with Messaging
Licenças Windows
2 Windows Srv Std 2003 + 5 CAL
1 Windows Srv Web
40 Windows Server CAL
1 MSDE - Microsoft Database Engine
serviço de e-mail nativo do Windows
5 Windows 2003 Server Standard Edition
1 Windows 2003 Server Web Edition
1 ISA Server Standard Edition
1 SQL Server Standard Edition
1 Exchange Server Standard Edition
175 Windows Server CAL Device
175 Exchange Server CAL
20 SQL CAL
Symantec Mail Security
4 Windows 2003 Server Enterprise Edition
4 Windows 2003 Server Web Edition
6 Windows 2003 Server Standard Edition
1 SQL Server Enterprise Edition
1 Exchange Server Standard Edition
1 ISA Server 2000
600 Exchange Server CAL
600 Windows CAL + 60 SQL CAL
Consultoria
Linux
Windows
Downtime
Windows
Linux
Grande
Média
Pequena
R$
0,0%
R$ 1.538.332,90
81,9%
R$ 1.878.503,75 #######
R$ 1.744.669,93
92,9%
5,90%
600
10
% util
3
70%
R$
0,0%
R$ 471.154,99
78,8%
R$ 598.140,65 #######
R$ 533.644,58
89,2%
6,56%
175
4
% util
2
70%
R$
0,0%
R$ 217.993,90
93,1%
R$ 225.103,90
96,2%
R$ 234.063,83 #######
7,20%
50
3
% util
1
80%
1
70%
3
3
1
1
1
80%
60%
85%
14
Aplicação
2
Arquivo e Impressão 2
Banco de Dados
2
DNS, DHCP, diretório nomes
1
Firewall
1
Groupware
1
Intranet
1
VPN / Proxy
1
Web
3
Valor
Qtd
R$
3.421,00
R$
271,00
R$
363,00
R$
23.600,00
R$
271,00
R$
599,50
R$ 204.600,00
R$
11.786,88
R$
11.797,44
R$ 366.616,32
Valor
R$
R$
7.950,00
900,00
R$ 118.608,00
R$
256,50
Valor
10
10
10
4
4
4
1
1
1
Qtd
14
1
2
600
Qtd
100%
50%
6
Arquivo, Impressão e1Web
Banco de Dados
1
DNS, DHCP, diretório1nomes
Firewall
1
Groupware
1
Intranet
1
Valor
R$
R$
R$
R$
R$
R$
Qtd
3.421,00
271,00
363,00
23.600,00
271,00
599,50
R$ 65.161,00
Valor
Qtd
3.990,00
6
R$
R$
900,00
44.478,00
1
1
256,50
80%
3
Arquivo, Impressão e1E-mail
Banco de Dados
1
Internet, DNS, DHCP1
Valor
R$
2.699,00
R$
271,00
R$
363,00
Qtd
3
3
3
R$
9.999,00
Valor
R$
2.370,00
Qtd
3
4
4
4
2
2
2
R$
R$
Valor
1
175
Qtd
R$
R$
900,00
44.478,00
R$
Valor
R$
R$
R$
110.074,65
R$ / Hora
R$
150,00
R$
150,00
2,56%
1,66%
34.910,51
256,50
5.821,93
1
1
50
Qtd
1
1
1
Horas / anoR$ / Hora
14
R$
150,00
7
R$
150,00
Horas / anoR$ / Hora
30
R$
150,00
15
R$
150,00
2,06%
1,72%
3,28%
2,49%
113
Horas / ano
7
13
114
Objetivo
Oferecer um modelo, que permita avaliar o custo de propriedade dos sistemas
operacionais para servidores UnitedLinux, da Conectiva, e modelos do Windows 2003 para
servidores (exceto a versão DataCenter), da Microsoft. A intenção é cobrir pequenas, médias
e grandes empresas, nas formas mais comuns de sua aplicação na plataforma Intel, usado nas
aplicações de infra-estrutura, Web, banco de dados e groupware.
Para tanto, foi criada uma equipe multidisciplinar de técnicos e economistas
para avaliar os aspectos econômicos por meio de uma parceria com a FEA-USP (Faculdade
de Economia de Administração), na pessoa do Prof Nicolau Reinhard, para análise dos
resultados do questionário e a criação da planilha comparativa. Os aspectos técnicos foram
analisados pelo ICMC (Instituto de Ciências Matemáticas e de Computação) da USP São
Carlos, por meio dos professores Odemir Bruno e João Batista, que criaram técnicas para
análise do esforço de administração e suporte nas plataformas e dos testes de benchmark.
Definições e Premissas
Os dados desse estudo foram levantados a partir de várias origens: pesquisas
realizadas pela IT Mídia, pesquisas de outras entidades, universidades, pesquisa em sites dos
fornecedores, pesquisas salariais, cotações de produtos, treinamento e suporte e metodologias
para determinar variáveis que afetaram o custo.
Origem das informações
Estudo inicial – Uma pesquisa abrangendo 242 empresa, sendo 77 pequenas,
76 médias e 89 grandes empresas foi realizada no período de 20 de julho a 6 de setembro para
conseguir dados estatísticos sobre quantidade de servidores por tipo de empresa, tempos
gastos no gerenciamento, instalação e controle de problemas, tempo médio de atualização dos
servidores, quantidade de pessoas para a operação e suporte de servidores por tipo de
empresa, tempo de downtime por tipo de sistema operacional, entre outros dados. Foram
realizadas 47 entrevistas, por telefone, nas empresas modais para o detalhamento das
informações com a quantidade de horas trabalhadas, o gasto detalhado de tempo nas
operações mais comuns de operação, suporte e administração, tipos de servidores
114
115
(configurações) mais utilizadas nas diversas aplicações, custo das paradas por downtime
divididos por tipo de servidor (infra-estrutura, banco de dados, Web e groupware).
Cotações e dados de outras pesquisas – Como forma de complementar o
levantamento inicial foram identificados dados sobre custo das licenças de software, hardware
e treinamento com empresas ou suas distribuidores/revendas, tais como HP, Fast Tranning,
Microsoft, Conectiva e Oracle. Foi feita, ainda, uma pesquisa salarial pela Manager, empresa
de assessoria em recursos humanos, para se descobrir os salários médios dos cargos usados
pelas empresas.
Benchmarks e outros testes de trabalho – Foram realizados avaliações do
esforço de instalação e manutenção nas diversas plataformas com pessoas de mercado e
especialistas designados pelas duas empresas (Microsoft e Conectiva). Foram idealizadas
baterias de testes de desempenho nas configurações identificadas nos perfis para determinar
um possível deflator para a fórmula de cálculo de custo desde que as pesquisas indicassem
tais desvios.
Premissas
O modelo proposto seguiu algumas premissas básicas e, para tanto, se deve
definir corretamente o que significa o termo custo de propriedade, além de determinar qual é
o seu impacto nas empresas. Essas premissas têm impacto direto no custo e pequenas
variações em qualquer uma delas podem afetar o resultado final substancialmente.
A primeira definição que se faz necessária é a do objeto desse estudo: o custo de propriedade.
Custo Total de Propriedade, ou TCO, é uma visão holística dos custos da tecnologia de
informação (TI) na empresa durante um determinado período de tempo, levando em conta
também a oportunidade do investimento de capital realizado.
Pela própria definição, o período de tempo é uma variável crítica na
determinação do TCO, pois variáveis que afetam o custo em longos períodos podem não ter a
mesma importância em períodos menores. Assim, foi definida a premissa que o período de
análise será o tempo médio de troca de servidores para cada tamanho de empresa analisada.
Os custos foram colocados em Reais, trazidos a valor presente usando a técnica do custo de
oportunidade. Como essa análise pode ser muito abrangente, foi escolhida a metodologia
115
116
modal para análise dos custos, ou seja, por perfil de empresa. Foi para descobrir esses perfis
que se realizou a pesquisa com pequenas, médias e grandes empresas. Os perfis e as
configurações que mais apareceram para cada tamanho de empresa é que foram analisados e
comentados.
O estudo leva em conta somente as variáveis que têm maior influência no
TCO, deixando de lado assuntos como ambientes de desenvolvimento, aderência a padrões,
existência de aplicações e profissionais, escalabilidade dos sistemas, lista de recursos,
portabilidade, dentre outras menos relevantes.
Os itens considerados foram: custos das licenças de software; custo do hardware e sua
manutenção; custo do treinamento e serviços de terceiros; custo de pessoal composto de
salários para a operação; administração e suporte do software com o adicional de
encargos/benefícios, e custo de downtime dos servidores na parte que cabe ao sistema
operacional e os aplicativos analisados.
A definição de como trabalhamos com cada uma dessas variáveis está descrita a seguir.
Custo das licenças de software
Windows sistema operacional – usamos a menor métrica para os diversos tipos
de aplicação, utilizando os descontos por quantidade praticados normalmente pela área
comercial da Microsoft para cada um dos tamanhos de empresa analisados. Esses dados foram
parametrizados pela quantidade de usuários concorrentes em cada uma delas e quantidade de
servidores utilizados. Foi acrescido a isso um custo de atualização.
O tempo de upgrade foi computado proporcionalmente à média de tempo que
novas versões do sistema operacional são lançadas pela Microsoft no mercado
(http://www.microsoft.com/windows/winhistorysrvrgraphic.mspx). Esse tempo é de dois anos
e 4 meses e será acrescido um valor proporcional a um inteiro ou fração no período de análise.
As atualizações foram computadas pelo preço atual de mercado. A isso foi
acrescida uma taxa de crescimento anual de usuários/licenças média no período. Essa média
foi determinada pela mais recente edição da pesquisa Administração de Recursos de
Informática, do Prof. Fernando S. Meirelles, da Escola de Administração de Empresas de São
116
117
Paulo da Faculdade Getulio Vargas (Eaesp-FGV), ajustada aos tamanhos de empresas
estudados. Os índices de ajuste usados foram, para pequenas empresas, de 7,2%, para médias
empresas, de 6,56%, e, para as grandes empresas, de 5,9%.
Linux sistema operacional – foi usado o valor do site da Conectiva para venda
do produto para empresas. Para as pequenas empresas foi considerada a versão Basic, para as
médias a versão Standard e para as grandes a versão Master. A atualização do sistema foi
calculada como anual, pela existência do suporte agregado.
Outros produtos Windows e Linux – foram usados os preços de cotações feitas
para os softwares necessários para a operação de cada uma das aplicações. Comparamos
custos de softwares cobrados e gratuitos para as duas plataformas. As atualizações e o
aumento de usuários também foram computados usando as médias do estudo da FGV.
Os custos de tempo da instalação inicial foram calculados no custo de pessoal.
O treinamento necessário para operação e instalação está no item Treinamento & Serviços de
Terceiros. Para equiparar os dois sistemas teve-se como premissa a maximização do TCO e
dos recursos oferecidos. Assim, a tabela abaixo mostra como foi analisado cada perfil de
empresa selecionado:
SOP/Tamanho
Linux
Pequena
Os recursos que
acompanham o
sistema
Windows
Os recursos que
acompanham o
sistema + opção
de
softwares
agregados
Microsoft
Média
Os
recursos
que
acompanham o
sistema
+
Oracle
Standard
+
Lotus Domino
Os
recursos
que
acompanham o
sistema
+
SMB
Grande
Os recursos que
acompanham
o
sistema + Oracle
Enterprise
+
Lotus Domino +
servidor
de
aplicação Oracle
Os recursos que
acompanham
o
sistema + SQL
Server Enterprise
+
Exchange
Enterprise
Custo do Hardware
Windows e Linux – foram feitas cotações no mercado para as configurações
definidas para cada tipo de empresa em fornecedores reconhecidamente de primeira linha
117
118
(HP), usando a plataforma Intel por questões de custo e tamanho do mercado. Foram feitos
testes de desempenho com as configurações de instalação, sem otimização. Os cenários foram
montados e ajustados de acordo com a quantidade de servidores e aplicações detectadas nas
pesquisa para cada tamanho de empresa. Os testes foram feitos com clientes Windows
95/98/2000/XP, maioria nas empresas brasileiras, segundo a tabela abaixo:
Tamanho
empresa
Pequena
Média
Grande
da Configuração 1
Usos
3 servidores Pentium 4 2.4GHz, 1 servidor para banco de dados, 1
256MB RAM, HD ATA 40GB.
para arquivo, impressão/infraestrutura e groupware e 1para Web
1 servidor Pentium 4 2.4GHz, O primeiro usado para infra256MB RAM, HD ATA 80GB e 2 estrutura e arquivo e impressão e os
servidores Pentium Xeon 2.4Mhz outros dois para banco de dados e
Dual, 1GB RAM, 200GB HD RAID- groupware
5
2 servidores Dual Xeon, 2.4GHz, Os dois primeiros foram usados
1GB RAM, RAID-5 200GB em para o banco de dados e os demais
cluster, External Storage 2TB e 10 para o resto das funções da empresa
Pentium 4, 2.4GHz, 256MB RAM, (Web, groupware, infra-estrutura,
HD ATA 80GB
arquivo e impressão)
A análise do teste de desempenho ajustaria o valor de hardware conforme a
diferença das transações por segundo em cada plataforma a um máximo de 10% do custo. No
entanto, devido a problemas de definição sobre de quem é a responsabilidade sobre o
desempenho de um sistema – se do sistema operacional ou dos softwares acima dele –, esse
índice foi mantido em 1 para todos os sistemas operacionais e será revisto em uma próxima
versão deste trabalho.
Colocamos os custos de manutenção propostos pelo fabricante para
atendimento no campo para o período pós-garantia. Pedimos também, durante o prazo de
garantia, a extensão do prazo para termos um nível de serviço adequado a uma empresa.
A quantidade de servidores por tipo de empresa foi a seguinte:
Pequena empresa – 3 servidores
1 banco de dados
1 e-mail + impressão e arquivo + diretório de nomes
1 compartilhamento de Internet + DNS + DHCP
Quantidade de licenças: 50 (sistema operacional, banco de dados e e-mail)
118
119
Aplicações cliente-servidor
Média empresa – 6 servidores
1 banco de dados
1 groupware
1 firewall
1 impressão e arquivo + Web
1 intranet
1 DNS + DHCP + diretório de nomes
Quantidade de licenças: 175 (sistema operacional, banco de dados, groupware)
Aplicações cliente-servidor e uma parte em Web
Grande Empresa – 14 servidores
2 banco de dados em cluster
2 servidores de aplicação em cluster
1 groupware
1 infra-estrutura (compartilhamento internet, VPN e proxy)
1 DNS + DHCP + diretório de nomes
2 impressão e arquivo
1 firewall
3 Web (internet)
1 intranet
Quantidade de licenças: 600 (sistema operacional, banco de dados, groupware)
Aplicações cliente-servidor e Web
Custo Treinamento & Serviços de Terceiros
Foram feitas cotações de mercado em empresas especializadas sobre o valor
dos custos dos treinamentos certificados necessários para a operação e suporte dos sistemas.
Esse valor será multiplicado pelo tempo médio para reciclagem (lançamento de novas versões
do Windows – http://www.microsoft.com/windows/winhistorysrvrgraphic.mspx – e Linux –
fornecido pela Conectiva) referentes ao período de análise do TCO e da quantidade de
pessoas necessárias para a operação. Além disso, foi acrescido um custo de suporte externo
cotado em empresas do mercado em São Paulo. As horas de suporte adicionais foram obtidas
pela pesquisa por telefone.
119
120
Custo de Downtime
Os custos de downtime foram retirados do cálculo pois não podem ser
calculados a partir das pesquisas desenvolvidas. Apesar de existirem perguntas específicas
para esse item, as empresas não conseguem e não controlam o efeito do downtime nos seus
custos. Quando o fazem, fazem de forma preventiva, aumentando os recursos necessários para
diminuir os efeitos de uma parada nos negócios. Em futuros trabalhos será criada uma
metodologia específica para determinar tais custos.
Custo de Pessoal
Os custos e a necessidade de pessoal foram fornecidos pela somatória da
quantidade de funcionários por nível existentes nas empresas (determinados pela pesquisa) x
o custo dos funcionários com encargos e benefícios. Os valores salariais foram fornecidos
pela empresa Manager Assessoria de Recursos Humanas.
Análise das Informações Levantadas
As empresas pesquisadas
As empresas pesquisas se dividiram da seguinte forma:
Tipos de empresa
77
89
Grande Empresa
Média Empresa
Pequena Empresa
76
120
121
Além disso, as quantidades médias de usuários por tipo de empresa foram as seguintes:
Quantidade de usuários médio por tipo de empresa
50
175
Grande Empresa
Média Empresa
Pequena Empresa
600
Custo do Hardware
O peso no estudo demonstrou que o hardware varia, dento do custo total, de
3% a 15% do TCO no período analisado. O tempo médio da atualização de hardware varia
muito pouco por tamanho de empresa: a pequena empresa troca de servidor a cada 2,4 anos, a
média a cada 2,7 anos e a grande empresa a cada 2,9 anos.
Outro fato relevante encontrado na pesquisa foram os motivos que levam uma empresa a
atualizar seu sistema operacional. A tabela abaixo mostra isso:
Motivo/Tipo Empresa
Lançamento de uma nova versão do sistema operacional
Implementação de uma nova aplicação (ERP, CRM etc.)
Aumento na quantidade de usuários simultâneos
Melhora no desempenho
Obsolescência do hardware existente
Grande
5,13%
34,62%
11,54%
35,90%
12,82%
Média
4,29%
24,29%
18,57%
31,43%
21,43%
Pequena
12,16%
14,86%
9,46%
39,19%
24,32%
Observações:

A obsolescência só é relevante na pequena empresa

A melhora do desempenho é o motivo preponderante para justificar a troca do
hardware do servidor

O segundo principal motivo é o da implantação de novas aplicações, o que nos leva a
concluir que as aplicações – e não o sistema operacional da máquina – são a
prioridade das áreas de TI
121
122
Custo das licenças de software
Baseado na quantidade de usuários por tipo de empresa foi solicitada cotações
aos diversos fornecedores de soluções de software do mercado. De um lado, Conectiva,
Oracle e IBM (Lotus) e de outro a Microsoft. O custo das licenças teve um peso que variou
entre 3 e 21% nos diversos tamanhos de empresas analisadas.
As empresas, independente do tamanho, têm como prioridade ao trocar de
sistemas somente fazê-lo quando uma nova versão já está estável ou quando precisa de um
novo recurso disponível somente no novo sistema operacional.
Motivo/Sistema operacional
Nova versão é lançada
Nova versão já está estável
Precisa um recurso da nova versão
SO não tem mais suporte
SO já vem com um novo servidor
Outros motivos
Linux
8,2%
36,1%
36,9%
0,8%
1,6%
16,4%
Windows
4,0%
36,6%
37,7%
6,3%
6,9%
8,6%
O que a pesquisa nos trouxe foi o resultado esperado. Já o custo de licenças
associadas, como banco de dados e antivírus, tem grande peso no valor total da solução. Por
isso a vantagem financeira do Linux se torna mais significativa apenas no caso em que a
empresa também opta pelo uso de software livre gratuito para todo o ambiente.
Na pesquisa, como também no painel de apresentação dos resultados durante o
IT Conference, ficou evidente que a decisão quanto à plataforma a ser usada não pode ser
baseada apenas nas diferenças de custo (que podem ser pequenas), devendo levar em
consideração aspectos técnicos, de estratégia e cultura da empresa e mercado. A dinâmica do
mercado de software, refletida em políticas de preços, disponibilidade de serviços e recursos
humanos, deve levar a mudanças rápidas nos valores, razão pela qual esta análise deve ser
refeita por cada empresa por ocasião de novas decisões.
É importante frisar que o perfil de uso dos softwares é diferente, com
evidências de que o ambiente Linux é mais usado em serviços de infra-estrutura do que em
aplicações integradas. Da totalidade dos sistemas operacionais dentro das companhias
pesquisadas, 80% das aplicações de Linux estão em infra-estrutura ou servidor de Web. Os
demais 20% se dividem entre banco de dados e ferramentas de groupware. Já na utilização do
122
123
Windows, as últimas são mais freqüentes, com participação de 33%, contra 67% para as
primeiras.
As diferenças quando a empresa opta apenas pelo sistema operacional Linux é
de no máximo 7% e vai depender da negociação com os fornecedores, podendo ser maior em
alguns casos. O sistema só vale a pena com uma diferença de até 20% quando a empresa opta
por uma iniciativa de usar somente softwares livres.
Sistema Operacional # servidores*
Linux
36
Windows
125
*nas empresas modais
Infra+ web(A) BD + groupware (B)
80%
20%
67%
33%
(A)/(B)
4
2
Na pesquisa geral, para grandes empresas, o uso do Windows como servidor é
3 vezes maior do que o Linux, mas somente 30% maior do que todos os tipos de Unix
reunidos. Isso mostra que existe uma grande margem de crescimento para o Linux, já que a
necessidade de troca das aplicações e treinamento é menor do que quando confrontado com a
migração para o Windows.
Uso
Linux Windows Windows
Server
Datacenter
Server
Impressão e arquivo / 13
55
2
diretório de nomes
Banco de dados
16
55
5
Web e streaming
19
39
5
Servidor aplicação
23
65
7
Servidor segurança
31
47
4
Servidor groupware
5
41
4
Total
107
302
27
Windows
Web
Server
1
Solaris
Outros Outros
Unix
SOs
3
9
14
4
13
7
3
3
31
11
3
13
7
1
38
44
8
36
10
4
111
14
4
11
5
10
58
Já na empresa média, a diferença cai para menos de 20%, o que demonstra a
maior penetração do Linux no mercado. Vale ressaltar que nas aplicações de banco de dados e
servidor de aplicação, ditas de missão crítica, o Linux continua em menor número. No
entanto, quando computamos o Solaris e os outros Unix vemos que, no caso de banco de
dados, ele chega a ultrapassar o Windows.
123
124
Uso
Linux Windows Windows
Server
Datacenter
Server
Impressão e arquivo 16
51
1
/ diretório de nomes
Banco de dados
17
49
1
Web e streaming
27
21
1
Servidor aplicação 14
56
1
Servidor segurança 33
21
servidor groupware 12
30
1
Total
119
228
5
Windows
Web
Server
2
Solaris
Outros
Unix
Outros
Sos
2
4
6
1
13
1
16
3
9
7
1
38
11
1
9
5
4
34
11
2
9
2
3
33
17
Nas pequenas empresas existe também um empate técnico no uso dos sistemas
operacionais e, nesse caso, o Linux é que está apenas a 30% de uso do Windows.
Uso
Linux
Impressão e arquivo
/ diretório de nomes
Banco de dados
Web e streaming
Servidor aplicação
Servidor segurança
servidor groupware
Total
20
Windows Windows
Server
Datacenter
Server
48
1
26
17
19
32
9
123
39
23
34
17
24
185
Windows
Web
Server
2
9
3
2
3
14
Solaris
Outros
Unix
Outros
Sos
2
2
9
8
2
6
5
1
24
4
1
2
4
2
15
4
1
4
3
5
26
Treinamento e suporte
O peso desse item no total do custo varia entre 1% e 6%. Consistentemente,
pela pesquisa, o Linux requer mais suporte que o Windows, exceto nas pequenas empresas. O
tempo médio mensal de suporte é de 7 horas, 30 horas e 14 horas para o Linux nas pequenas,
médias e grandes empresas, respectivamente. Para a plataforma Windows, os índices são 13
horas, 15 horas e 7 horas. Isso denota um maior amadurecimento do sistema Windows no
mercado e uma maior quantidade de profissionais disponíveis. No entanto, o valor não é
representativo dentro do custo total.
Custo de pessoal
Em ambos os ambientes, o componente de custo mais significativo é o pessoal.
Ainda que os testes de laboratório tenham identificado diferenças de tempo entre as
124
125
plataformas na execução de atividades específicas, não se observaram diferenças
significativas no custo total. A pesquisa não identificou diferenças no perfil e salários das
equipes, embora se devam considerar as diferenças de complexidade das aplicações nos dois
ambientes. Um indicador interessante é que os gastos com treinamento e consultoria
representam apenas 6% do custo total. Para empresas de pequeno porte, a participação do
custo de pessoal nos itens analisados é de 88% a 94%, contra índices de 64% a 69% nas
grandes companhias.
A pesquisa ainda revelou outros dados interessantes. Um deles é o custo médio
mensal de pessoal por servidor, levando em conta salários, encargos e benefícios: R$ 2.653,
sem diferença significativa entre ambientes ou tamanho de empresa.
No geral, o esforço para a operação de cada plataforma, segundo a pesquisa, é a seguinte:
Linux/Tamanho Empresa (%)
Operação4
Administração
Suporte dos Servidores
Windows/Tamanho Empresa (%)
Operação
Administração
Suporte dos Servidores
Grande
28
39
33
Grande
24
37
40
Média
41
38
21
Média
25
50
25
Pequena
36
51
14
Pequena
33
38
29
A utilização de serviços terceirizados ainda não é comum e não foi percebido
com ênfase nas empresas pesquisadas.
A pesquisa também revelou que a utilização de pessoal na administração, operação e suporte
de servidores não é feita com 100% do tempo das pessoas. A tabela abaixo mostra os números
médios encontrados por tamanho de empresa:
Tamanho da empresa
Cargos
Estagiário
Analista suporte JR
Analista suporte PL
Analista suporte SR
Administrador rede e/ou
Gerente e/ou supervisor
Total Pessoal
Grande
Qtd.
% útil
3
70%
Média
Qtd.
2
% útil
70%
3
3
1
1
1
100%
50%
10
80%
60%
85%
4
Pequena
Qtd.
% útil
1
80%
1
70%
1
80%
3
Existem várias condicionantes que foram descobertas durante as pesquisa,
muitas delas óbvias e esperadas:
125
126
o Equipes realizam atividades de operação e desenvolvimento
o Equipes atendem diversas plataformas
o Existe uma integração de ambientes
Também se conseguiu calcular o custo médio mensal de pessoal por servidor,
conforme mostra a tabela abaixo:
Custo de pessoal CLT (R$/mês)
Linux
Windows
Global da amostra
Média mensal/servidor
2802
2633
2653
Desvio padrão da média
2535
2012
1919
Como se vê, as diferenças não são significativas do ponto de vista estatístico.
Uma abordagem inovadora, mas que não se traduz em uma forma de diferenciação de custo
direto foi o teste de unidades de trabalho. Desenvolvida juntamente com a USP de São Carlos,
foram levantadas as atividades mais comuns executadas na operação e administração de um
servidor. As atividades foram divididas em instalação de softwares, configurações e trabalhos
administrativos. No quesito instalações foram efetuadas as instalações do sistema operacional
com diretórios, banco de dados, groupware e softwares acessórios (Samba e NFS) para o uso
pelos aplicativos. Foram configurados e testados em seu funcionamento o DNS, DHCP, VPN,
rotas e gateway e a utilização de clusters para balanceamento de carga e redundância. Os
sistemas foram testados também em suas atividades administrativas em criar usuários, grupos,
configurar troca de senhas e tamanhos, quotas de espaço em disco, instalação e teste de
impressoras, configurar um hosting virtual, dar acesso a diretórios e arquivos, permitir a
publicação de conteúdo na intranet, controlar as versões de documentos, executar backup e
restore de diretórios e arquivos, criar perfis de análise de desempenho para acompanhamento,
manusear os logs de registro de informações dos sistemas, bloquear portas de acesso, acessar
sistemas remotamente de forma segura, aplicar correções aos sistemas operacionais e
administrar remotamente o sistema.
Os testes foram realizados com dois tipos de profissionais: iniciantes, com
cursos informais e experiência prática de pelo menos um ano com os sistemas, e experts,
profissionais indicados pela Conectiva e Microsoft para realizarem as mesmas tarefas. A
tabela abaixo mostra a diferença encontrada nos três tipos de trabalho. Os índices indicam,
percentualmente, o tempo gasto em cada uma das atividades.
126
127
Tarefa/Expertise
Instalação
Configuração
Administração
Iniciante Linux
100
100
100
Iniciante Windows
100
65
85
Expert Linux
100
100
100
Expert Windows
100
85
95
Custo de downtime
O custo de downtime não foi computado nesse estudo por um motivo
muito simples: não existe um modelo coerente que capte esse número nas empresas. Ora a
empresa não se preocupa com o tamanho desse risco e não sabe computá-lo, ora ela faz
processos que já objetivam evitá-lo. Os possíveis efeitos de um downtime imprevisto são a
perda de receita e/ou o aumento das despesas. A pergunta que se faz é: o downtime é uma
fatalidade ou resultado de decisões da empresa? Abaixo, mostramos as médias encontradas na
amostra:
SO / Tamanho empresa
Windows
Linux
L/W
Grande
2,6%
1,7%
65%
Média
2,1%
1,7%
83%
Pequena
3,3%
2,5%
76%
Há algumas formas para reduzir os efeitos do downtime na infra-estrutura, nos
processo de TI e nos processos de negócio:
o Reduzindo o risco de ocorrências imprevistas
o Aumentando a eficiência de

Pessoal, infra-estrutura e processo de TI

Nos processos de negócio da empresa
o Aumentando a redundância de recursos
o Reduzindo os requisitos de desempenho dos processos de negócio
Essa tabela mostra que, na média, o sistema operacional é responsável por apenas
1/3 (exceto na média empresa) das paradas imprevistas dos servidores quando a queda foi
causada por software.
Opção/Tamanho empresa
No sistema operacional
Nos aplicativos (BD ou groupware)
Aplicações que rodam no servidor (SAP, Baan etc.)
Outros programas
Média
Grande
31,8
31,0
46,8
31,3
36,2
Média
41,4
32,7
42,5
34,1
37,9
Pequena
29,1
30,8
43,0
38,8
35,5
127
128
Outras descobertas
O estudo também descobriu como as empresas agem quando uma nova versão
do sistema operacional de servidor é lançada e que características estão na sua ordem do dia.
Quando uma nova versão do sistema operacional de rede ou uma atualização é
lançada pelo fornecedor qual é o seu procedimento em geral?
Instala em um servidor de teste e homologa com suas
aplicações
Só atualiza quando existe a necessidade de um novo recurso
que vem com a nova versão
Instala, mexendo em parâmetros de desempenho, em um
servidor de teste e homologa com suas aplicações
Instala direto no servidor de produção
Outros
Instala, mexendo em parâmetros de desempenho, direto no
servidor de produção
Grande Média
Pequena
Geral
31
18
14
63
14
23
19
56
15
0
0
16
1
2
17
3
0
48
4
2
0
0
1
1
Classifique as seguintes características de um sistema operacional de rede em ordem de
importância
Grande Empresa
Disponibilidade:
Segurança:
Desempenho:
Custo das licenças:
Automaticidade na realização de tarefas de
operação:
Tenha utilitários de recuperação de disco e de
arquivos:
Custo de pessoas para a sua manutenção:
Facilidade de gerenciamento:
Tenha alguns aplicativos integrados (email, banco
de dados e anti-vírus):
Escalabilidade:
Muito
Importante
52%
50%
50%
24%
24%
Importante
21%
32%
21%
40%
39%
Pouco
Importante
27%
18%
29%
35%
37%
21%
39%
40%
19%
16%
13%
26%
58%
32%
55%
26%
55%
11%
63%
26%
128
129
Média Empresa
Desempenho:
Disponibilidade:
Segurança:
Escalabilidade:
Automaticidade na realização de tarefas de
operação:
Custo das licenças:
Tenha utilitários de recuperação de disco e de
arquivos:
Custo de pessoas para a sua manutenção:
Tenha alguns aplicativos integrados (email, banco
de dados e anti-vírus):
Facilidade de gerenciamento:
Pequena Empresa
Disponibilidade:
Desempenho:
Segurança:
Automaticidade na realização de tarefas de
operação:
Custo das licenças:
Tenha utilitários de recuperação de disco e de
arquivos:
Custo de pessoas para a sua manutenção:
Tenha alguns aplicativos integrados (email, banco
de dados e anti-vírus):
Escalabilidade:
Facilidade de gerenciamento:
Muito
Importante
58%
58%
55%
27%
19%
Importante
21%
18%
26%
50%
45%
Pouco
Importante
21%
24%
19%
23%
35%
16%
13%
37%
40%
47%
47%
13%
11%
31%
24%
56%
65%
8%
69%
23%
Muito
Importante
52%
47%
45%
19%
Importante
16%
24%
23%
45%
Pouco
Importante
32%
29%
32%
35%
19%
19%
37%
37%
44%
44%
18%
18%
32%
29%
50%
53%
11%
10%
40%
61%
48%
29%
129
130
10. CONCLUSÕES E RECOMENDAÇÕES
10.1 - Por que deu Errado?
Vemos em revistas, nos sites da internet, em palestras, etc... todos estão
migrando para o Linux. Porém, ao lado destas histórias de sucesso, temos vários casos em que
tudo deu errado. A pergunta que fica é "porquê?"
Pensamos que todos nós conhecemos histórias de migrações que deram errado.
Infelizmente essas histórias são mais numerosas do que deveriam ser e, pior, boa parte delas
poderia ser evitada com alguns cuidados. Talvez por culpa do modo como o Linux começou a
ganhar o seu espaço, se esgueirando e infiltrando nas organizações, falta um planejamento em
boa parte dessas histórias de horror.
É muito importante lembrar que cada usuário insatisfeito tem um grande poder
de multiplicação e pode causar grandes estragos ao Linux. Alunos de uma faculdade hoje,
podem ser os gerentes de TI amanhã, e a opinião de um gerente de TI pode vetar todo um
projeto. Devemos aprender com nossos erros, ou estaremos fadados a repeti-los à exaustão.
Os tópicos a seguir mostram os principais e mais repetitivos fatores de
desastre, e que devemos tomar cuidado:
10.1.1 - Hardware Ineficiente
É o que mais acontece na implantação de Linux em instituições de ensino,
quando os computadores não conseguem fazer mais nada resolvem colocar Linux, com a
alegação de que o Linux funciona bem em hardware antigo. Então é instalada a novíssima
distribuição "x", com KDE 3.1 e OpenOffice, em alguns Pentium 100 com 32MB. Resultado:
usuários insatisfeitos e fracasso total.
É muito importante dimensionar corretamente o hardware a ser utilizado. Antes
de instalar Linux nesses tais computadores, faça a instalação em um deles e tente utilizá-lo.
Muitas vezes um pouco de bom senso resolveria todo o problema, mas alguns
"administradores", instalam o software e depois desaparecem, não o utilizam e não tem a
mínima idéia de que o Mozilla demora exatos 4 minutos para aparecer na tela.
130
131
Isso sem contar com as próprias precariedades e inconstâncias do hardware
antigo. Pentes de memória defeituosos, mal-contatos, fontes estranhas, coolers desregulados,
HDs com badblocks e outros problemas que, se não conhecemos, podemos imaginar. Se você
for reaproveitar hardware considerado obsoleto, faça dúzias de testes. Teste bem a memória,
verifique poeira nos coolers e na fonte, limpe os contatos, enfim, faça um serviço de
manutenção completo. Você pode saber que as máquinas ficam travando porque a placa de
vídeo está com um mal contato, os seus usuários vão achar que a culpa é do Linux.
Se a sua organização quer realmente aproveitar esses computadores antigos,
aproveite-os onde podem ser realmente eficientes. Utilize-os como terminais remotos,
roteadores, servidores de e-mail, servidores web... coloque-os onde possam fazer diferença.
Uma sala com 20 computadores 486 sendo terminais remotos de um computador mais potente
traz uma imagem muito mais bonita ao Linux do que esta mesma sala com todos os
computadores rodando localmente o XFree86 4.3.0 e Mozilla.
10.1.2 - Simplesmente não funciona
Tudo está pronto, agora basta instalar a única impressora do departamento,
uma XYZ-Laser1234, que não funciona!!! Hoje em dia esse problema é menos comum, quase
todos os dispositivos de hardware são suportados pelo Linux. Porém, ser menos comum não
quer dizer que não ocorra.
Antes de começar toda a migração, antes de solicitar aquele novíssimo
periférico de US$2000, verifique se ele funciona no Linux. Se não funcionar, apesar da culpa
ser sua por não haver prestado atenção, quem vai levar a culpa é o Linux em si. Verifique em
mecanismos de busca, fóruns e listas de discussão se o tal dispositivo é suportado e só depois
comece instalar.
Se o dispositivo não for suportado, pode-se pensar em algumas correções mas é
importante já ter essas possibilidades em vista e deixar os seus usuários avisados. Manter um
computador com "aquele" sistema proprietário para poder baixar as fotos da câmera digital e
depois colocá-las na rede via samba é uma solução plausível (enquanto isso você pode correr
131
132
atrás do suporte à tal câmera). O importante é não deixar os seus usuários sem o acesso ao tal
dispositivo.
10.1.3 – Evite Exageros
Este é um problema que vem se tornando cada vez mais comum. O gerente que
migrar os servidores da empresa para Linux e pergunta o que precisa ser alterado, o
administrador olha e pede para trocar os servidores atuais por alguns QuadriXeon com HDs
SCSI U360 e 4GB de RAM, para poder usar como servidor de web, ftp e e-mail. Obviamente
o gerente prefere continuar com o sistema antigo, mais um tiro n'água.
Um dos principais fatores para a adoção do Linux nas empresas tem sido a
redução de custos. Depois de implantado é que se costuma verificar a sua estabilidade e
segurança (e quem sabe ganhar um "parabéns" do chefe). Pedir um hardware irreal e
extravagante no momento da implantação apenas vai afastar a sua empresa do Linux. Se o
sistema atual funciona no hardware que a sua empresa já tem, ela dificilmente vai trocar por
outro sistema que precisa de 3 vezes mais hardware. Garante-se que depois de funcionando,
será bem mais fácil pedir um pouco de memória para funcionar melhor ainda.
Em caso da implementação de novos sistemas, use o bom senso. Escolha peças
de qualidade, que possam fazer o serviço que o cliente pediu, mas não exagere. Você não
precisa de um Pentium IV para ser o gateway da sua rede. Economize onde puder para poder
gastar onde precisar.
10.1.4 - Software não existe
Isso acontece. Em uma lista de discussão, alguém postou uma mensagem
dizendo que havia migrado uma agência de publicidade para Linux e que agora queria saber
onde encontrar um Corel Draw ou equivalente para Linux. Sejamos sinceros, na área de
editoração o Linux deixa muito a desejar e quem fez esta migração deveria saber disso. Muito
mais útil para a tal agência deveria ser um servidor de arquivos e impressão, para facilitar a
vida dos usuários e não n computadores sem os softwares de que eles precisam para trabalhar.
132
133
Outra área em que isso acontece com uma certa freqüência é em laboratórios,
onde muitas vezes não existem drivers para os dispositivos de aquisição de dados e sequer um
programa para conseguir coletar estes dados. Em alguns casos é vantajoso ao próprio
laboratório desenvolver seu próprio driver e software de controle e coleta, o que não pode
acontecer é descobrir isso depois de tudo instalado e com várias medidas esperando para ser
feitas.
Imagine que após uma migração, alguém descobre que o banco de dados que se
utilizava antes é totalmente incompatível com os bancos de dados existentes para Linux? E
aí? Como a empresa trabalha?
10.1.5 - Documentação não existe
O software necessário existe (ou um equivalente), porém ninguém sabe como
usá-lo! O "administrador" instala tudo e some, qualquer dúvida é respondida com "Dá uma
procurada por aí..." Com certeza essas atitudes não ajudam nem um pouco na popularização
do Linux.
É importante verificar a documentação do software antes de disponibilizá-lo
aos seus usuários. Se não houver documentação, é necessário criá-la e torná-la disponível de
maneira acessível. Vamos lembrar que nem todos precisam ser profissionais de informática
para usar o computador, a secretária está querendo apenas escrever uma carta.
Além da documentação, dependendo da extensão da migração e do
conhecimento dos seus usuários, é interessante ministrar cursos de treinamento para que
possam exercer corretamente suas funções.
10.1.6 - Software e documentação existem, mas é impossível de usar
Outras vezes existe tanto o software quanto a documentação porém, por algum
motivo a utilização do tal software é totalmente improdutiva. Um bom exemplo disso é o
próprio OpenOffice quando o hardware disponível deixa um pouco a desejar, a lentidão de
uso torna o trabalho impossível.
133
134
Ou o software pode ser simplesmente muito mais difícil do que o anterior. Nem
todo mundo acha interessante utilizar o vi e LaTeX para escrever um documento, e você pode
entregar todos os livros de LaTeX e cartões de referência do vi, a pessoa não vai gostar e vai
voltar correndo para o processador de textos que conhece, e espalhando aos quatro ventos que
o Linux é muito difícil.
10.1.7 - Pessoal Técnico
Muitos dos profissionais do Linux começaram sua carreira profissional assim,
sendo o "curioso" que acaba se tornando administrador de uma rede e, depois de muito sofrer,
se tornou um profissional de verdade. Uma história bonita, mas infelizmente na trilha do
sofrimento, haviam muitos usuários que sofreram junto e atualmente devem odiar o Linux.
Afinal, quem agüenta um sistema estável em que não se pode imprimir, deve ser reinstalado
toda semana, o firewall barra absolutamente todos os pacotes entre outros terrores que podem
haver acontecido.
Acredite, administrar uma rede é bem diferente de cuidar do computador da
sua casa. O simples fato de haver instalado o Linux e visto uma página do Apache com "It
Worked!" não o torna um administrador de redes e muito menos um especialista em
webservers.
Instalar o sistema em casa é um bom começo, mas antes de pegar a
responsabilidade de cuidar de uma rede ou mesmo de alguns servidores é importante saber de
verdade o que estará fazendo. Ler a documentação disponível e treinar em casa é um ótimo
caminho a seguir, depois que conhecer como funciona é a hora de dar o passo seguinte e
assumir responsabilidades.
10.8 - O beta-tester
Normalmente este tipo de administrador conhece o sistema e sabe como mantêlo funcionando. Porém, sua ânsia por novidades e um certo espírito audacioso põem tudo a
perder. Talvez deixando os usuários uma semana sem poder usar a rede enquanto tenta trocar
o NIS por LDAP, ou quando instala o Apache 2.0 em todos os servidores e depois descobre
que um módulo utilizado por todas as páginas da empresa não é suportado.
134
135
Mais importante que possuir todas as últimas e mais interessantes tecnologias e
todos os softwares em sua última versão é manter o sistema funcionando! Os usuários não
querem saber se o método "x" é muito mais seguro que o método "y" o que eles querem é o
sistema no ar e querem agora. Se o método "x" não permite isso, mantenha o método "y".
Trocar de servidor de e-mail e métodos de autenticação a cada semana não é agradável, muito
menos ficar trocando o gerenciador de janelas padrão de seus usuários toda vez que você acha
algo interessante (uau! o Afterstep deixa ter barra de título transparente!)
Se a nova feature é realmente tão interessante, implemente-a primeiro na sua
máquina, ou em casa, ou talvez em uma ou duas estações selecionadas para testes. O que
interessa é não prejudicar seus usuários. Nós sabemos que em alguns momentos a interrupção
do serviço é inevitável, mas estas interrupções devem ser raras e quando ocorrerem durar
apenas o tempo necessário.
Para concluir, o principal erro, por detrás de todos os outros é a falta de
planejamento. Através de testes controlados e alguns estudos feitos antes da implantação do
Linux em sua organização, boa parte destes erros pode ser eliminada, ou pelo menos
minimizada.
Muitos dos que atualmente são profissionais Linux cresceram através destes (e
outros) erros e alguns acertos; está na hora de pensar se vale a pena para cada bom
profissional criarmos vários usuários anti-Linux.
10.9 - Custo de migração para Linux é "proibitivo", diz estudo da Folha Online
A Microsoft não precisa temer o impacto do Linux, sistema operacional de
código aberto, que tem ganhado espaço em empresas e tem o apoio de companhias como a
IBM, HP e Sun. Segundo um estudo do Yankee Group divulgado nesta segunda-feira, o custo
da migração do Windows para o Linux é "proibitivo" para as companhias.
Cerca de 90% das 300 companhias com 10 mil funcionários ou mais
entrevistadas disseram que uma mudança "significativa" ou "total" do Windows para o Linux
seria muito cara, extremamente complexa e levaria muito tempo para ser implementada. A
135
136
pesquisa também afirma que a mudança para o sistema operacional de código aberto não
traria nenhum ganho para as grandes empresas.
Para fazer o estudo, o Yankee entrevistou mil executivos de tecnologia do
mundo inteiro.
"Em grandes empresas, uma mudança total ou significativa para o Linux seria
três ou quatro vezes mais cara e levaria três vezes mais tempo para ser
implementada do que uma atualização do Windows", disse Laura DiDio,
analista do Yankee.
A pesquisa ainda afirma que o Linux tem realmente ganhado bastante espaço,
mas nos próximos dois anos ele não vai ameaçar o Windows nos segmentos de servidores e
de estações de trabalho.
10.10 - Os mitos do sistema aberto
Foi publicado em 2003 no site ComputerWorld um artigo muito interessante
desmistificando mitos em relação ao software livre levando em conta o software livre como
solução para empresas, sem considerar aspectos técnicos. Mostra que o principal atrativo do
Linux não é o seu preço baixo (as empresas não estão preocupadas só com o preço e muitas
vezes estão dispostas a pagar caro pela solução de um problema) e sim sua estabilidade e
qualidade. Desmistifica a velha história de que software livre não tem suporte e também que o
Linux não está pronto para o desktop.
Com acesso irrestrito ao código-fonte, para execução ou modificação à
vontade, o modelo de sistema aberto é muito diferente de software proprietário. E essas
diferenças têm se provado atrativas o suficiente para fazer muitos CIOs mudarem. Mas, nessa
briga que tem entre seus principais protagonistas a gigante e onipresente Microsoft, o
resultado está longe da conclusão. E possivelmente não repousará em nenhum dos modelos
que hoje estão disponíveis no mercado. Para tirar o foco passional da discussão,
COMPUTERWORLD ouviu empresas dos Estados Unidos e Europa que já adotaram
sistemas abertos em várias aplicações. As respostas são surpreendentes — e acabam com
alguns mitos que rodeiam essa discussão.
136
137
Mito 1 - O Atrativo é o Preço:
Um dos benefícios mais alardeados dos sistemas abertos é o preço. Baixe o
software e instale-o sem pagar um centavo. Essa é a teoria. Para um número surpreendente de
empresas usuárias, porém, o preço do sistema aberto — ou a falta de — é irrelevante. “Não se
trata de ser barato”, insiste John Alberg, CIO, CTO e vice-presidente de engenharia da
Employease, administradora de benefícios de empregados de mais de mil organizações nos
Estados Unidos. “Tem a ver com funcionar eficazmente – e estamos dispostos a pagar
bastante por isso. Queremos software estável que faz o que promete.” O que Alberg acha
fascinante na mudança para sistema aberto é a melhoria de desempenho resultante. A
migração para Linux, por exemplo, reduziu drasticamente o índice de falha de servidor da
empresa. Normalmente, sob o NT, um servidor da empresa falhava a cada dia. “Agora, temos
no máximo duas falhas por mês e freqüentemente não temos nenhuma em um mês”, diz o
executivo.
Mesmo assim, Alberg tem o cuidado de deixar claro que seu compromisso com
sistema aberto não é um comportamento de compra cego de um fanático. Ele não recorreria a
sistema aberto se fosse mais caro do que código proprietário, por exemplo. “O Solaris é um
sistema operacional comercial forte. Nós o teríamos escolhido em vez de sistema aberto se
fosse mais barato”, completa o executivo.
Mito 2 - A Economia não é Real :
O software de sistema aberto foi descrito como “gratuito”, como um animal de
estimação dado de presente. Ou seja, é fato sim que existe ausência de taxas de licenciamento,
mas que elas têm de ser contrabalançadas com custos de treinamento, suporte e manutenção.
Por outro lado, os proponentes de sistema aberto também citam custos reduzidos das
mudanças exigidas pelo fornecedor, em que os fabricantes requerem que os usuários migrem
para uma nova versão ou paguem por suporte extra. A maioria dos usuários que contatamos
para esta reportagem afirmou ter uma economia líquida com software sistema aberto –
freqüentemente, substancial.
Na Sabre Holdings, dona do sistema mundial de reservas aéreas Sabre, está em
andamento uma importante migração para sistema aberto, impulsionada pela projeção de uma
137
138
economia de dezenas de milhões de dólares nos próximos cinco anos. A companhia possui
dois grupos distintos de computadores, explica o CTO, Craig Murphy. Onde a confiabilidade
é essencial, como as aplicações para venda de produtos (ou “dados de registro”), a Sabre
Holdings usa sistemas HP tolerantes a falhas. Mas aplicações de compra — em que clientes e
agentes de viagens pesquisam os melhores negócios — rodam em um data center de máquinas
mais baratas. Nesse ambiente, cada computador tem seu próprio banco de dados aberto
MySQL, sincronizado por uma aplicação da GoldenGate com as regras, tarifas e informações
sobre disponibilidade no sistema de dados de registro tolerante a falhas.
Os sistemas de compras estavam em HP-UX, mas todos esses servidores foram passados para
um sistema operacional sistema aberto — Red Hat Enterprise Linux AS. “O grande atrativo
nesse caso foi o custo de escala zero porque sistema aberto não requer licenças adicionais à
medida que uma instalação cresce”, diz Murphy.
Mito 3 – Não Existe Suporte:
De acordo com Gary Hein, analista da empresa de consultoria em tecnologia
Burton Group, o suporte técnico é a principal preocupação do usuário potencial de sistema
aberto. “Para quem você telefona quando as coisas dão errado?” Na prática, a situação é
complexa. A maioria dos projetos de sistema aberto tem um grande corpo de
desenvolvedores, mailing lists na internet, arquivos e bancos de dados de suporte — tudo
disponível sem custo. Esta é a boa notícia. A notícia não tão boa é que não existe uma fonte
única de informação. “Uma pergunta pode resultar em múltiplas respostas conflitantes sem
uma fonte oficial”, completa Hein.
Ainda assim, múltiplas fontes de suporte podem ser melhores do que ficar
preso a um fornecedor. “Principalmente quando este oferece suporte ruim ou se recusa a
continuar suportando software de uma determinada safra”, diz Klaus Weidner, consultor
sênior da empresa de consultoria em tecnologia Atsec.
Mito 4 - É um Campo Minado Legal:
Existe uma variedade de licenças de sistema aberto e ajudar os CIOs a entender
suas implicações é um bom negócio para advogados – aliás, muito bom negócio. “As
preocupações dos CIOs giram em torno principalmente das implicações de utilizar código que
eles não podem verificar seu direito legal de usar”, diz Jeff Norman, sócio de prática de
138
139
propriedade intelectual do escritório de advocacia Kirkland & Ellis. “Só porque você tem um
pedaço de papel dizendo que você é proprietário da ponte do Brooklyn, não significa que você
a possua realmente.”
Para alguns usuários, a indenização de terceiros é uma opção. No dia 17 de
novembro de 2003, por exemplo, o JBoss Group anunciou que vai indenizar e defender seus
clientes em ações judiciais de violação de copyright ou patente do JBoss. Outros fornecedores
de softwares de sistema aberto — incluindo HP, Red Hat e Novell — também oferecem
indenização de vários tipos.
Mito 5 - Sistema Aberto Não é para Aplicações de Missão Crítica:
As aplicações de missão crítica não poderiam ser mais cruciais do que no
segmento bancário, onde os sistemas de transação têm que funcionar e ponto final.
Experimentar sistema aberto, com seus riscos inerentes de violação, segurança e manutenção,
pode ser considerado um anátema. “Os bancos tendem a ser instituições mais conservadoras
primeiros seguidores, se você preferir, em vez de líderes”, diz Clive Whincup, CIO do banco
italiano Banca Popolare di Milano.
Avesso a descartar as aplicações de operações bancárias legadas, que totalizam
cerca de 90 milhões de linhas de Cobol, mas incapaz de mantê-las rodando sob o sistema
operacional OS/2 Presentation Manager, da IBM, Whincup utilizou uma ferramenta de
integração proprietária da Jacada para conectar Cobol ao WebSphere da IBM — rodando em
uma partição Linux no mainframe do banco.
O resultado: aplicações antes desconexas agora rodam rapidamente em um
navegador web, proporcionando maior velocidade de transação, menos tempo de treinamento
de caixas de banco e muito mais oportunidades para venda cruzada de serviços do banco.
Mito 6 – Sistema Aberto não está Pronto para o Desktop:
Na Baylis Distribution, empresa de transporte e distribuição, o diretor de TI
Chris Helps deparou com o banco de dados MySQL quatro anos atrás quando a empresa quis
criar um data warehouse. E sua experiência posterior em rodar o Red Hat Linux em um
139
140
ambiente de produção, com usuários se conectando ao servidor Linux principal a partir do que
ele descreve como “thin clients com um sistema operacional Linux enxuto”, levou-o a
reavaliar a política desktop da empresa. No final, a empresa optou por substituir a Microsoft
em desktops por ferramentas de produtividade pessoal de código aberto e Linux para
atividades como processamento de texto e planilhas. “Não fizemos uma avaliação formal da
economia, mas um cálculo superficial é de que custa cerca de US$ 1,8 mil por estação para
instalar todas as ferramentas Microsoft de que um usuário precisa. Com ferramentas sistema
aberto e Linux, fica metade disso”, estima Helps.
Moral da História:
Sistema aberto é ideal para todas as organizações? No fim das contas,
argumenta Andy Mulholland, CTO da Cap Gemini Ernst & Young, é uma questão de atitude.
“Os argumentos a favor e contra software de sistema aberto, com freqüência, são muito
banalizados”, afirma. “Não é uma questão de tecnologia; é mais uma questão de modelo de
negócio.”
Isso significa que empresas com um foco externo, acostumadas a trabalhar em
colaboração com outras organizações e talvez já usuárias de tecnologias colaborativas, estão
posicionadas para usufruir muito mais de ambientes abertos do que empresas com um foco
interno, que vêem a tecnologia em termos de economia de custo.
10.11 - Custo Zero: A Fama do Linux
Um dos maiores problemas que se enfrenta no mercado de pequenas e médias
empresas para vender soluções em Linux é sua fama de CUSTO ZERO. Os argumentos sobre
o valor e preços dos serviços em Linux normalmente estão referenciados aos custos de
licenciamento de outros sistemas operacionais, já que os custos são os principais motivadores
por possíveis substituições de sistemas como Windows ou Novell.
No entanto, se observarmos os preços que se cobram pelos serviços em Linux,
normalmente desenvolvidos por profissionais de maior valor no mercado, é fácil verificar que
são altos o suficiente para fazer o cliente pensar se é melhor pagar licenças ou migrar para
Linux, onde não há custo de licenciamento, mas há custo de mudança de cultura, muito
140
141
embora as soluções em Linux apresentem novas possibilidades jamais vislumbradas em
outros sistemas, mas que se tornam mais evidentes somente no médio prazo.
Considerando que cerca de 58% dos PC em empresas possui Windows pirata
(em 2001, segundo a ABES), o custo da migração para Linux poderia ser considerado um
custo de legalização, representando um custo NOVO, e não uma economia de licenças, como
normalmente se argumenta. Daí a expectativa de que se troque o custo ZERO ILEGAL
(pirata) pelo custo ZERO LEGAL (Linux).
Se este fosse o único argumento para convencer o cliente, as vendas não
ocorreriam para cerca de 58% das empresas, que já trabalham com software gratuito (piratas)
sem terem pago nada para ninguém, mesmo que em situação ilegal. Estes estão apostando na
chance muito pequena, ainda, da ABES bater em suas portas!
No entanto, como hoje a grande maioria das empresas trabalham em rede e em
aplicações via Internet, a linha de raciocínio que deve ser analisada é o custo operacional de
se utilizar um sistema que não funciona bem em redes e em aplicações via Internet, como o
Windows, por não ter sido projetado para isto, com diversas vulnerabilidades a ataques e
vírus, e a redução que pode ser obtida trabalhando com um sistema estável, projetado
especialmente para este tipo de aplicação, como é o caso do Linux.
Neste sentido, é preciso conhecer melhor os custos operacionais envolvidos,
tais como:
-
Quantidade de profissionais e tempo dedicado no suporte para cada
sistema;
-
Média de indisponibilidades por falhas, infecções por vírus ou reinstalações
freqüentes por instabilidade ou erros de projeto em cada sistema;
-
Tempo dedicado em rotinas de atualização e instalação de anti-virus;
-
Tempo dedicado em pesquisa, download e instalação de correções de
falhas;
-
Queda de produtividade nas atividades dependentes da rede ou da Internet,
devido ao baixo desempenho de redes com protocolos diferentes de
TCP/IP, não otimizados para redes ou Internet;
141
142
-
Tempo investido em medidas para contornar a insegurança do sistema
(backups mais freqüentes, duplicidade de arquivos, etc). A estes custos
devem ser somados os custos de hardware, muito mais exigentes em outros
sistemas, incluindo não somente o custo mais elevado na implantação como
também as atualizações muito mais freqüentes, normalmente anuais,
totalmente dispensáveis em Linux.
Mas como obter estas informações? É facil, basta conversar com qualquer
empresa que migrou ou está migrando para Linux. Hoje já são muitas. O Linux já domina
cerca de 30% dos servidores no mundo, segundo o IDC. Somente no Brasil, cerca de 9% dos
servidores em empresas de todos os portes já migraram para Linux.
142
143
11. REFERÊNCIAS BIBLIOGRÁFICAS
ALMEIDA, Marcus Garcia. Linux - Sistema Operacional II . São Paulo: Brasport, 2001.
ASTURIAN, Rodrigo. Revista do Linux. Disponível em < [email protected]> .
Acesso em 27 Ago 2004.
BORGES, Araujo Jackson. Comandos do Linux – uso eficiente e avançado. São Paulo:
Ciência Moderna, 2001.
CARDOSO, Adilson da Silva. Desvendando os Segredos do Linux – Comandos e
Serviços. São Paulo: Brasport, 2003.
CERVO, A. L.; BERVIAN, P. A. Metodologia Científica. 4ª edição. São Paulo: Makron
Books, 1996.
COLÉGIO ALBERT SABIN. Pl Tecnologia. Disponível em www.pl.com.br. Acesso em 28
Ago 2004.
CRAIG, Hunt. Windows NT TCP/IP Network Administration. EUA: O’Reilly, 1998.
FERREIRA, Rubem E. Linux Guia do Administrador do Sistema. São Paulo: Novatec,
2003.
GALEOTE, Sidney. Windows NT. Respostas e perguntas. São Paulo: Érica, 1994.
GIL, Antônio C. Como Elaborar Projetos de Pesquisa. 3ª edição. São Paulo: Atlas, 1996.
JACK, Tackett. Usando Linux - Edição Especial. Rio de Janeiro: Campus, 2000.
LAKATOS, E. M.; MARCONI, M. A. Metodologia Científica. 2ª edição. São Paulo: Editora
Atlas, 1991.
MAGRIN, Maria Heloiza. Pocket Guia do Profissional Linux. São Paulo: Digerati, 2004.
143
144
MENDONÇA, Nelson; BOAS, Vilas Tiago. Cursando GNU/Linux. São Paulo: Brasport,
2004.
MICHAEL, Tobler J. Desvendando Linux. Rio de Janeiro: Campus, 2001.
MORIMOTO, Carlos. Entendendo e Domingo o Linux. São Paulo: Digerati, 2004.
PFÜTZENREUTER, Elvis. A Revista do Linux. São Paulo: Conectiva. Disponível em
<[email protected] >. Acesso em 01 Set 2004.
PUNK,
Piter.
Por
que
deu
Errado?.
Disponível
em
<http://computerworld.terra.com.br/AdPortalV3/adCmsDocumentoShow.aspx?documento=2
7900&Area=1> Acesso em 27 Ago 2004.
RODRIGUES, José Arnaldo. Windows NT Server. São Paulo: Celta, 2003
RODRIGUES, M. A. Migrando para o Linux. São Paulo: Conectiva Informática, 1999.
RUSSEL, Charlie; CRAWFORD, Sharon. Guia autorizado Microsoft Windows NT Server
4.0. São Paulo: Makron Books, 2003
SABBATINI, Renato M. E. Jornal Correio Popular. Caderno de Informática. Disponível
em www.epub.org.br/correio/corr308i.htm Acesso em 02 Set. 2004.
SEVERINO, A. J. Metodologia
do
Trabalho Científico. 21ª
edição. São Paulo:
Cortez, 2000.
SHAH, Steve; GRAHAM, Steven. Linux – Administração – Teoria & Prática. São Paulo:
Alta Books, 2003.
STINSON, Craig. Windows NT. Guia autorizado Microsoft. São Paulo: Makron Books,
1996.
144
Download