tcc pronto 2007-2010

82
UNIVERSIDADE ESTADUAL DE GOIÁS UNIDADE UNIVERSITÁRIA DE PORANGATU BACHARELADO EM SISTEMAS DE INFORMAÇÃO SISTEMAS OPERACIONAIS MODERNOS: UNIX X WINDOWS Luciana Alves de Paula Vieira Thiago Eterno Feitosa Ferreira

Upload: thiago-eterno

Post on 27-Jun-2015

677 views

Category:

Documents


17 download

TRANSCRIPT

Page 1: TCC PRONTO 2007-2010

UNIVERSIDADE ESTADUAL DE GOIÁSUNIDADE UNIVERSITÁRIA DE PORANGATU

BACHARELADO EM SISTEMAS DE INFORMAÇÃO

SISTEMAS OPERACIONAIS MODERNOS:UNIX X WINDOWS

Luciana Alves de Paula Vieira Thiago Eterno Feitosa Ferreira

Porangatu/GO Dezembro/2010

Page 2: TCC PRONTO 2007-2010

Luciana Alves de Paula Vieira

Thiago Eterno Feitosa Ferreira

SISTEMAS OPERACIONAIS MODERNOS:

UNIX X WINDOWS

Trabalho de Curso (TC) apresentado a Unidade Universitária da UEG de Porangatu como requisito para obtenção do titulo de graduação.Orientador: Fernando BonifácioCoordenadora: Ana Amélia

Porangatu/GODezembro/2010

II

Page 3: TCC PRONTO 2007-2010

UNIVERSIDADE ESTADUAL DE GOIÁSUNIDADE UNIVERSITÁRIA DE PORANGATU

TERMO DE APROVAÇAO

SISTEMAS OPERACIONAIS MODERNOS:Unix X Windows

Concluintes:

Luciana Alves de Paula Vieira

Thiago Eterno Feitosa Ferreira

Trabalho de Curso (TC) apresentado a banca examinadora em 07/12/2010,

constituída pelos professores:

Fernando Bonifácio-----------------------------------------------------------------Orientador/ UEG

Eliene Araújo----------------------------------------------------------------------------Membro/ UEG

Andréia Marquez----------------------------------------------------------------------Membro/ UEG

Porangatu, 07 de dezembro de 2010.

III

Page 4: TCC PRONTO 2007-2010

FICHA CATALOGRÁFICA

VIEIRA, Luciana Alves De Paula. FEITOSA, Thiago Eterno.Sistemas Operacionais Modernos: Unix x Windows. Porangatu 2010.(UEG / UnU Porangatu, Bacharelado em Sistemas de Informação, 2010).

Monografia. Universidade Estadual de Goiás, Unidade Universitária de Porangatu. Departamento de Sistemas de Informação.

1. Sistemas Operacionais 2. Unix x Windows 3. Vantagens e Desvantagens dos SO’s4. Pesquisa de Campo

REFERÊNCIA BIBLIOGRÁFICA

VIEIRA, Luciana Alves de Paula. FERREIRA, Thiago Eterno Feitosa. Sistemas Operacionais Modernos: Unix x Windows. Porangatu, 2010. 56 p. Monografia – Curso de Sistemas de Informação, Unidade Universitária de Porangatu, Universidade Estadual de Goiás.

CESSÃO DE DIREITOS

NOME DOS AUTORES: Luciana Alves de Paula Vieira, Thiago Eterno Feitosa FerreiraTÍTULO DO TRABALHO: Sistemas Operacionais Modernos: Unix x WindowsGRAU/ANO: Graduação /2010.

É concedida à Universidade Estadual de Goiás permissão para reproduzir cópias deste trabalho, emprestar ou vender tais cópias para propósitos acadêmicos e científicos. O autor reserva outros direitos de publicação e nenhuma parte deste trabalho pode ser reproduzida sem a autorização por escrito do autor.

Luciana Alves de Paula VieiraAvenida Doutor Boussu Q. 08 L. 04, CentroCEP 76490-000– Mara Rosa – GO – Brasil

Thiago Eterno Feitosa FerreiraRua São Paulo S/N CentroCEP 76490-000– Mara Rosa – GO – Brasil

IV

Page 5: TCC PRONTO 2007-2010

Dedicamos este trabalho primeiramente a Deus, pois sem ele nada seria possível. E ao nosso orientador Fernando Bonifacio.

V

Page 6: TCC PRONTO 2007-2010

AGRADECIMENTOS

Senhor, as dificuldades não foram poucas...

Os desafios foram muitos...

Os obstáculos, muitas vezes, pareciam intransponíveis.

Muitas vezes nos sentimos só, e, assim, o estivemos...

O desânimo quis contagiar, porém, a garra e a tenacidade foram mais fortes,

sobrepondo esse sentimento, fazendo-nos seguir a caminhada, apesar da

sinuosidade do caminho.

Agora, ao olharmos para trás, a sensação do dever cumprido se faz presente

e podemos constatar que as noites de sono perdidas, as viagens e visitas

realizadas; o cansaço dos encontros, os longos tempos de leitura, digitação,

discussão; a ansiedade em querer fazer e a angústia de muitas vezes não o

conseguir, por problemas estruturais; não foram em vão.

Aqui estamos, como sobreviventes de uma longa batalha, porém, muito mais

fortes e hábeis, com coragem suficiente para mudar a nossa postura, apesar

de todos os percalços...

Por isso, te agradecemos Senhor, por ter nos dado a oportunidade de concluir

este curso superior.

Agradecemos também ao nosso orientador Fernando Bonifácio, pelo

constante apoio, incentivo, dedicação e amizade.

Aos nossos familiares e amigos pelo incentivo e apoio nos momentos de

dificuldades.

A todos, os sinceros agradecimentos.

VI

Page 7: TCC PRONTO 2007-2010

RESUMO

Tanto o Windows como o Unixsão Sistemas Operacionais, portanto podem ser utilizados para a mesma finalidade (abrir o conteúdo de um pendrive, imprimir uma apostila, conectar a internet, enviar e receber e-mails). A maior diferença entre estes dois Sistemas Operacionais, é que o Unix possui o código fonte aberto, por isso, é considerado um Software Livre. Já o Windows não tem seu código fonte aberto, e também exige o pagamento de Licença para Uso, o que significa que, quem compra o Windows, na verdade está apenas pagando uma licença para usar, não sendo considerado dono deste programa, por isso não pode ser feito cópias do Windows. Uma das vantagens do Linux é o fato de possuir o Código fonte aberto, sendo possível fazer uma adaptação ou correção de erros deste programa pelo usuário, levando em consideração o conhecimento da linguagem de programação. Outra vantagem é que você pode encontrar o Linux na Internet sem cobrança, ou seja, gratuito. Mas é importante lembrar que nem todo Software Livre é gratuito, pois você pode baixar o Linux gratuito na Internet, e por ser um Software Livre você tem o direito de fazer cópias e cobrar uma taxa qualquer para distribuir. Uma das desvantagens do Linux, é que hoje fabricantes de periféricos e programas não estão ainda criando seus equipamentos para ser usado em Linux, sempre criam baseados na linguagem do Windows, que já é um programa consolidado no mercado. Por isso alguns programas como o Corel Draw, Photoshop, Microsoft Office, teoricamente não poderão ser instalados na plataforma Linux, mas para isso os desenvolvedores do Linux, fizeram parcerias com outras organizações sem fins lucrativos, para criar programas que possam substituir os programas que só rodam no Windows.

Palavras-chave: Sistema Operacional, Windows, Unix, Linux, Software Livre, Código fonte.

VII

Page 8: TCC PRONTO 2007-2010

ABSTRACT

Both Windows and Linux are operating systems, so can be used for the same purpose (to open the contents of a USB key, a print book, connect to the Internet, send and receive e-mails). The biggest difference between these two operating systems is that Linux has open source code, so it is considered a Free Software. Since Windows does not have its source code open, and also requires the payment of Use License, which means that those who buy Windows, and you're just paying for a license to use, not being regarded as the owner of this program, so no can be made copies of Windows. One of the advantages of Linux is the fact of having the code open source, and can make an adjustment or correction of errors of this program by the user, taking into account the knowledge of the programming language. Another advantage is that you can find Linux on the Internet without charge, or free. But it is important to remember that not all Free Software is free because you can download Linux free from the Internet, and being a free software you have the right to make copies and charge a fee for any distribution. One of the downsides of Linux today is that manufacturers of computer peripherals and programs are not yet creating their equipment to be used on Linux, always create Windows-based language, which is already a consolidated program on the market. So some programs such as Corel Draw, Photoshop, Microsoft Office, theoretically cannot be installed on the Linux platform, but for that Linux developers, have partnered with other nonprofit organizations to create programs that can replace the programs that only run on Windows.

Keywords: Operating System, Windows, Linux, Free Software, Source Code.

VIII

Page 9: TCC PRONTO 2007-2010

LISTA DE GRAFICOS

Gráfico 1 – Pessoas que possuem qualquer curso de informática ...................46

Gráfico 2 - Tempo diário de computador...........................................................47

Gráfico 3 – Pessoas que ouviram falar sobre Linux..........................................47

Gráfico 4 – Pessoas que usam Windows e Linux.............................................48

Gráfico 5 – Pessoas satisfeitas com SO usado.................................................48

Gráfico 6 – Características a serem melhoradas no SO...................................49

IX

Page 10: TCC PRONTO 2007-2010

LISTA DE ABREVIATURAS E SIGLAS

Siglas Descrição

AT&T Empresa que desenvolveu o UnixMS-DOS Microsoft Operating System-Sistema Operacional de DiscoSG SilberschatzDAV DavisSHA ShayIHC Interface Humano - ComputadorIBM PC Internacional Business MachinesREAD LerWRITE EscreverLSI Large Scale Integration - Integração em larga escalaREAL TIME Tempo RealCPU’s Unidade Central de ProcessamentoE/S Entrada/SaídaSMP Symetric MultiprocessorsNUMA Nom Uniform Memory AccessSORS Sistemas Operacionais de RedeI/O Input/OutputGPL General Public LicenseFSF Free Software FoundationIEEE Instituto de Engenheiros Elétricos e EletrônicosPOSIX Portable Operating Systems Interface UnixMIT Massachussets Institute Of TechnologyMULTICS Multiplexed Information and Computing ServicePDP Programmed Data ProcessorBSD Berkeley Software DistributionSVR Stevie Ray VaughanTCP/IP Transmission Protocol Control Protocol/Internet MB Mega ByteSO Sistema OperacionalFAT File Allocation TableUSB Universal Serial BusNTFS New Technology File System

X

Page 11: TCC PRONTO 2007-2010

SUMÁRIO

TERMO DE APROVAÇAO.................................................................................................................III

FICHA CATALOGRÁFICA..................................................................................................................IV

AGRADECIMENTOS........................................................................................................................VI

RESUMO.......................................................................................................................................VII

ABSTRACT....................................................................................................................................VIII

LISTA DE GRAFICOS........................................................................................................................IX

LISTA DE ABREVIATURAS E SIGLAS..................................................................................................X

INTRODUÇÃO................................................................................................................................13

