Sie sind auf Seite 1von 26

Fundamentos de

Sistemas Operacionais
Autores: Prof. Fbio Furukawa
Prof. Roberto Nunes
Colaboradores: Profa. Elisangela Monaco de Moraes
Prof. Roberto Macias
Prof. Fbio Vieira do Amaral

Professores conteudistas: Fbio Furukawa / Roberto Nunes


O professor conteudista Fbio Furukawa, natural de So Paulo (Brasil), nasceu em 1975 e atua
ininterruptamente na rea de sistemas desde 1994. Iniciou como estagirio, atuou como tcnico em eletrnica,
analista de sistemas, engenheiro de redes, analista de negcios e, atualmente, como lder responsvel pela
entrega de servios de hosting na Amrica Latina para empresa multinacional e lder do segmento. Tambm
professor de diversas disciplinas na rea de redes e tecnologia da informao e coordenador de cursos
universitrios. O conteudista formado em tcnico em eletrnica pelo Colgio Lavoisier, cursou engenharia
eltrica na PUC-SP, formou-se em cincia da computao na universidade FAAP, ps-graduado em Master
Business Administration com nfase em sistemas de computao pela Faculdade Getlio Vargas, possui cursos
de extenso em Emergin Leader pela universidade de Harvard Business School e diversos cursos e certificaes
relacionados a redes e TI. O conteudista tem experincia internacional trabalhando e participando de eventos
em pases, como Estados Unidos, Espanha, Itlia, Frana, Argentina, Chile, Colmbia e Mxico. Fala portugus
(lngua nativa), ingls fluente, espanhol intermedirio e japons bsico.
O professor conteudista Roberto Nunes, possui ps-graduao MBA Engenharia de Qualidade Gesto
e Tecnologias da Qualidade na Escola Politcnica da Universidade de So Paulo (USP) e cursa ps-graduao
em Formao de Professores para o Ensino Superior na Universidade Paulista (UNIP). Possui graduao em
Administrao pela Faculdade Radial (2001) e, atualmente, professor da Universidade Paulista (UNIP) e
profissional da rea de informtica na Universidade de So Paulo (USP).

Dados Internacionais de Catalogao na Publicao (CIP)


F938

Furukawa, Fabio
Fundamentos de Sistemas Operacionais. / Fabio Furukawa;
Roberto Nunes. - So Paulo: Editora Sol.
160 p. il.
Nota: este volume est publicado nos Cadernos de Estudos e
Pesquisas da UNIP, Srie Didtica, ano XVII, n. 2-022/11, ISSN 1517-9230.
1.Abstrao em Sistemas Operacionais 2.Gerenciamento de
Recursos 3.Evoluo Computacional I.Ttulo
CDU 681.3

Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por qualquer forma e/ou
quaisquer meios (eletrnico, incluindo fotocpia e gravao) ou arquivada em qualquer sistema ou banco de dados sem
permisso escrita da Universidade Paulista.

Prof. Dr. Joo Carlos Di Genio


Reitor

Prof. Fbio Romeu de Carvalho


Vice-Reitor de Planejamento, Administrao e Finanas

Profa. Melnia Dalla Torre


Vice-Reitora de Unidades Universitrias

Prof. Dr. Yugo Okida


Vice-Reitor de Ps-Graduao e Pesquisa

Profa. Dra. Marlia Ancona-Lopez


Vice-Reitora de Graduao

Unip Interativa EaD


Profa. Elisabete Brihy
Prof. Marcelo Souza
Profa. Melissa Larrabure

Material Didtico EaD


Comisso editorial:
Dra. Anglica L. Carlini (UNIP)
Dr. Cid Santos Gesteira (UFBA)
Dra. Divane Alves da Silva (UNIP)
Dr. Ivan Dias da Motta (CESUMAR)
Dra. Ktia Mosorov Alonso (UFMT)
Dra. Valria de Carvalho (UNIP)
Apoio:
Profa. Cludia Regina Batista EaD
Profa. Betisa Malaman Comisso de Qualicao e Avaliao de Cursos
Projeto grco:
Prof. Alexandre Ponzetto
Reviso:
Silvana Pierro
Geraldo Teixeira Jr.

Logica_Unid_IV.indd 139

15/12/2011 19:47:12

Sumrio
Fundamentos de Sistemas Operacionais
APRESENTAO ......................................................................................................................................................9
INTRODUO ...........................................................................................................................................................9
Unidade I

1 FUNDAMENTOS DE SISTEMAS OPERACIONAIS ....................................................................................11


1.1 Nivelamento ............................................................................................................................................11
1.2 Abstrao ................................................................................................................................................. 12
1.2.1 Gerncia...................................................................................................................................................... 15

2 HISTRIA DOS SISTEMAS OPERACIONAIS ............................................................................................ 16


2.1 Primeira gerao de computadores (1945-1955) Vlvulas ............................................. 17
2.2 Segunda gerao de computadores (1955-1965) Transistores e sistemas
em lote (batch).............................................................................................................................................. 20
2.3 Terceira gerao de computadores (1965-1980) CIs e multiprogramao .............. 21
2.4 Quarta gerao de computadores (1980-atualmente) Computadores
pessoais ............................................................................................................................................................ 22
Unidade II

3 TIPOS DE SISTEMAS OPERACIONAIS ....................................................................................................... 27


