fundamentos de sistemas operacionais completo

149
UNIVERSIDADE PAULISTA Autores: Prof. Fábio Furu kawa Pro f. Rober to Nunes Colaboradore s: Profa. Elisangela Monaco de Moraes Prof. Roberto Macias Prof. F ábio Viei ra do Amaral

Upload: vanessa-de-andrade-santos

Post on 18-Dec-2015

36 views

Category:

Documents


9 download

DESCRIPTION

Fundamentos dos Sistemas Operacionais

TRANSCRIPT

  • UNIVERSIDADE PAULISTA

    Autores: Prof. Fbio Furukawa Pro f. Roberto Nunes

    Colaboradores: Profa. Elisangela Monaco de Moraes Prof. Roberto Macias Prof. Fbio Viei ra do Amaral

  • Professores conteudistas: Fbio Furukawa I Roberto Nunes

    O professor conteud ista Fbio Fu ru kawa, natural de So Pau lo (Bras i 1) , nasceu em 197 5 e atua in interruptamente na rea de sistemas desde 1994. Iniciou como estag irio, atuou como tcn ico em eletrnica, analista de sistemas, engenheiro de redes, analista de negcios e, atua lmente, como lder responsvel pela entrega de servios de hosting na Amrica Latina pa ra empresa mu ltinacional e lder do seg mento. Tambm professor de diversas disciplinas na rea de redes e tecnologia da informao e coordenador de cu rsos 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-gra duado 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, Chi le, Colmbia e Mxico. Fala portugus (lngua nativa), ingls f luente, espanhol intermed irio e japons bsico.

    O professor conteud ista Roberto Nunes, possui ps-graduao MBA - Engenharia de Qualidade - Gesto e Tecno logias da Qua lidade na Escola Politcn ica 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, atua lmente, 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. I 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 Computacionai 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 Carva lho 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. Ora. Marlia Ancona-Lopez Vice-Reitora de Graduao

    Unip Interativa - EaD

    Profa. Elisabete Brihy Prof. Marcelo Souza

    Prof. Dr. Lu iz Felipe Scabar Prof. Ivan Daliberto Frugoli

    Material Didtico - EaD

    Comisso editorial:

    Apoio:

    Ora. Anglica L Carlini (UNIP) Dr. Cid Santos Gesteira (UFBA) Ora. Divane Alves da Silva (UNIP) Dr. Ivan Dias da Motta (CESUMAR) Ora. Ktia Mosorov Alonso (UFMT) Ora. Va lria de Carva lho (UNIP)

    Profa. Cludia Regina Batista- EaD Profa. Betisa Malaman - Comisso de Qualificao e Aval iao de Cursos

    Projeto grfico:

    Reviso:

    Prof. Alexandre Ponzetto

    Silvana Pierro Geraldo Teixei ra Jr.

  • Fundamentos de Sistemas Operacionais APRESENTAO ...................................................................................................................................................... 9 INTRODU0 ........................................................................................................................................................... 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-1 955) - Vlvulas ............................................. 17 2.2 Segunda gerao de computadores (1955-1 965)- Transistores e sistemas em lote (batch) ....... ............ ....... ...................................... ............ ................... ................... ................... ......... 20 2.3 Terceira gerao de computadores (1 965-1 980) - Cls e multiprogramao ..... ......... 21 2.4 Quarta gerao de computadores (1980-atua lmente) - Computadores pessoa is ............................................................................................................................................................ 22

    Unidade 11 3 TI POS DE SISTEMAS OPERACIONAIS ....................................................................................................... 27

    3. 1 Batch (de lote) ....................................................................................................................................... 27 3.2 De rede ...................................................................................................................................................... 27 3.3 Distribudo ............................................................................................................................................... 28 3.4 Multiusurio e mu lt itarefas ............................................................................................................. 28 3.5 Oesktop/Computador pessoal ......................................................................................................... 28 3.6 Servidor .................................................................................................................................................... 28 3.7 Embarcados ............................................................................................................................................. 29 3.8 Tempo real ............................................................................................................................................... 29 3.9 De computadores de gra nde porte ............................................................................................... 29 3.10 Mult i processadores ........................................................................................................................... 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 Fi tas ............................................................................................................................................................ 37 4.5 Dispositivos de E/S ............................................................................................................................... 37 4.6 Barramento ............................................................................................................................................. 38

  • Unidade 111 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 AROUIVOS ............................................................................................................................... 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 arqu ivos ..................................................................................................................................... 74 7.2.1 Abertura de arquivo ............................................................................................................................... 74 7.2.2 Formas de acesso .................................................................................................................................... 75

    7.3 Compartilhamentos ............................................................................................................................. 77 7.3.1 Travas em arqu ivos ................................................................................................................................. 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 arqu ivos ......................................................... 83 7.5.1 Gerenciamento do espao em disco ............................................................................................... 83 7.5.2 Cotas de utilizao de disco ............................................................................................................... 85 7.5.3 Cpia de seg urana ................................................................................................................................ 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 5ADA .......................................... .................................................. 100 8.1 Introduo a gerenciamento de entrada e sada .................................................................. 100 8.2 Fundamentao- hardware de entrada e sada (E/5) ......................................................... 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 di reto memria (DMA) ..................................................................................................... 1 06

    8.4 Software de E/5 ................................................................................................................................... 108 8.4. 1 E/S prog ramada ..................................................................................................................................... 109 8.4.2 E/S usando interrupo ...................................................................................................................... 110 8.4.3 E/S usando DMA ..................................................................................................................................... 111

    8.5 Camadas de software de E/5 .......................................................................................................... 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 ........................................................................................ 11 5

    8.6 Hardware de E/5 .................................................................................................................................. 11 5 8.6. 1 Discos rgidos .......................................................................................................................................... 11 6

    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 Sof tware 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 energ ia ........................................................................................................... 133

  • 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 profissionais 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 confiabilidade, segurana e desempenho envolvidos no sistema operacional.

    Como objetivos especficos, 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 especficas 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 impossve is 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 identifica r 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 afirmar que o computador, ou pelo menos a computao, o mais democrtico dos elementos na sociedade moderna.

    Para as pessoas que somente so classificadas como usurias dos sistemas de computao e no possuem a pretenso de con hecer os "segredos" dessa fascinante cincia, nos ltimos anos foram criados computadores que apresentam interfaces extremamente amigveis, integradas, heterogneas, seg uras, velozes e outros atributos que fizeram 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 cent ral multimdia). Para os profissionais que decidiram segu ir a carreira da computao,

    -------------------8-

  • 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 conflitos 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 conflitos 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 profissionais 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 eficaz e segura, ajudar a definirmos 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.

    -cD~-------------------------------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    'R [!] . . 4. [!] . . 1 FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    1 1 Nivelamento

    O propsito gera I 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 simplificar dizendo que introduzimos algo bruto na entrada e esperamos como resultado um produto lapidado com caractersticas especficas para necessidades especficas.

    Durante o processo de transformao do produto bruto at a sada e entrega do produto final 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 profissionais 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.

    ---------------------

  • Unidade I

    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 Use r Interface- interface grfica com o usurio), usando cones no ambiente grfico, de fato no esto atuando diretamente no sistema operacional.

    1 .2 Abstrao

    Podemos sumarizar em duas palavras-chave os objetivos bsicos de um sistema operacional: abstrao e gerncia, cujos principais aspectos so descritos a segui r.1

    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 exemplificar, 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 conectares, 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.

    --~----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    I I ~

    --

    Figura 2 - Aplicao atuando diretamente com os dispositivos

    Entretanto, a abordagem bem diferente da demonstrada na Figura 2, temos na realidade dois mundos comp letamente distintos e uma via chamada sistema operaciona l que interliga esses dois mundos; para o mundo lg ico, o mundo fs ico uma abstrao, e, para o mundo fsico, o mundo dos programas que fazem interface com os usurios uma entidade completamente desconhecida.

    ---------------------

  • Unidade I

    Figu ra 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 lg ica que representa uma impressora e cabe ao sistema operaciona l encaminhar para a impressora fsica os dados a serem impressos.

    Dessa forma, o sistema operacional deve definir interfaces abstratas para os recursos do hardware, visando a atender os objetivos como:

    Prover interfacesdeacessoaosdispositivos maissimplesde usar que as interfaces de baixo nvel, para simplificar a construo de programas aplicativos.

    Tornar os aplicativos independentes do hardware. Ao definir 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.

    --~----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Definir interfacesdeacesso 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 operaciona l, 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 conflitos. Cabe ao sistema operacional baseado nas polticas de sua estrutura gerenciar o uso dos recursos de hardware e administrar disputas e conflitos. 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 fi la de trabalhos a imprimir (printjobs), normalmente atendidos de forma sequencial (FIFO, First In First Out -Primeiro a entrar o primeiro a sa ir).3

    Imagine o que aconteceria se dois ou mais programas tentassem imprimi r suas sa das 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: 8jun. 2011.

    ---------------------

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

    r ---.:-. '

    Saiba mais

    Linha do tempo - a histria do computador completa pode ser encontrada em: Computer History Museum, , acesse Exhibits- Timeline o f Compute r 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)

    --~----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    2.1 Primeira gerao de computadores (1945-1955)- Vlvulas

    Na Universidade do Estado de lowa, no perodo de 1937 a 1942, o professor John Atanasoff (1903-1995) e seu ento aluno Clifford Edward Berry (1918-1963) criaram o primeiro computador digital eletrnico da histria. Eles so considerados os pais dos computadores modernos.

    Na Figura 5, apresentado o Atanasoff-Berry Compu ter que uma rplica do primeiro computador digital da histria.

    Figura 5- Computador Atanasoff-Berry

    Em 1941, Konrad Zuse (1910-1995). 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 v lvulas trmicas para executa r os c lcu los.

    -------------------8-

  • Unidade I

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

    Figura 7 - Computador Colossus

    Howa rd 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 (1907-1980) e seu aluno John Presper Eckert (1919-1995), em parceria com o governo dos Estados Unidos, construram, na Universidade da Pensilvnia, o primeiro computador eletrnico, conhecido como ENIAC (Eiectronic Numerical lntegrator And Computer) demonstrado na Figura 9.

    --~----------------

  • 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 c lculo mais simples.

    Na poca em que essas mquinas estavam em plena produo,

    um mesmo grupo de profissionais projetava, construa, programava, operava e realizava a manuteno de cada equipamento.5

    Tipicamente, a programao das mquinas era feita ligando conectares em painis para controlar as funes bsicas do equipamento. Nesta gerao de equ ipamentos, no existia linguagem de programao nem sistema operaciona I.

    A operao era realizada de acordo com os seguintes passos:

    O programador reservava antecipadamente o tempo de mquina.

    O programador encaminhava-se at a sa la da mquina, inseria um pai nel de programao no computador.

    Aguardava horas monitorando e torcendo pa ra que nenhuma das milhares de v lvu las queimasse durante a execuo.6

    No incio da dcada de 1950, as mquinas perfuradoras de cartes permitiram escrever programas em ca rtes e l-los em lu gar de painis de programao, permit indo assim um avano no processo.

    5 Disponvel em: . Acesso em : 8 jun. 201 1. 6 /dem.

    ---------------------

  • Unidade I

    2.2 Segunda gerao de computadores (19551965)- Transistores e sistemas em lote (&atch)

    Em meados dos anos de 1950, foram introduzidos os transistores no mercado computacional, permitindo assim uma verdadeira revoluo, elevando a confiabilidade 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 (manframes) eram instalados em salas especialmente planejadas e operados por equipes de profissionais 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 fitas e imprimir sadas, mas no to eficiente em clculos numricos que eram executados pelos IBM 7094 (Figura 12).

    Aps acumular uma elevada quantidade de cartes e transportar as informaes para as fitas magnticas, elas eram encaminhadas para a sala das mquinas, onde eram montadas nas unidades de fita. O operador carregava um programa especial (precursor do sistema operacional atual), que lia as tarefas contidas nas fitas e as executavam de forma sequencial. Neste modelo, ao invs de enviar o resultado para sada impressa, ele era, ento, gravado em uma segunda fita. Posteriormente a todos os lotes serem executados, o operador retirava as fitas de entrada e de sada, trocava a fita de entrada com a do prximo lote e levava a fita de sada para o computador 1401 que ento a imprimia off-line.

    Unidade de fita

    Fita de entrada

    Sistema de fitas

    Figu ra 10 - Sistema em lote antigo

    Fita de sada

    -ct~-------------------------------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Figura 11 -IBM 1401

    Figura 12 - IBM 7094

    2.3 Terceira gerao de computadores ( 1965-1980) - Cls 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 v rias tcnicas fundamentais que at ento eram ausentes. Possivelmente, a tcnica de suporte multiprogramao foi a mais significativa, ou seja, enquanto a mquina 7094 com sistema operacional FMS (Fortran Monitor System} ou IBSys estava lendo dispositivos de E/S com as fitas magnticas, ela no processava mais nada, deixa ndo assim a CPU ociosa. Nos equipamentos da linha 360 rodando o OS/360, esta deficincia foi resolvida repartindo a memria em partes e alocando-as para ta refas. 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.

    ---------------------

  • 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 mil h ares de transistores em alguns centmetros quadrados de si I cio, 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 (Contrai 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/Me 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 dificuldades em negociar com a Digital Research o desenvolvimento de um sistema operacional para seu equipamento, a IBM procurou Bill Gates para desenvolver um sistema operaciona l 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 operaciona l de disco). Aps contratar Tim Paterson, o criador do DOS, como funcionrio da sua empresa e ajustar parte do cd igo, 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

    --~----------------

  • 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 grfica completa com foco no usurio final, com janelas, cones, menus e uso de mouse, esta interface conhecida como GUI (Graphical User Interface) e que fora prontamente adotada pela Xerox Pare em suas mquinas.

    Posteriormente, Steve Jobs, da Apple, visitando a Xerox Pare viu a interface grfica 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 grfico 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 VAXVMS 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 She/1 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 lnstruction Set Computer) como Intel ou AMD, existe uma ampla variedade de derivados do Unix que so genericamente con hecidos como Linux.

    Os computadores Macintosh, alm de possurem o seu sistema operacional chamado MAC OS, tambm podem contar com uma verso modificada do FreeBSD que tambm um derivado do Unix.

    ---------------------

  • Unidade I

    Para mquinas de alto desempenho vendidas pela Hewlett-Packard, IBM e Sun Microsystems e equipadas com processadores RISC (Reduced lnstruction 5et Computer). padro o uso do sistema operacional Unix (HP-UX, 5UN 5olaris, IBM AIX).

    Saiba mais

    M/Vv\>- 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 afirmar 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 definitivo, to pouco o mais eficiente.

    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 figurativo, 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 B/05 (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 usu rio a seleo do sistema operacional que dever ser executado/ carregado pelo computador. Nos computadores com um nico sistema operacional, o bootstrap e o 8105 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 B/05, o

    --~----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    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 She/1. 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. Justificativa : a funo bsica dos sistemas operacionais esconder dos usurios a complexidade do

    hardware.

    B} Alternativa incorreta. Justificativa: 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. Justificativa: 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.

    D} Alternativa incorreta. Justificativa : o She/1 a interface que permite que o usurio interaja com o sistema operacional.

    ---------------------

  • Unidade I

    E) Alternativa incorreta.

    Justificativa: mesmo para os usuanos ma1s avanados sena impossve l 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 especficos 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 f sica 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.

    O) 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 segu inte 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~

    ~ Hora de exercitar Avaliativcf Slides da videoaulao

    l.=.J

    --~----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    D .... ~ . . o&; . . ... .. . . . . . [!]r.: . . [!]t-i . . [!] ~ . . 3 TIPOS DE SISTEMAS OPERACIONAIS

    3.1 Batch (de lote)

    Podemos classificar os sistemas operacionais com base referencial em diversos parmetros e perspectivas, velocidade, suporte a recursos especficos, acesso rede etc. 1

    A seguir, so apresentados alguns tipos de sistemas operacionais tpicos (muitos sistemas operacionais esto enquadrados em mais de uma das categorias apresentadas).2

    Os sistemas operacionais mais antigos, principalmente os desenvolvidos para a segunda gerao de computadores, trabalhavam "por lote", ou seja, todos os programas a serem executados eram co locados numa fila. 3

    O processador recebia um programa aps o outro, para ser processado em sequncia, o que permitia um alto grau de utilizao do sistema. Atualmente, o termo "em lote" usado para designar um conjunto de comandos que deve ser executado em sequncia.4

    OS/360 e VMS so alguns exemplos de sistemas operacionais de lote.

    3.2 De rede

    Os sistemas operacionais de rede devem suportar operaes em rede, ou seja, a capacidade de oferecer s aplicaes locais recursos que estejam localizados em outros computadores da rede LAN (Local Area Network) ou WAN (Wide Area Network), como servios de autenticao remota, acesso a arquivos, acesso a banco de dados, impressoras etc. Deve tambm disponibilizar seus recursos locais aos demais computadores, de forma controlada.5

    A maioria dos sistemas operacionais atuais est alinhada com esta classificao. 1 Disponvel em: . Acesso em: 8

    jun. 2011. 2 Disponvel em: . Acesso em: 8 jun. 2011. 3 Disponvel em: . Acesso em: 8 jun. 2011. 4 Disponvel em: . Acesso em: 8 jun. 2011. 5 Disponvel em: . Acesso em: 8 jun. 2011.

    -------------------~

  • Unidade 11

    3.3 Distribudo

    No sistema operacional distribudo, os recursos utilizados por cada usurio em cada mquina esto disponveis de forma transparente aos usurios. Ao acessar uma aplicao, o usurio interage com sua interface, entretanto no sabe onde est executando ou armazenando seus arquivos, sendo esta deciso de total responsabilidade do sistema e totalmente transparente para o usurio do sistema.6

    3.4 Multiusurio e multitarefas

    Para entendermos um sistema operacional, muito importante definir o que processo ou tarefa. Chamamos de processo um programa que est em execuo. E onde est a importncia em saber essa definio? Um programa em execuo requer recursos, principalmente da CPU, e concorre com outros processos para ser realizado. Portanto, cabe ao sistema operacional, quando multiusurio e multitarefas, gerenciar os recursos disponveis a todos os processos.

    Um sistema operacional multiusurio deve suportar a autenticao e a autorizao de cada usurio quando necessrio o uso de algum recurso contido no sistema (arquivos, processos, conexes de rede} e garantir regras para o co ntrole de acesso, objetivando impedir o uso desses recursos por usurios no autorizados. Essa funcionalidade fundamental para a segurana dos sistemas operacionais de rede e distribudos. Grande parte dos sistemas operacionais atuais multiusu rio. 7

    3.5 Desktop/Computador pessoal

    Um sistema operacional Desktop projetado para atender ao usurio domstico e/ou corporativo que necessite realiza r atividades t riviais, como editar textos, elaborar planilhas e grficos, navegar na internet etc. Suas principais caractersticas so a interface grfica, o suporte interatividade e a operao em rede. Exemplos de sistemas Desktop so o Windows XP, Mac OS X e Linux.

    3.6 Servidor

    O sistema operacional classi ficado como servidor possibilita a gesto eficiente de grandes quantidades de recursos fsicos como: disco, memria e processadores, gerindo as prioridades e limites sobre o uso dos recursos. Tipicamente, um sistema operacional servidor tambm tem suporte a rede e multiusurios.8

    6 Disponvel em: . Acesso em: 8 jun. 2011. 7 Disponvel em: . Acesso em: 8 jun. 2011. 8 Disponvel em: . Acesso em: 8 jun. 2011.

    ~~-----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Alguns exemplos de sistemas servidores so: HP-UX, Sola ris, AIX, FreeBSD, Linux e Windows Server 2008.

    3.7 Embarcados

    Um sistema operacional embarcado ou embutido (embedded) construdo para operar sobre um hardware com poucos recursos de processamento e armazena mento.9

    Exemplos tpicos so aparelhos de N, reprodutores de MP3, aparelhos de DVD etc. Um ponto positivo destes equipamentos que dependem deste tipo de sistema que dificilmente ser possvel instalar algum software que no seja extremamente compatvel, no permitindo o uso de software no confivel. Exemplos de sistema embarcado: QNX e VxWorks.

    3.8 Tempo real

    Esse sistema operacional caracterizado por ter o tempo como parmetro principal. Outras duas subdivises so: sistemas de tempo real crticos, voltados tipicamente ao controle de processos industriais e militares e os sistemas de tempo real no crticos, como os aplicados em sistemas de udio digital ou multimdia. A grande diferena entre estas duas subcategorias que, no caso de sistemas que dependem do tempo real crtico, eles no podem ter degradao de desempenho (como o caso dos sistemas que controlam a linha de produo de veculos), j o no crtico, apesar de no desejado, se houver um pequeno atraso, no ir gerar tantos danos.

    3.9 De computadores de grande porte

    Sistema de grande porte tipicamente utilizado por grandes corporaes e, como caractersticas predominantes desses sistemas podem-se considerar a elevada capacidade de E/5, sistema em lote (batch). processamento de transaes e tempo compartilhado. Exemplos de sistema de grande porte so: 05/390 e S/400.

    3. 1 O Multi processadores

    O sistema operacional desta categoria pode tratar mltiplas CPUs simultaneamente. Equipamento com multiprocessadores ou multincleos tm como objetivo principal melhorar a capacidade computacional dos equipamentos, trazendo melhor desempenho para o ambiente. Com o advento dos processadores multincleo, at sistemas operacionais voltados para computadores pessoais esto comeando a lidar com multiprocessadores. Alguns exemplos de sistemas operacionais multiprocessados so: Windows, Linux, Solaris e AIX.

    9 Disponvel em: . Acesso em: 8 jun. 2011.

    ------------------

  • Unidade 11

    3. 11 Portteis

    Voltados para computadores como os PDA (Personal Digital Assistant) e telefones celulares. Um ponto de destaque para os sistemas portteis que os PDA e celulares no possuem disco rgido multigigabyte, fazendo grande diferena. Os sistemas operacionais para portteis so: Symbian OS, Windows Mobile e Paim OS.

    4 VISO GERAL SOBRE HARDWARE DE COMPUTADORES

    O hardware e o sistema operacional devem ser extremamente congruentes para que seja possvel obter o melhor resultado desta combinao. H pelo menos dois pontos de vista para analisarmos essa dupla: um seria a estratgia adotada pela Intel ao criar o processador 8080 e posteriormente solicitar para Gary Kildall que criasse um software para rodar neste hardware; j a outra forma seria a vontade de qualquer desenvolvedor imaginar que qualquer funcionalidade desejada seria prontamente atendida pelo software, porm sabemos que isso no possvel e, para seu melhor aproveitamento, faz-se necessria uma homogeneidade entre os desenvolvedores de hardware e software.

    Independente das ideologias, turma do hardware ou do software, temos que ter conceitualmente um modelo pertinente arquitetura do hardware de um computador pessoal para que possamos entender melhor os sistemas operacionais.

    Conceitualmente, computadores simples podem ser abstrados para um modelo esquemtico representado na Figura 14. Temos o barramento que seria a nossa estrada possibilitando a comunicao entre os elementos, a memria e os dispositivos de E/S.

    CPU MMU

    Figura 14- Principais elementos de um computador pessoal simples

    4. 1 Processadores

    Controlador de disco

    A CPU traz das memrias instrues, decodifica, interpreta as instrues a serem executadas e as executa; a partir da, busca as instrues subsequentes e processa o ciclo novamente at ter instrues a serem executadas.

    -ct~-------------------------------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Cada arquitetura de CPU tem um conjunto especfico de instrues que pode executar. Portanto, uma CPU RISC no executa programas desenvolvidos para plataformas C/SC, o oposto tambm verdadeiro.

    Todas as CPUs possuem registradores internos para armazenamento de variveis importantes e de resultados temporrios. Em adio aos registradores de propsito geral, usados para conter variveis e resultados temporrios, a maioria dos computadores possuem vrios registradores especiais disponveis de forma aparente para os programadores. O primeiro a se destacar o contador de programa que contm o endereo de memria da prxima instruo a ser buscada, ou seja, ele atualizado para apontar a prxima instruo.

    Outro registrador especial o ponteiro de pilha, que aponta para o topo da pilha da memria que contm uma estrutura para cada rotina chamada, mas que ainda no se finalizou. Uma estrutura de pilha da rotina contm os parmetros de entrada, as varive is locais e as variveis temporrias que no so mantidas nos registradores.

    Outro registrador especial a PSW (Program Status Word - palavra de estado do programa). Esse registrador contm os bits do cdigo de condies, os quais so alterados pelas instrues de comparao, pelo nve l de prioridade da CPU, pelo modo de execuo e por vrios outros bits de controle. Programas de usurios normalmente podem ler toda a PSW, mas em geral so capazes de alterar somente alguns de seus campos. Normalmente, o PSW conter o ponteiro/endereo da prxima instruo para ser executada.

    Toda vez que o sistema operacional compartilha o tempo de CPU e, por algum motivo, ele interrompe a execuo de um programa, inicia ou reinicia outro, ento o sistema operacional necessita salvar todos os reg istradores para que possam ser restaurados quando o programa for executado novamente.

    CPUs modernas possuem recursos para executar mais de uma instruo em tempo concorrente, o que chamamos de pipeline (Figura 15). Elas podem executar uma busca, executar decodificao e, simultaneamente, a execuo de instruo.

    Busca --1 .. ~ Decodificao .. Execuo

    Figura 15 - Pipeline

    Alm do pipeline, temos o superescalar, esse tipo de processador possui mltiplas unidades de execuo, conforme demonstrado na Figura 16. Portanto, duas ou mais instrues so buscadas, decodificadas e armazenadas temporariamente em um buffer, at que possam ser execu tadas.

    -------------------~

  • Unidade 11

    Decodificao

    Execuo 1 e 2

    CPU

    8 a

    o o 8 0000000000

    Figura 16- Superescalar

    4.1.1 Processadores multithread e multincleo

    O presidente da Intel , Gordon E. Moore, fez uma prospeco que por muitos considerada uma profecia, na qual o nmero de transistores dos chips teria um aumento de 100% a cada perodo de 18 meses. Como a prospeco se tornou um fato, essa teoria recebeu o nome de Lei de Moore. A Figura 17 demonstra graficamente essa lei.

    Nmero de Transistores 100.000.000.000 +---------~--....;.__ ___________ __.

    10.000.000.000

    ~~~"lm 2 9Mb0 . . . lta~!urri21.5Mb 0 . . . ;;/ .. . ~

    . . Pentium ll.!.; o~entium 4 . v O

    . . l tanlum . .Penttum Pro0 o . Pentium 11 lnt~I4S6 ' Pcntium

    o ,

    1.000.000.000

    100.000.000

    10 .000.000

    ....... .,.,.;.,.,., . ,.,

    BQ286~ _,_...0 1ntel386 . . ,?v

    ... ;; ... -a~ss .. ;,7

    .;;.--04oo4

    1.000.000

    100.000

    10.000

    1000+------------------------~

    1970 1975 1980 1985 1990 1995 2000 2005

    Dobr

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    O Intel Pentium 4 e outros chips de processadores tm a propriedade chamada multithreading ou hyperthreading. No ambiente da cincia da computao, a execuo de um thread a menor unidade de processamento que pode ser atendida por um sistema operacional. A estrutura de threadse processos diferente de um sistema operacional para outro, porm, na maior parte dos casos, um threacf0 contido num processo. Mltiplos threads podem existir num mesmo processo e compartilhar recursos como a memria, enquanto diferentes processos no compartilham esses recursos. Em particular, o thread de um processo compartilha as instrues e contextos. Ana logicamente, mltiplo thread de um processo o mesmo que mltiplos alunos lendo instrues em um mesmo livro, porm no necessariamente todos os alunos lendo a mesma pgina.

    Se um dos processos precisa ler uma palavra a partir da memria demandando muitos ciclos de relgio, uma CPU multithreading no oferece paralelismo, ento apenas um processo por vez executado, mas o tempo de chaveamento reduzido para a ordem de um nanossegundo.

    O grande problema que multithreading compreendido pelo sistema operacional como uma CPU, portanto se um computador tiver, por exemplo, duas CPUs, cada uma com dois threads, o sistema operacional entender e ter que gerenciar como se existissem 4 CPUs no sistema.

    Outra opo a CPU com multincleo. Isso o mesmo que fisicamente vermos um nico chip, porm, internamente, temos mltiplos chips como se fossem vrias C PUs. importante destacar que sistemas com CPU multincleo requerem SO para multi processadores. A Figura 18 ilustra uma CPU com dois ncleos.

    Figu ra 18- CPU Dual Core (dois ncleos)

    Saiba mais

    4.2 Memria

    Na teoria, a memria deveria ser mais performtica do que a execuo de uma instruo processada por uma CPU, pois, com isso, a CPU jamais teria que esperar pela resposta da memria; entretanto, na prtica,

    10 Thread = em cadeia; programa que consiste em vrias sees menores independentes.

    ------------------

  • Unidade 11

    isso no uma verdade. Para tentar resolver este problema, a abordagem contempornea construir o sistema de memria seguindo uma hierarquia de camadas conforme se demonstra na Figura 19.

    Tempo de acesso Capacidade

    1 nanossegundo < 1KB

    2 nanossegundos 4MB

    10 nanossegundos 512- 2048MB

    200- 1000GB

    100 segundos 400-800 GB

    Figura 19 - Hierarquia de memria t pica (nmeros aproximados)

    No topo da pirmide, temos os registradores que esto contidos nas CPUs. Esses so feitos do mesmo material que as CPUs e so to rpidos quanto elas. Desta forma, o tempo do registrador para a memria desprezvel e a capacidade de memria disponvel nos registradores de 32 x 32 bits para CPU de 32 bits e de 64 x 64 bits para CPU de 64 bits, sendo menos de 1 KB mesmo no caso das CPUs de 64 bits.

    Seguindo, no segundo nvel, vem a memria cache11 , que controlada pri nci paI mente pelo hardware-conforme demonstrado na Figura 20. Atualmente, vrios dispositivos como processadores, discos rgidos, placas-me, placas controladoras e outros possuem cache. A memria cache mais usada para armazenar informaes frequentemente mais usadas, porm memria cache muito cara e no to abundante nos sistemas.

    Figura 20- Cache na CPU Dual Core

    11 Cache = pequena rea de memria rpida, integrada unidade central de processamento.

    --~----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    No prximo nvel, possvel identificar a memria principal tambm conhecida como memria RAM (Random Access memory- memria de acesso aleatrio). demonstrada na Figura 21. Todas as solicitaes vindas da CPU e que no esto na memria cache so encaminhadas para a memria principal.

    f iMI C~tl' Dt~ IM~~ IJXQ7 'lhe~~ Co bG

    ~l H H ir i I li n - ~~ i: .,. ... ... ... ~ ........

    a - -llllt- aiUUIIl- lllt_IIJ_I.I-JI'I-Jil~ a

    11 ... Pil D .... IOIIR: SDRANI 11 - .. - - .. - - ' -u- - -, I llj 11 11 I I ~ l lj l'l lj I

    ' I I l : I J I ~ .J i. .. J ! i! i ! ! ~ H ;.. i I ~- !

    1111111111fllriiii111111111111111111111111111!JIIIfl 11fltlllllll111111111111111111111111111

    ~ .!! -!~ !r .! c::-: ! !~ !' !~ !~ - ~ i i i i i. i i i ....... .~.~& i i i i i jj i i - - - - . ... - - - - -

    ' 1111111111 ,111111111111111111111111111111 ' llllllllllllllllrlllllllllllllllllllllllll

    I. i i i~ ~r i I J I f ll I R I~ li 11 I l i 11 U t 11 I~ n I 11 l1 I fJ I 11 ' I

    r~= r=~: . iiiii'iiiiiiiiii.iiiiiii ii'liillt

    ZN pin SOOIMM l DOR SIJIRAM)

    J .. pln S IMM CORAM I

    Jl.pen SIMM 1fPMt

    ~ ~f n ]! W! 'Jf '~ U ., ; ; t rl n' ~! 1 1 1! n 1 I f

    - . . . ----.; . 11111111111111111111'111 111111111 '11 IIIIIPI!II!IIIIIUII:II!IIIItrlll' ll

    Figura 21 -Tipos de memria RAM

    -------------------~

  • Unidade 11

    ROM (Read Only Memory} e CMOS so outros tipos de memrias tambm presentes nos sistemas computacionais. A memria ROM normalmente usada pelos fabricantes para gravar cdigos controladores do hardware e so previamente programadas em fbrica, no sendo possvel sua alterao, a no ser que se usem equipamentos especficos para esta finalidade. A memria CMOS (Figura 22) tipicamente usada para manter data e hora atualizadas e parmetros de configurao do hardware como sequncia de boot e outros mesmo que o computador seja desligado. A memria CMOS necessita de uma bateria (Figura 23) para manter seu contedo.

    Figura 22 - ROM Figura 23 - Bateria da CMOS

    4.3 Disco

    Os discos magnticos esto na camada logo abaixo da memria principal, sendo conhecidos como discos rgidos ou, em ingls, hard disks e tambm, de forma abreviada, como HD. O grande atrativo dos discos magnticos em relao memria o preo bem menor se comparado R$/GB, entretanto o contraponto a velocidade de acesso que muito mais lenta por ser um dispositivo mecnico, conforme ilustrado na Figura 24.

    Figura 24- Disco rgido aberto

    ~~-----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Na estrutura de um disco magntico, temos como uma das principais partes o grupo de discos metlicos em que so gravadas as informaes. Tipicamente, esses discos rodam a velocidades de 5400 a 10000 rpm (rotaes por minuto) e tm uma mdia de transferncia de 0.5 Gbit/s. Em ambientes projetados com servidores de rede e, principalmente, servidores de banco de dados transacional, normalmente, so instalados discos com velocidade de 15000 rpm, podendo-se atingir a mdia de transferncia acima de 1.6Gbit/s. Os discos de 10000 ou 15000 rpm usam discos menores para mitigar grandes demandas de energia, entretanto isso acarreta que estes discos com maior capacidade de rotao por minuto possuam menos capacidade que os discos magnticos de menos rpm.

    As informaes so escritas no disco em uma srie de crculos que tm o mesmo centro. Cada cabea pode ler e gravar uma regio circular chamada trilha. Juntas, as trilhas de uma posio do brao formam um cilindro. Mover o brao entre cilindros prximos leva aproximadamente 1 ms e mover o brao de um determinado cilindro para outro distante leva em torno de 5 a 10 ms. A seguir, a Figura ilustrativa da unidade a fita de backup LTO 5 que a tecnologia mais atual durante a elaborao deste material.

    4.4 Fitas

    A fita magntica o ltimo tipo de memria na pirmide ilustrada na Figura 25. Esse meio muito utilizado como mdia de cpia de segurana (backup), transportando uma cpia daquilo que est nos discos magnticos para fitas magnticas. Com base nas normas de segurana ISO 27001, e at mesmo do Banco Central Brasileiro, obrigatrio o uso de sistemas de backup para garantir que a informao esteja disponvel em caso de o sistema principal apresentar problema. Grandes sistemas utilizam robs que controlam a troca de fitas, bem como softwares especiais para backup como o Veritas Backup Exec, Data Protector, ARCserve, Tivoli Storage Management e outros.

    Figura 25 - LTO 5 (Capacidade 1.5 TB- 6 Gb/sec. SAS)

    4.5 Dispositivos de E/5

    Os dispositivos de E/S so geralmente os controladores e os dispositivos. O controlador formado por um ou mais chips numa placa; estes controladores possuem a funo de receber os comandos do sistema operacional e gerar as instrues mais adequadas para os dispositivos, fornecendo orientao exatamente de como o disco rgido armazena e acessa os dados, por exemplo. Os disposit ivos possuem interfaces bastante padronizadas. Isso ajuda, porque a controladora IDE pode controlar qualquer disco IDE12.

    12 IDE: ln tegrated Drive Electronics.

    ------------------

  • Unidade 11

    Entre o sistema operacional e o controlador, h outro software chamado driver de dispositivo. funo do driver de dispositivo se comunicar com o controlador emitindo comando e recebendo respostas. Os fabricantes de controladores devem fornecer drivers especficos para cada sistema operacional a que do suporte.

    Existem trs maneiras diferentes para entrada e sada (E/5): o mtodo mais simples quando o programa de um usurio emite uma chamada de sistema, ento o ncleo do sistema operacional a traduz em uma chamada ao driver relacionado, em seguida, o driver inicia a entrada e sada e fica em constante checagem se o dispositivo terminou a operao; quando a operao finalizada, o driver coloca os dados onde so necessrios; o sistema operacional, ento, remete o controle para quem originou a chamada. Neste processo, a CPU fica ocupada durante a monitorao, se a operao de E/5 terminou ou no.

    No segundo mtodo, o driver inicia o dispositivo e instrui que ele o informe quando terminar; durante este perodo de intervalo, o sistema operacional retoma o controle da CPU para executar outra tarefa. Assim que o controlador recebe a sinalizao do final da transferncia, ele gerar uma interrupo para sinalizar o trmino.

    O DMA (Direct Memory Access) o terceiro mtodo para a implementao de entrada e sada. Neste cenrio, utilizado um chip especial de acesso direto memria, controlando o fluxo de bits entre a memria e algum controlador sem interveno constante da CPU. Nesse processo, a CPU configura o chip DMA informando a quantidade de bytes que devem ser transferidos, os endereos do dispositivo e de memria empregados, e a direo. Ento, a execuo fica a cargo do DMA. Assim que o DMA finalizar a tarefa, haver uma interrupo.

    Saiba mais

    4.6 Barramento

    O termo barramento definido como elos de comunicao que consistem em um conjunto de vias.

    Ao longo da evoluo da arquitetura computacional, os barramentos foram tomando forma mais heterognea e estruturada para as necessidades modernas. Os processadores e memrias foram ficando cada vez mais velozes, e o computador antigo, que inicialmente tinha somente um barramento, passou a no mais dar conta. Podemos fazer uma analogia com uma estreita rua de bairro onde temos somente casas e um trfego predominante de pessoas, porm, com o passa r do tempo, prdios so const rudos e os moradores passam a se locomover usa ndo carros. Em determinados horrios, o fluxo de carros saindo do mesmo local e entrando no barramento, ou melhor, entrando na rua, ir gerar uma sobrecarga impossve l de ser atendida por esta via; ento que surge a implantao de novas vias ou, pelo menos, o alargamento deste elo de comunicao.

    ~~-----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Tipicamente, os sistemas modernos possuem oito barramentos, conforme a Figura 26, sendo: barramento de cache, local, memria, PCI 13, SCSI 14, USB15, IDE16 e ISA17, cada um com diferentes funes e taxas de transferncia.

    Memria principal

    Barramento de memria

    Ponte PCI

    Ponte ISA

    Barramento local

    CPU

    SCSI

    Barramento cache

    ....

    Figura 26 - Estrutura de barramentos de um computador tpico

    USB

    Cache L2

    Para efeitos de compatibilidade com placas de E/S antigas, atualmente ainda podemos encontrar incluso nos sistemas o barramento ISA. Esse barramento era predominante no IBM PC/AT que funciona em 8,33 MHz e pode transferir 2 bytes por vez, com uma taxa mxima de 16,67 MB/s. Posteriormente ao ISA, a Intel desenvolveu o barramento PCI objetivando a substituio do ISA. Na Figura 27, demonstrado o exemplo dos conectares do PCI Express, e, na Figura 28, a diferena entre o PCI e o ISA. O barramento PCI alcana taxa de funcionamento em 66 MHz e transfere 8 bytes por vez, propiciando, assim, 528 MB/s (diferena de mais de 3000% entre o ISA para o PCI). Os equipamentos mais modernos j contam com o barramento PCie Gen2 x16.

    Saiba mais

    .

    13 PCI: Peripheral Component lnterconnect- Interconexo de Componentes Perifricos. 14 SCSI: Sma/1 Computer System Interface - Interface de Pequenos Sistemas de Computadores. 15 USB: Universal Serial Bus - Barramento Seria l Un iversal. 16 IDE: lntegrated Drive Electronics - Unidade Eletrnica Integrada. 17 ISA: lndustry Standard Architecture - Arquitetura para Padro Industrial.

    -------------------~

  • Unidade 11

    Figura 27 -Tipos de conectares

    PCI

    ISA

    Figura 28 -Tipos de conectares

    A CPUse comunica com o barramento PCI por meio do barramento local que, por sua vez, se comunica com a memria por intermdio de um barramento dedicado. Usando, por exemplo, um sistema Pentium com uma cache de nvel 1 dentro do chip e uma cache de nvel 2 muito maior que fica na parte externa do chip e conectada CPU pelo barramento cache.

    Este sistema contm tambm trs barramentos especficos: IDE, USB e SCSI. O barramento IDE, como descrito anteriormente, pode ser usado para conectar discos fsicos e unidade de CD-ROM.

    O padro USB foi desenvolvido por um consrcio de empresas, entre as quais se destacam: Microsoft, Apple, Hewlett-Packard, NEC, Intel e Agere. O smbolo do USB representado na Figura 29.

    -ct~-------------------------------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Figura 29 -Smbolo do USB -Tridente

    A verso USB 1.0 suporta taxa de 1,5 Mbit/s a 12 Mbit/s (verso 1.1 ), a verso 2.0, velocidades na taxa de 480 Mbit/s (60MB/s), e a verso 3.0, de 4,8 Gbit/s (600MB/s).

    Uma das caractersticas fundamentais para o sucesso do USB, principalmente pela demanda de agilidade de interoperabilidade, que esta tecnologia compartilha o mesmo drver entre os seus dispositivos, tornando dispensvel instalar um novo drver para cada novo dispositivo USB.Isso traz como beneficio maior o fato de podermos instalar dispositivos USB no computador sem precisar reinici-lo, ou seja, plug and play18

    Como barramento de alta performance, temos o SCSI, destinado para discos de alto desempenho e demais dispositivos que demandam grande largura de banda.

    O SCSI baseado na Shugart Associates System Interface (SASI). A SASI foi desenvolvida em 1981 pela Shugart Associates em conjunto com a NCR Corporation. Em 1986, o Instituto Americano de Padres Nacionais (ANSI - American National Standards lnstitute) aprovou o SCSI, uma verso modificada da SASI. O SCSI usa uma controladora para enviar e receber dados e energia de dispositivos SCSI, como HDs e impressoras.19

    O SCSI tipicamente usado para controlar discos com estrutura ordenada contendo elementos acessveis individualmente referenciados por nmeros, denominado RAID20.

    Outras tecnologias, como o serial-ATA (SATA), tambm podem ser usadas para este propsito. O RAIO tambm aumenta a fault tolerance (tolerncia a falhas) por meio de mirroring (espelhamento) e parity (paridade). O espelhamento faz uma cpia exata dos dados de um disco rgido em um segundo disco rgido. A paridade requ er no mnimo trs discos, e os dados so gravados sequencialmente para cada unidade, exceto o ltimo. A ltima unidade armazena um nmero que representa a soma dos dados dos outros discos.21

    18 Plug and play: termo ingls que significa que se pode conectar e jogar, ou seja, rpido e fcil, sem necessidade de reiniciar o sistema para fazer o novo dispositivo ser reconhecido.

    19 Disponvel em: . Acesso em: 8 jun. 2011. 20 RAIO: Redundant Array of lndependent Disks. 21 Disponvel em: . Acesso em: 8 jun. 2011.

    -------------------~

  • Unidade 11

    Na Planilha 1, so demonstrados diversos tipos de SCSI. Os mais lentos no esto em uso, mas foram includos nesta lista para efeito de comparao.

    Nome Especificao

    SCSI -Assncrono SCSI-1 SCSI -Sncrono SCSI-1

    Wide SCSI-2 Fast SCSI-2

    Fast/Wide SCSI-2 Ultra SCSI-3- SPI

    Ultra/Wide SCSI-3- SP Ultra2 SCSI-3 SPI-2

    Ultra2/Wide SCSI-3 SPI-2 Ultra] SCSI-3 SPI-3

    Ultra320 SCSI-3 SPI-4

    Nmero de dispositivos

    8 8 16 8 16 8 8 8 16 16 16

    Largura de barramento

    8 bits 8 bits 16 bits 8 bits 16 bits 8 bits 16 bits 8 bits 16 bits 16 bits 16 bits

    Plani lha 1 -Tipos de SCSI

    Velocidade de barramento

    5 MHz 5 MHz 5 MHz 10 MHz 10 MHz 20 MHz 20 MHz 40 MHz 40 MHz 40 MHz 80 MHz

    MB/s

    4 MB/s 5 MB/s 10 MB/s 10 MB/s 20 MB/s 20 MB/s 40 MB/s 40 MB/s 80 MB/s 160 MB/s 320 MB/s

    Objetivando aprimorar e possibi litar que o sistema operaciona l tivesse possibi lidades reais de gerenciar de forma consolidada os diversos dispositivos de E/S, e baseado no conceito similar previamente implantado pela Apple no Macintosh, a tecnologia plug and play para computador pessoal foi projetada pela Intel e Microsoft.

    O plug and play facilitou a vida dos profissiona is e usurios caseiros que se aventuravam a tentar instalar placas no sistema. Naquela poca, que no deixa sa udades, uma simples insta lao de uma nova placa de som, por exemplo, poderia fazer com que outro dispositivo parasse de funcionar de forma quase que inexplicvel e isso ocorria por conflito de interrupo e endereos de registradores.

    Naquela poca, era comum encontrar placas controladoras com componentes chamados jumpers, conforme a Figura 26, que tinham a finalidade de possibilitar ao usurio configurar um nvel de interrupo e endereo de dispositivos de E/S que no conflitassem com outros dispositivos j existentes no sistema.

    ~--~~

    u --- - Jll - .. -. :fi n ~~ . }f- . ....., . -.. . '

    . ~~' ..- '!_..,: .. r 1 a. . r_ ,..., r: .

    to ' ~- ':t ' ,.r ..... ' d t (( ff~- r!; ri ~~t " . ~"': ! F- . .,., .~; i~ -r," _ ~~ li ..... J ~; -~~ - ' : ::: , I . ... ... --r>.wt1 , rr!t ~ ,.i'>,.,

    I ~ - -- . . .. ;~ . ~Jtm ; ; : ;A I ' .,; r' ~ ""' 'i ' " .~ ...::. .. . .... 1)- p\_ , .,..,

    'J f4 - - ~ r-t JIIIlllllH1J IJH, :-J;J ltl J I llltJIHIIHUli.l.l;J .I.

    Figura 30 - Placa controladora com jumpers para configurao de IRQ

    ~~-----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    Saiba mais

    rwv.,..::; Resumo

    No modelo abstrato de sistema operacional, temos que ter alguns entendimentos a respeito de processadores, memrias e dispositivos de entrada e sada que so conectadas por barramento.

    Alm da estrutura de hardware em que est montado o sistema operacional, os conceitos tpicos sobre os quais todos os sistemas operacionais so construdos so:

    Processos.

    Gerenciamento de memria.

    Gerenciamento de E/S.

    Sistema de arquivos.

    Segurana.

    Os sistemas operacionais podem ser vistos por dois prismas:

    Dispositivo gerenciador de recursos.

    Mquina estendida.

    Todos os sistemas operacionais possuem, na sua essncia, o conjunto de chamadas de sistema com que eles podem lidar. Dentre elas, destacamos:

    Criao e finalizao de processos.

    Leitura e escrita de arquivos.

    Gerenciamento de diretrios.

    Chamadas diversas.

    -------------------~

  • Unidade 11

    Os sistemas operacionais so, geralmente, entre outros, estruturados conforme as classificaes abaixo:

    Sistema monoltico.

    Hierarquia de camadas.

    Microncleo.

    Sistema de mquina virtual.

    Exoncleo: tem como finalidade permitir que uma aplicao solicite uma regio especfica da memria, simplesmente para assegurar que os recursos pedidos esto disponveis e que o programa tem direito a acess-los.

    Modelo cliente servidor.

    Exerccios

    Questo 1. (ENADE 2008) Uma alternativa para o aumenta de desempenho de sistemas computacionais o uso de processadores com mltiplos ncleos, chamados multicores. Nesses sistemas, cada ncleo, normalmente, tem as funcionalidades completas de um processador, j sendo comuns, atualmente, configuraes com dois, quatro ou mais ncleos. Com relao ao uso de processadores multicores e sabendo que threads so estruturas de execuo associadas a um processo, que compartilham suas reas de cdigo e dados, mas mantm contextos independentes, analise as seguintes asseres.

    I. Ao dividirem suas atividades em mltiplas threads, que podem ser executadas paralelamente, aplicaes podem se beneficiar mais efetivamente dos diversos ncleos dos processadores multicores.

    11. O sistema operacional nos processadores multicores pode alocar os ncleos existentes para executar simultaneamente diversas sequncias de cdigo, sobrepondo suas execues e, normalmente, reduzindo o tempo de resposta das aplicaes s quais esto associadas.

    Acerca dessas asseres, assinale a opo correta.

    A) As duas asseres so proposies verdadeiras, e a segunda uma justificativa correta da primeira.

    B) As duas asseres so proposies verdadeiras, mas a segunda no uma justificativa correta da primeira.

    ~~-----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    C) A primeira assero uma proposio verdadeira e a segunda, uma proposio falsa.

    D) A primeira assero uma proposio falsa e a segunda, uma proposio verdadeira.

    E) Tanto a primeira quanto a segunda asseres so proposies falsas.

    Resposta correta: alternativa C.

    Anlise das alternativas

    A) Alternativa incorreta.

    Justificativa: ao afirmar que existe uma sobreposio de execues, o autor induz o leitor ao erro, pois, apesar do processamento estar distribudo entre as CPUs, ainda existe um compartilhamento de recursos, que devem manter um sincronismo a fim de se evitar Dead/ocks, portanto, a alternativa possui dois erros: afirmar que as duas asseres so verdadeiras e ainda afirmar que a segunda assero justifica a primeira de forma correta.

    B) Alternativa incorreta.

    Justificativa: o erro encontra-se na falsidade da segunda assero.

    C) Alternativa correta.

    Justificativa: justificvel pelo entendimento do funcionamento bsico de Threads.

    D) Alternativa incorreta.

    Justificativa: o erro est justamente em se questionar a veracidade da primeira assertiva.

    E) Alternativa incorreta.

    Justificativa: o erro est justamente em se questionar a veracidade da primeira assertiva.

    Questo 2. (ENADE 2008) Com relao s diferentes tecnologias de armazenamento de dados, julgue os itens a seguir.

    I. Quando a tenso de alimentao de uma memria ROM desligada, os dados dessa memria so apagados. Por isso, esse tipo de memria denominado voltil.

    11. O tempo de acesso memria RAM maior que o tempo de acesso a um registrador da unidade central de processamento (UCP).

    -------------------~

  • Unidade 11

    111.0 tempo de acesso memria cache da UCP menor que o tempo de acesso a um disco magntico.

    IV. O tempo de acesso memria cache da UCP maior que o tempo de acesso memria RAM.

    Esto certos apenas os itens:

    A) I e 11.

    B) I e 111.

    C) 11 e 111.

    D) 11 e IV.

    E) 111 e IV. Resoluo desta questo na Plataforma~

    ~ Hora de exercitar AvaliativJO Slides da videoaulao

    ~

    ~~-----------------

  • FUNDAMENTOS DE SISTEMAS OPERACIONAIS

    5 GERENCIAMENTO DE PROCESSOS

    5.1 Introduo a processos