1. SISTEMA OPERACIONAL............................................................................................................151.1 DEFININDO O SISTEMA OPERACIONAL.................................................................................................151.1.1 O SISTEMA OPERACIONAL VISTO COMO UMA MÁQUINA ESTENDIDA.....................................................161.1.2 O SISTEMA OPERACIONAL VISTO COMO UM GERENTE DE RECURSOS.....................................................171.2 EVOLUÇÃO DOS SISTEMAS OPERACIONAIS...........................................................................................181.2.1 PRIMEIRA GERAÇÃO (1945-1955) VÁLVULAS E PAINÉIS CONECTORES..................................................181.2.2 SEGUNDA GERAÇÃO (1955-1965): TRANSISTORES E SISTEMAS DE LOTES.............................................191.2.3 TERCEIRA GERAÇÃO (1965-1980): CIS E MULTIPROGRAMAÇÃO.........................................................191.2.4 QUARTA GERAÇÃO (1980-HOJE): COMPUTADORES PESSOAIS..............................................................191.3 TIPOS DE SISTEMAS OPERACIONAIS....................................................................................................191.3.1 SISTEMAS MONOPROGRAMÁVEIS / MONOTAREFA.............................................................................191.3.2 SISTEMAS MULTIPROGRAMÁVEIS / MULTITAREFA..............................................................................201.3.3 SISTEMAS BATCH.........................................................................................................................211.3.4 SISTEMAS DE TEMPO COMPARTILHADO............................................................................................211.3.5 SISTEMAS DE TEMPO REAL............................................................................................................221.3.6 SISTEMAS COM MÚLTIPLOS PROCESSADORES....................................................................................221.3.7 SISTEMAS FORTEMENTE ACOPLADOS...............................................................................................231.3.8 SISTEMAS FRACAMENTE ACOPLADOS...............................................................................................231.4 PRINCIPAIS ATIVIDADES DE UM SISTEMA OPERACIONAL.........................................................................241.4.1 GERENCIA DE PROCESSOS..............................................................................................................241.4.1.1 ESTADO DOS PROCESSOS............................................................................................................251.4.2 GERÊNCIA DE MEMÓRIA...............................................................................................................251.4.3 GERENCIAMENTO DE I/O..............................................................................................................261.5 SOFTWARE LIVRE............................................................................................................................271.5.1 O QUE É SOFTWARE LIVRE.............................................................................................................271.5.2 HISTORIA DO SOFTWARE LIVRE.......................................................................................................281.5.3 PORQUE USAR SOFTWARE LIVRE?..................................................................................................291.5.3.1 ARGUMENTO MACROECONÔMICO...............................................................................................301.5.3.2 ARGUMENTO DE SEGURANÇA......................................................................................................301.5.3.3 ARGUMENTO DA AUTONOMIA TECNOLÓGICA.................................................................................301.5.3.4 ARGUMENTO DA INDEPENDÊNCIA DE FORNECEDORES......................................................................311.5.3.5 ARGUMENTO DEMOCRÁTICO......................................................................................................31

2. UNIX..........................................................................................................................................32XI

Page 12: TCC PRONTO 2007-2010

2.1 A HISTÓRIA DO UNIX.......................................................................................................................322.1.1 CARACTERÍSTICAS DO UNIX............................................................................................................352.2 HISTÓRIA DO MICROSOFT WINDOWS.................................................................................................362.2.1 PRINCIPAIS VERSÕES.....................................................................................................................37

3. VANTAGENS E DESVANTAGENS DOS SISTEMAS OPERACIONAIS.................................................413.1 CONFIABILIDADE.............................................................................................................................413.2 SEGURANÇA...................................................................................................................................423.3 PORTABILIDADE..............................................................................................................................423.4 ESTABILIDADE.................................................................................................................................433.5 ROBUSTEZ.....................................................................................................................................433.6 USABILIDADE.................................................................................................................................433.7 DISTRIBUIÇÃO LIVRE OU PROPRIETÁRIA................................................................................................45

4. PESQUISA DE CAMPO................................................................................................................464.1 INTRODUÇÃO.................................................................................................................................464.2 RESULTADOS DA PESQUISA...............................................................................................................46

CONSIDERAÇOES FINAIS................................................................................................................51

REFERENCIAS................................................................................................................................53

APÊNDICE......................................................................................................................................54APÊNDICE A – PESQUISA DE CAMPO SOBRE SISTEMAS OPERACIONAIS...........................................................54

XII

Page 13: TCC PRONTO 2007-2010

INTRODUÇÃO

Há algumas décadas, os computadores possuíam características muito

limitadas como, baixa capacidade de memória, processamento, etc. Como tinham

poucos recursos, eram necessários programadores que realmente conhecessem a

fundo suas características, para extrair o máximo de desempenho, confiabilidade e

capacidade de armazenamento da máquina. Foi em meio a esse cenário que um

pesquisador da Bell Labs chamado Ken Thompson iniciou o desenvolvimento do

sistema operacional Unix que passou a ser proprietário da AT&T.

Um sistema operacional, nada mais é do que um conjunto de programas que

gerenciam os recursos básicos de um computador. Ele é responsável por controlar a

parte física do computador fazendo a interface entre o usuário e os programas. Ken

Thompson criou um sistema operacional rápido, seguro, eficiente, multitarefa e

multiusuário, mas da mesma forma que os programadores da sua época, não se

preocuparam em criar mecanismos que facilitassem a utilização do sistema por

usuários “leigos”. Na verdade, naquela época talvez nem existissem tais usuários,

pois computadores eram utilizados apenas por grandes empresas e nos meios

científicos e acadêmicos.

Com a chegada dos microcomputadores por volta de 1981 e a sua utilização

por usuários considerados “leigos”, surgiu à necessidade de desenvolver sistemas

mais amigáveis que facilitassem a utilização do sistema. O MS-DOS da Microsoft

trouxe estas características, mas deixou de lado a robustez, a eficiência e a

capacidade de ser multitarefa e multiusuário como o Unix. Foi quando em 1990, um

jovem estudante finlandês chamado Linus Torvalds baseando-se no clone do Minix

que por sua vez era quase um clone do Unix, desenvolveu o kernel Linux juntamente

com várias pessoas ao redor do mundo que o ajudaram a incluir suporte ao

hardware, aos programas auxiliares, às interfaces gráficas, etc, para que tudo

funcionasse sem problemas.

Este trabalho verifica vantagens e desvantagens dos sistemas Unix e

Windows, possibilitando a disseminação das tecnologias empregadas nos sistemas.

Traz características estruturais presentes em todos os sistemas operacionais, que

são de grande valor, para o compreendimento destes, e outros softwares da

categoria. Busca inovar, trazendo novos recursos e benefícios, no âmbito da

13

Page 14: TCC PRONTO 2007-2010

tecnologia, à tona. Constituir opiniões concretas no público de usuários, com base

em informações consistentes. Gerar maiores debates sobre a qualidade deste e

outros produtos do gênero. Demonstrar, por meio dos usuários de SO, quais as

tendências e influências destes na avaliação do programa.

Serve como base para pesquisas e aprendizado tanto pelos acadêmicos e

profissionais da área quanto ao usuário avançado em SO. A análise das tecnologias

envolvidas e comparações entre os sistemas respondem as diversas duvidas do

usuário que deseja aprender mais ou ate mesmo trocar de SO, mas não o faz por

não ter conhecimento aprofundando do tema. A leitura desta pesquisa cientifica

poderá responder as dúvidas impostas pelo leitor.

O trabalho em questão é baseado em pesquisas em livros e internet, com

base em referencial bibliográfico e artigos científicos. Foram feitas também

instalações de ambos os sistemas em computadores e notebooks para analises e

comparações. Pesquisas com grupos de usuários para analisar o ponto de vista

entre os sistemas desconhecidos por eles e o Windows. Desenvolvimento das

facilidades e complicações em cada sistema e gerar um relatório no qual teremos o

sistema de maior uso para o usuário final.

Dentro deste contexto, o objetivo é analisar se os Sistemas baseados em

Unix (Linux, Mac Os entre outros) são uma alternativa de sistema operacional para a

realização de tarefas básicas em relação ao sistema operacional Microsoft Windows

e verificar a eficiência na realização das tarefas, a segurança, integridade dos

dados, e desempenho em relação ao Microsoft Windows.

Para tanto, o primeiro capitulo define o que é um Sistema Operacional, fala da

sua evolução cita as principais atividades, traz o conceito de Software Livre, breve

histórico e, mostra porque utilizar um Software Livre.

O segundo conceitua o Unix, conta a sua historia, cita as características,

conceitua Windows, conta a sua historia juntamente co as principais versões.

O terceiro trata das vantagens e desvantagens dos Sistemas Operacionais,

bem como: confiabilidade, segurança, portabilidade, estabilidade, robustez e

usabilidade. E a diferença entre distribuição livre ou proprietária.

E para finalizar provamos tudo com uma pesquisa de campo no quarto

capitulo.

14

Page 15: TCC PRONTO 2007-2010

1. SISTEMA OPERACIONAL

1.1 Definindo o Sistema Operacional

Um sistema operacional é um programa que controla a execução dos programas de aplicação e atua como uma interface entre o usuário do computador o hardware do computador. Um sistema operacional pode ser pensado como tendo dois objetivos ou desempenhando duas funções: conveniência, pois faz o sistema computacional mais conveniente de usar; e eficiência, pois permite que os recursos do sistema computacional sejam usados de maneira eficiente. (STALLING,1996, p. 222).

Silberschatz utiliza praticamente a mesma definição, indicando que um

sistema operacional é um ambiente intermediário entre o usuário e o hardware do

computador no qual programas podem ser executados de forma conveniente e

eficiente [SG00, p. 23]. Davis [DAV91], Shay [SHA96] e outros também apresentam

idéias semelhantes.

Tanenbaum, por sua vez, define um sistema operacional através de uma ótica

ligeiramente diferente:

O mais fundamental de todos os programas do sistema é o sistema operacional que controla todos os recursos computacionais e prove uma base sobre a qual programas de aplicação podem ser escritos. (TANENBAUM 1992, p. 1).

Os sistemas operacionais são uma camada de software que ”envolve” os

componentes físicos de um computador, intermediando as interações entre estes

componentes e os usuários ou os programas dos usuários. Neste sentido é

apropriado considerar que os sistemas operacionais podem ser vistos como uma

extensão do próprio computador ou como gerenciadores dos recursos existentes

neste computador.

A despeito do tipo, sofisticação ou capacidades do computador, um sistema

operacional deve atender aos seguintes princípios:

1. Oferecer os recursos do sistema de forma simples e transparente;

2. Gerenciar a utilização dos recursos existentes buscando seu uso eficiente em

termos do sistema e;

Page 16: TCC PRONTO 2007-2010

3. Garantir a integridade e a segurança dos dados armazenados e processados

no sistema e também de seus recursos físicos.

Alem destes objetivos, um sistema operacional também deve proporcionar

uma interface adequada para que ele possa ser utilizado pelos seus usuários.

Historicamente as primeiras interfaces dos sistemas operacionais eram baseadas

em um conjunto de palavras-chave (comandos) e mensagens de dialogo que

permitiam a execução de tarefas e a comunicação entre homem (o operador) e

maquina. Estes comandos e mensagens definiam a Interface Humano-Computador

(IHC) daquele sistema. Atualmente as interfaces baseadas em modo texto estão em

desuso, sendo substituídas por interfaces gráficas mais modernas e simples que

buscam facilitar a utilização do computador através de sua aparência atraente e uso

intuitivo.

O sistema operacional realiza duas funções que não possuem nenhuma

relação uma com a outra, vejamos:

1.1.1 O Sistema Operacional visto como uma Máquina Estendida

A arquitetura (conjunto de instruções, organização da memória, estrutura de

entrada/saída e estrutura do barramento) da maioria dos computadores é bastante

primitiva e difícil de programar, em especial a entrada/saída. Para tornar este ponto

mais claro, vamos examinar rapidamente como é feita a entrada/saída em uma

unidade de disco flexível, usando o chip controlador NEC PD765, que é utilizado no

IBM PC. O PD765 tem 16 comandos, cada um deles especificado pela carga de

entre um e nove bytes no registrador do dispositivo. Tais comandos são para