3.1 Batch (de lote) ....................................................................................................................................... 27
3.2 De rede...................................................................................................................................................... 27
3.3 Distribudo ............................................................................................................................................... 28
3.4 Multiusurio e multitarefas ............................................................................................................. 28
3.5 Desktop/Computador pessoal ......................................................................................................... 28
3.6 Servidor .................................................................................................................................................... 28
3.7 Embarcados............................................................................................................................................. 29
3.8 Tempo real ............................................................................................................................................... 29
3.9 De computadores de grande porte ............................................................................................... 29
3.10 Multiprocessadores ........................................................................................................................... 29
3.11 Portteis ................................................................................................................................................. 30
4 VISO GERAL SOBRE HARDWARE DE COMPUTADORES ................................................................. 30
4.1 Processadores......................................................................................................................................... 30
4.1.1 Processadores multithread e multincleo .................................................................................... 32

4.2 Memria ................................................................................................................................................... 33


4.3 Disco .......................................................................................................................................................... 36
4.4 Fitas ............................................................................................................................................................ 37
4.5 Dispositivos de E/S ............................................................................................................................... 37
4.6 Barramento ............................................................................................................................................. 38

Unidade III

5 GERENCIAMENTO DE PROCESSOS ........................................................................................................... 47


5.1 Introduo a processos ...................................................................................................................... 47
5.1.1 Processo ...................................................................................................................................................... 47
5.1.2 Criao de processos ............................................................................................................................. 49
5.1.3 Trmino de processos ............................................................................................................................ 50

5.2 Comunicaes entre processos....................................................................................................... 51


5.2.1 Condio de corrida............................................................................................................................... 51
5.2.2 Excluso mtua e regio crtica ....................................................................................................... 52
5.2.3 Excluso mtua com espera ociosa ................................................................................................ 53
5.2.4 Semforos .................................................................................................................................................. 55
5.2.5 Monitores ................................................................................................................................................... 56
5.2.6 Troca de mensagens .............................................................................................................................. 57
5.2.7 Escalonamento ........................................................................................................................................ 58

6 GERENCIAMENTO DE MEMRIA ............................................................................................................... 59


6.1 Introduo a gerenciamento de memria ................................................................................. 59
6.2 Abstrao espaos de endereamento da memria .......................................................... 61
6.2.1 Permuta de memria............................................................................................................................. 61

6.3 Memria virtual .................................................................................................................................... 62


6.3.1 Paginao ................................................................................................................................................... 63

6.4 Segmentao ......................................................................................................................................... 65


Unidade IV

7 SISTEMAS DE ARQUIVOS ...............................................................................................................................71


7.1 Introduo a sistemas de arquivos ................................................................................................71
7.1.1 Arquivos ...................................................................................................................................................... 71
7.1.2 Atributos..................................................................................................................................................... 71
7.1.3 Estrutura de arquivo .............................................................................................................................. 72
7.1.4 Operaes................................................................................................................................................... 73

7.2 Uso de arquivos..................................................................................................................................... 74


7.2.1 Abertura de arquivo ............................................................................................................................... 74
7.2.2 Formas de acesso .................................................................................................................................... 75

7.3 Compartilhamentos............................................................................................................................. 77
7.3.1 Travas em arquivos ................................................................................................................................. 77
7.3.2 Semntica de trava de acesso ........................................................................................................... 78

7.4 Introduo a diretrios ...................................................................................................................... 79


7.4.1 Organizao de volumes ...................................................................................................................... 79
7.4.2 Diretrios .................................................................................................................................................... 80
7.4.3 Sistema de diretrios em nvel nico ............................................................................................. 82
7.4.4 Sistema de diretrios hierrquico .................................................................................................... 82

7.5 Gerenciamento e otimizao de sistemas de arquivos......................................................... 83


7.5.1 Gerenciamento do espao em disco ............................................................................................... 83
7.5.2 Cotas de utilizao de disco ............................................................................................................... 85
7.5.3 Cpia de segurana................................................................................................................................ 87

7.6 Tipos de sistemas de arquivos ......................................................................................................... 90


7.6.1 Sistema de arquivos ISO 9660 ........................................................................................................... 90
7.6.2 Sistema de arquivo do FAT .................................................................................................................. 93
7.6.3 Sistema de arquivos do ambiente Unix ......................................................................................... 96
7.6.4 Sistema de arquivos do Linux ............................................................................................................ 98

8 GERENCIAMENTO DE ENTRADA E SADA ............................................................................................100


8.1 Introduo a gerenciamento de entrada e sada ..................................................................100
8.2 Fundamentao hardware de entrada e sada (E/S) ........................................................100
8.3 Dispositivos de entrada e sada ....................................................................................................101
8.3.1 Controladores de dispositivos (driver) ..........................................................................................103
8.3.2 E/S mapeada em memria ................................................................................................................105
8.3.3 Acesso direto memria (DMA) .....................................................................................................106

8.4 Software de E/S ...................................................................................................................................108


8.4.1 E/S programada .....................................................................................................................................109
8.4.2 E/S usando interrupo ...................................................................................................................... 110
8.4.3 E/S usando DMA.....................................................................................................................................111

8.5 Camadas de software de E/S ..........................................................................................................111


8.5.1 Tradutores de interrupo ..................................................................................................................111
8.5.2 Drivers dos dispositivos ...................................................................................................................... 112
8.5.3 Software de E/S independente de dispositivo .......................................................................... 114
8.5.4 Software de E/S do espao do usurio ........................................................................................ 115

8.6 Hardware de E/S ................................................................................................................................. 115


8.6.1 Discos rgidos.......................................................................................................................................... 116

8.7 Relgio ....................................................................................................................................................123


8.7.1 Hardware do relgio viso geral ................................................................................................ 124
8.7.2 Software do relgio viso geral ................................................................................................. 125
8.7.3 Temporizador por software viso geral .................................................................................. 126

