fundamentos sisop unip interativa

26
Autores: Prof. Fábio Furukawa Prof. Roberto Nunes Colaboradores: Profa. Elisangela Monaco de Moraes Prof. Roberto Macias Prof. Fábio Vieira do Amaral Fundamentos de Sistemas Operacionais

Upload: tommy

Post on 30-Sep-2015

32 views

Category:

Documents


5 download

DESCRIPTION

Como um computador pode processar diferentes tarefas simultaneamente? Como os programas decomputador, sendo executados numa mesma máquina, podem obter os recursos necessários para suastarefas e não causar conflitos nem mesmo apresentação do resultado do programa A na tela do programaB por equívoco? Como usuários podem acessar computadores remotos e compartilharem informaçõesde forma segura?

TRANSCRIPT

  • Autores: Prof. Fbio Furukawa Prof. Roberto NunesColaboradores: Profa. Elisangela Monaco de Moraes

    Prof. Roberto MaciasProf. Fbio Vieira do Amaral

    Fundamentos de Sistemas Operacionais

  • 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).

    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.

    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

  • Prof. Dr. Joo Carlos Di GenioReitor

    Prof. Fbio Romeu de CarvalhoVice-Reitor de Planejamento, Administrao e Finanas

    Profa. Melnia Dalla TorreVice-Reitora de Unidades Universitrias

    Prof. Dr. Yugo OkidaVice-Reitor de Ps-Graduao e Pesquisa

    Profa. Dra. Marlia Ancona-LopezVice-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

  • SumrioFundamentos de Sistemas OperacionaisAPRESENTAO ......................................................................................................................................................9INTRODUO ...........................................................................................................................................................9

    Unidade I

    1 FUNDAMENTOS DE SISTEMAS OPERACIONAIS ....................................................................................111.1 Nivelamento ............................................................................................................................................111.2 Abstrao ................................................................................................................................................. 12

    1.2.1 Gerncia ...................................................................................................................................................... 15

    2 HISTRIA DOS SISTEMAS OPERACIONAIS ............................................................................................ 162.1 Primeira gerao de computadores (1945-1955) Vlvulas ............................................. 172.2 Segunda gerao de computadores (1955-1965) Transistores e sistemas em lote (batch) .............................................................................................................................................. 202.3 Terceira gerao de computadores (1965-1980) CIs e multiprogramao .............. 212.4 Quarta gerao de computadores (1980-atualmente) Computadores pessoais ............................................................................................................................................................ 22

    Unidade II

    3 TIPOS DE SISTEMAS OPERACIONAIS ....................................................................................................... 273.1 Batch (de lote) ....................................................................................................................................... 273.2 De rede ...................................................................................................................................................... 273.3 Distribudo ............................................................................................................................................... 283.4 Multiusurio e multitarefas ............................................................................................................. 283.5 Desktop/Computador pessoal ......................................................................................................... 283.6 Servidor .................................................................................................................................................... 283.7 Embarcados ............................................................................................................................................. 293.8 Tempo real ............................................................................................................................................... 293.9 De computadores de grande porte ............................................................................................... 293.10 Multiprocessadores ........................................................................................................................... 293.11 Portteis ................................................................................................................................................. 30

    4 VISO GERAL SOBRE HARDWARE DE COMPUTADORES ................................................................. 304.1 Processadores ......................................................................................................................................... 30

    4.1.1 Processadores multithread e multincleo .................................................................................... 324.2 Memria ................................................................................................................................................... 334.3 Disco .......................................................................................................................................................... 364.4 Fitas ............................................................................................................................................................ 374.5 Dispositivos de E/S ............................................................................................................................... 374.6 Barramento ............................................................................................................................................. 38

  • Unidade III5 GERENCIAMENTO DE PROCESSOS ........................................................................................................... 47

    5.1 Introduo a processos ...................................................................................................................... 475.1.1 Processo ...................................................................................................................................................... 475.1.2 Criao de processos ............................................................................................................................. 495.1.3 Trmino de processos ............................................................................................................................ 50

    5.2 Comunicaes entre processos ....................................................................................................... 515.2.1 Condio de corrida ............................................................................................................................... 515.2.2 Excluso mtua e regio crtica ....................................................................................................... 525.2.3 Excluso mtua com espera ociosa ................................................................................................ 535.2.4 Semforos .................................................................................................................................................. 555.2.5 Monitores ................................................................................................................................................... 565.2.6 Troca de mensagens .............................................................................................................................. 575.2.7 Escalonamento ........................................................................................................................................ 58

    6 GERENCIAMENTO DE MEMRIA ............................................................................................................... 596.1 Introduo a gerenciamento de memria ................................................................................. 596.2 Abstrao espaos de endereamento da memria .......................................................... 61

    6.2.1 Permuta de memria ............................................................................................................................. 616.3 Memria virtual .................................................................................................................................... 62

    6.3.1 Paginao ................................................................................................................................................... 636.4 Segmentao ......................................................................................................................................... 65

    Unidade IV7 SISTEMAS DE ARQUIVOS ...............................................................................................................................71

    7.1 Introduo a sistemas de arquivos ................................................................................................717.1.1 Arquivos ...................................................................................................................................................... 717.1.2 Atributos ..................................................................................................................................................... 717.1.3 Estrutura de arquivo .............................................................................................................................. 727.1.4 Operaes ................................................................................................................................................... 73

    7.2 Uso de arquivos ..................................................................................................................................... 747.2.1 Abertura de arquivo ............................................................................................................................... 747.2.2 Formas de acesso .................................................................................................................................... 75

    7.3 Compartilhamentos ............................................................................................................................. 777.3.1 Travas em arquivos ................................................................................................................................. 777.3.2 Semntica de trava de acesso ........................................................................................................... 78

    7.4 Introduo a diretrios ...................................................................................................................... 797.4.1 Organizao de volumes ...................................................................................................................... 797.4.2 Diretrios .................................................................................................................................................... 807.4.3 Sistema de diretrios em nvel nico ............................................................................................. 827.4.4 Sistema de diretrios hierrquico .................................................................................................... 82

    7.5 Gerenciamento e otimizao de sistemas de arquivos ......................................................... 837.5.1 Gerenciamento do espao em disco ............................................................................................... 837.5.2 Cotas de utilizao de disco ............................................................................................................... 857.5.3 Cpia de segurana ................................................................................................................................ 87

  • 7.6 Tipos de sistemas de arquivos ......................................................................................................... 907.6.1 Sistema de arquivos ISO 9660 ........................................................................................................... 907.6.2 Sistema de arquivo do FAT .................................................................................................................. 937.6.3 Sistema de arquivos do ambiente Unix ......................................................................................... 967.6.4 Sistema de arquivos do Linux ............................................................................................................ 98

    8 GERENCIAMENTO DE ENTRADA E SADA ............................................................................................1008.1 Introduo a gerenciamento de entrada e sada ..................................................................1008.2 Fundamentao hardware de entrada e sada (E/S) ........................................................1008.3 Dispositivos de entrada e sada ....................................................................................................101

    8.3.1 Controladores de dispositivos (driver) ..........................................................................................1038.3.2 E/S mapeada em memria ................................................................................................................1058.3.3 Acesso direto memria (DMA) .....................................................................................................106

    8.4 Software de E/S ...................................................................................................................................1088.4.1 E/S programada .....................................................................................................................................1098.4.2 E/S usando interrupo ...................................................................................................................... 1108.4.3 E/S usando DMA .....................................................................................................................................111

    8.5 Camadas de software de E/S ..........................................................................................................1118.5.1 Tradutores de interrupo ..................................................................................................................1118.5.2 Drivers dos dispositivos ...................................................................................................................... 1128.5.3 Software de E/S independente de dispositivo .......................................................................... 1148.5.4 Software de E/S do espao do usurio ........................................................................................ 115

    8.6 Hardware de E/S ................................................................................................................................. 1158.6.1 Discos rgidos .......................................................................................................................................... 116

    8.7 Relgio ....................................................................................................................................................1238.7.1 Hardware do relgio viso geral ................................................................................................ 1248.7.2 Software do relgio viso geral ................................................................................................. 1258.7.3 Temporizador por software viso geral .................................................................................. 126

    8.8 Teclado, mouse e monitor viso geral ...................................................................................1268.8.1 Software do teclado ........................................................................................................................... 1278.8.2 Software do mouse ............................................................................................................................. 1288.8.3 Software de sada ................................................................................................................................ 129

    8.9 Thin clients clientes magros .......................................................................................................1328.10 Gerenciamento de energia ...........................................................................................................133

  • Logica_Unid_IV.indd 139 15/12/2011 19:47:12

  • 9APRESENTAO

    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,

  • 10

    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.

  • 11

    FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    Unidade I1 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.

  • 12

    Unidade I

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    Har

    dwar

    eSi

    stem

    a op

    erac

    iona

    lAp

    licat

    ivos

    Fsi

    coL

    gico

    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 Disponvel em: . Acesso em: 8 jun. 2011.

  • 13

    FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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.

  • 14

    Unidade I

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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.

  • 15

    FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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

    2 Disponvel em: . Acesso em: 8 jun. 2011.3 Disponvel em: .

    Acesso em: 8 jun. 2011.4 Disponvel em: .

    Acesso em: 8 jun. 2011.

  • 16

    Unidade I

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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, , 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)

  • 17

    FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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.

  • 18

    Unidade I

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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.

  • 19

    FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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 Disponvel em: . Acesso em: 8 jun. 2011.6 Idem.

  • 20

    Unidade I

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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

    Fita de sada

    Impressora

    Figura 10 Sistema em lote antigo

  • 21

    FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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.

  • 22

    Unidade I

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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

  • 23

    FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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.

  • 24

    Unidade I

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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

    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

  • 25

    FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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.

  • 26

    Unidade I

    Revi

    so:

    Silv

    ana

    - Di

    agra

    ma

    o: M

    rci

    o -

    04/0

    5/20

    11

    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.