leitura/escrita de dados, movimento da cabeça, formatação de trilhas e inicialização,

sensoriamento, reinicialização e calibração do controlador e do driver do disquete.

Os comandos mais básicos são o READ e o WRITE, cada um dos quais

requerendo 13 parâmetros, acondicionados em 9 bytes. Tais parâmetros especificam

o endereço do bloco a ser lido do disco, o número de setores por trilha, o modo de

gravação no meio físico, o espaçamento entre setores, entre outras coisas. Quando

a operação se completa, o chip controlador retorna ao processador, 23 campos de

estado, acondicionados em 7 bytes. Como se isto não bastasse, o programador da

unidade de disco flexível tem de se preocupar com o fato do motor do disco estar

ligado ou desligado. Se o motor estiver desligado, ele precisa ser ligado antes que o 16

Page 17: TCC PRONTO 2007-2010

dado possa ser lido ou gravado. O motor não pode permanecer ligado por muito

tempo sob pena de danificar o disquete. Desta forma, o programador é forçado a

optar entre desligar/ligar constantemente o motor, com um consumo excessivo de

tempo, e a possibilidade de danificar o disquete, com a conseqüente perda das

informações nele armazenadas. Fica claro que o programador não quer ou não pode

envolver-se com detalhes da programação das unidades de disco flexível. O

programador deseja lidar com uma abstração de alto nível e bastante simples. No

caso dos discos, uma abstração típica poderia fazer com que o disco fosse visto

como uma coleção de arquivos identificados por nome. Cada arquivo deve ser

aberto para leitura ou escrita, em seguida deve ser lido ou escrito e finalmente deve

ser fechado. Detalhes a respeito do tipo de modulação a ser usado no processo de

gravação ou a respeito do estado corrente do motor não devem aparecer na

abstração apresentada ao usuário.

O programa que esconde o verdadeiro hardware do usuário e apresenta-lhes

um esquema simples de arquivos identificados que podem ser lidos ou escritos é o

sistema operacional. Da mesma forma que o sistema operacional isola o usuário dos

detalhes da operação do disco, ele também trata de uma série de outras questões

tais como interrupções, os temporizadores, a gerência da memória e outras. Em

cada caso, a abstração apresentada ao usuário do sistema operacional é mais

simples e mais fácil de utilizar que o próprio hardware.

Neste aspecto, a função do sistema operacional é a de apresentar ao usuário

uma máquina estendida ou máquina virtual equivalente ao hardware, porém muito

mais simples de programar.

1.1.2 O Sistema Operacional visto como um Gerente de Recursos

O mais fundamental de todos os programas do sistema é o sis- tema operacional que controla todos os recursos computacionais e provê uma base sobre a qual programas de aplicação podem ser escritos. (TANENBAUM 1992, p. 1).

O conceito do sistema operacional como fornecedor de uma interface

conveniente aos seus usuários é uma visão top-down. Uma visão alternativa,

bottom-up, mostra o sistema operacional como um gerente de recursos de hardware

disponíveis na máquina. Os computadores modernos são compostos de

17

Page 18: TCC PRONTO 2007-2010

processadores, memórias, temporizadores, discos, terminais, dispositivos de fita

magnética, interfaces de rede, impressoras e outros dispositivos. Nesta visão, a

função do sistema operacional é a de fornecer um esquema de alocação dos

processadores, das memórias e dos dispositivos de entrada/saída entre os vários

processos que competem pela utilização de tais recursos.

Imagine o que poderia acontecer se três processos, rodando em um dado

computador, resolvessem imprimir suas saídas simultaneamente na mesma

impressora. As três primeiras linhas da listagem poderiam ser do processo 1, as

seguintes do processo 2 e assim por diante, até que os três terminassem a

impressão. Fica claro que tal situação não é admissível em nenhum sistema que se

preze. O sistema operacional tem por função colocar ordem neste caos potencial,

armazenando em disco todas as saídas destinadas à impressora, durante a

execução dos processos.

No caso do computador possuir múltiplos usuários, a necessidade de

gerência e proteção da memória, dos dispositivos de entrada/saída e dos demais

recursos do sistema fica ainda mais aparente.

Pelo exposto acima, esta outra visão da função de um sistema operacional

mostra que sua tarefa principal é a de gerenciar os usuários de cada um dos

recursos da máquina, contabilizando o tempo de uso de cada um e garantindo o

acesso ordenado de usuários a recursos através da mediação dos conflitos entre as

requisições dos diversos processos usuários do sistema.

O desenvolvimento dos sistemas operacionais pode ser mais bem observado

e compreendido quando acompanhamos a historia do próprio computador.

1.2 Evolução dos Sistemas Operacionais

1.2.1 Primeira Geração (1945-1955) Válvulas e Painéis Conectores

Os primeiros grandes computadores desenvolvidos com válvulas não existiam

os sistemas operacionais. O operador reservava um período de tempo para ir ate as

conexões da maquina e realizar as operações certas para que a máquina

conseguisse realizar os cálculos.

18

Page 19: TCC PRONTO 2007-2010

1.2.2 Segunda Geração (1955-1965): Transistores e Sistemas de Lotes

Os computadores começaram a ser desenvolvidos e construídos com os

transistores, dessa forma os computadores começaram a ser comercializados

devido ao seu desempenho e confiabilidade. Surgiram sistemas operacionais

capazes de interpretar os cartões perfurados e gerar fitas de entrada e saída.

1.2.3 Terceira Geração (1965-1980): CIs e Multiprogramação

A IBM desenvolveu uma linha de maquinas System/360. 360 era uma linha de

maquinas totalmente compatível em nível de software o que mudava então era o

hardware das máquinas. O 360 foi à primeira linha de computadores a usar circuitos

integrados.

1.2.4 Quarta Geração (1980-hoje): Computadores Pessoais

Foi marcada principalmente pelo desenvolvimento dos circuitos LSI (Large

Scale Integration- integração em larga escala) chips com milhares de transistores

por centímetro quadrado de silício permitiu uma evolução tanto na parte de hardware

como de software.

1.3 Tipos de Sistemas Operacionais

1.3.1 Sistemas Monoprogramáveis / Monotarefa

Os primeiros sistemas operacionais eram tipicamente voltados para a

execução de um único programa. Qualquer outra aplicação, para ser executada,

deveria aguardar o término do programa corrente. Os sistemas monoprogramáveis

se caracterizam por permitir que o processador, a memória e os periféricos

permaneçam exclusivamente dedicados à execução de um único programa.

Os sistemas monoprogramáveis estão tipicamente relacionados ao

surgimento dos primeiros computadores na década de 1960.

19

Page 20: TCC PRONTO 2007-2010

Neste tipo de sistema, enquanto um programa aguarda por um evento, como

a digitação de um dado, o processador permanece ocioso, sem realizar qualquer

tipo de processamento. A memória é subutilizada caso o programa não a preencha

totalmente e os periféricos estão dedicados a um único usuário, nem sempre

utilizados de forma integral.

Comparados a outros sistemas, os sistemas mono programáveis são de

simples implementação, não existindo muita preocupação com problemas

decorrentes do compartilhamento de recursos.

1.3.2 Sistemas Multiprogramáveis / Multitarefa

A maioria dos sistemas modernos opera em regime de multiprogramação, isto é, mais de um programa em execução simultânea na memória. A existência nesses sistemas de periféricos assíncronos e com velocidades de operação as mais diversas tornou economicamente necessário introduzir a multiprogramação a fim de utilizar de maneira mais eficiente os recursos do sistema (GUIMARÃES 1986, p.71).

Os sistemas Multiprogramáveis são uma evolução dos sistemas mono

programáveis. Neste tipo de sistema, os recursos computacionais são

compartilhados entre os diversos usuários e aplicações.

Neste tipo de sistema, enquanto um programa espera por uma operação de

leitura ou gravação em disco, outros programas podem estar sendo processados

neste mesmo intervalo de tempo. Neste caso, podemos observar o

compartilhamento de processador e de memória. O sistema operacional se

preocupa em gerenciar o acesso concorrente aos seus diversos recursos, como

memória, processador e periféricos, de forma ordenada e protegida, entre os

diversos programas.

As vantagens do uso de sistemas Multiprogramáveis são a redução do tempo

de resposta das aplicações processadas no ambiente e de custos, a partir do

compartilhamento dos diversos recursos do sistema entre as diferentes aplicações.

Os sistemas Multiprogramáveis, apesar de mais eficientes que os

monoprogramáveis, são de implementação muito mais complexa.

A partir do número de usuários que interagem com o sistema, podemos

classificar os sistemas Multiprogramáveis como monousuário ou multiusuário.

Sistemas monousuário são encontrados em computadores pessoais e estações de 20

Page 21: TCC PRONTO 2007-2010

trabalho, onde há apenas um único usuário interagindo com o sistema. Neste caso

existe a possibilidade da execução de diversas tarefas ao mesmo tempo como a

edição de um texto, uma impressão e o acesso à Internet. Sistemas multiusuários

são ambientes interativos que possibilitam diversos usuários conectarem-se ao

sistema simultaneamente.

Os sistemas Multiprogramáveis podem ser classificados pela forma com que

suas aplicações são gerenciadas, podendo ser divididos em sistemas batch, de

tempo compartilhado ou de tempo real.

1.3.3 Sistemas Batch

Os sistemas batch foram os primeiros tipos de sistemas operacionais

Multiprogramáveis a serem implementados na década de 1960. Os programas,

também chamados de Jobs, eram submetidos para execução através de cartões

perfurados e armazenados em disco ou fita, onde aguardavam para serem

processados. Posteriormente, em função da disponibilidade de espaço na memória

principal, os Jobs eram executados, produzindo uma saída em disco ou fita.

O processamento batch tem a característica de não exigir a interação do

usuário com a aplicação. Todas as entradas e saídas de dados são implementadas

por algum tipo de memória secundária, geralmente arquivos em disco.

Esses sistemas, quando bem projetados, podem ser bastante eficientes,

devido à melhor utilização do processador.

1.3.4 Sistemas de Tempo Compartilhado

Os sistemas de tempo compartilhado (time-sharing) permitem que diversos

programas sejam executados a partir da divisão do tempo do processador em

pequenos intervalos, denominados fatia de tempo (time-slice). Caso a fatia de tempo

não seja suficiente para a conclusão do programa, esse é interrompido pelo sistema

operacional e substituído por outro, enquanto fica aguardando por uma nova fatia de

tempo. O sistema cria um ambiente de trabalho próprio, dando a impressão de que

todo o sistema está dedicado, exclusivamente, para cada usuário.

21

Page 22: TCC PRONTO 2007-2010

Geralmente, sistemas de tempo compartilhado permitem a interação dos

usuários com o sistema através de terminais que incluem vídeo, teclado e mouse.

Devido a esse tipo de interação, os sistemas de tempo compartilhado também

ficaram conhecidos como sistemas on-line.

1.3.5 Sistemas de Tempo Real

Os sistemas de tempo real (real-time) são implementados de forma

semelhante à dos sistemas de tempo compartilhado. O que caracteriza a diferença

entre os dois tipos de sistemas é o tempo de resposta exigido no processamento

das aplicações.

Enquanto nos sistemas de tempo compartilhado o tempo de resposta pode

variar sem comprometer as aplicações em execução, nos sistemas de tempo real os

tempos de resposta devem estar dentro de limites rígidos, que devem ser

obedecidos, quando bem projetados, podem ser bastante eficientes, devido à melhor

caso contrário poderão ocorrer problemas irreparáveis.

Nestes sistemas não existe a idéia de fatia de tempo. Um programa utiliza o

processador o tempo que for necessário ou até que apareça outro mais prioritário.

Esses sistemas normalmente estão presentes em aplicações de controle de