8.8 Teclado, mouse e monitor viso geral ...................................................................................126


8.8.1 Software do teclado ........................................................................................................................... 127
8.8.2 Software do mouse ............................................................................................................................. 128
8.8.3 Software de sada ................................................................................................................................ 129

8.9 Thin clients clientes magros.......................................................................................................132


8.10 Gerenciamento de energia ...........................................................................................................133

Logica_Unid_IV.indd 139

15/12/2011 19:47:12

APRESENTAO

Fundamentos de Sistemas Operacionais uma das disciplinas da ementa do curso de graduao da


UNIP que reconhecida pelos alunos, professores e pelo mercado como o conhecimento fundamental
para que aspirantes ou prossionais das reas de tecnologia tenham a possibilidade de entender, analisar
e recomendar a evoluo dos sistemas operacionais, gerenciamento de processos, gerenciamento de
memria (hierarquia de memria, modos de endereamento, estruturas de controle, memria virtual),
gerenciamento de arquivos e gerenciamento de entrada e sada.
Esta disciplina tem por objetivo geral fornecer os conceitos necessrios para a compreenso do
funcionamento dos sistemas operacionais. Compreender as funes do sistema operacional dentro de
um sistema computacional. Despertar uma viso crtica sobre os requisitos de conabilidade, segurana
e desempenho envolvidos no sistema operacional.
Como objetivos especcos, busca-se fornecer conhecimentos tericos sobre polticas, estruturas e
tcnicas de operao de sistemas computacionais. Capacitar o aluno na avaliao e determinao de
sistemas operacionais em aplicaes especcas visando aos requisitos de funcionalidade e aplicabilidade
prtica. Compreender as necessidades e os mecanismos utilizados pelo sistema operacional para prover
segurana para o sistema computacional.
INTRODUO

Desde sua inveno at os dias atuais, os computadores so dispositivos que vm ajudando o


homem a conseguir ultrapassar o que at ento pareciam barreiras impossveis de serem superadas
fora dos filmes de fico cientfica. Certamente, na poca que nossos avs estavam no colgio e as
mquinas de telgrafo e de escrever eram os dispositivos tecnolgicos mais evoludos , se algum
afirmasse que seria possvel que ns tivssemos a condio de conversar com amigos localizados
em diferentes pases, ou que seria possvel, por meio da computao, prever a meteorologia e
identificar biometricamente a identidade das pessoas, ou que as empresas mais valiosas do
mundo seriam baseadas em conceitos abstratos, como dados binrios gravados em equipamentos
espalhados pelo mundo, ento esse indivduo seria considerado, no mnimo, um bom autor de
livros de fico ou um louco.
O computador , sem dvida, o dispositivo que passou a estar em todos os lugares e a ser usado
por todas as pessoas, independente da idade, condio social, raa ou preferncia poltica poderamos
armar que o computador, ou pelo menos a computao, o mais democrtico dos elementos na
sociedade moderna.
Para as pessoas que somente so classicadas como usurias dos sistemas de computao e no
possuem a pretenso de conhecer os segredos dessa fascinante cincia, nos ltimos anos foram criados
computadores que apresentam interfaces extremamente amigveis, integradas, heterogneas, seguras,
velozes e outros atributos que zeram com que o computador tomasse formas incrveis: embutido em
televisores, carros, avies ou do tamanho da nossa mo ou, ainda, em forma de celular (que uma
verdadeira central multimdia). Para os prossionais que decidiram seguir a carreira da computao,
9

atuando em atividades relacionadas aos componentes fsicos ou lgicos, h intrigantes e excitantes


assuntos que necessitamos entender para podermos continuar ampliando esse legado que, sem dvida,
tem muito para chegar ao seu ponto de maturidade.
Como um computador pode processar diferentes tarefas simultaneamente? Como os programas de
computador, sendo executados numa mesma mquina, podem obter os recursos necessrios para suas
tarefas e no causar conitos nem mesmo apresentao do resultado do programa A na tela do programa
B por equvoco? Como usurios podem acessar computadores remotos e compartilharem informaes
de forma segura? Como os diferentes tipos de sistemas podem trocar dados via rede de forma segura
e sem conitos por falta de compatibilidade? So essas e outras questes que estaremos debatendo
ao longo dos captulos deste livro-texto, possibilitando que amantes da computao e prossionais da
rea conheam e saibam como tirar melhor proveito da nova computao. Esse debate possibilitar
tambm o desenvolvimento de solues que iro atender ao mercado de forma ecaz e segura, ajudar
a denirmos se estamos comprando um computador que ir ou no atender as nossas necessidades e
servir para entendermos a evoluo dos computadores, alimentando nossa fome por conhecimento e
fomentando nossa imaginao em relao a como ser o computador do futuro.

10

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Unidade I
1 FUNDAMENTOS DE SISTEMAS OPERACIONAIS
1.1 Nivelamento

