Escolar Documentos
Profissional Documentos
Cultura Documentos
SISTEMAS OPERACIONAIS
AUTORIA:
presentao
bjetivo
Este mdulo tem como objetivo passar aos alunos os conhecimentos gerais sobre os
Sistemas Operacionais: como so construdos, quais so as caractersticas que devem estar
presentes, os tipos de sistemas operacionais, quais as diferenas entre os sistemas, dentre
outros tpicos.
menta
Parte
Terica
Conceitos
Gerais,
Estruturao
do
Sistema
Operacional,
obre o Autor
Bacharel em Sistemas de Informao; Ps-Graduado em Engenharia de Sistemas; Psgraduando MBA em Gerncia de Projetos; Certificado PMP (Project Management
Professional); Especialista nas tecnologias MS Project 2007, Project Server 2007 (EPM 2007)
e Microsoft SharePoint 2007; Experincia como consultor pela Microsoft Brasil (MCS),
Gerente de Fbrica de Software Petrobras, Analista em Projetos de desenvolvimento de
Sistemas e administrador de redes Windows e Linux. Atualmente atuo como Gerente de
Projetos na Petrobras e Tutor na ESAB (Escola Superior Aberta do Brasil) em Cursos de PsGraduao.
UMRIO
UNIDADE 1 ........................................................................................................... 9
Histrico ............................................................................................................. 9
UNIDADE 2 ......................................................................................................... 12
Primeiros Microcomputadores ......................................................................... 12
UNIDADE 3 ......................................................................................................... 17
Sistemas Operacionais Avanados ................................................................. 17
UNIDADE 4 ......................................................................................................... 20
Estrutura Do Sistema Operacional .................................................................. 20
UNIDADE 5 ......................................................................................................... 24
Processos ......................................................................................................... 24
UNIDADE 6 ......................................................................................................... 29
Threads ............................................................................................................ 29
UNIDADE 7 ......................................................................................................... 34
Comunicao Entre Processos ........................................................................ 34
UNIDADE 8 ......................................................................................................... 39
Gerenciamento De Processos ......................................................................... 39
UNIDADE 9 ......................................................................................................... 42
Sincronizao Dos Recursos ........................................................................... 42
UNIDADE 10 ....................................................................................................... 46
Preveno Contra Bloqueio ............................................................................. 46
UNIDADE 11 ....................................................................................................... 51
Gerenciamento Da Memria ............................................................................ 51
UNIDADE 12 ....................................................................................................... 54
Memria Virtual ................................................................................................ 54
UNIDADE 13 ....................................................................................................... 58
Copyright 2007, ESAB Escola Superior Aberta do Brasil
NIDADE
Histrico
1. Primeiros Computadores
Em 1890, foi desenvolvido o primeiro computador mecnico. A partir de 1930, comearam as
pesquisas para substituir as partes mecnicas por eltricas. O Mark I, construdo em 1944
por uma equipe da Inglaterra, o primeiro computador eletromecnico capaz de efetuar
clculos mais complexos sem a interferncia humana. Ele media 15m x 2,5m. Em 1946,
surgiu o ENIAC (Electronic Numerical Integrator and Computer), primeiro computador
eletrnico e digital automtico: pesava 30 toneladas, utilizava cerca de 18 mil vlvulas e
realizava 4.500 clculos por segundo. O ENIAC continha a arquitetura bsica de um
computador. A inveno do transistor, em 1947, substituiu progressivamente as vlvulas,
aumentando a velocidade das mquinas.
Os primeiros computadores, por serem eletromecnicos, eram muito difceis de serem
operados. Era necessrio ter o conhecimento de toda a sua arquitetura e a programao
dessas mquinas era feita em paineis contendo cerca de 6.000 interruptores. E, alm disso,
esses computadores no possuam monitor ou teclado, nem sistema operacional.
A partir de 1950 os computadores comearam a ser construdos com a utilizao de
transistores, tornando-se mquinas puramente eletrnicas. Surgiram dispositivos auxiliares
para operarem em conjunto com o computador, tais como: disco-rgido, memria RAM,
teclado e monitor. Foi nessa poca que surgiu o primeiro computador, o Univac 1103, com
2. Primeiros Microcomputadores
O primeiro computador pessoal o Apple I, inventado em 1976 pelos americanos Steve Jobs
e Stephan Wozniak. Em 1981, a IBM lanou o seu PC (Personal Computer), que se tornou
um sucesso comercial, utilizando o processador Intel i8080. Posteriormente, os PC's
passaram a usar processadores cada vez mais potentes: i286, i386SX, i386DX, i486SX,
i486DX. Na dcada de 90 surgiram os computadores que, alm do processamento de dados,
renem fax, modem, secretria eletrnica, scanner, acesso Internet e unidade para CD.
Basicamente, o computador formado por: Gabinete, Monitor, Teclado e Mouse. Os outros
dispositivos (caixa de som, microfone, impressora, digitalizador, etc.) so dispositivos
acessrios.
Na dcada de 80 os computadores tornaram-se equipamentos populares, comprados para
serem utilizados em casa, auxiliando a organizao e planejamento domstico, alm de ser
utilizado no entretenimento familiar. Havia uma diferena essencial nos sistemas
10
11
NIDADE
Primeiros Microcomputadores
12
Sistemas Monotarefa: executam uma tarefa de cada vez, como por exemplo: imprimir
um arquivo. Praticamente no so mais utilizados hoje em dia, devido ao desperdcio
de recursos do computador que eles causam. O extinto MS-DOS da Microsoft um
exemplo de sistema operacional monotarefa.
13
14
Sistemas de Tempo Real: a diferena dos sistemas de tempo real para os sistemas de tempo
compartilhado a definio do tempo de execuo de cada programa. Nos sistemas de
tempo compartilhado, quem define o tempo de processamento dos programas o sistema
operacional, j nos sistemas de tempo real quem define o tempo de execuo do programa
o prprio programa.
No sistema de tempo real no existe o conceito de fatia de tempo, um determinado programa
ser executado no processador pelo tempo que for necessrio, at a sua concluso, ou at
que seja iniciado um programa com maior prioridade de execuo. A prioridade tambm
definida pela prpria aplicao e no pelo sistema operacional.
Praticamente todos os sistemas operacionais utilizados nos computadores hoje em dia so
de tempo compartilhado. Os sistemas Windows XP, Linux, MacOS X e Symbian so
sistemas operacionais de tempo compartilhado. Os Sistemas de Tempo Real so utilizados
em aplicaes de controle de processos, como monitoramento de refinarias de petrleo,
controle de trfego areo, de usinas, ou em qualquer aplicao em que o tempo de
processamento fator fundamental.
Monousurio: O sistema operacional foi criado para que um nico usurio utilize os
recursos do computador. Na prtica mais de uma pessoa pode utilizar, mas, nesse
caso, o sistema operacional no far distino entre as pessoas, tratando todas como
se fossem as mesmas. Isso significa que um documento escrito por algum poder
ser lido (ou alterado) por outra pessoa. Alm disso, qualquer um poder executar
qualquer tarefa no computador. As agendas eletrnicas atuais, chamadas PDA
(Personal Data Assistent em ingls), utilizam um sistema operacional monousurio.
15
16
NIDADE
17
18
4. Processamento Distribudo
Um computador de Processamento Distribudo um sistema formado por uma rede de
computadores interligados, denominados ns da rede, com o objetivo de realizarem o
processamento conjunto de uma tarefa de grandes propores. Esta tarefa ser ento
dividida em pequenas subtarefas, e cada uma das subtarefas ser executada em um n da
rede, e dessa forma consegue-se um ganho substancial no tempo de execuo da tarefa.
Esses sistemas so construdos com alguns sistemas operacionais disponveis para
computadores de mesa, a diferena a incluso de alguns programas especiais, o mais
utilizado chama-se LAM-MPI, que permite que os computadores da rede realizem a
comunicao necessria para a diviso da execuo das tarefas. O LAM-MPI tambm possui
uma biblioteca de funes que devem ser utilizadas nos programas a serem executados nos
sistemas distribudos, de modo que realizem as devidas comunicaes e transferncias de
dados.
Os agregados de computadores (computer clusters em ingls) tambm so sistemas
distribudos, a diferena entre um Sistema Distribudo Real, como o IBM BlueGene e um
cluster que o primeiro possui uma arquitetura eletrnica especializada e um sistema
operacional especfico, enquanto que os clusters so formados por computadores comuns
conectados via Ethernet e geralmente utilizam o sistema operacional Linux (o Windows NT
raro).
19
NIDADE
1. Estrutura Do Sistema
O sistema operacional utilizado para organizar e controlar a realizao das tarefas feitas no
computador. Para que isso acontea de maneira ordenada, a relao atualmente utilizada
entre os componentes do sistema, isto , o computador, o sistema operacional, os
programas, e at mesmo o usurio, a seguinte:
O Usurio utiliza programas para realizar suas atividades, esses programas so: aplicativos
(Word, AutoCAD, Oracle), utilitrios (WinZip, MediaPlayer, MSN) e jogos (FIFA, Ragnarok,
Warcraft). At mesmo o Painel de Controle do Windows XP um programa:
C:\Windows\System32\control.exe.
Os programas em execuo necessitam em determinados instantes realizar o acesso a
algum dispositivo, como o monitor de vdeo ou a impressora, para apresentar o resultado de
uma tarefa ou interagir com o usurio. Imagine que um programa atualize um arquivo no
disco-rgido. O programa no pode acessar diretamente os dados no disco, pois um
recurso compartilhado e sua utilizao deve ser gerenciada pelo sistema operacional. Para
que isso acontea, os programas executam algumas operaes com o auxlio do sistema
operacional, essas operaes so realizadas utilizando-se funes denominadas Chamadas
ao Sistema, ou System Calls em ingls.
20
O Sistema Operacional deve verificar qual usurio est utilizando o computador naquele
instante, se os programas em execuo esto ativos ou esperando alguma concluso de
uma tarefa, se no existe conflito entre os programas, se os dispositivos conectados ao
computador esto disponveis para utilizao, dentre outras tarefas.
21
Suporte
Redes:
praticamente
todos
os
principais
sistemas
operacionais
22
Alm das tarefas citadas, atualmente os sistemas operacionais tem que possuir a seguinte
caracterstica:
3. Chamadas ao Sistema
Durante o projeto de Sistemas Operacionais as maiores preocupaes so: proteo do
ncleo do sistema (kernel) e controle do acesso aos recursos do computador. Se um
determinado programa realizar uma operao que comprometa ou bloqueie, indevidamente,
um ou mais recursos do computador, todos os outros programas podem ficar
comprometidos. Imagine que um programa acesse o disco-rgido para gravar um arquivo, e
no libere o disco mesmo depois de gravar, todos os programas no tero acesso ao disco
por causa disso.
Para organizar a execuo dos programas, os sistemas operacionais so feitos com um
conjunto de rotinas denominado Chamadas ao Sistema. Essas rotinas so responsveis
por executarem as operaes especiais de acesso aos recursos do computador e de acesso
ao ncleo do sistema. Atravs das informaes passadas a uma rotina, que ser executada
pelo prprio sistema operacional, garantindo assim o controle de todos os recursos
disponveis no computador. Ao trmino da execuo da rotina uma resposta ser enviada ao
programa que solicitou a sua execuo.
23
NIDADE
Processos
1. Definio de Processo
Um programa uma sequncia de instrues ordenadas escritas em uma linguagem
computacional (Pascal, C++, Java, etc.). Um processo uma instncia de um programa que
est sendo executado, ou seja, o programa sendo executado no computador. Dependendo
de como o programa foi criado, mais de um processo pode estar associado a ele durante a
execuo, sendo que cada processo representa um determinado conjunto de instrues do
programa original. Isto acontece no Mediaplayer, por exemplo, quando h uma msica
tocando e o usurio est procurando outra msica na lista de msicas, neste caso existe um
programa em execuo e pelo menos dois processos associados tambm em execuo.
Os sistemas operacionais mais utilizados hoje em dia so multitarefa, realizada atravs do
compartilhamento do tempo do processador. Desta forma, vrios programas podem ser
executados, e consequentemente vrios processos, em um mesmo computador. Para
realizar esta tarefa o sistema operacional deve separar os programas, e processos, para que
a execuo seja feita de maneira organizada, e para isso as seguintes propriedades devem
ser armazenadas para cada processo:
24
2. Gerenciamento de Programas
O sistema operacional, sendo multitarefa, realiza o compartilhamento do processador entre
os processos por meio da ativao, momentnea, do processo que ser executado no
processador. Se o processador possuir mais de um ncleo de processamento, mais de um
processo poder estar em execuo no processador. Como apenas um processo pode estar
ativo em cada ncleo do processador, os outros devero esperar alguns instantes, at que o
processo em execuo tenha sido executado pelo tempo que o sistema operacional
designou a ele. Quando o tempo do processo atual terminar, o sistema operacional realizar
uma operao chamada Troca de Contexto, em que o processo atual ser substitudo por
outro processo que estava esperando a liberao de um ncleo no processador.
A Troca de Contexto a etapa em que o sistema operacional armazenar todas as
informaes relativas execuo do processo atual, para permitir que o mesmo possa
continuar a execuo em outro momento, e incluir outro processo para ser executado. Esta
etapa deve ser executada de maneira quase instantnea, pois o processador deve ser
utilizado principalmente para executar os programas. Existem trs eventos que podem iniciar
a Troca de Contexto:
25
O terceiro cenrio a troca de modo usurio para modo kernel. Quando tal transio
requisitada pelo sistema operacional, uma troca de contexto no necessria, mas
dependendo da implementao isso feito.
MS-Word,
MS-Excel,
AutoCAD,
Adobe
Photoshop,
MediaPlayer, InternetExplorer, Need for Speed, World of Warcraft, entre outros. Quando um
programa est em execuo, pode ter um ou mais processos associados, os prprios
sistemas operacionais possuem vrios processos em execuo durante o funcionamento do
computador. Alm de controlar a execuo de cada processo, o sistema operacional deve
manter a associao entre um processo e o programa que o originou. Quando um programa
iniciado, um processo chamado Pai ou Principal criado, e todos os outros existentes
associados ao mesmo programa so denominados Processos Filhos. Se o mesmo programa
tiver mais de uma execuo simultnea, por exemplo, duas telas do Internet Explorer
representam dois programas em execuo, cada programa ser considerado independente
do outro, com seus processos tratados de maneira independente.
3. Estados de um processo
Durante o funcionamento do computador, os vrios processos executados passaro por
diferentes estados: em espera, em execuo, bloqueado. Esses estados definem a maneira
como sero tratados pelo sistema operacional. O funcionamento especfico de cada estado
depende do sistema operacional utilizado, mas de modo geral os processos so divididos em
trs grupos.
26
Quanto um processo criado, ele deve esperar que o sistema operacional conceda a ele um
tempo de execuo em um ncleo do processador, ento logo aps a criao o processo fica
em Estado de Espera e fica armazenado na memria principal do computador. Quando o
processo recebe do sistema operacional a autorizao para utilizar um ncleo do
processador ele passa para o Estado de Execuo, e assim o processo executa suas
instrues internas. E assim o processo fica alternando entre os estados de Espera e
Execuo, enquanto o programa que o originou no for finalizado. Se durante o estado de
Execuo o processo fizer uma solicitao de algum recurso do computador ao sistema
operacional, por exemplo, gravar alguma informao no disco rgido, e o recurso no puder
ser liberado imediatamente, por exemplo, j houver um outro processo utilizando o discorgido, o processo que ficar esperando a liberao do recurso passar para o Estado de
Bloqueio. Neste estado, o processo no participar das trocas de contexto feitas pelo
sistema operacional, ou seja, no voltar ao estado de Espera, at que o recurso solicitado
seja liberado. Aps a liberao do recurso, o processo passar do estado de Bloqueio para o
estado de Espera.
27
FILA DE MENSAGENS: Uma fila de mensagens (message queue) permite criar uma
rea de troca de mensagens entre os processos, sendo que essa rea ser
administrada pelo sistema operacional. A caracterstica mais importante da Fila de
Mensagens a possibilidade de acesso a uma mensagem de maneira seletiva, pois
existe um identificador especial para cada mensagem.
28
NIDADE
Threads
1. Definio De Thread
A traduo literal da palavra thread linha, e em computao pode ser entendida como a
linha (ou instruo) de programa em execuo. Mas o conceito de thread estende o simples
conceito de linha de programa, pois uma thread no definida isoladamente, e sim em
conjunto com outras threads: Threads so partes independentes de um processo em
execuo. A diferena bsica entre threads e processos : um processo no compartilha um
mesmo recurso do computador simultaneamente com outro processo, enquanto que uma
thread pode compartilhar um mesmo recurso simultaneamente com outras threads (dentro do
mesmo processo).
Vrias threads so executadas simultaneamente pelo processador, pois so partes distintas
de um processo, como por exemplo: uma thread que ir realizar a soma de dois nmeros
pode ser executada simultaneamente com uma outra thread que ir gravar uma informao
no disco-rgido. Dentro do processador, onde realmente ser feito o comando de execuo,
ocorrem algumas etapas para se completar uma operao: leitura e decodificao da
instruo, leitura dos dados, execuo da instruo, leitura e apresentao da resposta
(existem diferenas na quantidade de etapas entre os processadores, e tambm na
nomenclatura utilizada por cada um). Quando o processador comea a executar uma thread,
aps as primeiras etapas, j fica liberado para iniciar a execuo de outra thread, desta
maneira as threads sero executadas de maneira quase simultnea.
29
realizar
essa
execuo
realmente
simultnea
so
denominados
de
30
Um exemplo de programa que utiliza mltiplas threads o Internet Explorer, pois ao montar
uma pgina de hiper-texto, cria uma thread para cada item na pgina (texto, figuras,
animao, msica, vdeo) assim as mltiplas threads podem ir montando o contedo da
pgina medida em que os dados so recebidos pelo computador. Outro programa que
utiliza mltiplas threads o Adobe Acrobat Reader, em que um documento PDF exibido ao
usurio antes de terminar o seu carregamento, as threads nesse caso compartilham a
mesma rea de memria onde esto armazenadas as informaes do arquivo. O programa
Word no oferece esse recurso, um documento do Word s exibido ao usurio depois de
inteiramente carregado na memria principal do computador.
Copyright 2007, ESAB Escola Superior Aberta do Brasil
31
A Troca de Contexto entre as threads pode ser feita de duas maneiras: Preemptiva e
Cooperativa. Na Troca Preemptiva o sistema operacional tem total controle da thread, ele
que determina o momento de ocorrncia da Troca de Contexto. Na Troca Cooperativa cada
thread tem o prprio controle e determina o momento de interromper a execuo e passar o
processador para outra thread. A desvantagem na Troca Cooperativa a possibilidade de
uma thread assumir o processador por muito tempo, no permitindo que outra thread seja
executada, e a desvantagem da Troca Preemptiva a possibilidade de o sistema operacional
interromper uma thread em um momento crtico indevido, causando uma situao anormal
no sistema.
Alguns sistemas operacionais fazem distino entre as threads executadas por um processo
do prprio sistema e as threads executadas por processos relativos a programas do usurio.
As threads do sistema so gerenciadas no Modo Kernel, que entre outras coisas realiza a
Troca de Contexto Preemptiva, e as threads do usurio so gerenciadas no Modo Usurio,
em que as Trocas de Contexto so Cooperativas.
3. Concorrncia
As threads em um mesmo processo compartilham os mesmos recursos do computador. Isto
implica em Acesso Concorrente aos recursos, e Execuo Concorrente das instrues do
programa. Para exemplificar, imagine uma situao em que duas threads iro realizar uma
operao de gravao de dados em uma mesma rea de memria (na mesma varivel no
cdigo fonte), sendo que as threads s podero realizar a operao se no houver dados
naquela rea. Nesse caso, as threads no podero acessar essa rea simultaneamente, pois
se isso acontecer, apenas uma gravao de uma das threads ser armazenada, ou ento
haver uma mistura dos dados gravados, o que poder comprometer a continuao da
execuo do processo (causando travamento no programa).
Para evitar que isso acontea, alguns mecanismos de proteo devem ser implementados,
mecanismos de comunicao e sincronizao na execuo das threads, mas no podem ser
complexos, pois poderiam dificultar o gerenciamento das trocas de contexto entre as threads.
Copyright 2007, ESAB Escola Superior Aberta do Brasil
32
Veja a "Cartilha de Segurana para Internet", esta cartilha tem por finalidade sanar
dvidas comuns sobre segurana de computadores e redes e sobre o significado de
termos e conceitos da Internet. Alm disso, procura enumerar, explicar e fornecer um guia
de procedimentos que visam aumentar a integridade do computador e de posturas que
um usurio pode adotar para garantir a sua segurana.
Local: http://www.terra.com.br/informatica/especial/cartilha
33
NIDADE
1. Introduo
A comunicao entre os processos e threads muito importante, pois uma das ferramentas
que torna possvel a execuo de vrias tarefas simultaneamente no computador. A
comunicao utilizada quando um processo ou uma thread precisa passar, ou solicitar,
algum dado que s pode ser informado por outro processo ou outra thread, por exemplo, o
gerenciador de impresso deve ser feito de tal forma que a comunicao entre os seus
processos seja eficiente, caso contrrio a utilizao da impressora ficar comprometida.
Como foi visto anteriormente, tanto o sistema operacional quanto o programa devem ser
construdos de maneira que a comunicao entre os processos e threads possa ser
realizada. Para permitir isso, o sistema operacional feito com vrias rotinas que realizaro o
gerenciamento da comunicao. Essas rotinas so acessadas pelos programas atravs das
API's do sistema operacional. Assim, os programas possuem funes especiais, alm das
especficas, que realizaro a comunicao no momento desejado.
A API do sistema operacional MS-Windows, denominada Win32, possui um subconjunto de
rotinas chamadas COM (Component Object Model, Modelo de Componente de Objeto) e
possui as funes necessrias para realizar a troca de dados entre os processos e threads.
Nos sistemas UNIX a API POSIX possui dois subconjuntos de funes, um para o tratamento
de processos, POSIX Core Services, e outro especfico para o tratamento de threads
34
35
A COM tambm possui rotinas para que o programa crie seus prprios processos, ou
threads, de acordo com a implementao feita pelo programador, e possui tambm rotinas
para que os processos e threads se comuniquem. Os componentes da COM ficam
disponveis aos programadores atravs das ferramentas de desenvolvimento de programas,
como: Borland Delphi, MS-Visual Studio, entre outras. Na prtica, o que fica disponvel aos
programadores so partes das rotinas, pois as rotinas completas esto no prprio MSWindows. Essas partes contm apenas as regras de utilizao da rotina, que chamada de
Interface de Componente.
Essa abordagem tem vantagens e desvantagens: as vantagens mais perceptveis so: a
economia de tempo no desenvolvimento do programa e a diminuio do espao ocupado
pelo programa, tanto na memria principal quanto no disco-rgido; e as desvantagens so: a
grande necessidade de espao para o prprio sistema operacional, e a dependncia dos
programas a uma determinada verso do MS-Windows, pois cada verso possui uma COM
especfica.
Algumas rotinas so executadas como um processo dentro do prprio programa do usurio,
e outras atravs dos Servios de Componentes, que so pequenos aplicativos executados
de forma independente, mas em sincronia com o programa do usurio.
As rotinas de comunicao do MS-Windows Vista passaro a ter um novo nome: Windows
Communication Foundation. A mudana de nome se deve a mudanas internas na execuo
das rotinas de controle de comunicao entre os processos. Por causa dessa mudana,
muitos programas feitos para o MS-Windows XP no funcionaram no MS-Windows Vista. As
alteraes
visavam
obter
melhorias
no
desempenho
dos
programas,
melhor
aproveitamento dos recursos do computador, visto que a maioria dos computadores atuais
possui um processador com a capacidade de execuo de vrias threads simultaneamente,
e alguns processadores com mais de um ncleo podem executar mais de um processo
simultaneamente.
36
37
controles adicionais na indstria, como por exemplo, o controle de estoque, utilizando estas
rotinas, ele s poder ser utilizado no sistema BRIX. Para o programa ser compatvel com
vrios sistemas Unix, os sistemas que iro execut-lo devem possuir os mesmos conjuntos
de rotinas.
da
compatibilidade
com aplicativos
desenvolvidos
para
os
sistemas
38
NIDADE
Gerenciamento De Processos
1. Introduo
O gerenciamento de processos um dos conceitos fundamentais dos sistemas operacionais
modernos. No gerenciamento dos processos sero definidas as propriedades dos processos
em execuo, e a maneira como cada um receber o tempo de execuo no processador. A
principal funo do gerenciador de processos exatamente a execuo do processo no
processador de maneira adequada (considerando a prioridade do processo e a quantidade
de processos gerenciados).
39
Gerenciadores por Tempo Mdio: este est presente em todos os sistemas que
trabalham com Memria Virtual (descrito na Unidade 12) que temporariamente ir
retirar processos da memria principal e guard-los na memria secundria, e viceversa. A escolha de qual processo ir sair da memria principal para a secundria
feita de acordo com o estado do processo.
Como visto na Unidade 5, enquanto o processo est nos estados de Espera e
Execuo, ficar na memria principal e quando passar para o estado de Bloqueio
ser retirado da memria principal e ser armazenado na memria secundria.
Quando o processo passar do estado de Bloqueio para Espera, ser enviado da
memria secundria para a principal;
40
Nesse algoritmo cada processo tem a oportunidade de concluir suas instrues a cada
instante. Caso isso no acontea, o gerenciador ir reclassificar o processo, colocando-o em
um determinado nvel de controle.
41
NIDADE
1. Introduo
A sincronizao dos recursos do computador uma tarefa muito importante, realizada pelos
sistemas operacionais multitarefas e feita em duas reas distintas:
42
2. Controle da Sincronizao
Como foi mencionado, para realizar a sincronizao podem-se utilizar Barreiras, Travas e
Semforos, entre outras medidas.
As Barreiras so criadas e gerenciadas pelos desenvolvedores de programas aplicativos.
Dentro das instrues desses programas, deve-se incluir uma instruo de criao de
Barreira. Quando um processo executa tal instruo, entra em estado de Espera (ou
Bloqueio), e permanece assim at que todos os processos pertencentes ao mesmo
programa tambm executem a instruo de Barreira. Com isso consegue-se colocar todos os
processos no mesmo ponto de execuo do programa.
Semforos podem ser utilizados tanto pelos programas quanto pelo sistema operacional. So
variveis de controle, que indicam se um determinado recurso pode ser utilizado ou no. O
modo mais frequente de controle a utilizao de um contador no semforo. O contador
indica a quantidade de processos que podem compartilhar o recurso, quando o limite
alcanado, nenhum processo a mais pode utilizar o mesmo recurso.
Barreiras e Semforos geralmente so utilizados para lidar com situaes em que vrios
processos podem (ou devem) compartilhar um mesmo recurso. Nos casos, nos quais um
recurso deve ser utilizado exclusivamente por apenas um processo utilizada a Trava.
Alguns sistemas implementam Travas Simples, que impedem a utilizao do recurso por
outro processo, e outros sistemas implementam Travas Especiais, que emitem um sinal
(aviso de erro) quando um processo tenta acessar um recurso j em uso. Existe tambm a
possibilidade de se ter uma Trava Compartilhada por vrios processos, mas nesse caso, o
acesso ao recurso fica limitado apenas leitura dos dados contidos nele.
Para o correto funcionamento dos mtodos de sincronizao, o processador deve estar
preparado para permitir que os processos consigam compartilhar um recurso at o limite
estabelecido, sem que haja conflito no controle de sincronia. Por exemplo, em um sistema de
Trava, se ela estiver aberta significa que um processo poder acessar o recurso. Se, em um
43
mesmo instante, dois processos tentarem utilizar o recurso, os dois conseguiro acesso ao
recurso e com certeza isso resultar em m utilizao dele (imagine uma impressora
imprimindo simultaneamente dois documentos diferentes).
Para evitar essa falha, os processadores devem possuir mecanismos de verificao e
ativao da sincronia quase instantnes, ou, no mnimo, no conflitantes. Esses mecanismos
no processador so instrues que realizaro a sincronizao de maneira correta, as
instrues sero do tipo verificar e travar recurso, uma mesma instruo faz a verificao e,
se possvel, o travamento do recurso. Esse mecanismo s vlido em computadores com
um processador (podendo o processador ter vrios ncleos). Em computadores com vrios
processadores, o controle da sincronizao mais complexo, havendo um maior nmero de
consideraes a serem feitas.
A etapa de efetivao do sincronismo muito importante, o tempo que ela demora no deve
em hiptese alguma ser demorado. A efetivao da sincronizao deve acontecer
obrigatoriamente antes de o processador executar mais uma instruo de outro processo (ou
do mesmo processo). A etapa de liberao de uma sincronizao tambm deve ser tratada
de maneira adequada, pois em um ambiente de execuo de mltiplos processos, para
haver a real otimizao da utilizao dos recursos, os processos devem ter acesso aos
mesmos assim que eles no estiverem em uso.
3. Granularidade da Sincronizao
A granularidade de uma sincronizao a medida da quantidade de dados que esto sendo
utilizados pelos processos envolvidos no sincronismo. O tamanho da granularidade ir
influenciar diretamente no desempenho do sistema, pois realizar o compartilhamento de uma
grande rea de dados por vrios processos exigir um maior controle no processo de
alterao desses dados. Por outro lado, realizar vrios compartilhamentos em pequenas
reas de dados pode gerar uma situao de Bloqueio de Processo (DeadLock), em que um
processo A est com uma rea X travada e esperando o acesso a rea Y, e um processo B
est com a rea Y travada esperando o acesso a rea X.
Copyright 2007, ESAB Escola Superior Aberta do Brasil
44
45
NIDADE
10
Objetivo: Entender os mtodos utilizados para prevenir que acontea algum tipo de bloqueio
entre os processos durante o compartilhamento de recursos.
1. Introduo
Um bloqueio entre processos acontece quando dois ou mais processos esto esperando a
liberao de um recurso que est alocado para outro processo, que por sua vez est
esperando a liberao do recurso que est travado para o primeiro processo. Nessa
situao, se no houver a interveno do sistema operacional, a liberao dos recursos no
acontecer.
Para que a situao de bloqueio seja caracterizada, as seguintes condies devem ser
encontradas:
46
2. Preveno
A preveno contra bloqueio deve ser feita de maneira a permitir que um processo aguarde a
liberao de um recurso, contanto que essa espera no acarrete em uma dependncia
circular.
Uma maneira de evitar a dependncia circular entre eles utilizar uma ordenao por
precedncia dos recursos do computador. Um determinado recurso ter ndice de ordem N, e
se um processo est utilizando o recurso de ordem N, esse processo no poder solicitar
outro recurso de ordem M, pois o novo recurso deveria ter sido solicitado anteriormente. Isto
faz com que a utilizao dos recursos seja feita obrigatoriamente de maneira linear e no
circular.
Para evitar que aconteam bloqueios na utilizao dos recursos do computador, algumas
estratgias devem ser adotadas:
3. Tratamento de bloqueio
Quando no for possvel evitar o surgimento de um bloqueio no computador, outras medidas
devem ser tomadas para o tratamento do bloqueio:
47
Detectar uma situao de bloqueio antes que ela acontea uma tarefa muito
complexa, podendo at mesmo gerar falsos avisos de bloqueio. Na maioria dos
casos no possvel fazer a diferenciao entre um processo que est aguardando a
liberao de um recurso, e outro processo que est bloqueando a liberao de um
recurso.
4. Bloqueio Aberto
Existe um caso particular de bloqueio que no causado pela espera de um recurso. Uma
estratgia pouco utilizada para evitar uma situao de bloqueio a seguinte: verificar se um
recurso est sendo solicitado por mais de um processo. Nesse caso, se um processo solicitar
um recurso, tambm ir verificar se outro processo j solicitou o mesmo recurso, caso haja
outro, processo solicitando-o, o primeiro ceder o recurso e ir esperar a liberao do
mesmo pelo outro processo.
Aqui o bloqueio pode acontecer e o recurso no estar sendo utilizado. Imagine dois
processos X e Y, que fazem uma solicitao ao recurso R. Se a solicitao for feita
simultaneamente (o que pode ocorrer em um sistema com vrios processadores ou um
processador com vrios ncleos), os dois processos no iro utilizar o recurso R e ceder a
utilizao um ao outro. O recurso est liberado, podendo ser utilizado, mas os processos no
conseguem acesso ao recurso.
48
Atividade Dissertativa
Interfaces Grficas
Temos observado novas tecnologias que utilizam interface diferente das atuais: a interao
entre o computador e o usurio feita utilizando imagens hologrficas e manipulao direta
dos objetivos atravs das mos e, at mesmo, atravs do pensamento, como, por exemplo,
vimos nos filmes "Minority Report" (Figura 10.1) e Iron Man 2 (Figura 10.2).
Figura 10.1
Figura 10.2
Veja tambm o vdeo Tan Le: Um fone que l as suas ondas cerebrais disponvel em sua
SALA DE AULA no link ESTUDO COMPLEMENTAR.
Diante deste tema descreva em no mximo 1 pgina:
Analisando TODOS os pontos possveis (cultural, sustentvel, motor, etc.), quais os impactos
que esta nova metodologia de interao com o computador pode trazer sociedade?
49
Antes de dar continuidades aos seus estudos fundamental que voc acesse sua
SALA DE AULA e faa a Atividade 1 no link ATIVIDADES.
50
NIDADE
11
Gerenciamento Da Memria
1. Introduo
Basicamente, o gerenciamento da memria a ferramenta utilizada para permitir aos
programas em execuo no computador utilizarem a memria do computador para
armazenar as instrues e dados que sero manipulados. Os principais objetivos a serem
alcanados no gerenciamento da memria so:
Proteger a execuo dos processos contra eventuais falhas causadas por erro em um
determinado processo;
51
2. Proteo da Memria
A Proteo da Memria a estratgia utilizada pelos sistemas operacionais para controlar a
memria em utilizao no computador. A principal funo da proteo da memria a
separao dos processos e suas informaes, e impedir que um processo acesse uma rea
de memria que no foi reservada para ele. Para realizar a proteo da memria, uma das
seguintes medidas pode ser escolhida: Segmentao da Memria ou a Paginao da
Memria.
Na Paginao da Memria, a memria dividida em pginas, com tamanho fixo. Com a
utilizao de outro mecanismo chamado Memria Virtual, cada pgina pode ser armazenada
em qualquer lugar da memria do computador. A Segmentao da Memria a diviso da
memria do computador em segmentos de dados. Quando um programa vai acessar uma
rea de memria, ele deve informar tambm o nmero do segmento de memria.
3. Compartilhamento da Memria
Uma memria chamada de memria compartilhada quando vrios processos podem
acess-la simultaneamente. Dependo do processador utilizado no computador, vrios
processos podem ser executados ao mesmo tempo, e a comunicao entre os processos
pode ser feita utilizando-se uma rea da memria que seja acessvel a todos os processos. A
memria compartilhada pode ser criada de duas maneiras:
52
4. Organizao da Memria
A memria geralmente dividida em trs partes:
Memria Cache: esta memria fica dentro do processador, muito menor que a
Memria Principal, mas possui uma importncia muito grande, pois utilizada para
acelerar a obteno de informaes para o processador;
5. Coletor de Lixo
Uma ltima tarefa sob responsabilidade do Gerenciador de Memria fazer a coleta de
lixo. Esta tarefa consiste em coletar os dados no mais utilizados na memria, e liberar
espao, para poder ser utilizar-se de outros programas. Os sistemas operacionais modernos,
como o MacOS X e MS-Windows XP, possuem esse mecanismo. Verses anteriores desses
sistemas que no possuam o Coletor de Lixo no realizavam a limpeza automtica da
memria. Se um programa no limpasse a rea da memria que ele mesmo utilizou o
sistema operacional no iria detectar que a memria poderia ser utilizada, o que acarretava
na perda de recurso durante a utilizao do computador (dependendo do tempo de uso
contnuo do computador, nitidamente percebia-se uma queda no seu desempenho).
53
NIDADE
12
Objetivo: Aprender o conceito de Memria Virtual, como o seu funcionamento, qual a sua
relao com a memria principal e como gerenciada pelo sistema operacional.
Memria Virtual
1. Introduo
A memria virtual um recurso utilizado na computao que cria para os programas um
ambiente de memria contnua e na prtica construdo em um ambiente de memria
fragmentada, podendo at ser utilizados dispositivos de armazenamento para o salvamento
de informaes de maneira temporria. A utilizao de memria virtual torna o uso da
memria principal mais eficiente.
O entendimento de Memria Virtual deve ir alm do conceito de memria temporria
armazenada em disco. O aumento da memria o primeiro ganho que se tem ao utilizar-se
memria virtual. O conceito real de memria virtual : gerenciar a memria de forma que os
programas em execuo no computador tenham um ambiente de memria unificada e
contnua. Os principais sistemas operacionais em operao atualmente fazem uso da
tcnica de Memria Virtual para obter com isso um aumento no desempenho do computador.
A tcnica de memria virtual foi inicialmente desenvolvida nos anos de 1959 a 1962, na
Universidade Manchester, Inglaterra, para o computador Atlas. Antes da criao da memria
virtual gerenciada pelo sistema operacional, os prprios programas eram responsveis por
realizarem o gerenciamento da informao, utilizando a memria principal e os dispositivos
de armazenamento de acordo com a necessidade inerente ao prprio programa.
A principal motivao para a criao da memria virtual foi o pensamento de se proporcionar
aos desenvolvedores de programas um recurso mais facilitado de utilizao da memria do
Copyright 2007, ESAB Escola Superior Aberta do Brasil
54
adoo da memria virtual nos computadores ao lanar alguns modelos que utilizavam esse
recurso. A partir de ento, todas as empresas passaram a implantar nos sistemas
operacionais a capacidade de gerenciamento da memria atravs da Memria Virtual.
A utilizao de memria virtual em um sistema computadorizado depende principalmente da
arquitetura do computador, mais especificamente, do modo de endereamento de memria
utilizado pelo processador. A Intel, desenvolvedora dos processadores Pentium, adotou o
recurso de memria virtual em seus processadores em 1982 com o lanamento do modelo
80286. A Microsoft passou a utilizar o recurso de memria virtual apenas em 1990, no
lanamento do MS-Windows 3.
Os programas utilizam a memria reservando espaos de dados para serem armazenados o
cdigo do programa em si e os dados que sero processados pelo programa. Este espao
de dados chamado de Espao de Endereamento. Quando um programa iniciado, o
prprio sistema operacional reserva um Espao de Endereamento para armazenar o cdigo
executvel do programa, e medida que o programa utilizado pelo usurio, mais espaos
de endereamento podem ser solicitados para armazenar os dados que estiverem sendo
informados.
Para o sistema operacional gerenciar de forma mais eficiente a memria do computador, os
espaos de endereamento que um programa est utilizando so agrupados em um bloco
nico (a rea de Armazenamento formada pelos Espaos de Endereamento) que
manipulado e administrado como uma nica seqncia de dados na memria.
55
56
3. Pginas Permanentes
Algumas pginas armazenadas na memria virtual no podem, em qualquer hiptese, sofrer
paginao. Os programas ou informaes contidas nessas pginas devem obrigatoriamente
estar disponveis durante todo o tempo de utilizao do computador, alguns exemplos so:
A Tabela de Paginao, propriamente dita, uma informao que deve estar sempre
disponvel na memria principal;
57
NIDADE
13
Memria Paginada
1. Introduo
Memria Paginada a estratgia utilizada pelo sistema operacional para melhor gerenciar a
memria do computador. Tanto a memria principal quanto a memria secundria ser
dividida em Pginas de Memria, formando a Memria Virtual. O contedo armazenado nas
pginas de memria estar armazenado na memria principal ou na secundria e a alterao
de uma pgina entre a memria principal e secundria chamada de paginao.
A principal vantagem alcanada pela utilizao da Memria Paginada a facilidade na
recuperao de informaes que esto em pginas na memria secundria. A recuperao
acontecer por dois motivos: o processador estar carregando o cdigo executvel de um
programa (o processo passou do estado de Bloqueio para o estado de Espera), ou um
programa estar acessando alguma informao na memria virtual.
O sistema operacional, por meio do gerenciador de memria, detecta que essa informao
no est na memria principal (essa situao chamada de Falha de Pgina, ou Page
Fault em ingls). Sempre que acontecer uma falha de pgina, o sistema operacional dever
realizar o seguinte procedimento:
Determinar qual rea da Memria Principal ser utilizada para receber os dados da
Memria Secundria, e armazenar esses dados na Memria principal;
Copyright 2007, ESAB Escola Superior Aberta do Brasil
58
O item dois pode ser expandido, caso no haja uma pgina de memria livre na memria
principal (toda a memria principal est em uso) para armazenar os dados da memria
secundria. Nesse caso, haver duas paginaes: uma retirando uma pgina da memria
principal para a memria secundria, e outra no caminho inverso. Diz-se ento que houve
uma Troca de Pginas (Page Swap, em ingls).
2. Troca de Pgina
Muitos sistemas operacionais realizam a Troca de Pgina utilizando um algoritmo que
verificar qual a pgina de memria menos utilizada. As pginas de memria menos
utilizadas so consideradas como candidatas a uma eventual troca de pgina, pois a
probabilidade de serem utilizadas logo aps a troca considerada pequena ou menor que a
probabilidade de uso de uma pgina de memria que est sendo frequentemente acessada.
Por exemplo, quando se est escrevendo um documento em um programa como o MS-Word
ou OpenOffice Writer, as pginas de memria mais acessadas so as que possuem as
folhas de texto mais prximas do ponto em que se est escrevendo o documento. Quando o
documento atinge uma determinada quantidade de folhas, as primeiras folhas passam a ser
menos acessadas, e consequentemente, as respectivas pginas de memria tornam-se
ento pginas menos utilizadas.
A maioria dos programas, quando esto em execuo, assume um comportamento padro
no que diz respeito utilizao de memria, pois a frequncia com que a memria
solicitada constante. Este comportamento define uma caracterstica importante no
gerenciamento da memria virtual: o conjunto de pginas de memria mais utilizadas pelo
programa. O programa ir ser executado de maneira mais eficiente se este conjunto estiver
armazenado na memria principal do computador. Um programa que, em relao
quantidade total de memria principal, trabalhe com uma quantidade reduzida de informao
e instrues e que esteja constantemente em uso, ficar sempre na memria principal.
Copyright 2007, ESAB Escola Superior Aberta do Brasil
59
Se houver um programa que tenha uma quantidade de instrues muito grande, e trabalhe
com uma quantidade de informao maior que o espao disponvel na memria principal (por
exemplo, um programa de edio de vdeo est sendo utilizado para editar um filme,
trabalhar com uma quantidade de informao superior a 4 GB), a realizao de Trocas de
Pginas ser to grande que prejudicar o desempenho do sistema, pois os principais
recursos do computador: processador, memria principal e memria secundria, estaro em
uso realizando as trocas de pginas de memria.
Para minimizar o problema de excesso de Troca de Pgina, duas medidas podem ser
tomadas:
60
A vantagem de ter o arquivo de paginao com tamanho varivel a garantia de que sempre
espao disponvel para armazenar os programas e seus dados (limitado pelo tamanho total
da unidade de armazenamento). Mas isso gera o inconveniente de acarretar em uma
possvel fragmentao do arquivo pagefile.sys, que implicar em perda do desempenho do
computador. A utilizao de um arquivo com tamanho fixo uma garantia de que o arquivo
jamais sofrer fragmentao (contanto que o arquivo seja criado logo aps a instalao do
sistema operacional), mas limita a quantidade de memria disponvel no computador. Para
61
contornar esse problema, pode-se definir um arquivo com tamanho grande, mas pode-se
comprometer o espao disponvel na unidade de armazenamento.
No Linux uma estratgia diferente adotada: o arquivo de paginao fica completamente
separado em uma Partio. Uma partio uma diviso funcional da unidade de
armazenamento. Se uma unidade de armazenamento for particionada em duas unidades,
cada unidade ser gerenciada pelo sistema operacional de maneira independente da outra
unidade. O que acontece na prtica que se tem um arquivo de paginao fixo no Linux.
62
FRUM II
O que voc entendeu sobre a relao entre a memria virtual e memria paginada?
63
NIDADE
14
Memria Segmentada
1. Introduo
A Segmentao da Memria consiste na diviso da memria em segmentos de dados. Cada
segmento possuir as seguintes propriedades: a sua localizao fsica na memria,
permisso de acesso, tamanho e um identificador. Se um processo possuir permisso para
utilizar um segmento, e se o processo solicitar acesso a uma informao dentro do segmento
- poder fazer isso, caso contrrio um aviso de erro ser passado ao processo (e
consequentemente ao usurio).
Alm das propriedades citadas, dependendo do sistema operacional, o segmento pode
possuir um indicador informando se sua localizao est na memria principal ou na
memria secundria. Caso esteja na memria secundria, e seja acessado por algum
processo, o sistema operacional ir realizar o carregamento do segmento na memria
principal para poder acessar as informaes contidas nele.
64
65
66
NIDADE
15
Gerenciamento De Dispositivos
1. Introduo
Para gerenciar dispositivos conectados ao computador, tais como: teclado, mouse, monitor,
impressora, entre outros, o sistema operacional deve primeiramente ter a capacidade de
acessar o dispositivo e enviar comandos e informaes ao mesmo. Para realizar essa tarefa,
os sistemas operacionais recebem um conjunto de instrues especficas para o tratamento
dos dispositivos, esse conjunto de instrues chamado de Driver de Dispositivo. Cada
dispositivo possui um driver especfico, e cada driver criado pela empresa que criou o
dispositivo. A empresa Epson desenvolve os drivers para as impressoras Epson Stylus CX
que ela fabrica e a empresa Hewlett-Packard desenvolve os drivers para as impressoras HP
DeskJet, sendo que os drivers para as Epson Stylus no funcionaro para gerenciar as
impressoras HP DeskJet.
Alm da dependncia direta entre o driver e o dispositivo, existe a dependncia direta entre o
driver e o sistema operacional, pois um driver feito para ser utilizado pelo MS-Windows no
pode ser utilizado pelo MacOS X (e vice-versa).
Os drivers tambm so criados para permitir ao sistema operacional acessar: conectores
USB e Firewire, redes Bluetooth, unidades de CD e DVD. Os drivers so uma pea
fundamental para o bom funcionamento do computador, pois os dispositivos conectados nele
s sero utilizados se o driver para o dispositivo estiver disponvel para o sistema
operacional. Se no houver o driver para um dispositivo conectado ao computador, esse
Copyright 2007, ESAB Escola Superior Aberta do Brasil
67
68
Para utilizar o driver, o mesmo deve ser instalado para o sistema operacional. No processo
de instalao, o sistema operacional registrar o driver, os dispositivos que podem ser
utilizados atravs dele, a localizao das rotinas de operao do dispositivo, entre outras
informaes. Essa tarefa de instalao, atualmente, feita de maneira simples e em muitos
casos no chega a ser necessria, pois alguns sistemas operacionais j so distribudos com
uma srie de drivers pr-instalados, havendo apenas a necessidade de se instalar
manualmente o driver para um dispositivo lanado aps a aquisio do sistema operacional.
Para gerenciar os dispositivos, os sistemas operacionais contam com gerenciadores
especficos: Gerenciador de Impresso, Gerenciador de Disco, Gerenciador de Modem,
Gerenciador USB, Gerenciador de Vdeo, entre outros. Cada gerenciador ser responsvel
por realizar a administrao e controle da utilizao do respectivo dispositivo. O Gerenciador
de Impresso ir controlar quais documentos sero enviados para a impressora, quando ela
estar disponvel para ser utilizada, e vrias outras tarefas.
3. Firmware
O Firmware um circuito eletrnico que possui internamente um pequeno programa. Um
circuito de firmware geralmente utilizado em equipamentos eletrnicos inteligentes, o que
inclui vrios dispositivos do computador atualmente. Em um dispositivo que possui um
firmware, o prprio pode funcionar como driver para o dispositivo. Os fabricantes de
dispositivos podem atualizar o firmware do dispositivo para melhorar o desempenho do
equipamento e no existe a necessidade de instalao de driver, pois o sistema operacional
utilizar diretamente firmware do dispositivo. Para ser utilizado como driver, o firmware deve
ser carregado na memria do computador como se fosse um driver, e ento utilizado.
Os computadores Macintosh utilizam muito esse conceito. A maioria dos dispositivos
disponveis para essa linha de computadores no possui um driver para ser instalado no
sistema MacOS, possuem um firmware para ser utilizado diretamente. A desvantagem
nesses sistemas o maior tempo gasto na inicializao do sistema, pois a cada inicializao,
todos os dispositivos devem ter o firmware carregado na memria do computador.
Copyright 2007, ESAB Escola Superior Aberta do Brasil
69
4. Drivers Genricos
Um grupo especial de drivers so os chamados Drivers Genricos. Esses drivers podem
ser utilizados por uma maior variedade de equipamentos eletrnicos, inclusive de fabricantes
diferentes. Os drivers genricos geralmente so feitos para um determinado tipo de
dispositivo, por exemplo: driver genrico para impressora matricial. A maioria das
impressoras matriciais poder ser utilizada a partir do driver genrico. A vantagem nesse
caso poder contar com uma maior liberdade para utilizar o dispositivo, mas a desvantagem
de no poder utilizar todos os recursos disponveis.
70
71
NIDADE
16
Sistema De Arquivos
1. Introduo
Um sistema de arquivos o conjunto de regras que definem a maneira como os dados do
usurio, programas, informaes de configurao, entre outras, sero gravados e
gerenciados nos dispositivos de armazenamento acessados pelo computador. Essas
informaes sero armazenadas fisicamente nos dispositivos, e gerenciadas pelo sistema
operacional atravs de estruturas de dados, que sero a representao lgica das
informaes.
Um sistema operacional geralmente caracterizado pelo sistema de arquivos que utiliza,
mas um mesmo sistema operacional pode utilizar mais de um sistema de arquivos para
gerenciar os do computador.
72
Os blocos de informao so utilizados, pois todo o controle da informao feito utilizandose os blocos como unidade bsica de informao. Esse conceito surgiu no incio da utilizao
de computadores, pois a limitao dos computadores impedia um controle mais apurado. O
ideal era que cada unidade de informao correspondesse a um byte, se isso fosse feito,
seriam necessrios 40 bilhes de unidades de informao separadas no disco-rgido de 40
GB (em um computador de 32bits o maior nmero que pode ser interpretado pelo
processador um pouco maior que quatro bilhes).
Como os computadores trabalham com nmeros binrios, os blocos de informao so
mltiplos de dois e geralmente abrangem o seguinte intervalo: 512 bytes, 1024 bytes, 2048
bytes, at 65536 bytes, este ltimo praticamente no utilizado nos sistemas operacionais
atuais. O primeiro valor de 512 bytes tambm raramente utilizado, pois foi desenvolvido
para discos-rgidos de pequena capacidade (inferior a 32 MB) e unidades de disquete. No
existe atualmente nenhum sistema que utiliza um bloco de informao inferior a 512 bytes,
pois todos os discos-rgidos so divididos em blocos fsicos (chamados clusters) de
informao de 512 bytes. Os blocos de informao podem ser entendidos como sendo
formados por grupos de blocos fsicos de dados.
Os dados gravados no sistema recebem o nome de arquivo. Um arquivo pode conter um
relatrio de trabalho, um desenho, uma msica, ou um programa. Cada arquivo possui um
conjunto de propriedades que definiro a maneira como a informao dentro dele poder ser
acessada.
73
Modo de Acesso: esta propriedade define a maneira como o arquivo ser acessado,
podendo ser basicamente da seguinte forma: o arquivo poder ou no ser lido, poder
ou no ser escrito, e se for um programa, o programa poder ou no ser executado;
Data de Alterao: a cada instante que o contedo do arquivo for modificado, ficar
armazenada a data da alterao. Em sistemas que possuem apenas uma data como
propriedade do arquivo, utiliza-se geralmente a data de alterao do arquivo na
propriedade Data;
Nos sistemas operacionais mais avanados, que utilizam critrios para diferenciar os
usurios que utilizam o computador, os arquivos podem ter algumas propriedades que iro
armazenar informaes sobre o usurio que criou o arquivo, e o modo de acesso que os
outros usurios tero ao arquivo. O conjunto completo de propriedades que um arquivo
possuir depender diretamente do sistema de arquivos utilizado pelo sistema operacional.
74
75
76
77
NIDADE
17
78
79
80
caractersticas novas. Isso faz com que o MS-Windows 2000 no reconhea completamente
as caractersticas do NTFS presentes no MS-Windows 2003.
O sistema operacional MacOS X 10.3, e posteriores, oferecem suporte leitura do disco
NTFS com segurana da integridade da unidade de disco. Um utilitrio chamado NTFS-3G
permite a leitura e gravao, mas sem garantia de integridade do disco.
O MS-Windows NT desde o lanamento oferece suporte aos padres FAT16, e com o
lanamento do padro FAT32 no MS-Windows 95, este tambm passou a ser utilizado no
MS-Windows NT 4 em 1996. A Microsoft oferece um utilitrio para realizar a converso dos
discos com padro FAT16 e FAT32, presentes no Windows 3 e Windows 95/98, modificandoos para o padro NTFS. Mas no oferece nenhum utilitrio para fazer a operao inversa.
5. Caractersticas Gerais
O NTFS desenvolvido para o MS-Windows Server 2003, e tambm utilizado no MS-Windows
Vista, possui as seguintes caractersticas:
81
Ligao entre Arquivos: similar aos Pontos de Juno, oferecendo a ligao entre
arquivos em pastas diferentes;
82
83
NIDADE
18
Linux Ext
1. Introduo
Durante o desenvolvimento inicial do Linux, entre os anos de 1991 e 1992, foi utilizado um
sistema de arquivos chamado ext1. Nesse perodo o Linux era praticamente utilizado apenas
pelos programadores. Em 1993 foi desenvolvida uma verso do sistema de arquivos prpria
para o Linux, que j podia ser instalado e utilizado por vrios usurios, essa verso recebeu
o nome de Linux Extended File System Version 2, ou ext2.
Caractersticas gerais do padro ext2:
84
85
No padro ext4 uma nova funcionalidade foi adicionada, chamada de Alocao Dinmica de
Inodes. Essa funcionalidade garante espao adicional para os arquivos durante as etapas de
gravao e atualizao dos mesmos, reservando espao adicional no disco-rgido, evitando
assim que os dados fiquem fragmentados.
Em todas as verses do padro ext os arquivos so organizados em uma tabela chamada:
Tabela Descritiva de Grupos, que contm a lista de arquivos e as listas de Inodes associadas
a cada arquivo.
MacOS X: pode-se instalar o utilitrio ext2 driver, permitindo que discos ext2 sejam
manipular diretamente pelo MacOS X;
86
4. Caractersticas Gerais
Atualmente o padro ext3 possui as seguintes caractersticas:
Um atributo especial no arquivo pode ser definido para que o contedo do arquivo
armazenado fisicamente no disco-rgido seja destrudo ao se apagar o arquivo da Tabela
Descritiva de Grupos. O ext3 ir gravar dados aleatrios no espao fsico onde se encontrava
o arquivo, esta propriedade bastante til, pois evita que outras pessoas acessem os dados
de uma empresa diretamente no disco-rgido atravs de um extrator de dados.
87
88
NIDADE
19
1. Introduo
A Interao entre o usurio e o computador alvo de estudos desde o incio da era da
Informtica. Abrange estudos na rea da Cincia da Computao, Desenho, Psicologia,
entre outras. Essa interao realizada atravs da Interface com o Usurio. A interface
abrange os programas e equipamento, pois o prprio teclado uma interface para operao
do computador.
O principal objetivo da interface com o usurio permitir a interao entre o usurio e o
computador, mais precisamente, permitir que o usurio possa utilizar a mquina para realizar
as tarefas de maneira simplificada e eficiente.
Atualmente as interfaces de usurio utilizam grficos para simbolizar operaes e organizar
as funes, sendo utilizada em praticamente todos os sistemas operacionais modernos.
89
90
interface importante, pois ela deve permitir que todos os recursos do computador sejam
acessveis. E a eficincia tambm deve ser considerada porque no seria til ter uma
interface que no respondesse aos comandos do usurio de forma que comprometesse a
realizao dos trabalhos no computador.
Para permitir que o usurio interaja com o computador, as interfaces possuem uma srie de
elementos: Janelas, Botes, cones, Menus, Indicadores, entre outros. Esses elementos
devem estar organizados de maneira harmnica, para permitirem uma boa visualizao para
o usurio. As janelas so utilizadas para delimitar o programa em execuo, e os outros
controles so utilizados para permitir acesso s funes do programa. Geralmente os
sistemas operacionais so caracterizados por uma interface grfica padro, mas a maioria
dos sistemas modernos permite que a interface com o usurio seja personalizada.
Nos primeiros computadores que possuam um sistema operacional com interface grfica, os
elementos disponveis eram bem simples, por causa das caractersticas dos computadores
da poca, em 1985 a maioria possua algumas centenas de kilobytes de memria, os
processadores raramente tinham uma velocidade superior a 10MHz e os monitores exibiam
apenas uma cor (verde, cinza ou laranja), alguns poucos exibiam 16 cores, alm de terem
uma resoluo muito pequena, alguns chegavam a 320x200 e os melhores 512x424.
Atualmente, os computadores contam com processadores rpidos, e capacidades grficas
muito superiores, facilmente encontram-se computadores que possuem um processador de
2.000 MHz e monitores com resoluo de 1024x768 com capacidade para exibir milhes de
cores, alm de centenas de megabytes de memria RAM.
4. Interface Grfica 3D
Recentemente comearam a ser utilizadas nos sistemas operacionais MS-Windows e Linux,
interfaces grficas com elementos em 3 Dimenso. Este recurso visvel na operao de
alternncia entre aplicativos, mas poder ser utilizado em vrios elementos da interface
grfica.
91
NIDADE
20
1. Introduo
Sistemas Operacionais de Rede so responsveis por gerenciar de maneira eficiente os
computadores pertencentes a uma determinada rede, bem como os usurios que utilizam os
computadores e dispositivos que esto disponveis. Esses sistemas geralmente so
utilizados em Redes Locais (rede de computadores localizados em uma mesma sala, at
alguns andares de um edifcio), mas podem ser utilizados tambm em Redes Amplas,
Metropolitanas e at Redes Globais.
Para prover o gerenciamento adequado dos computadores, usurios e dispositivos
conectados rede, os sistemas operacionais devem possuir funcionalidades especiais, alm
das normalmente encontradas em um sistema operacional comum. Dentre as funes
especiais, destacam-se:
92
Existem vrios sistemas que fornecem recursos que permitem a operao em redes de
computadores, os mais conhecidos so: Unix (Linux, AIX, BSD), MS-Windows 2000, Novell
Netware, Sun Solaris, e alguns outros. Alm desses sistemas, existem alguns com funes
dedicadas para operarem em uma rede de computadores, como o caso do Cisco IOS e
Plan9.
A principal caracterstica que um sistema operacional de rede deve possuir garantir o
controle no acesso aos recursos, provendo um ambiente seguro aos usurios que utilizaro a
rede. Esse controle garantido no apenas atravs da utilizao de algumas ferramentas
como autenticao de usurios, mas atravs de polticas administrativas: verificao dos
usurios que esto utilizando a rede regularmente, definio de regras para acesso aos
dispositivos (por exemplo: os usurios sero divididos em grupos, e cada grupo ter acesso
a um conjunto de dispositivos conectados a rede).
93
Antes de dar continuidades aos seus estudos fundamental que voc acesse sua
SALA DE AULA e faa a Atividade 2 no link ATIVIDADES.
94
Linux
O sistema operacional Linux est comeando a conquistar o mercado de computadores
pessoais. Este sistema que inicialmente foi desenvolvido para ser utilizado por
programadores ocasionais, e depois passou a ser instalado em servidores de
computadores, agora j vendido pr-instalado em computadores pessoais de diversas
marcas: Positivo, Dell, HP, entre outras.
Ainda existem algumas restries para uma ampla utilizao do sistema Linux em
computadores domsticos, mas muitas barreiras j foram superadas.
Discuta no Frum quais os principais fatores que ainda faltam ser superados para uma
utilizao macia do Linux em computadores domsticos.
95
NIDADE
21
Gerenciamento De Usurio
1. Introduo
Os usurios de computador so as pessoas que estaro utilizando o computador para a
realizao dos trabalhos. Os usurios que acessarem o computador tero sua disposio
todos os recursos disponveis: rea de armazenamento, capacidade de processamento e
informaes guardadas por outros usurios.
Alguns computadores no podem ser acessados por qualquer pessoa e em alguns casos,
at o horrio de utilizao controlado. Para permitir esse tipo de administrao, um
conjunto de regras deve existir, para definir:
96
2. Autenticao de Usurio
Autenticar um usurio a tarefa de verificar e confirmar que o usurio tem permisso para
realizar alguma tarefa. Para realizar a autenticao vrias tcnicas podem ser empregadas, a
mais comum a definio de um nome e uma senha para cada pessoa. Tal estratgia pode
ser utilizada por muito tempo, mas atualmente vem apresentando alguns inconvenientes, que
vo desde o compartilhamento de um usurio entre vrias pessoas, at a utilizao de
senhas muito simples que so facilmente descobertas por pessoas indevidas.
O maior problema na autenticao de um usurio certificar e confirmar corretamente que o
nome e senha utilizados por uma pessoa realmente foram atribudos quela pessoa. Para
conseguir aumentar o grau de associao entre o usurio e a pessoa, outros mecanismos
so utilizados, como a utilizao de senha dupla, e a biometria, sendo este o mtodo mais
seguro atualmente de identificao da pessoa associada ao usurio do computador. A
biometria a verificao de caractersticas fsicas de uma pessoa. Na autenticao de
usurios podem ser utilizados a verificao da impresso digital, retina do olho e voz, pois
estas caractersticas so nicas em cada ser humano. Desse modo, consegue-se ter uma
verificao precisa de quem a pessoa que est tentando acessar o computador.
3. Permisses do Usurio
As permisses do usurio so o conjunto de regras que definiro a maneira como o usurio
poder utilizar os recursos do computador. Essas regras so definidas por Administradores
de Usurios. Os administradores so pessoas responsveis por criar as polticas que
definiro o modo como cada pessoa utilizar o computador e os recursos disponveis. Os
sistemas operacionais geralmente possuem um usurio administrador padro, no MSWindows o nome e a senha desse usurio so definidos durante a instalao do sistema
Copyright 2007, ESAB Escola Superior Aberta do Brasil
97
98
NIDADE
22
1. Introduo
A sigla LDPA significa Lightweight Directory Access Protocol, Protocolo Leve de Acesso ao
Diretrio. O Diretrio em questo no o diretrio do sistema de arquivos, aqui definido um
novo tipo de diretrio, onde os elementos que fazem parte do diretrio so objetos abstratos
que representam recursos e usurios de uma rede de computadores.
O protocolo LDAP atualmente utiliza os padres definidos e consolidados na internet para
oferecer acesso aos objetos, utilizando os protocolos TCP/IP e DNS para a comunicao dos
dados e estruturao do diretrio. No diretrio sero representados objetos associados a:
Usurios;
Computadores;
Impressoras;
Arquivos;
Departamentos Administrativos;
99
2. Funcionamento do LDAP
Um computador passa a utilizar um diretrio do LDAP quando se conecta a um Servidor
LDAP. O computador passa a ser ento um cliente do Servidor LDAP. O computador cliente
envia solicitaes de operaes ao servidor, que ir enviar respostas s solicitaes
recebidas. O computador cliente poder solicitar os seguintes tipos de operaes:
3. Estrutura do Diretrio
100
Red Hat Directory Server: para os sistemas RedHat Enterprise Linux 3, Solaris 8, HPUX 11;
IBM Tivolli: para os sistemas AIX, HP-UX, RedHat Enterprise Linux, MS-Windows,
Solaris, SUSE. Esse servidor tem como diferencial uma robusta estrutura de
autenticao;
101
NIDADE
23
Active Directory
1. Introduo
O Active Directory foi criado para fornecer de maneira centralizada a autenticao e
autorizao dos servios em computadores que utilizam o sistema MS-Windows. Sua
estrutura baseada no protocolo LDAP. O Active Directory permite aos administradores de
rede definir polticas de instalao e atualizao de programas de maneira automatizada.
O Active Directory um servio de diretrio que ir armazenar as informaes referentes aos
recursos da rede. Cada recurso, impressora, programa ou usurio, definido como sendo
um objeto dentro do diretrio. A tarefa do Active Directory organizar, controlar e definir
permisses de acesso aos objetos da rede.
2. Objetos da Rede
Cada objeto no Active Directory nico, e pode representar qualquer recurso disponvel na
rede. Alguns objetos tambm podem ser utilizados para armazenar outros objetos. O foco de
ao do Active Directory o objeto. Os objetos representam os registros do protocolo LDAP,
e so formados por atributos que armazenam as caractersticas que o objeto pode conter,
definidos pelo Esquema do objeto.
A estrutura que armazena os objetos do diretrio dividida em vrios nveis. O nvel mais
alto chamado de Floresta, e nela ficam armazenados todos os objetos, os respectivos
Copyright 2007, ESAB Escola Superior Aberta do Brasil
102
atributos e Esquemas do Active Directory. A Floresta possui uma ou mais rvores, que so
estruturas interconectadas por canais seguros. Cada rvore armazena um ou mais
Domnios, tambm interconectados por canais seguros. Os Domnios so identificados por
um nome e armazenam objetos que podem ser agrupados em Unidades Organizacionais.
As Unidades Organizacionais permitem criar uma estrutura hierrquica dentro dos Domnios,
possibilitando aos administradores da rede realizar um gerenciamento facilitado.
Toda esta estrutura tambm pode ser utilizada para definir uma configurao da rede de
maneira que seja semelhante a distribuio geogrfica dos recursos disponveis na rede.
Uma empresa pode criar Domnios que representem unidades de negcio, e dividir os
recursos da rede pelos Domnios de maneira anloga a separao real dos dispositivos. Os
usurios so registrados em Domnios, da mesma maneira que os funcionrios so alocados
nas unidades de negcio.
As Unidades Organizacionais podem ser definidas a partir de objetos especiais, chamados
Objetos de Poltica de Grupo. Esses objetos so utilizados para se definir padres de regras
de acesso a outros objetos.
As informaes do Active Directory so armazenadas em um ou mais Controladores de
Domnio. Cada Controlador possui uma cpia do Active Directory, e uma alterao feita em
um Controlador resultar em um processo de sincronizao entre todos os Controladores de
Domnio pertencentes ao Active Directory.
3. Relacionamentos de Confiana
Para permitir que um usurio de um Domnio tenha acesso aos recursos de outro Domnio, o
Active Directory utiliza um mecanismo denominado Relacionamento de Confiana. Quando
um Domnio criado, automaticamente criado um Relacionamento de Confiana com todos
os domnios da rvore a qual ele pertence. Outros Relacionamentos de Confiana podem ser
definidos para Domnios que no pertencem a mesma rvore. Os relacionamentos podem
ser:
103
Direo Dupla: dois Domnios concedem mtuas permisses de acesso aos seus
usurios;
104
FRUM II
possvel que computadores clientes com Windows acessem rede com servidores
Linux?
105
NIDADE
24
1. Introduo
A implementao de Sistemas de Segurana em Computadores tem como objetivo tornar a
utilizao dos computadores segura para os usurios, tratando de aspectos relativos
estabilidade do computador e privacidade das informaes contidas nele. A estratgia mais
utilizada para a construo de sistemas seguros a criao de processadores que realizem
a clara separao dos programas em execuo (aplicativos, sistema operacional, driver) e a
utilizao de rotinas e mecanismos no sistema operacional que permitam identificar e
gerenciar isoladamente os aplicativos em execuo, permitindo assim restringir o acesso a
determinados recursos do computador. Dentre as funcionalidades que so oferecidas por
sistemas seguros se destaca a capacidade de oferecer acesso aos recursos do computador
apenas s pessoas autorizadas, evitando assim que as no autorizadas possam realizar
alguma operao que venha a tornar o sistema inseguro. Um ditado utilizado por pessoas
que lidam com questes de segurana em computao diz o seguinte: Um sistema
totalmente seguro aquele que est desligado, trancado em um cofre e vigiado por guardas
armados.
Um fato importante a ser observado o seguinte: um sistema oferecer vrios mecanismos de
segurana no garante que ele seja seguro. Se a configurao no for feita corretamente, e
os mecanismos de segurana no estiverem ativados, o sistema ser considerado inseguro,
e passvel de sofrer um acesso indevido.
106
107
Execute apenas programas que forem testados por algum mecanismo de segurana;
A primeira regra a mais simples e menos confivel de todas. Se o objetivo ter certeza de
que o sistema seguro, basear a segurana em mtodos no seguros no garante a
segurana. A terceira regra tambm pode apresentar falhas, pois operao vlida e operao
segura podem no ter o mesmo sentido. A segunda opo a mais onerosa, pois necessita
de que todo o programa seja verificado antes de ser executado. A quarta opo a mais
utilizada atualmente.
Muitos dos sistemas operacionais feitos para computadores pessoais utilizam a primeira
regra para garantir a segurana do sistema. Para citar um exemplo: o MS-Windows XP
conclui que um programa seguro baseando-se em uma lista de nomes de programas, se o
programa consta na lista, ele considerado seguro, se no estiver, informa-se ao usurio
que o programa talvez no seja seguro e pergunta-se se o mesmo deseja execut-lo.
Copyright 2007, ESAB Escola Superior Aberta do Brasil
108
Firewall: este termo utilizado para definir um programa ou equipamento que ir filtrar
o acesso aos recursos e informaes do computador. Geralmente os firewall's so
utilizados em ambientes de rede e sua tarefa consiste em permitir apenas a passagem
de informaes permitidas pelos administradores dos computadores conectados
rede. Tambm permitir o acesso rede apenas de pessoas previamente autorizadas;
109
Cpia de Segurana dos Dados: como o prprio nome diz a cpia de segurana dos
dados uma cpia dos dados do computador feita para se assegurar a manuteno
das informaes do computador em caso de falha nos dispositivos de armazenamento
que danifique as informaes contidas neles. Uma medida adotada em algumas
empresas a separao fsica e geogrfica das cpias de segurana, sendo que
estas ficam armazenadas em locais distantes das informaes originais.
Os dois problemas so crticos para a garantia de uma mnima segurana. No primeiro caso,
se houver no computador uma srie de mecanismos de seguranas que no forem
utilizados, pode-se dizer com certeza que o computador no oferece segurana ao usurio.
Um dos fatores que resulta na no utilizao dos mecanismos de segurana o fato de que
a sua utilizao implica diretamente no consumo de recursos do computador: memria,
processador, espao no disco-rgido, entre outros. Alguns usurios preferem no utilizar o
mnimo de segurana no computador e conseguir o maior aproveitamento dos recursos nele
contidos. Esse pensamento s seria vlido se as informaes e operaes realizadas no
forem importantes, a ponto de poder acontecer uma falha no sistema, sem que haja maiores
preocupaes.
Copyright 2007, ESAB Escola Superior Aberta do Brasil
110
de
telefones
celulares.
111
NIDADE
25
Sistemas Embutidos
1. Introduo
Um sistema embutido um sistema reduzido, criado para uma funo especfica e dedicada.
Alm disso, so distribudos em um pacote que inclui o dispositivo eletrnico a ser utilizado.
Os sistemas embutidos esto presentes em: Agendas Eletrnicas, Telefones, Aparelhos
Eletrnicos Domsticos, Consoles de Jogos, e vrios outros produtos.
Como os aparelhos eletrnicos so desenvolvidos para realizar tarefas especficas, os
operacionais podem ser feitos especificamente para cada aparelho, reduzindo a
complexidade do sistema, o tamanho final e otimizando as funes que sero mantidas.
Os pequenos computadores de mo, chamados Pocket PC ou Handheld PC, ainda so
considerados como sistemas embutidos, mesmo apresentando uma grande variedade de
operaes que podem realizar. Esses computadores no so feitos para realizarem funes
especficas, mas para auxiliarem na realizao de uma srie de tarefas: agenda pessoal,
controle financeiro, comunicador, editor de texto e muito mais. Mas, quando comparados a
um computador pessoal de mesa, os Pocket PC's e Handheld PC's, so bastante limitados.
2. Linux Embutido
Atualmente j existe uma grande variedade de sistemas embutidos que utilizam uma verso
do sistema operacional Linux. Esses sistemas incluem: telefones celulares, tocadores de
112
A maioria dos sistemas embutidos no oferece acesso a alguns dispositivos, como por
exemplo: disco-rgido, impressora, digitalizador, CD, DVD;
Da mesma maneira que o Linux Completo pode ser encontrado para uma srie de
plataformas de computador, desde Intel x86 at Mainframes, o Linux Embutido tambm est
disponvel para vrios processadores. Atualmente o Linux Embutido vem recebendo o apoio
de vrias empresas importantes, principalmente no setor de telefonia mvel. As empresas
Motorola, Samsung, NEC, Panasonic, Philips e LG j esto comercializando telefones que
possuem o sistema LiMO em seus aparelhos. O LiMO uma verso do Linux especfica para
ser utilizada em telefones celulares. Seus principais concorrentes so: Symbian e MSWindows Mobile.
3. MS-Windows Mobile
Essa a verso do sistema MS-Windows para sistemas embutidos, pode ser utilizado em
vrios tipos de aparelhos eletrnicos, mas seu principal uso nos telefones celulares e
113
4. Symbian
O sistema Symbian utilizado exclusivamente em telefones celulares. As empresas que
utilizam este sistema so: Nokia, SonyEricsson, Panasonic, Siemens e Samsung. Se
considerarmos apenas os sistemas distribudos nos telefones da empresa Nokia, o Symbian
detm uma participao de mais de 40% do mercado. Considerando todos os telefones, o
Symbian est presente em 65% dos telefones celulares, o MS-Windows Mobile est em
15%, e os 20% restantes so divididos entre os sistemas RIM, Linux Embutido, PalmOS,
Qualcomm, e outros.
114
115
NIDADE
26
Sistema Virtual
1. Introduo
Uma mquina virtual uma duplicao lgica de uma mquina real. Mquinas virtuais so
utilizadas em diversas situaes, sendo divididas basicamente em duas categorias:
Mquinas Virtuais Completas, que fornecem um ambiente completo para a execuo de
vrios programas, permitindo inclusive a instalao de um sistema operacional; e Mquinas
Virtuais Binrias, que permitem a execuo de programas especficos. Um exemplo de
Mquina Virtual Completa o programa MS-Virtual PC, nele o usurio pode definir todas as
caractersticas que um computador virtual ter e instalar qualquer sistema operacional
compatvel. Um exemplo de Mquina Virtual Binria a Java Virtual Machine, JVM. Esta
utilizada exclusivamente para a execuo de programas feitos na linhagem Java.
As mquinas virtuais so criadas por programas que simulam um determinado ambiente de
execuo, que sero instalados normalmente no computador real e sua execuo ser
realizada normalmente pelo sistema operacional do computador real. Um detalhe importante:
no possvel criar uma mquina virtual com configurao superior mquina real. Isso no
pode ser feito, pois todo o ambiente virtual ir utilizar os recursos da mquina real, por
exemplo: se em uma mquina real com 512MB de memria, for criada uma virtual com
128MB, restaro 384MB para os programas da mquina real. E, alm disso, quando a
mquina virtual estiver em operao, ir dividir com os programas da mquina real todos os
recursos do computador, incluindo: processador, disco-rgido, entre outros.
116
Memria RAM: parte da memria RAM do computador real ser reservada e utilizada
pelo computador virtual;
117
118
2004
projetos
como Mono
(http://www.mono-project.com/) e
DotGNU
119
NIDADE
27
1. Introduo
Um sistema operacional para internet um conjunto de servios acessveis pela internet que
visam fornecer os mesmos servios de um sistema operacional. J existem vrios sistemas
operacionais na internet, que oferecem os servios bsicos e alguns mais avanados que
podem substituir a utilizao de um computador com sistema operacional completo, podendo
ser utilizado em seu lugar, um computador mais simples com um sistema operacional bsico.
Em um sistema operacional disponvel na internet, pode-se, a partir de qualquer computador,
em qualquer lugar, ter acesso s informaes, arquivos e programas em um sistema nico,
independente de plataforma (o requisito mnimo um computador compatvel com os
recursos disponveis na internet).
Os sistemas operacionais na internet atualmente oferecem uma srie de recursos aos
usurios: gerenciamento de arquivos, criao e edio de documentos e planilhas, criao
de apresentaes, tocadores de msicas, e vrios outros.
2. WebOS
O primeiro servio na internet a oferecer um ambiente operacional para os usurios foi criado
por
um
estudante
sueco
chamado
Fredrik
Malmer,
acessvel
pelo
endereo
120
(atualmente o termo AJAX adotado para definir a utilizao dessas duas linguagens na
criao de servios na internet). Em 1999 foi criada nos EUA a empresa WebOS Inc., que
comprou os direitos do sistema de Fredrik e licenciou uma srie de tecnologias
desenvolvidas nas Universidades do Texas, Califrnia e Duke. O objetivo inicial era criar um
ambiente operacional completo, inclusive com API para o desenvolvimento de outros
aplicativos.
O sistema WebOS iria fornecer ao usurio um ambiente para utilizao de aplicativos de
maneira semelhante ao ambiente oferecido pelo MS-Windows. Alm disso, para os
programadores, a API do WebOS poderia ser utilizada para o desenvolvimento de vrios
aplicativos auxiliares. Essa API era principalmente feita com a linguagem Javascript. O
WebOS utilizava padres abertos da internet e era compatvel com praticamente todos os
navegadores disponveis na poca.
O WebOS fez muito sucesso no seu lanamento, sendo utilizado em grandes empresas e
setores militares dos EUA e tambm sendo amplamente divulgado pelos meios de
comunicao. O desenvolvimento desse sistema continua em andamento, sendo organizado
principalmente pelas Universidades da Califrnia e Duke.
3. Sistemas Atuais
Atualmente os sistemas operacionais para internet mais utilizados so:
121
G.ho.st: Esta sigla significa Global Hosted Operating SysTem (Sistema Operacional
Disponvel Globalmente), tem como diferencial em relao aos outros a possibilidade
de integrao com outros servios como: Google Docs, Meebo, ThinkFree, entre
outros, alm de oferecer suporte a vrios idiomas;
EyeOS: Este sistema est sendo desenvolvido por uma comunidade denominada
EyeOS Team e possui o cdigo fonte aberto ao pblico. O objetivo dos
desenvolvedores criar um ambiente com maior compatibilidade com os aplicativos
atuais, MS-Office e OpenOffice. Possui um abrangente conjunto de aplicativos, e o
seu desenvolvimento feito principalmente com o uso da linhagem PHP.
122
NIDADE
28
1. Introduo
O termo Computao de Alto Desempenho aplicado utilizao de sistemas
computacionais de grande poder de processamento, geralmente supercomputadores e mais
recentemente os clusters de computadores. Essa rea da computao geralmente est
associada computao cientfica, englobando estudos na rea de metereologia, biologia,
qumica, fsica e vrias outras, mas tambm se utiliza supercomputadores para anlises
financeiras, pesquisa operacional, computao grfica e em qualquer rea onde a
quantidade de dados for muito grande ou a velocidade de resposta seja crtica.
Um detalhe a ser observado na Computao de Alto Desempenho a definio de
Supercomputadores. Este termo aplicado de forma temporria a um determinado sistema
computacional. Um supercomputador da dcada de 1970 tem uma capacidade de
processamento inferior a um Pentium 4 atual. E um computador de mesa equipado com um
Pentium 4 no considerado um supercomputador. E at mesmo a definio de quantidade
muito grande de dados temporria, em 1970 uma massa de dados de 50MB era
considerada muito grande, atualmente considerada muito pequena.
A velocidade da evoluo da tecnologia dos computadores muito grande. E na medida em
que a tecnologia sofre mudanas, o conjunto de problemas que podem ser explorados por
ela tambm modificado. Uma definio mais adequada para Computao de Alto
Desempenho a utilizao de sistemas computacionais de alta capacidade para a resoluo
Copyright 2007, ESAB Escola Superior Aberta do Brasil
123
capacidade
forem
alterados,
automaticamente
sero
alteradas
tambm
as
2. Arquiteturas de Processamento
As arquiteturas de processamento definem a maneira como a unidade de processamento do
computador ir realizar a execuo das instrues, podendo ser de 4 tipos: SISD, SIMD,
MISD e MIMD.
SISD: Single Instruction and Single Data, define os processadores que executam uma
instruo por vez e em apenas uma rea de dados, exemplos so: Intel 8086 e Zilog
Z80.
SIMD: Single Instruction and Multiple Data, define os processadores que podem
executar uma instruo por vez, mas podem aplicar a instruo em vrias de dados.
Esta tcnica utilizada em processadores com instrues vetoriais, onde uma
instruo aplicada a um vetor de dados. Exemplos so: IBM PowerPC G4,
Sony PlayStation 2 EmotionEngine, de maneira limitada os processadores MMX da
Intel,
estrutura
de
processamento.
MISD: Multiple Instruction and Single Data, esta estrutura define a aplicao de
mltiplas instrues em uma mesma rea de dados. Na prtica no faz muito sentido,
pois a rea de dados iria sofrer alteraes quase aleatrias, a no ser no caso em que
Copyright 2007, ESAB Escola Superior Aberta do Brasil
124
MIMD: Multiple Instruction and Multiple Data, esta estrutura consegue atingir um alto
grau de paralelismo, pois define a aplicao de mltiplas instrues em diversas reas
de dados. Computadores equipados com mais de um processador ou processadores
com vrios ncleos podem ser dessa categoria, contanto que o sistema operacional
esteja preparado para dividir as instrues e dados entre os processadores (ou
ncleos) do computador. Exemplos dessa arquitetura so: Macintosh G4 (possui 2
processadores) e computadores baseados nos processadores Intel Core 2 Duo ou
Sun Niagara T1 (que possui 8 ncleos);
3. Arquiteturas de Supercomputadores
Os supercomputadores podem ser divididos em dois tipos:
125
Existem vrios tipos de cluster, no entanto h alguns que so mais conhecidos, como:
Cluster de Alto Desempenho: Tambm conhecido como cluster de alta performance, ele
funciona permitindo que ocorra uma grande carga de processamento com um volume alto de
gigaflops em computadores comuns e utilizando sistema operacional gratuito, o que diminui
seu custo.
Cluster de Alta Disponibilidade: So clusters os quais seus sistemas conseguem
permanecer ativos por um longo perodo de tempo e em plena condio de uso. Sendo
assim, podemos dizer que eles nunca param seu funcionamento; alm disso, conseguem
detectar erros se protegendo de possveis falhas..
Cluster para Balanceamento de Carga: Esse tipo de cluster tem como funo controlar a
distribuio equilibrada do processamento. Requer um monitoramento constante na sua
comunicao e em seus mecanismos de redundncia, pois se ocorrer alguma falha, haver
uma interrupo no seu funcionamento.
126
127
NIDADE
29
Microsoft Windows
1. Introduo
O desenvolvimento do sistema operacional MS-Windows teve incio em 1983, e o projeto
inicial no foi a criao de um sistema operacional completo, mas um aplicativo que iria ser
executado no sistema MS-DOS (sistema operacional de 8/16bits). O nome Windows foi
escolhido, pois o programa iria operar atravs de janelas, alm de ser outra maneira para o
usurio utilizar o computador.
O MS-Windows, durante quase todo o seu ciclo de vida, foi desenvolvido apenas para
computadores IBM-PC e compatveis, apenas em um curto perodo, entre os anos de 1993 e
1996, pode-se encontrar o MS-Windows disponvel para outras plataformas de computador:
DEC Alpha, IBM PowerPC, SUN SPARC e MIPS Rx000. Isso limita a utilizao do MSWindows a apenas computadores que possuam um processador Intel x86 ou compatvel:
8086, 80286, 80386, 80486, Pentium, Pentium 2, Pentium 3, Pentium 4, Core Duo, Core 2
Duo, Athlon, Phenom, Sempron, etc.
A verso do MS-Windows disponvel para Palmtop, chamada atualmente de MS-Windows
Mobile, executada em processadores compatveis com a arquitetura ARM Rx: Intel XScale,
Hitachi SH3, entre outros. Esse sistema sempre foi disponibilizado para mais de uma
plataforma.
128
129
3. MS-Windows NT
Em 1990 os computadores se tornaram populares, vrias empresas desenvolviam
componentes para serem utilizados. Alm disso, vrias empresas e pessoas compravam um
computador para poder melhorar e acelerar a realizao de diversos trabalhos. O MSWindows NT foi proposto para ser um sistema que pudesse integrar as diversas plataformas
existentes, permitindo a qualquer pessoa utilizar um computador da mesma maneira,
independente das caractersticas eletrnicas existentes em cada mquina.
Este novo sistema operacional possua algumas caractersticas inovadoras em relao s
verses anteriores:
130
4. MS-Windows 95
Os objetivos a serem alcanados por este sistema eram:
131
5. MS-Windows 2000
O sistema MS-Windows 2000 era conhecido como MS-Windows NT 5.0 durante a fase de
desenvolvimento. Esse sistema, quando lanado, trouxe uma srie de inovaes para a
famlia Windows, a mais importante foi a criao do mecanismo conhecido como Active
Directory, que implementou uma nova estrutura de organizao para a rede de
computadores. Esse sistema possua grandes melhorias no gerenciamento dos processos,
memria, dispositivos, e notadamente era muito superior s verses anteriores. O MSWindows 2000 era direcionado para ser utilizado como Sistema Operacional Servidor, as
suas verses disponveis eram:
A principal contribuio do MS-Windows 2000 para a Microsoft foi ter se tornado um sistema
de grande estabilidade e aliado ao MS-Windows 98 e sua base de aplicativos disponveis,
Copyright 2007, ESAB Escola Superior Aberta do Brasil
132
6. MS-Windows XP
O lanamento do MS-Windows XP foi o marco final da gerao de 16 bits da famlia
Windows. As caractersticas encontradas no MS-Windows XP so:
133
Starter Edition: verso com recursos limitados, voltada para mercados emergentes
(Brasil, Rssia, China, Mxico, ndia) devido ao menor custo de venda;
Professional Edition: esta verso foi feita para ser utilizada nos computadores de
trabalho das empresas;
Tablet PC: verso para ser utilizada em computadores portteis com recursos de
reconhecimento de escrita manual;
134
NIDADE
30
Linux
1. Introduo
O sistema Linux um sistema operacional desenvolvido para ter um funcionamento
semelhante ao sistema Unix. Desde o incio do desenvolvimento, no ano de 1991, o Linux
feito com o cdigo-fonte aberto, isto significa que qualquer pessoa tem acesso s instrues
em linguagem de programao que so utilizadas para fazer funcionar o sistema. Este
sistema operacional muito utilizado em servidores de rede e supercomputadores, e
atualmente apoiado por uma srie de empresas, tais como: IBM, Oracle, Sun Microsystems
e Red Hat. A utilizao do Linux em computadores pessoais ainda pequena, e o maior
motivo para isso a baixa disponibilidade de programas e drivers de dispositivos.
2. Histria do Linux
O nome Linux derivado do nome do criador do projeto, Linus Torvalds, que comeou a
programar o Linux enquanto era estudante na Universidade de Helsinki, a partir do cdigofonte do sistema Minix, um sistema operacional reduzido, contendo algumas caractersticas
do Unix. O projeto que Linus estava realizando foi divulgado e aberto a outros
desenvolvedores, que prontamente se colocaram a disposio para auxiliar na programao
do Linux.
135
A primeira verso funcional do sistema Linux foi concluda em 1992, e comeou a ser
utilizado por programadores espalhados em vrias universidades pelo mundo. Em 1993 foi
criado o primeiro kit de utilizao do Linux, que consistia no sistema operacional mais um
conjunto de utilitrios, como um editor de texto, um compilador para linguagem C e outros
programas, alm de contar com uma interface grfica. Esse kit recebeu o nome de Yggdrasil
Linux/GNU/X. O kit no tinha uma equipe ou profissional responsabilizado por lanar novas
verses, ento em junho de 1993 foi lanada a primeira Distribuio Linux, Slackware 1.0.
Em 1996 foi lanado o Linux Kernel 2, sendo este a base de todas as distribuies em uso
atualmente. A verso atual do sistema denominada Linux Kernel 2.6.24. (A atual verso do
MS-Windows a 6.0.6, MS-Windows Vista).
Uma Distribuio Linux um kit que contm o sistema operacional Linux mais um conjunto
de ferramentas de trabalho. Atualmente existem dezenas, talvez centenas, de distribuies
Linux pelo mundo, as principais so: Debian, Fedora, Mandriva, OpenSUSE, RedHat,
Slackware e Kurumim (verso brasileira do Linux). Como o Linux um sistema aberto e
gratuito, e quase todas as ferramentas distribudas junto com o sistema tambm so abertas
e gratuitas, a criao de uma distribuio especfica para uma determinada finalidade tornase muito fcil. As distribuies podem ser divididas nas seguintes categorias:
136
137
4. Utilizao do Linux
Como j foi dito anteriormente, o Linux muito utilizado em ambientes acadmicos e
cientficos, e comea a ser utilizado nas empresas e residncias. Alm disso, o Linux um
dos sistemas mais abrangentes do mundo, possuindo verses para uma vasta gama de
plataformas: Intel x86, Intel IA-64, IBM PowerPC, Motorola 680x0, HP PA-RISC, SUN
UltraSPARC, ARM, Mainframes, Supercomputadores, Celulares, Pocket PC's, Sony
PlayStation 2 e PlayStation 3, etc.
Nos computadores pessoais, utilizados em escritrios, empresas e residncias, o Linux
possui 1% do mercado, e disputa principalmente com o MS-Windows e o MacOS X, que
detm 90% e 5% do mercado de sistemas operacionais, respectivamente. A maioria das
distribuies voltadas para esse mercado conta com uma interface grfica e um pacote de
aplicativos que incluem: processador de texto, planilha eletrnica, apresentao de slides,
navegador para internet, correio eletrnico, desenho, editorao eletrnica, edio de
imagens, e uma srie de utilitrios.
As interfaces grficas mais utilizadas para o Linux so: KDE e Gnome, mas no so as
nicas, outros exemplos so: CDE, Enlightenment, WindowMaker (desenvolvida no Brasil) e
FVWM. Alm disso, o Linux possui um aplicativo chamado Wine, que funciona como um
emulador do MS-Windows e permite executar alguns aplicativos desenvolvidos para o
sistema da Microsoft. Alguns aplicativos disponveis para o MS-Windows possuem tambm
uma verso prpria para Linux: OpenOffice, Mozilla Firefox, GIMP, Adobe Acrobat Reader,
MatLab, Nero Burning ROM, Autodesk MAYA, Softimage XSI, entre outros. Na rea dos
jogos eletrnicos o Linux tambm conta com uma vasta gama de exemplares: Quake 4,
Guitar Hero, Civilization, Home World, Dance Dance Revolution e muitos outros.
No segmento dos servidores e supercomputadores o Linux possui uma base instalada mais
consolidada, sendo encontrado em cerca de 12% dos sistemas. Principalmente como
Servidor para Internet, estando presente em cerca de 80% desse mercado especfico. A
combinao mais utilizada de um servidor Linux para internet : Linux + Apache + MySQL +
Copyright 2007, ESAB Escola Superior Aberta do Brasil
138
Antes de dar incio sua Prova Online fundamental que voc acesse sua SALA
DE AULA e faa a Atividade 3 no link ATIVIDADES.
139
140
LOSSRIO
Caso haja dvidas sobre algum termo ou sigla utilizada, consulte o link Glossrio em sua
sala de aula, no site da ESAB.
141
EFERNCIAS
Dominic Giampaolo, "Practical File System Design with the Be File System", 1999.
Robert Craig, Paul Leroux, "Operating system support for multi-core processors", 2005
Israel Dias de Jesus Jnior, Maria de Ftima Almeida, "Third Extended File System EXT3", 2007
"ACTIVE
DIRECTORY
CONCEPTS",
2008,
http://tutorials.intelligentedu.skillspride.com/active-directory-concepts.htm
142
143