processos, como no monitoramento de refinarias de petróleo ou controle de tráfego

aéreo.

1.3.6 Sistemas com Múltiplos Processadores

Os sistemas com múltiplos processadores caracterizam-se por possuir duas

ou mais CPU’s interligadas e trabalhando em conjunto. A vantagem desse tipo de

sistema é permitir que vários programas sejam executados ao mesmo tempo ou que

um mesmo programa seja subdividido em partes para serem executadas

simultaneamente em mais de um processador.

Com múltiplos processadores foi possível a criação de sistemas

computacionais voltados principalmente para o processamento científico aplicado,

por exemplo, no desenvolvimento aeroespacial, metereologia, simulações, etc.

22

Page 23: TCC PRONTO 2007-2010

Os conceitos aplicados ao projeto de sistemas com múltiplos processadores

incorporam os mesmos princípios básicos e benefícios apresentados na

multiprogramação, além de outras características e vantagens específicas como

escalabilidade, disponibilidade e balanceamento de carga.

Um fator chave no desenvolvimento de sistemas operacionais com múltiplos

processadores é a forma de comunicação entre as CPU’s e o grau de

compartilhamento da memória e dos dispositivos de E/S. Em função desses fatores,

podemos classificar os sistemas com múltiplos processadores em fortemente

acoplados e fracamente acoplados.

1.3.7 Sistemas Fortemente Acoplados

Nos sistemas fortemente acoplados (tightly coupled) existem vários

processadores compartilhando uma única memória física (shared memory) e

dispositivos de entrada/saída, sendo gerenciados por apenas um sistema

operacional. Em função destas características, os sistemas fortemente acoplados

também são conhecidos como multiprocessadores.

Os sistemas fortemente acoplados podem ser divididos em SMP (Symetric

Multiprocessors) e NUMA (Non-Uniform Memory Access). Os sistemas SMP

caracterizam-se pelo tempo uniforme de acesso à memória principal pelos diversos

processadores. Os sistemas NUMA apresentam diversos conjuntos reunindo

processadores e memória principal, sendo que cada conjunto é conectado aos

outros através de uma rede de interconexão. O tempo de acesso à memória pelos

processadores varia em função da sua localização física.

1.3.8 Sistemas Fracamente Acoplados

Os sistemas fracamente acoplados (loosely-coupled) caracterizam-se por

possuir dois ou mais sistemas computacionais conectados através de linhas de

comunicação. Cada sistema funciona de forma independente, possuindo seu próprio

sistema operacional e gerenciando seus próprios recursos. Em função destas

características, os sistemas fracamente acoplados também são conhecidos como

multicomputadores.

23

Page 24: TCC PRONTO 2007-2010

Com base no grau de integração dos hosts da rede, podemos dividir os

sistemas fracamente acoplados em sistemas operacionais de rede e sistemas

distribuídos. A grande diferença entre os dois é a capacidade do sistema operacional

em criar uma imagem única dos serviços disponibilizados pela rede.

Os sistemas operacionais de rede (SORs) permitem que um host compartilhe

seus recursos com os demais hosts da rede. Além disso, os usuários têm o

conhecimento dos hosts e seus serviços.

1.4 Principais Atividades de Um Sistema Operacional

1.4.1 Gerencia de Processos

Um processo computacional ou simplesmente processo pode ser entendido como uma atividade que ocorre em meio computacional, usualmente possuindo um objetivo definido, tendo duração finita e utilizando uma

quantidade limitada de recursos computacionais. (Jandl Jr 2004, p.21).

Um processo computacional ou simplesmente processo pode ser entendido

como uma atividade que ocorre em meio computacional, usualmente possuindo um

objetivo definido, tendo duração finita e utilizando uma quantidade limitada de

recursos computacionais.

A definição explica muito bem o que um processo é apenas as atividades

que acontecem em um sistema computacional, a duração é finita não existe

processo imediato todo processo por mínimo que seja o tempo de execução utiliza

um determinado tempo para ser executado e todo processo utiliza um determinado

numero de recursos computacionais existentes.

Podemos entender que um processo nada mais é do que um programa em

execução. Uma impressão de um documento é um processo, compilação de um

programa é um processo, toda atividade manual ou automática que ocorre dentro de

um computador pode ser descrito como um processo computacional.

Hoje em dia todos os computadores são capazes de realizar diversas tarefas

ao mesmo tempo, onde cada uma destas tarefas abrange um ou mais processos.

Para conseguirem realizar diversas tarefas ao mesmo tempo os computadores são

multiprogramados, o processador é chaveado de processo em processo em

pequenos intervalos de tempo, o processador executa um programa durante um

pequeno intervalo de tempo para depois executar outro programa por outro pequeno

24

Page 25: TCC PRONTO 2007-2010

intervalo de tempo e assim sucessivamente. Num instante qualquer o processador

estará executando apenas um dado programa, mas em um intervalo maior de tempo

ele terá executado trechos de vários programas, criando assim algo chamado

paralelismo.

Este paralelismo é chamado de paralelismo virtual, hoje em dias com

processadores que possuem vários núcleos ou supercomputadores que possuem

mais de um processador é possível a existência do paralelismo verdadeiro.

1.4.1.1 Estado dos processos

Dado que um processo pode ser considerado como um programa em

execução, num sistema computacional multiprogramado podemos identificar três

estados básicos de existência de um processo:

Pronto (Ready) Situação em que o processo está apto a utilizar o

processador quando este estiver disponível. Isto significa que o processo pode ser

executado quando o processador estiver disponível.

Execução (Running) Quando o processo está utilizando um processador

para seu processamento. Neste estado o processo tem suas instruções

efetivamente executadas pelo processador.

Bloqueado (Blocked) Quando o processo está esperando ou utilizando um

recurso qualquer de E/S (entrada e saída). Como o processo devera aguardar o

resultado da operação de entrada ou saída, seu processamento fica suspenso até

que tal operação seja concluída.

1.4.2 Gerência de Memória

Um Computador é composto de três partes fundamentais: O processador, os

dispositivos de entrada/saída e a memória - John Von Neumann.

Esta estrutura citada por John Von Neumann mudou radicalmente o conceito

de computador, afirmando que o programa deveria ser armazenado na memória

junto com os dados, transformando maquinas sofisticadas de calcular existentes em

uma nova espécie de maquina completamente diferente, mais genérica e capaz de

lembrar seqüências de comandos previamente fornecidas, executando-as fielmente.

25

Page 26: TCC PRONTO 2007-2010

Este novo conceito permitiu construírem-se computadores capazes de

executar diferentes seqüências de instruções sem a alteração de seu hardware, o

que não acontecia com os gigantes maquina de calcular da época.

Quando Von Neumann propôs o computador como uma maquina capaz de

memorizar as instruções, já existia tecnologia para programarem-se os primeiros

circuitos processadores e os dispositivos básicos de entrada e saída de dados, mas

não se sabia como se iriam construir dispositivos de memória, só após vários anos

que o primeiro circuito de memória foi desenvolvido.

A arquitetura de Von Neumann o processador executa estas funções:

Busca de uma instrução (ciclo de fetch ou opcode fetch);

Descodificação da Instrução (ciclo de instruction decode);

Execução da instrução (ciclo de instruction execution).

A arquitetura computacional baseada nesses três elementos básicos mesmo

que com diversas dificuldades ainda é a melhor encontrada para a computação,

lembrando que a memória citada acima é a memória que troca dados diretamente

com o processador durante o ciclo de execução de seus comandos mais básicos, ou

seja, discos magnéticos e pendrives não devem ser confundidos com a memória

básica do computador.

A memória primaria possui interação direta com o processador, ou seja, ela

fica diretamente conectada aos seus barramentos, já a memória secundária

necessita de circuitos ou mecânica extra para que os dados presentes no

barramento do processador sejam gravados em sua mídia e vice-versa

1.4.3 Gerenciamento de I/O

I/O (Input/Output) ou E/S (Entrada/Saída) representa todos os dispositivos

eletromecânicos, eletrônicos e ópticos que são integrados a um sistema

computacional com o propósito de realizar a comunicação do processador e

memória com o meio externo. O computador seria uma maquina inútil caso não

existissem meios de realizarem-se as operações de entrada e saída.

26

Page 27: TCC PRONTO 2007-2010

“Os dispositivos de I/O, dispositivos periféricos ou apenas periféricos podem

ser classificados de forma ampla em três categorias’’. (STALLING, 1996, p. 179):

Human-Readable: Dispositivos apropriados para serem utilizados por

usuários do computador tais como o teclado, o mouse ou o monitor de vídeo.

Machine-Readable: São aqueles projetados para interligação do computa-

dor com outros equipamentos, tais como unidades de disco, CD-ROM ou fita

magnética.

Communication Destinado a realizar a comunicação do computador com

outros dispositivos remotos, tais como placas de rede ou modems.

1.5 Software Livre

1.5.1 O que é Software Livre

Existe a expressão em inglês para designar o que se chama nesse trabalho, de software livre: Free Software1. O Termo Free Software costuma causar alguma confusão em inglês, pois a palavra Free é freqüentemente associada a “grátis”. Porém não é essa a filosofia dos idealizadores do Free Software Foundation. A palavra Free significa liberdade porque leva em consideração a liberdade e não o preço (FERRAZ, 2002, p. 8).

Inicialmente iremos desfazer um mal-entendido. Software livre não significa

software grátis. Software livre é uma questão de liberdade e não de preço. Segundo

(GNU, 2005) “Software livre se refere à liberdade dos usuários executarem,

copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software.” GNU

(2005) especifica:

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. Acesso 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;

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.

27

Page 28: TCC PRONTO 2007-2010

Somente será considerado Software Livre o software que garanta as 4

liberdades apresentadas acima.

Para a proteção dos desenvolvedores foi criada a licença GPL (General

Public License), criada pela FSF (Free Software Foundation). A GPL permite que

programas sejam distribuídos e reaproveitados, mantendo, porém, os direitos do

autor, e sem permitir que essa informação seja usada de maneira indevida. A licença

não permite, por exemplo, que o código seja apoderado por outra pessoa, ou que

sejam impostos sobre ele restrições que impeçam a distribuição da mesma maneira

(livre) que foi adquirido.

Na GPL existe o conceito de copyleft. Trata-se se usar o conceito de

copyright que restringe o direito de cópia, para assegurar o seu inverso, a liberdade

de copiar (Silveira, 2004). A copyleft garante as 4 liberdades para o software livre

mostradas anteriormente e impõe uma restrição importante: nenhum software dele

derivado poderá se tornar um software proprietário.

A filosofia do Software Livre também defende o compartilhamento do

conhecimento bem como o trabalho colaborativo no desenvolvimento da tecnologia

e da ciência, procurando assegurar o direito autoral aos autores, bem como a

liberdade de cada um de contribuir ou apenas usufruir desta sem limitar a liberdade

dos demais.

1.5.2 Historia do Software Livre

Durante as décadas de 60 e 70, o software era visto como um complemento

do hardware para tornar os computadores úteis. No final dos anos 70, as empresas

começaram a impor algumas restrições no uso do software. E a partir daí a idéia da

construção de um sistema operacional livre foi ganhando cada vez mais adeptos e

vários componentes do Sistema Operacional foram desenvolvidos.

Atualmente, é possível encontrar software livre para praticamente todas as

finalidades. Desde as necessidades de um usuário doméstico até encontrar software

que rodam em servidores de grandes empresas.

28

Page 29: TCC PRONTO 2007-2010

Quem escolhe uma distribuição Linux livre, não paga taxa de atualização e os custos referentes à atualização como treinamentos, Conversões de programas e aquisição de equipamentos são inferiores Devido à compatibilidade com as versões anteriores (ARAUJO, 2006, p. 01).