O propsito geral dos computadores, desde aqueles pequenos e integrados conhecidos como telefones
inteligentes (smartphones), que podem ser carregados no bolso, at os de grande porte que necessitam
de ambientes extremamente planejados e controlados, similar em relao ao que esperamos deles. Em
linhas gerais, abdicando das partes e objetivando o todo, podemos simplicar dizendo que introduzimos
algo bruto na entrada e esperamos como resultado um produto lapidado com caractersticas especcas
para necessidades especcas.
Durante o processo de transformao do produto bruto at a sada e entrega do produto nal
existem componentes fsicos e lgicos trabalhando nesta produo. Os componentes fsicos no nosso
mundo computacional so conhecidos como hardware e a parte lgica, como software. Estes e outros
diversos termos e nomes utilizados so palavras de origem inglesa.
importante destacar que se tentarmos traduzir alguns termos para a lngua portuguesa, isso pode
causar problemas de entendimento durante a comunicao entre prossionais da rea de tecnologia,
pois na maioria dos casos estes termos j esto intrnsecos.
O hardware de um computador pode incluir o computador em si, os discos e a unidade de disco,
impressora, mouse etc. e o software corresponde a qualquer programa ou grupo de programas que
instrui o hardware sobre a maneira como ele deve executar uma tarefa, inclusive sistemas operacionais,
processadores de texto e programas de aplicao.
O sistema operacional a parte lgica que controla todo hardware, ou seja, mesmo que estejamos
usando um programa de computador com propsito de navegao na internet, de envio e recebimento
de e-mails, editores de texto e imagem ou qualquer outra aplicao (software), na realidade estes
esto se comunicando com o sistema operacional e cabe ao sistema operacional executar as tarefas
necessrias para uso dos componentes fsicos do computador, como memria, disco, controladores de
vdeo, rede etc.
A Figura 1, a seguir, ilustra a arquitetura macro de um sistema de computao tpico. Podemos
observar elementos fsicos hardware e lgicos software.

11

Unidade I

Lgico
Fsico

Hardware

Sistema
operacional

Aplicativos

Usurio do sistema

Figura 1 Estrutura do ambiente computacional tpico

A maioria dos usurios de computador quando interagem com o aplicativo, baseado no ambiente
shell (interpretador de comandos) em modo texto ou ambientes GUI (Graphical User Interface interface
grca com o usurio), usando cones no ambiente grco, de fato no esto atuando diretamente no
sistema operacional.
Podemos sumarizar em duas palavras-chave os objetivos bsicos de um
sistema operacional: abstrao e gerncia, cujos principais aspectos so
descritos a seguir.1
1.2 Abstrao

Cada componente fsico de um computador possui caractersticas intrnsecas para atender ao seu
propsito, porm alm desta abordagem temos dispositivos que fazem parte de um mesmo propsito,
porm com estruturas bem diferentes. Isso se deve s diversas tecnologias disponveis no mercado e a
outros motivos atrelados s estratgias dos fabricantes ao desenvolver seus produtos.
Para exemplicar, faremos uma analogia com o mdulo de impresso que parte integrante dos
editores de texto. Neste caso trivial, j podemos nos deparar com uma situao bem enigmtica e
complicada de ser tratada. A diversidade de modelos de impressoras, tipos de conectores, se est ligada
diretamente ao computador ou se um dispositivo em rede e todas as demais questes fariam qualquer
programa ser extremamente complexo de ser desenvolvido e, mesmo se fosse factvel, todos os programas
ocupariam muito espao no disco rgido.
A Figura 2 ilustra como seria se os programas tivessem que atuar diretamente com os dispositivos
fsicos do ambiente computacional.
1

12

Disponvel em: <http://pt.scribd.com/doc/13290978/socap01>. Acesso em: 8 jun. 2011.

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Figura 2 Aplicao atuando diretamente com os dispositivos

Entretanto, a abordagem bem diferente da demonstrada na Figura 2, temos na realidade


dois mundos completamente distintos e uma via chamada sistema operacional que interliga
esses dois mundos; para o mundo lgico, o mundo fsico uma abstrao, e, para o mundo fsico,
o mundo dos programas que fazem interface com os usurios uma entidade completamente
desconhecida.

13

Unidade I

Figura 3 Abstrao

O modelo apresentado na Figura 3 representa como os sistemas operacionais tpicos interagem


servindo de conexo entre o hardware e os aplicativos. Neste modelo, o desenvolvedor manda a impresso
para uma entidade lgica que representa uma impressora e cabe ao sistema operacional encaminhar
para a impressora fsica os dados a serem impressos.
Dessa forma, o sistema operacional deve denir interfaces abstratas para os
recursos do hardware, visando a atender os objetivos como:
Prover interfaces de acesso aos dispositivos mais simples de usar que as interfaces
de baixo nvel, para simplicar a construo de programas aplicativos.
Tornar os aplicativos independentes do hardware. Ao denir interface
abstrata de acesso ao dispositivo de hardware desejado, o sistema
operacional desvincula os aplicativos do hardware e permite que ambos
evoluam de forma autnoma.

14

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


Denir interfaces de acesso homogneas para dispositivos com tecnologias
distintas. Por meio de suas abstraes, o sistema operacional permite aos
aplicativos usar a mesma interface para dispositivos diversos.2

No exemplo demonstrado na Figura 3, os aplicativos podem produzir uma impresso sem precisar se
preocupar com o modelo e a compatibilidade com a impressora.
1.2.1 Gerncia
Os programas, por meio do sistema operacional, usam o hardware para
atingir seus objetivos: gravar, apagar, acessar e armazenar dados, imprimir
documentos, navegar na internet, tocar msica etc.
Quando dois ou mais aplicativos precisam concorrentemente e
simultaneamente acessar recursos de hardware, ento podem surgir
conitos. Cabe ao sistema operacional baseado nas polticas de sua estrutura
gerenciar o uso dos recursos de hardware e administrar disputas e conitos.
Seguem duas situaes ilustrativas onde a gerncia de recursos do hardware
impretervel:
O uso dos processadores deve ser distribudo entre os aplicativos ativos no
sistema, de forma que cada um deles possa executar no tempo, sequncia
e velocidade adequada para cumprir suas funes sem prejudicar os
outros. O mesmo ocorre com a memria RAM, que deve ser distribuda
de forma justa entre as aplicaes.
A impressora um dispositivo cujo acesso deve ser efetuado de forma
exclusiva, apenas um aplicativo por vez. Para resolver essa questo,
o sistema operacional armazena temporariamente todas as sadas
destinadas impressora, criando la de trabalhos a imprimir (print jobs),
normalmente atendidos de forma sequencial (FIFO, First In First Out
Primeiro a entrar o primeiro a sair).3
Imagine o que aconteceria se dois ou mais programas tentassem imprimir
suas sadas simultaneamente na mesma impressora. As primeiras linhas
poderiam ser do primeiro programa, as linhas seguintes seriam do segundo
programa e assim por diante.4