1.5.3 Porque Usar Software Livre?

Existem diversas razões para o uso do software livre, inicialmente citaremos algumas de cunho individual:

Poder utilizar o software para qualquer finalidade;

Ter acesso ao código fonte e poder modificá-lo, sem quaisquer restrições;

Poder copiá-lo e executá-lo em quantas máquinas desejar;

Poder distribuí-lo, sem violar, é claro, essas liberdades a que todos têm

direito;

Ter o seu computador equipado com software de qualidade a um custo baixo

ou nulo;

Não ficar preso às restrições impostas pelas licenças de softwares

proprietários;

Não ficar dependente de novas versões com preços abusivos que

eventualmente apresentam incompatibilidades com versões antigas;

Não ficar dependente de um fornecedor;

Ficar livre da pirataria;

Incentivar o desenvolvimento de tecnologia local;

Interagir e compartilhar soluções com sua comunidade seja físico ou virtual;

Lutar contra o monopólio de grandes corporações que tentam se apropriar do

conhecimento intelectual coletivo para benefício próprio.

Além dos fatores apresentados Silveira (2004) nos apresenta 5 argumentos

para que um país em desenvolvimento como o Brasil adote o software livre:

1) Argumento macroeconômico;

2) Argumento de segurança;

3) Argumento da autonomia tecnológica;

4) Argumento da independência de fornecedores;

5) Argumento democrático.

29

Page 30: TCC PRONTO 2007-2010

Em seguida, iremos detalhar cada um dos argumentos:

1.5.3.1 Argumento Macroeconômico

A adoção do software livre permite reduzir de maneira drástica o envio de

royalties pelo pagamento de licenças de software, gerando maior sustentabilidade

do processo de inclusão digital da sociedade brasileira e de informatização e

modernização de empresas e instituições.

1.5.3.2 Argumento de Segurança

O modelo de software proprietário se afirma na ausência de transparência do

seu código-fonte, que deve permanecer fechado e escondido de seu usuário.

Usando o software livre, o governo pode analisar todo o código que adquire.

Também pode retirar rotinas duvidosas que estariam presentes no software em uso

e alterar estes softwares para aumentar o nível de segurança.

1.5.3.3 Argumento da Autonomia Tecnológica

A adoção de software livre amplia as condições de autonomia e capacitação

tecnológica do país, na medida em que permite que os usuários nacionais sejam

desenvolvedores internacionais. Além disto, o acesso à documentação e ao código-

fonte possibilita que os especialistas brasileiros acompanhem a evolução do

software e se capacitem para alterá-lo de acordo com os interesses de cada

organização.

1.5.3.4 Argumento da Independência de Fornecedores

30

Page 31: TCC PRONTO 2007-2010

Como o software livre traz o código fonte aberto, quando o governo opta por

seu uso este escapa do aprisionamento posterior à empresa que tenha desenvolvido

um software para o seu uso.

1.5.3.5 Argumento Democrático

As tecnologias de informação e comunicação estão se consolidando como

meio de expressão do conhecimento, de expressão cultural e de transações

econômicas. A limitação do acesso à informação restringe o direito de expressão e

de compartilhamento de conhecimento.

31

Page 32: TCC PRONTO 2007-2010

2. UNIX

2.1 A História do Unix

A história do Unix começou no final da década de 1960 e início de 1970, em

uma época em que os computadores eram grandes, caros e de difícil acesso a

pessoas comuns.

O Unix foi projetado para ser executado em computadores de grande capacidade, ou seja, mini e supercomputadores, pois somente estas máquinas poderiam oferecer recursos necessários para o ambiente gerado pelo sistema operacional. (ALVARES, NASU, LANARI, MARIN, 1996, p.14)

Havia poucos computadores e vários pesquisadores necessitando dos

recursos destes para poderem dar andamento aos seus trabalhos, e os sistemas

operacionais da época não satisfaziam às necessidades desses profissionais. Era

então, imprescindível desenvolver um sistema operacional multiusuário, multitarefa,

que pudesse ser convertido para diferentes plataformas de hardware.

O Unix é um sistema operacional multiusuário, pois permite que vários

usuários utilizem o mesmo computador ao mesmo tempo, por meio de terminais

remotos, e também um sistema operacional multitarefa, pois permite que vários

programas sejam executados simultaneamente.

Inicialmente o Unix foi escrito em linguagem Assembly, que varia muito de um

computador para outro. A necessidade de converter o Unix para diversas

plataformas de hardware levou à criação de uma linguagem de programação na qual

qualquer programa pudesse ser convertido facilmente, com pouca ou nenhuma

alteração, para qualquer uma das plataformas. Essa linguagem foi denominada C,

que mesmo nos dias de hoje, continua moderna e poderosa. Logo o Unix foi

reescrito em C e convertido para as mais diversas plataformas de hardware, sendo

executado atualmente tanto em computadores de bolso como em

supercomputadores.

No início, o UNIX era distribuído gratuitamente pela AT&T (empresa que o

desenvolveu) para as universidades. Mais tarde, porém, percebendo o sucesso do

Unix no meio comercial, a AT&T logo passou a disponibilizá-lo por um preço muito

alto. Logo em seguida, departamentos de ciência da computação de diversas

Page 33: TCC PRONTO 2007-2010

universidades no mundo inteiro começaram a desenvolver programas comerciais

para o Unix, criando um grande número de usuários e desenvolvedores de utilitários

e programas.

Entre os vários pesquisadores que desenvolveram o Unix, destaca-se o grupo

da Universidade da Califórnia, em Berkeley, que em 1975 licenciou a versão 6 da

AT&T, fez diversos aprimoramentos e relançou-o como Unix BSD.

Conseqüentemente, os dois maiores centros de desenvolvimento do Unix são a

AT&T e Berkeley.

Na década de 80, surgiram muitas versões comerciais do Unix, como Sun OS

e Solaris, da Sun Microsystems, AIX, da IBM, OSF/1 (hoje chamado de digital Unix),

da Digital, IRIX, da Silicon Graphics, e HP-UX, da Hewlett Packard.Todas essas

versões são baseadas nas versões da AT&T e de Berkeley, freqüentemente com

muitos cruzamentos e acréscimos, resultando em uma confusão de versões do Unix,

porém, em 1990, o IEEE (Instituto de Engenheiros Elétricos e Eletrônicos) começou

a desenvolver o padrão POSIX (Portable Operating Systems Interface Unix) para

uniformizar as características dos sistemas Unix.

Apesar de ter sido desenvolvido para lidar com dispositivos e caracteres, UNIX foi pioneiro na área de gráficos em estações de trabalhos. As primeiras interfaces gráficas para usuários (GUI) foram projetadas e utilizadas em sistemas operacionais UNIX, desenvolvidas pelo MIT. (ALVARES, NASU, LANARI, MARIN, 1996, p.14)

Até meados da década de 80, o Unix ainda não possuía uma interface gráfica

própria. Porém, com o advento do X Window System (sistemas de janela X),

desenvolvido pelo MIT (Massachussets Institute Of Technology), ele passou a dispor

de um sistema gráfico do tipo cliente-servidor e independente de arquitetura do

computador.

Em 1988, o controle do X Window System foi passado para o X Consorcium

(Consórcio X), organização sem fins lucrativos criada para garantir a evolução do X.

Evolução do Unix.

As raízes do UNIX datam dos meados dos anos 60, quando a AT&T,

Honeywell, GE e o MIT embarcaram em um massivo projeto para desenvolvimento

de um utilitário de informação, chamado Multics (Multiplexed Information and

Computing Service). Multics era um sistema modular montado em uma bancada de

33

Page 34: TCC PRONTO 2007-2010

processadores, memórias e equipamentos de comunicação de alta velocidade. Ele

permitia que partes do computador pudessem ser desligadas para manutenção sem

que outras partes ou usuários fossem afetados. O objetivo era prover serviço 24

horas por dia e 365 dias por ano, ou seja, um computador que poderia ser tornado

mais rápido adicionando mais partes.

Em 1969, o projeto estava muito atrasado em relação ao seu cronograma e a

AT&T resolveu abandoná-lo. Mas o projeto continuou no MIT.

Neste mesmo ano, Ken Thompson, um pesquisador da AT&T que havia

trabalhado no Projeto Multics, pegou um computador PDP-7 para pesquisar algumas

idéias do Multics por conta própria. Logo Dennis Ritchie, que também trabalhou no

Multics, se juntou a ele. Enquanto Multics tentava fazer várias coisas, o UNIX

tentava apenas rodar bem os programas.

Em 1973 o UNIX foi reescrito em C, talvez o fato mais importante da história

deste sistema operacional. Isto significava que o UNIX poderia ser portado para

novo hardware em meses, e que mudanças eram fáceis. A linguagem C foi projetada

para o sistema operacional UNIX, e, portanto há uma grande sinergia entre C e

UNIX.

Em 1975 foi lançada a V6, que foi a primeira versão de UNIX amplamente

disponível fora dos domínios do Bell Labs, especialmente em universidades. Este foi

o início da diversidade e popularidade do UNIX. Nesta época a Universidade de

Berkley comprou as fontes do UNIX e alunos começaram a fazer modificações ao

sistema.

Em 1978 saiu a série 3BSD, que teve uma importante contribuição, virtual

memory.

Em 1979 saiu a V7. Esta foi a primeira versão vendida comercialmente do

sistema, usada principalmente por universidades.

Em 1983 é lançado o System V da AT&T e o 4.2 BSD. O SV incluía o pacote

IPC (shm, msg, sem) para comunicação entre processos. Surgiram outras versões

do SV com a inclusão de novas características como sharedlibs no SVR4.O 4.2BSD

foi talvez uma das mais importantes versões do UNIX. O seu software de conexão

de redes tornava muito fácil a tarefa de conectar computadores UNIX a redes locais.

34

Page 35: TCC PRONTO 2007-2010

Nessa versão é que foram integrados os softwares que implementam TCP/IP e

sockets.

Em 1988 foi lançado o SVR4 incorporando as seguintes características:

BSD: TCP/IP, sockets, csh, ...

SVR3: sysadmin,...

SunOs: NFS, OpenLook GUI, X11/NeWS, virtual memory subsystem with

memoy mapped files, shared libraries (!= SVR3)

Ksh

O 4.4BSD foi lançado em 1992 para várias plataformas: HP 9000/300, Sparc,

386, DEC e outras, mas não em VAX. Entre as novas características estão:

Novo sistema de memória virtual baseado em Mach 2.5

Suporte ISO/OSI (baseado em ISODE)

A Sun Microsystem também lançou a sua versão do UNIX a partir do BSD.

Isto ocorreu até a versão SunOs 4.x. A nova versão, SunOs 5.x está baseada no

SVR4, embora tenha herdado algumas características do SunOs 4.x. O novo

sistema operacional da Sun, Solaris 2.x, é um SO que engloba SunOs 5.x, Open

Network Computing e Open Windows. É o solaris que provê o pacote de

compatibilidade entre os BSD/SunOs e o SVR4/SunOs 5.x.

A Microsoft também lançou uma versão do UNIX, chamada XENIX, que

rodava em PCs. Este sistema era inicialmente baseado na Versão 7, depois herdou

características dos SIII e depois do SV.

2.1.1 Características do Unix

O Unix é o único sistema modular, que permite aos programadores ou

usuários avançados, acrescentar ou remover partes para adaptá-lo as suas

necessidades, Os programas em unix sao como quebra-cabeça: os módulos se

encaixam como conexões padrão, você pode tirar um módulo, trocar por outro ou

ate mesmo expandir adicionando mais módulos. O sistema Unix de cada

desenvolvedor é único. Ele pode adaptar o sistema de acordo com suas

necessidades

35

Page 36: TCC PRONTO 2007-2010

O Sistema Unix é um sistema Multitarefa, varias tarefas podem ser

executadas de uma só vez, é multiusuário, podem-se conectar vários terminais em

um servidor e cada usuário através da sua conta acessar o sistema e realizar

trabalhos, pesquisas e etc.

O sistema Unix também possui algumas particularidades em outras partes

do sistema, estas são:

1. Ambiente Shell: O Unix possui dois shells, o Bourne e o Shell C, no Unix o

shell permite a escrita de caracteres especiais (* ? [...]) em nomes de arquivos

e permite o uso de arquivos que começam com ponto, são os chamados

arquivos escondidos: .logout, .login, etc.

2. Sistema de Arquivos: O Sistema de Arquivos do Unix é hierárquico, para

implementar ele usa um arquivo especial conhecido como diretório, além

destes o Unix também utiliza outros “arquivos” especiais que na verdade não

são realmente arquivos, mas dispositivos, como drives de disco.

3. Arquivos: Tudo no Unix é um arquivo (programas, dados, diretórios, disco,

teclado, impressora, etc.). O unix considera a diferença entre maiúscula e

minúscula, não é colocada a extensão do arquivo no nome, se o arquivo tiver

extensão ela é utilizada apenas como identificação.

4. Permissões e Propriedades dos Arquivos: Todo arquivo tem um

proprietário. O superproprietário pode alterar a posse dos arquivos se

necessário. O proprietário dos arquivos pode definir permissões de acesso ao

arquivo.

5. E-Mail: O Unix possui um controle de e-mails o usuário pode cadastrar seu e-

mail para receber e enviar mensagens.

O Unix é um sistema usado de tantas maneiras que o sistema operacional

básico gerou inúmeras implementações. Uma implementação é uma versão

adaptada ao sistema para um computador específico.

2.2 História Do Microsoft Windows

A palavra Windows em inglês significa janelas. A sua interface é baseada

num padrão de janelas que exibem informações e recebem respostas dos

utilizadores através de um teclado ou de cliques do mouse.36

Page 37: TCC PRONTO 2007-2010

Este padrão de interface não foi, no entanto, criado pela Microsoft. O registro

da marca Windows foi legalmente complicado, pelo fato de essa palavra ser de uso

corrente em inglês.

A Microsoft começou o desenvolvimento de um Gerenciador de Interface

(subseqüente renomeado Microsoft Windows) em setembro de 1981. O Windows só

começa a ser tecnicamente considerado como um SO a partir da versão Windows

NT, lançada em Agosto de 1993. O que havia antes eram sistemas gráficos sendo

executados sobre alguma versão dos sistemas compatíveis com DOS, como MS-

DOS, PC-DOS ou DR-DOS. Somente o MSDOS era produzido pela própria

Microsoft.

O MS-DOS é um sistema operativo que não dispõe de interface gráfica,

funciona através de comandos de texto introduzidos no teclado pelo utilizador. O

Windows surgiu inicialmente como uma interface gráfica para MS-DOS, que permitia

correr programas em modo gráfico, o que permitiu a utilização do mouse, que até a

altura era considerado supérfluo em computadores de tipo IBM-PC.

2.2.1 Principais Versões

O Windows 3.0 foi o primeiro sucesso amplo da Microsoft e foi lançado em

22 de Maio de 1990. Ao contrário das versões anteriores, ele era um Windows

completamente novo. Tecnicamente, esta versão é considerada o primeiro sistema

gráfico da empresa. Era um sistema gráfico de 16 bits, mas ainda precisava ativar

primeiro o MS-DOS para ativar o Windows. Substituiu o MS-DOS Executive pelo

Gerenciador de Programas e o Gerenciador de Arquivos que simplificavam as

aplicações e tornava o sistema mais prático. Melhorou bastante a interface, o

gerenciamento de memória e o sistema multitarefa. Conseguiu ultrapassar o limite

de 1 MB do MSDOS e permitiu a utilização máxima de 16 MB de aplicações.

Naquela época era o único possível de compatibilizar todos os programas das

versões anteriores.

37

Page 38: TCC PRONTO 2007-2010

Windows 95: É o primeiro S.O. de 32 bits e foi lançada em 24 de Agosto de

1995. Ele era um Windows completamente novo, e de nada lembra os Windows da

família 3.xx. O salto do Windows 3.0 ao Windows 95 era muito grande e ocorreu

uma mudança radical na forma da apresentação da interface. Introduziu o Menu

Iniciar e a Barra de Tarefas. Nesta versão, o MS-DOS perdeu parte da sua

importância visto que o Windows já consegue activar-se sem precisar da

dependência prévia do MS-DOS. As limitações de memória oferecidas ainda pelo

Windows 3.0 foram praticamente eliminadas nesta versão. O sistema multitarefa

tornou-se mais eficaz. Utilizava o sistema de ficheiros FAT-16 (VFAT). Os ficheiros

(arquivos) puderam a partir de então ter 255 caracteres de nome (mais uma

extensão de três caracteres que indica o programa que abre o arquivo). Existe uma

outra versão do Windows 95, lançada no início de 1996, chamada de Windows 95

OEM Service Release 2 (OSR 2), com suporte nativo ao sistema de arquivos FAT32.

Já o Windows 95, a partir da revisão OSR 2.1, incluía o suporte nativo ao

Barramento Serial Universal (USB).

Windows 98: Esta versão foi lançada em 25 de Junho de 1998. Foram

corrigidas muitas das falhas do seu antecessor. A maior novidade desta versão era a

completa integração do S.O com a Internet. Utilizava a Internet Explorer 4. Introduziu

o sistema de arquivos FAT 32 e começou a introduzir o tele trabalho (só foi possível

devido à integração da Web). Melhorou bastante a interface gráfica. Incluiu o suporte

a muitos monitores e ao USB (Universal Serial Bus). Mas, por ser maior do que o

Windows 95 e possuir mais funções eram também mais lentos e mais instáveis.

Nessa versão, nasce a restauração de sistema via MS-DOS (Scanreg.exe /restore).

A restauração de sistema visava corrigir problemas retornando o computador a um

estado anteriormente acessado (ontem, antes de ontem, etc).

Windows 98 Segunda Edição: (Windows 98 SE). Foi lançada em 1999 e

esta versão visava corrigir as falhas (bugs) e resolver os problemas de instabilidade

do Windows 98. Incluía drivers e programas novos. Substituiu a Internet Explorer 4

pela versão 5, que era mais rápida, e introduziu a Internet Connection Sharing, que

permite a partilha de uma rede de internet para muitos computadores. Acrescentou

também o NetMeeting 3 e suporte a DVD. Muitos utilizadores classificam este

sistema como um dos melhores da Microsoft, apesar de ser tratar de um sistema

38

Page 39: TCC PRONTO 2007-2010

operacional sem suporte a multitarefa real, e ainda tendo o DOS como o seu núcleo

principal.

Windows ME: Foi lançado pela Microsoft em 14 de Setembro de 2000, sendo

esta a última tentativa de disponibilizar um sistema baseado, ainda, no antigo

Windows 95. Essa versão trouxe algumas inovações, como o suporte às máquinas

fotográficas digitais, aos jogos multi jogador na Internet e à criação de redes

domésticas (home networking). Introduziu o Movie Maker e o Windows Media Player

7 (para competir com o Real Player) e atualizou alguns programas. Possuía a

Restauração de Sistema (um programa que resolvia problemas e corrigia bugs).

Introduziu a Internet Explorer 5.5. Algumas pessoas crêem que este foi apenas uma

terceira edição do Windows 98 e que foi apenas um produto para dar resposta aos

clientes que esperavam por uma nova versão. Muitas pessoas achavam-no

defeituoso e instável, o que seria mais tarde comprovado pelo abandono deste

segmento em função da linha OS/2-NT4-2000-XP, criada originalmente pela IBM e

posteriormente adquirida pela Microsoft. Na mesma época, foi lançada uma nova

versão do Mac OS X e a Microsoft, com receio de perder clientes, lançou o Windows

ME para que os fãs aguardassem o lançamento do Windows XP.

Windows XP:Lançada em 25 de Outubro de 2001 e é também conhecida

como Windows NT 5.1. Roda em formatações FAT 32 ou NTFS. A sigla XP deriva

da palavra experiência.

Uma das principais diferenças em relação às versões anteriores é quanto à

interface. Trata-se da primeira mudança radical desde o lançamento do Windows 95.

Baseada no antigo OS/2 da IBM, cujos direitos foram comprados pela Microsoft, e,

seguindo a linha OS/2-NT-2000-XP, a partir deste Windows, surgiu uma nova

interface, abandonando o antigo formato 3D acinzentado.

Esta versão do Windows foi considerada como a melhor versão já lançada

pela Microsoft para usuários domésticos, possui uma interface totalmente simples a

inovadora. Um dos problemas é seu consumo, ele só pode ser instalado em

estações com mais de 128MB de memória, e cada vez que a Microsoft lança uma

nova versão, é cada vez maior e mais abstraído do hardware.

Versões: Home, Professional, Tablet PC Edition, Media Center Edition,

Embedded, Starter Edition e 64-bit Edition. O nome de código desta versão, antes

do lançamento era Whistler.

39

Page 40: TCC PRONTO 2007-2010

Windows Vista: Também conhecido como Windows NT 6.0, pelo nome de

código Longhorn e pelo próprio nome oficial Vista, tem seis versões, uma delas

simplificada e destinada aos países em desenvolvimento. O Windows Vista começou

a ser vendido em 30 de Janeiro de 2007. As seis edições diferentes do Windows

Vista foram projetadas para se ajustar ao modo como você pretende usar seu PC.

Ele tem uma interface intitulada Aero, com recursos de transparência, que não existe

na Versão Starter e um sistema de alternância 3D de janelas chamado Flip 3D, que

é ativado pelo atalho Logotipo do Windows + Tab.

Versões do Windows Vista: Windows Vista Business, Windows Vista

Enterprise, Windows Vista Home Premium, Windows Vista Ultimate, Windows Vista

Home Basic.

Windows Seven:. Foi primeiro sistema da Microsoft com um beta publico

lançado. Milhões de downloads foram feitos. O marketing da Microsoft se

transformou em um dos maiores eventos de lançamento de um sistema operacional

já esperado.

O lançamento tão recente de um novo Windows foi devido a mal aceitação do

Windows vista pelo publico, considerado como um sistema “pesado”, fator que o fez

não ser bem executado em maquinas que não eram atuais, e varias

incompatibilidades com programas antigos fizeram o que seria o sucessor definitivo

do Windows XP, fosse um vilão na historia da Microsoft.

O Windows 7, foi otimizado para ser tão belo quanto o Windows Vista, alem

de ser rápido como Windows XP. Só em gráficos o Seven utiliza dos mesmos efeitos

que o Vista porem utiliza apenas 50% dos recursos pedidos pelo seu antecessor, um

sistema mais compatível com programas antigos, e que tem um desempenho bem

aceitável em maquinas mais fracas em processamento.

Apesar de já existirem versões em 64bits tanto no XP como no Vista, é o no

Windows 7 que a computação em 64bits ganhou uma proporção muito maior, os

motivos alem da tecnologia ter ficado mais barata é a capacidade do sistema

trabalhar com as duas arquiteturas sem perder desempenho 32bits como em ser

mais rápido em 64bits. Há comparações na internet em que programas em 32bits

rodam mais rápido em um Windows 7 64bits do que em um Windows XP 32bits.

40

Page 41: TCC PRONTO 2007-2010

Foram lançadas varias versões do sistema, com recursos reduzidos em cada

versão destinada a um tipo de público, a versão final denominada Ultimate como no

vista, abrange todos os recursos disponíveis.