Disponvel em: <http://pt.scribd.com/doc/13290978/socap01>. Acesso em: 8 jun. 2011.


Disponvel em: <http://www.etejga.com.br/download/informatica/mod1/gso/SISTEMAS%20OPERACIONAIS.pdf>.
Acesso em: 8 jun. 2011.
4
Disponvel em: <http://www.scribd.com/doc/37558291/Andrew-S-Tanenbaum-Sistemas-Operacionais-2a-Edicao>.
Acesso em: 8 jun. 2011.
2
3

15

Unidade I
2 HISTRIA DOS SISTEMAS OPERACIONAIS

Clientes de tecnologia da informao impulsionam pesquisas, desenvolvimento e proliferao de


novos equipamentos e programas. At bem pouco tempo atrs, era impossvel imaginarmos que teramos
integrado num telefone a diversidade de recursos disponveis, tanto no mbito da mobilidade, quanto
pela possibilidade de customizaes exclusivas. Fatos como estes apresentados movem o conjunto de
engrenagens e a evoluo dos sistemas operacionais fundamental para atender a toda demanda do
mercado.
O guia referencial apresentado em quatro perodos representa a cronologia do desenvolvimento dos
sistemas operacionais em relao a geraes de computadores de forma sucinta e genrica, entretanto
chama a ateno para a existncia de uma estrutura.

Saiba mais
Linha do tempo a histria do computador completa pode ser
encontrada em: Computer History Museum, <http://www.computerhistory.
org>, acesse Exhibits Timeline of Computer History.
O ingls Charles Babbage projetou o primeiro computador de uso geral. Esta mquina exclusivamente
mecnica era conhecida como a mquina analtica. Em seu projeto, Charles vislumbrava partes como
rodas, engrenagens e correias de alta preciso que no eram compatveis com a tecnologia disponvel
em sua poca, portanto a mquina nunca foi construda.

Figura 4 Charles Babbage (1791-1871)

16

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


2.1 Primeira gerao de computadores (1945-1955) Vlvulas

Na Universidade do Estado de Iowa, no perodo de 1937 a 1942, o professor John Atanasoff


(19031995) e seu ento aluno Clifford Edward Berry (19181963) criaram o primeiro computador
digital eletrnico da histria. Eles so considerados os pais dos computadores modernos.
Na Figura 5, apresentado o Atanasoff-Berry Computer que uma rplica do primeiro computador
digital da histria.

Figura 5 Computador Atanasoff-Berry

Em 1941, Konrad Zuse (19101995), em Berlim, construiu o computador Z3, demonstrado na Figura
6, primeiro computador eletromecnico, construdo de rels.

Figura 6 Computador Z3

A mquina Colossus era um computador eletrnico usado por ingleses para ajudar a decifrar
mensagens alems durante a Segunda Guerra Mundial. Este era o primeiro computador programvel no
mundo. Eram usadas vlvulas trmicas para executar os clculos.
17

Unidade I
O Colossus, demonstrado na Figura 7, foi projetado pelo engenheiro Tommy Flowers (19051998)
com suporte de Harry Fensom, Allen Coombs, Sid Broadhurst e Bill Chandler.

Figura 7 Computador Colossus

Howard H. Aiken (1900-1973) foi o engenheiro principal no desenvolvimento do ASCC


( Automatic Sequence Controlled Calculator ), demonstrado na Figura 8, computador
eletromecnico chamado de Mark I, montado pela IBM e enviado para Harvard em fevereiro
de 1944.

Figura 8 Computador Mark I

John William Mauchly (19071980) e seu aluno John Presper Eckert (19191995), em parceria com
o governo dos Estados Unidos, construram, na Universidade da Pensilvnia, o primeiro computador
eletrnico, conhecido como ENIAC (Electronic Numerical Integrator And Computer) demonstrado na
Figura 9.

18

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Figura 9 Computador ENIAC

Todos os computadores demonstrados at o momento eram muito primitivos e levavam segundos


para executar at o clculo mais simples.
Na poca em que essas mquinas estavam em plena produo,
um mesmo grupo de prossionais projetava, construa, programava, operava
e realizava a manuteno de cada equipamento.5

Tipicamente, a programao das mquinas era feita ligando conectores em painis para controlar as
funes bsicas do equipamento. Nesta gerao de equipamentos, no existia linguagem de programao
nem sistema operacional.
A operao era realizada de acordo com os seguintes passos:
O programador reservava antecipadamente o tempo de mquina.
O programador encaminhava-se at a sala da mquina, inseria um painel
de programao no computador.
Aguardava horas monitorando e torcendo para que nenhuma das
milhares de vlvulas queimasse durante a execuo.6

No incio da dcada de 1950, as mquinas perfuradoras de cartes permitiram escrever


programas em cartes e l-los em lugar de painis de programao, permitindo assim um avano
no processo.

5
6

Disponvel em: <http://wikimmed.blogs.ca.ua.pt/index.php/3._Estado_da_arte>. Acesso em: 8 jun. 2011.


Idem.

19

Unidade I
2.2 Segunda gerao de computadores (1955-1965) Transistores e
sistemas em lote (batch)

Em meados dos anos de 1950, foram introduzidos os transistores no mercado computacional,


permitindo assim uma verdadeira revoluo, elevando a conabilidade em nvel desejado para que
pudessem ser fabricados e comercializados. Anteriormente aos transistores, alm do tamanho colossal
dos equipamentos, ainda existia o agravante das vlvulas apresentarem muitos problemas que acabavam
comprometendo o resultado dos clculos executados pelos computadores primitivos.
Neste perodo, tambm houve a criao da organizao estruturada por funes, em que havia
separao entre projetistas, fabricantes, programadores e tcnicos de manuteno. As mquinas desta
poca ainda permaneciam com tamanhos elevados se comparadas s maquinas dos dias atuais.
Esses computadores denominados computadores de grande porte (mainframes) eram instalados
em salas especialmente planejadas e operados por equipes de prossionais altamente capacitados para
a poca. Devido ao elevado valor destes computadores, somente grandes entidades podiam t-las. Para
que um programa ou conjunto de programas fossem executados, o programador primeiro escrevia o
programa num papel e, depois, perfurava-o em cartes. O programador, ento, levava a pilha de cartes
para a sala de entradas, entregava-a a um dos operadores que, em seguida, alimentava a mquina
leitora para que fosse obtida a sada impressa.
Conforme demonstrado na Figura 10, objetivando a reduo do tempo desperdiado durante o
processo de leitura dos cartes, neste perodo foi adotado o sistema em lote (batch), que consiste em
usar um computador de menor porte, como o IBM 1401 (Figura 11) que era excelente para ler cartes,
copiar tas e imprimir sadas, mas no to eciente em clculos numricos que eram executados pelos
IBM 7094 (Figura 12).
Aps acumular uma elevada quantidade de cartes e transportar as informaes para as tas
magnticas, elas eram encaminhadas para a sala das mquinas, onde eram montadas nas unidades
de ta. O operador carregava um programa especial (precursor do sistema operacional atual), que lia
as tarefas contidas nas tas e as executavam de forma sequencial. Neste modelo, ao invs de enviar o
resultado para sada impressa, ele era, ento, gravado em uma segunda ta. Posteriormente a todos os
lotes serem executados, o operador retirava as tas de entrada e de sada, trocava a ta de entrada com
a do prximo lote e levava a ta de sada para o computador 1401 que ento a imprimia off-line.
Leitor de
carto

Unidade
de ta

Fita de
entrada

Sistema
de tas

Impressora

Figura 10 Sistema em lote antigo

20

Fita de
sada

FUNDAMENTOS DE SISTEMAS OPERACIONAIS

Figura 11 IBM 1401

Figura 12 IBM 7094

2.3 Terceira gerao de computadores (1965-1980) CIs e


multiprogramao

Em 1964, a IBM lanou a linha de equipamentos da srie IBM 360 que foi a primeira linha de
computadores a usar circuitos integrados (CIs) em pequena escala, proporcionando melhor
custo-benefcio em comparao gerao de mquinas construdas com transistores.
Para atender linha de equipamentos da terceira gerao, o sistema operacional OS/360 foi lanado,
introduzindo vrias tcnicas fundamentais que at ento eram ausentes. Possivelmente, a tcnica de
suporte multiprogramao foi a mais signicativa, ou seja, enquanto a mquina 7094 com sistema
operacional FMS (Fortran Monitor System) ou IBSys estava lendo dispositivos de E/S com as tas
magnticas, ela no processava mais nada, deixando assim a CPU ociosa. Nos equipamentos da linha
360 rodando o OS/360, esta decincia foi resolvida repartindo a memria em partes e alocando-as para
tarefas. Enquanto uma tarefa estivesse esperando por uma operao de E/S (entrada e sada) terminar a
outra tarefa, poderia usar a CPU.
Outro fato importante que aconteceu durante a terceira gerao de computadores foi o crescimento
dos minicomputadores. Esse crescimento iniciou-se com o DEC PDP-1 (Programmed Data Processor-1),
em 1961, que, para certos tipos de aplicaes no numricas, era to rpido quanto os 7094, porm
custava 5% do valor de uma mquina 7079, criando, assim, uma demanda extraordinria para mquinas
PDP, conforme Figura 13.
21

Unidade I

Figura 13 PDP-1

2.4 Quarta gerao de computadores (1980-atualmente) Computadores


pessoais