41

Page 42: TCC PRONTO 2007-2010

3. VANTAGENS E DESVANTAGENS DOS SISTEMAS OPERACIONAIS

As empresas brasileiras têm um índice de adoção de software aberto em sua

infraestrutura de TI muito maior do que a média mundial. Entre as grandes

corporações, a relação de companhias que utilizam algum tipo de software livre

chega a 61%.

Os dados são de um estudo publicado pelo CGI.br, que levantou o uso de

Tecnologia de Informação e Comunicação no mercado corporativo em 2008.

Segundo a pesquisa, considerando as empresas de todos os portes, 26% delas

utilizam software de código aberto em sua estrutura de TI.

Se comparada à média de outros países, em que a adoção não chega a 10%

no mercado corporativo, “pode-se dizer que, o Brasil está muito bem na adoção de

software livre”, afirma o coordenador do Comitê Gestor da Internet no Brasil,

Augusto Cesar Gadelha.

Foram consultadas 3,5 mil empresas que atuam no Brasil, acima de 10

funcionários, de todas as regiões do país. Entre as empresas médias, a adoção

chega em 44% das companhias. O que puxa para baixo o percentual geral são as

pequenas empresas. Elas possuem uma representatividade muito grande na

amostragem e apenas 22% delas utilizam software livre.

3.1 Confiabilidade

A estrutura do sistema operacional afeta diretamente na sua confiabilidade, a

confiabilidade de um sistema operacional hoje em dia se caracteriza pelos seguintes

tópicos:

1. Reduzir o numero de faltas criticas - uma das estratégias muito

importante nesta questão é um kernel muito pequeno. é bem entendido

que mais código significa mais bugs, assim significa menos bugs no kernel.

2. Limitar estragos que cada bug pode causar – Reduzir o tamanho do

kernel não reduz a quantidade de código presente. Apenas desloca uma

grande parte dele para o modo usuário. Entretanto, esta mudança tem um

efeito profundo na confiabilidade. Código de kernel tem acesso completo

ara tudo o que a máquina pode fazer.

3. Recuperar falhas comuns – se tivermos a capacidade de detectar o

Page 43: TCC PRONTO 2007-2010

termino ou queda de um driver ou serviço do sistema será possível

automaticamente recuperá-lo através do seu reinício.

3.2 Segurança

O Linux tem características de segurança bem superiores por ter se

baseado no Unix que desde o começo preocupou-se com esta questão. O Windows

parece ter se preocupado como isto só depois de ter sido projetado. No Linux

quando baixamos um arquivo ou copiamos de outro computador, as permissões de

execução do arquivo são retiradas. Desta forma, quem define se um programa

executa ou não é o dono do arquivo. Isso previne que vírus possam infectar a

máquina, apesar de que o número de vírus conhecidos para o Linux é muito

pequeno. No Windows, o número de vírus conhecidos é enorme. Como o código

fonte do Linux é disponibilizado, milhares de pessoas podem encontrar

vulnerabilidades e apontar as correções. Os hackers são bem-vindos já que são

eles que contribuem com a estabilidade do sistema. No Windows, o código é

mantido secreto como um meio de esconder as vulnerabilidades.

3.3 Portabilidade

Segundo Hisham H. Muhammad “O conceito de portabilidade, adquire, com o

modelo de desenvolvimento de software livre, novas proporções. Software proprietários

normalmente são desenvolvidos visando as arquiteturas de hardware e software

dominantes no Mercado e manter uma equipe de desenvolvimento e testes para

arquiteturas menos utilizadas é inviável para a maioria das empresas, mesmo que na

prática, garantir a portabilidade de um programa muitas vezes envolva apenas cuidados

triviais.”

O Linux e sistemas Unix hoje em dia não enfrentam um fantasma da portabilidade

pela falta de drivers, kexts e etc. As distribuições Linux estão cada vez mais completa

com bando de dados de drivers existentes e a cada hardware novo Lançado em pouco

tempo já se obtém o drive para rodar em ambiente Linux.

No caso do Windows, por mais problemático que alguns drivers tenham sido o

ambiente da portabilidade para ele sempre foi enorme, o mercado voltado para ele

sempre o ajudou, qualquer desktop mundial hoje em dia tem capacidade para rodar

42

Page 44: TCC PRONTO 2007-2010

algum sistema Windows já feito, tanto faz o mais antigo ou o mais recente.

3.4 Estabilidade

Em questões de estabilidade o Unix reina supremo, mesmo com o crescimento da

estabilidade do Microsoft Windows em suas ultimas versões: Windows Xp, vista e

principalmente o Windows 7, dificilmente se tem noticia de um usuário Linux reclamando

de instabilidade ou um usuário Mac Os X que tem certificado Unix reclamando de

travamentos. Um exemplo de estabilidade são os computadores Alpha Digital com Linux,

ligados em rede, renderizaram as cenas do filme Titanic, durante 3 meses,

ininterruptamente. Em grandes empresas, geralmente os servidores são Linux.

3.5 Robustez

O Linux herda quase todas características do Unix e por isso é mais robusto e

resistente a falhas do sistema. Normalmente, um erro de um aplicativo não fecha todo

o sistema como frequentemente ocorre no Windows em que surge uma famosa tela

azul e o sistema é reiniciado. Dificilmente uma atualização do sistema ou instalação

de um novo aplicativo exige uma reinicialização a não ser, por exemplo, que o

kernel tenha sido atualizado. Acontece normalmente de um serviço ou aplicativo ser

reiniciado e não o sistema todo como acontece a cada nova instalação de um

aplicativo no Windows. “Isso [fatores acima] pode ser muito importante para grandes

organizações e empresas, onde mesmo alguns minutos fora do ar podem significar

grandes perdas” (ARAÚJO, 2006).

3.6 Usabilidade

Linux vem sendo utilizado largamente nas universidades brasileiras. No

princípio sua utilização se devia a carência de recursos das universidades públicas e

ao fato de ser gratuito e de rodar em máquinas de baixo custo, como

computadores pessoais. Entretanto, as universidades perceberam o seu

verdadeiro potencial: um sistema veloz, robusto e confiável e que permite ensinar

aos estudantes como realmente funcionam os computadores. Muitas aplicações

desenvolvidas em universidades exigem processamento intensivo de dados,

43

Page 45: TCC PRONTO 2007-2010

principalmente numéricos. O Linux é superior em processamentos pesados.

“A Faculdade de Saúde Pública da USP, por exemplo, usa o sistema desde

1996, no processamento de dados em programas de modelagem molecular - que envolvem uma série de simulações, destinadas a permitir que os pesquisadores entendam a conformação e o comportamento das moléculas em determinados meios.“É uma quantidade de cálculos muito grande, por causa do número de átomos de cada molécula", diz o professor José Alfredo Gomes Arêas, do grupo de Modelagem Molecular da faculdade.”“Ele conta que, antes, esse trabalho era executado na máquina Cray do Laboratório Central de Computação Avançada da USP. Depois que passou a ser feito nos três micros Pentium (o mais rápido de 400 MHz) com Linux instalados no grupo de Modelagem Molecular, o processamento ficou mais rápido do que no Cray. Arêas conta que uma simulação, que hoje leva cerca de 12 horas para ser feita, demorava de três a cinco vezes mais para ficar pronta no Cray.” (REVISTA DO LINUX, CONECTIVA S/A, 2000, p. 27)

O Linux é um excelente servidor web.

“A confiabilidade e robustez do Linux também tem feito desse sistema o

preferido para uso como servidor de e-mail, de Internet e de redes em geral. Na

Universidade Federal de Minas Gerais (UFMG), o Centro de

Computação mantém um servidor de transferência de arquivos (ftp)

anônimo com Linux, compartilhado pela comunidade universitária e por outros

usuários do backbone da Rede Nacional de Pesquisas (RNP).” (REVISTA DO

LINUX, CONECTIVA S/A, 2000, p. 27)

O Laboratório de Manufatura Integrada por Computador da Pontifícia

Universidade Católica do Rio Grande do Sul (PUC-RS), utiliza Linux para desenvolver

aplicações na área de automação e robótica. O Centro Universitário do Norte

Paulista (UNORP), abriga uma unidade do Colégio Positivo, com cerca de 500

crianças e jovens, da pré-escola ao 3º colegial que utilizam os laboratórios

da universidade, baseados em Linux. Escolas Goianas recebem laboratórios de

informática todos adotados com o sistema Linux Educacional do MEC. Aos poucos, as

universidades públicas e instituições de ensino de todo o país adotarão o sistema

Linux, reduzindo custos com licenças de software“ provendo ao estudante

oportunidade de estudar como os computadores funcionam ao invés de apenas

aprender a utilizá-los ” (ARAÚJO, 2006).

O Microsoft Windows é o sistema mais utilizado do mundo, sua aceitação e

crescimento maciço na sociedade, fez com que a usabilidade do sistema fosse símbolo

de usabilidade de softwares, organização de pastas, programas e arquivos as vezes

44

Page 46: TCC PRONTO 2007-2010

tem grandes semelhanças com outros sistemas por estes tentarem ser parecidos, o

sistema Windows em usabilidade.

3.7 Distribuição livre ou proprietária

O Software Livre mantém o direito de copyright do autor, mas permite a livre

distribuição, alteração e acesso ao código fonte. O Software Livre pode ser vendido ou

distribuído sem custos, mas sempre deve ser disponibilizado o código fonte. Ao contrário

do software proprietário, pode-se obter uma cópia e instalar o software em diversas

máquinas. Richard Stallman, o principal idealizador do conceito de Software Livre,

idealizou a licença GNU GPL que formaliza a licença dos softwares livres. Um exemplo

de Software Livre é o sistema operacional Linux.

O licenciamento Proprietário garanto ao autor ou fabricante do software

plenos poderes de venda, distribuição ou modificação do código fonte. Um usuário

deste programa normalmente deve pagar uma taxa pela utilização, o que lhe da

direito a uma ou varias licenças de uso. Normalmente não se tem o direito de acesso

ao código fonte o que não permite modificações ou melhorias no software mesmo

que seja para o uso próprio, o que torna o usuário altamente dependente do

fornecedor para obter atualizações sobre falhas de segurança e etc. O usuário do

software não tem o direito de redistribuir o software. O Principal exemplo de software

proprietário é o sistema operacional Windows.

45

Page 47: TCC PRONTO 2007-2010

4. PESQUISA DE CAMPO

4.1 Introdução

Atualmente o reinado do Windows como singularidade de sistema

operacional é bem clara, não só pelo mundo, mas em nossa região podemos

observar o quanto o sistema da Microsoft é difundido e usado, mesmo que por

meios ilegais o Windows continua em crescimento, observando o fator da inclusão

digital, cada vez mais as pessoas vão adquirindo computadores e estes vem em sua

grande maioria com o sistema de Bill Gates.

Às vezes em que encontramos alguém que compra um PC com um sistema

livre, logo a pessoa é instruída a formatar o computador e colocar Windows.

Para analisar e termos uma ideia de como é o conhecimento de uma parte

da população sobre os sistemas operacionais, elaboramos uma pesquisa com dados

básicos para analisar o conhecimento e o quanto este influencia na decisão de qual

sistema operacional usar.

4.2 Resultados da Pesquisa

Entrevistamos 20 pessoas, encontramos na nossa região uma disparidade

enorme entre os conhecimentos sobre T.I, é evidente que a cada dia a inclusão

digital aumenta e as pessoas são levadas ao uso da informática no dia a dia, mas a

verdade é que poucos são os interessados em saber com o que estão lidando, a

grande maioria apenas usa e não entende de termos técnicos, devido a este motivo

direcionamos a pesquisa ao meio acadêmico, um local onde encontramos pessoas