O incio da quarta gerao teve como marco o desenvolvimento dos circuitos integrados contendo
milhares de transistores em alguns centmetros quadrados de silcio, dando origem era dos computadores
pessoais.
Em 1974, o chip de computador 8080 da Intel lanado no mercado, sendo a primeira CPU (Central
Processing Unit Unidade Central de Processamento) de 8 bits de uso geral. A Intel pede para Gary Kildall,
um de seus consultores, para desenvolver um sistema operacional para o 8080 que recebeu o nome de CP/M
(Control Program for Microcomputers Programa de Controle para Microcomputadores). Posteriormente, Gary
Kildall adquiriu os direitos sobre o CP/M, que foi cedido pela Intel, ento Kildall fundou a Digital Research.
A Digital Research reescreveu o CP/M adequando-o execuo em muitos microcomputadores que
utilizavam o chip da Intel 8080, Z80 fabricado pela Zilog e outros microprocessadores. Por cerca de
cinco anos com o seu novo sistema operacional CP/M e tambm motivado pela crescente quantidade de
programas aplicativos que foram escritos para este sistema, a Digital Research dominou o mercado.
O IBM PC foi lanado pela IBM no incio dos anos 1980 e, aps diculdades em negociar com a
Digital Research o desenvolvimento de um sistema operacional para seu equipamento, a IBM procurou
Bill Gates para desenvolver um sistema operacional compatvel com sua plataforma.
Bill Gates comprou (supostamente por 75 mil dlares), de uma fabricante local de computadores, a
Seattle Computer Products, o sistema operacional DOS (Disk Operating System sistema operacional de
disco). Aps contratar Tim Paterson, o criador do DOS, como funcionrio da sua empresa e ajustar parte
do cdigo, ento Bill Gates vendeu para a IBM o Sistema Operacional chamado MS-DOS (Microsoft Disk
Operating System Sistema Operacional de Disco da Microsoft).
Em 1983, foi lanado o PC/AT que utilizava o processador Intel 80286, mais tarde o 80386 e,
subsequentemente, o 80486. Mesmo sendo um sistema primitivo nesta altura, o MS-DOS j inclua
22

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


aspectos mais avanados, muitos deles derivados do XENIX que era uma verso do UNIX vendida pela
Microsoft.
Nos anos 1960, Doug Engelbart inventou uma interface grca completa com foco no usurio
nal, com janelas, cones, menus e uso de mouse, esta interface conhecida como GUI (Graphical User
Interface) e que fora prontamente adotada pela Xerox Parc em suas mquinas.
Posteriormente, Steve Jobs, da Apple, visitando a Xerox Parc viu a interface grca GUI e
instantaneamente percebeu seu enorme potencial. Aps o fracasso comercial com o projeto Lisa, a
empresa de Jobs desenvolveu e lanou o Apple Macintosh que foi um sucesso logo de incio por ter
preo competitivo e ser mais amigvel mesmo para usurios que no tinham nenhum conhecimento
nem desejavam conhecer comandos de computadores.
A Microsoft, impulsionada pelo sucesso que o ambiente grco dos Macintosh fazia no mercado,
desenvolveu o Windows que o sucessor do MS-DOS. Porm, as verses iniciais do Windows eram
completamente montadas sobre o MS-DOS. Somente na verso Windows 95 o sistema passou a usar
o MS-DOS apenas para ser carregado e executar programas (legados do MS-DOS). Posteriormente,
a Microsoft lanou o Windows 98, porm ainda havia grande quantidade de cdigos em linguagem
assembly de 16 bits da Intel.
David Cutle que foi um dos projetistas do sistema operacional VAX VMS liderou o projeto do Windows
NT (Windows New Technology). O Windows NT foi totalmente reescrito em plataforma de 32 bits.
Inicialmente, a Microsoft esperava que o Windows NT substitusse por completo o parque do MS-DOS,
porm isso s foi possvel na verso NT 4.0, quando o sistema realmente foi aderido principalmente em
redes corporativas. No incio de 1999, a verso 5 do Windows NT foi renomeada para Windows 2000 na
tentativa de substituir o Windows 98 e o NT 4.0.
Sem xito, a Microsoft lanou o Windows Millennium Edition que era uma verso aprimorada do
Windows 98. Em 2001, foi lanado o Windows XP que era uma verso sutilmente atualizada do Windows
2000. O Windows XP teve melhor aceitao, substituindo basicamente todas as verses anteriores
do Windows. Em 2007, o Windows Vista lanado com a incumbncia de suceder o Windows XP e,
posteriormente, em 2009, a Microsoft lanou o Windows 7. Apresentaes feitas pela Microsoft no
comeo de 2008 mostraram um Shell novo, com uma barra de tarefas diferente, um sistema de network
chamado de HomeGroup e aumento na performance.
O sistema operacional Unix (e seus derivados) o grande competidor no mundo computacional.
Apesar do seu melhor potencial ser aplicado a servidores empresariais, este sistema operacional vem
conquistando parte do mercado de estaes de trabalho. Para computadores com processadores CISC
(Complex Instruction Set Computer) como Intel ou AMD, existe uma ampla variedade de derivados do
Unix que so genericamente conhecidos como Linux.
Os computadores Macintosh, alm de possurem o seu sistema operacional chamado MAC OS,
tambm podem contar com uma verso modicada do FreeBSD que tambm um derivado do Unix.
23

Unidade I
Para mquinas de alto desempenho vendidas pela Hewlett-Packard, IBM e Sun Microsystems e
equipadas com processadores RISC (Reduced Instruction Set Computer), padro o uso do sistema
operacional Unix (HP-UX, SUN Solaris, IBM AIX).

Saiba mais
<ftp://ftp.dca.fee.unicamp.br/pub/docs/ea876/so-caps12.pdf>

Resumo
Ao longo da histria da computao, mquinas totalmente mecnicas
foram, aos poucos, sendo substitudas por equipamentos que mesmo os
mais otimistas dos cientistas, da poca dos primeiros computadores do
mundo, jamais poderiam acreditar ou armar que seria possvel. Para a
computao atual ter se tornado realidade, muitas quebras de paradigmas
e diversas transformaes no hardware, bem como no software, foram
necessrias. A pluralidade dos equipamentos foi durante muitos anos um
grande benefcio para o modelo que temos atualmente, que ainda no o
denitivo, to pouco o mais eciente.
O fato dos sistemas operacionais terem sido elaborados como estruturas
abstratas, ou seja, permitindo que os desenvolvedores de equipamentos
pudessem obter resultados expressivos indo ao nvel dos bits, enquanto os
desenvolvedores de sistemas e usurios enxergassem pelo prisma de um nvel
elevado e gurativo, possibilitou que reas de especializao surgissem ao
invs do modelo antigo que compreendia um mesmo especialista ou grupo
de especialistas que atuavam praticamente desde o desenvolvimento do
equipamento at a operao e a manuteno.
Exerccios
Questo 1. Ao ligar o computador, um usurio comum tem a impresso que o primeiro software
(programa) executado o sistema operacional. Isso no verdade. O hardware (parte fsica do
computador, formado por componentes eletrnicos, circuitos integrados e placas, que se
comunicam por meio de barramentos) sofre uma checagem geral pelo BIOS (Sistema Bsico de
Entrada/Sada), este sim o primeiro software executado. Se no houver nenhum problema com
os diversos dispositivos, o processo de inicializao do computador poder continuar e o segundo
software, denominado bootstrap, ser executado. A funo do bootstrap, alm de atualizar alguns
registradores, permitir ao usurio a seleo do sistema operacional que dever ser executado/
carregado pelo computador. Nos computadores com um nico sistema operacional, o bootstrap e

24

FUNDAMENTOS DE SISTEMAS OPERACIONAIS


o BIOS passam despercebidos. Porm, no caso da Ana, que instalou no seu computador os sistemas
operacionais Windows XP, Windows 7, Linux e Solaris, aps a checagem do hardware pelo BIOS, o
GRUB (bootstrap do Linux) apresenta uma interface com uma lista com todos os sistemas operacionais
disponveis. Aps a seleo pelo usurio, o sistema operacional ser executado/carregado. Apesar de
ser somente o terceiro software a ser executado/carregado no computador, o sistema operacional
tem sua importncia. Qual a funo do sistema operacional?
A) Gerenciar todos os recursos do sistema computacional e esconder do usurio a complexidade do
hardware, funcionando como um intermedirio entre o usurio e o computador, oferecendo um
conjunto mais conveniente de instrues.
B) Gerenciar todos os recursos fsicos do sistema computacional permitindo que o kernel cuide
apenas dos recursos lgicos.
C) Gerenciar todos os recursos lgicos do sistema computacional permitindo que o kernel cuide
apenas dos recursos fsicos.
D) Gerenciar todos os programas de usurio do Shell.
E) Permitir que os usurios avanados tenham acesso direto ao hardware do computador, realizando
todas as atividades relacionadas ao seu gerenciamento fsico.
Resposta correta: alternativa A.
Anlise das alternativas
A) Alternativa correta.
Justicativa: a funo bsica dos sistemas operacionais esconder dos usurios a complexidade do
hardware.
B) Alternativa incorreta.
Justicativa: o sistema operacional responsvel pela gerncia da parte fsica do sistema
computacional, mas o kernel formado pelo conjunto de programas de sistema responsvel pelo
gerenciamento tanto da parte fsica como da parte lgica do sistema computacional. O kernel o
sistema operacional propriamente dito.
C) Alternativa incorreta.
Justicativa: o sistema operacional responsvel pela gerncia da parte fsica do sistema
computacional, mas o kernel formado pelo conjunto de programas de sistema responsvel pelo
gerenciamento tanto da parte fsica como da parte lgica do sistema computacional. O kernel o
sistema operacional propriamente dito.
25

Unidade I
D) Alternativa incorreta.
Justicativa: o Shell a interface que permite que o usurio interaja com o sistema operacional.
E) Alternativa incorreta.
Justicativa: mesmo para os usurios mais avanados seria impossvel gerenciar o sistema
computacional sem o sistema operacional.
Questo 2. (ENADE 2005) Apesar de todo o desenvolvimento, a construo de computadores e
processadores continua, basicamente, seguindo a arquitetura clssica de Von Neumann. As excees a
essa regra encontram-se em computadores de propsitos especcos e nos desenvolvidos em centros de
pesquisa. Assinale a opo em que esto corretamente apresentadas caractersticas da operao bsica
de um processador clssico.
A) Instrues e dados esto em uma memria fsica nica; um programa constitudo de uma
sequncia de instrues de mquina; uma instruo lida da memria de acordo com a ordem
dessa sequncia e, quando executada, passa-se, ento, para a prxima instruo na sequncia.
B) Instrues e dados esto em memrias fsicas distintas; um programa constitudo de um
conjunto de instrues de mquina; uma instruo lida da memria quando o seu operando de
destino necessita ser recalculado; essa instruo executada e o resultado escrito no operando
de destino, passando-se, ento, para o prximo operando a ser recalculado.
C) Instrues e dados esto em uma memria fsica nica; um programa constitudo de um
conjunto de instrues de mquina; uma instruo lida da memria quando todos os seus
operandos-fonte estiverem prontos e disponveis; essa instruo executada e o resultado
escrito no operando de destino, passando-se, ento, para a instruo seguinte que tiver todos os
seus operandos disponveis.
D) Instrues e dados esto em memrias fsicas distintas; um programa constitudo de um
conjunto de instrues de mquina; uma instruo lida da memria quando todos os seus
operandos-fonte estiverem prontos e disponveis; essa instruo executada e o resultado
escrito no operando de destino, passando-se, ento, para a instruo seguinte que estiver com
todos os seus operandos disponveis.
E) Instrues e dados esto em memrias fsicas distintas; um programa constitudo de uma
sequncia de instrues de mquina; uma instruo lida da memria de acordo com a ordem
dessa sequncia e, quando executada, passa-se, ento, para a prxima instruo na sequncia.
Resoluo desta questo na Plataforma.

26

Das könnte Ihnen auch gefallen