que tem um conhecimento mais elevado sobre termos de T.I, mas que ainda

encontramos pessoas quase que cruas em conhecimento quando se fala em

sistemas operacionais, software, hardware e etc.

Na pesquisa abordamos os seguintes temas:

1. Questões básicas – abordando o básico sobre conhecimento em

informática ex. Tempo que usa o computador

2. Questões Especificas – abordando sobre o Sistema Operacional

3. Questões sobre Software Livre – abordando o básico em software

livre, ex. Se o entrevistado sabia o que era Software Livre

Page 48: TCC PRONTO 2007-2010

4. Questões sobre Software Privado – abordando questões sobre preço

e pirataria

5. Questões Finais – Como a pessoa avalia o sistema que ela utiliza.

Algumas questões não incluíam apenas uma resposta em seu cabeçalho, ou seja, a

pessoa poderia marcar mais de uma opção. Como por exemplo:

Questões especificas:

5. Pra que finalidade você utiliza o computador?

( )Trabalho ( )Estudo ( )Diversão ( )Outros Fins

Os resultados mais interessantes da Pesquisa foram:

Gráfico 1 – Pesquisa realizada pela aluna Luciana no dia 10 de Novembro de 2010. Analise de dados sobre entrevistados que fizeram qualquer curso de informática e os que não fizeram.

Das 20 pessoas entrevistadas, 19 pessoas têm curso de informática no

mínimo um curso básico e ha pessoas que tem cursos avançados e de programas

específicos.

47

Pessoas que possuem qualquer Curso de Informática

Page 49: TCC PRONTO 2007-2010

Gráfico 2 – Pesquisa realizada pela aluna Luciana no dia 10 de Novembro de 2010. Analise dos dados para definir o tempo que cada pessoa passa em frente ao computador.

13 das 20 pessoas usam o computador diariamente por mais de 3 horas enquanto 7

usam no limite de 3 horas ou menos.

Gráfico 3 – Pesquisa realizada pela aluna Luciana no dia 10 de Novembro de 2010. Analise dos dados para definição da porcentagem que já ouviu falar em Linux.

95% dos entrevistados já ouviram falar em Linux

48

Tempo diário com o computador

Pessoas que ouviram falar sobre Linux

Page 50: TCC PRONTO 2007-2010

Gráfico 4 – Pesquisa realizada pela aluna Luciana no dia 10 de Novembro de 2010. Analise dos dados para definição das pessoas que usam Windows e os que ja usaram ou usam o Linux.

7 dos 20 entrevistados já usaram ou usam Linux

Gráfico 5 – Pesquisa realizada pela aluna Luciana no dia 10 de Novembro de 2010. Analise dos para definição de quantas estão satisfeitas e insatisfeitas com o sistema que usam.

49

Pessoas que usam Windows e Linux

Pessoas satisfeitas com SO usado

Page 51: TCC PRONTO 2007-2010

16 Pessoas se dizem satisfeitas com os sistemas que usam enquanto que 4

não estão

satisfeitas

Gráfico 6 – Pesquisa realizada pela aluna Luciana no dia 10 de Novembro de 2010. Analise dos dados das respostas, para definir qual característica deve ser melhorada no sistema.

Os dois requisitos que são indicados para serem melhorados no sistema são:

Segurança e Estabilidade.

Em questões especificas a questão 4, pedia a opinião do entrevistado sobre

qual sistema operacional é melhor, das respostas encontradas destacamos:

1. “Cada um tem sua particularidade eu uso o Windows e o Linux e aprovo os

dois sistemas operacionais” – Raimundo H. Pereira

2. “O melhor vai depender de muitos fatores, como segurança, desempenho,

suporte, compatibilidade.” – Nivaldo S. de Jesus

3. “Linux porque é grátis, possui maior segurança, exige maquinas menos

potentes e hoje em dia existe vários programas para ele.” – Janderson José

Analisando a fundo as respostas dos mesmos pudemos observar que

possuem um alto conhecimento em software livre, conhecem ambos mais distros

50

Características a serem melhoradas no SO

Page 52: TCC PRONTO 2007-2010

Linux e já tentou mudar de sistema operacional, isto prova o que é comentado e

disseminado na internet. Linux ou Unix em si é um sistema mais utilizado por

pessoas que tem mais conhecimento em T.I do que pessoas que tem pouco

conhecimento, pois estas ficam presas no que é mais fácil para elas e não buscam

obter ou aprender coisas novas na questão de novos sistemas.

CONSIDERAÇOES FINAIS

O sistema operacional é um programa de computador muito complexo, ele

em si tem toda a responsabilidade de gerenciar a máquina, os arquivos e

informações do usuário além de trazer a este os recursos responsáveis pela

interação amigável entre ele e o homem.

Por mais que o homem consiga adaptar um sistema ao seu gosto, criar um

SO que supra e acabe com todas as falhas neste momento com a tecnologia que

temos é impossível, sempre haverão falhas, sempre haverão acertos, da mesma

forma como pensamos, agimos e fazemos coisas diferentes, assim são os SO’s eles

pensam agem e são diferentes para suprir os desejos e vontades de homens que

não são iguais.

O Windows ganhou o mundo, ele nasceu, cresceu e amadureceu junto com

a evolução da informática, o sortudo além de surgir no momento certo, evoluiu com

o tempo e sempre se adaptou as novas tecnologias e conceitos impostos pela

revolução da informática no mundo. O Windows hoje em dia é sinônimo de sistema

operacional, mesmo pessoas leigas em informática, aprendem a usar seu sistema. A

facilidade de uso é muito grande.

O Unix foi criado para facilitar e ser o sistema mais versátil e seguro do

mundo, por mais que digam que o Unix não é tão visado em ataques quanto o

Windows, seu gerenciamento de contas e permissões é invejado pelo seu

concorrente famoso (Windows).

O Unix em si, não prevê facilidade de uso a usuários que não são

conhecedores do sistema, talvez por isto, o Linux mesmo com tantos anos de

estrada não conseguiu uma fatia de mercado interessante, só agora isto vem sendo

explorado e uma fatia um pouco maior de usuários começou a utiliza-lo, varias

distros estão investindo pesado em portabilidade e na facilidade de operação da

maquina, limitando ao máximo possível o uso do Terminal para solução de

51

Page 53: TCC PRONTO 2007-2010

problemas e configuração do sistema.

O sistema Mac Os X da apple que possui certificado UNIX, desde o inicio

aparou as arestas do Unix, removendo da tela 99% do que 99% dos usuários não

irão usar, e hoje em dia tem um sistema que é chamado de “Sistema Operacional

mais avançado do mundo”. O Mac Os X combina um núcleo robusto, seguro e

rápido com uma interface, intuitiva e muito amigável ao usuário.

A utilização do sistema operacional varia muito de usuário para usuário.

Trabalho, diversão, lazer, cada sistema tem um pouco de tudo, o usuário final é que

decide qual ele vai utilizar. A formação educacional da pessoa em nível de

tecnologia computacional, opinião pessoal, identificação e os primeiros passos

dados na computação, influenciam a decisão na escolha do sistema. Segurança,

estabilidade e velocidade são tópicos importantes abordados durante uma pesquisa

sobre sistema operacional, mesmo que alguns prefiram qualquer sistema que seja

fraco em uma das três características citadas acima, prevalece o uso pela

característica que ela cita como mais importante.

O sistema perfeito para o usuário comum é aquele que a pessoa mais se

adéqua a ele, não importa segurança, não importa velocidade, aos olhos de quem

vê, independente de testes ou de provas de qual é melhor e qual é pior fica

estabelecido que o sistema perfeito é aquele que satisfaz o usuário.

52

Page 54: TCC PRONTO 2007-2010

REFERENCIAS

William S. DAVIS. Sistemas Operacionais: uma visão sistemática. RJ, 1991.

Abraham SILBERSCHATZ and Peter Baer GALVIN. Sistemas Operacionais: Conceitos, 5a Edição. SP, 2000.

Andrew S. TANENBAUM. Modern Operating Systems. NJ, 1992.

Andrew S. TANENBAUM. Distributed Operating Systems. NJ, 1995.

CARDOSO, Carlos. Linux Curso Básico & Rápido. RJ, 1999.

TAURION, C. Software Livre: potencialidades e modelos de negócios. RJ, 2004.

BACIC, Nicolas Michel. O software livre Como Alternativa ao Aprisionamento Tecnológico Imposto pelo software proprietário. Campinas, 2003.

SILVEIRA, Sérgio Amadeu da, Software Livre: a luta pela liberdade do conhecimento, SP 2004.

ARAUJO, Fabio, 25 Motivos para migrar para um Software Livre, SP 2007

CONECTIVA S/A, Revista do Linux, 2000.

ALVARES Marco, NASU Claudia, LANARI Alfredo, MARIN Luciene. Linux Curso de Introdução ao Linux, MS 1996.

53

Page 55: TCC PRONTO 2007-2010

APÊNDICE

Apêndice A – Pesquisa de Campo Sobre Sistemas Operacionais

54

Page 56: TCC PRONTO 2007-2010

Pesquisa de Campo sobre Sistemas Operacionais

Informações do entrevistado

Nome:________________________________________________

Escolaridade:___________________________________________

Cidade:_______________________________________________

Questões Básicas

1.Você já utilizou ou sabe utilizar um computador?

( ) Sim ( ) Não ( ) Mais ou Menos

2. Já fez algum curso de Informática?

( ) Nenhum ( ) Básico ( ) Avançado ( ) Especializado

3. Você tem computador em casa?

( ) Sim ( ) Não

4. Quantas horas você usa o computador por dia?

( ) 1 Hora ( ) 2 Horas ( ) 3 Horas ( ) Mais de 3 Horas

Questões Específicas

1. Quais destes nomes você já ouviu falar?

( ) Windows ( ) Linux ( ) Mac Os ( ) MS-DOS

2. Você sabe o que é um sistema operacional?

( ) Sim ( ) Não ( ) Já Ouvi Falar

3. Qual sistema operacional você utiliza?

( ) Windows ( )Linux ( ) Mac Os ( ) Outros

4. Em sua opinião qual sistema operacional é o melhor? Por quê?

55

Page 57: TCC PRONTO 2007-2010

5. Pra que finalidade você utiliza o computador?

( ) Trabalho ( )Estudo ( )Diversão ( ) Outros Fins

Questões Sobre Software Livre

1. Você sabe o que é Software Livre?

( ) Sim ( ) Não

2. Conhece algumas dessas distros?

( ) Ubuntu ( ) Debian ( ) Kurumim ( ) Outros

3. Qual deles você utiliza?

( ) Ubuntu ( ) Debian ( ) Kurumim ( ) Outros

4. Sua opinião sobre o sistema

( ) Ótimo ( ) Bom ( ) Regular ( ) Ruim

Questões sobre Software Privado

2. Você sabia que o Windows é um sistema operacional pago?

( ) Sim ( ) Não

3. Quanto você acha que custa uma licença do Windows?

( ) Entre 50 e 150 reais ( ) De 150 a 300 reais ( ) Mais de 300 reais

4. Você teria coragem de pagar mais de 300 reais por uma licença do Windows?

( ) Sim ( ) Não

5. Você já pagou para formatar o seu computador e instalar o Windows?

( ) Sim ( ) Não

6. Quanto custou?

Questões Finais

56

Page 58: TCC PRONTO 2007-2010

1. Está satisfeito com o seu sistema operacional?

( ) Sim ( ) Não

2. Já tentou e/ou deseja trocar de sistema operacional?

( ) Sim ( ) Não

3. O que você acha que poderia ser melhorado no seu sistema operacional?

( ) Segurança ( ) Facilidade se Uso ( ) Velocidade ( ) Estabilidade

57