Enviado por Morena Denny\nParte I ± Introdução (Informação ± Hardware e Software\nSISTEMA DE INFORMAÇÃO Conjuntos de componentes inter-relacionados que coletam (entrada), manipulam (processamento) e disseminam (saída) de dados e informação, proporcionando um mecanismo de feedback para atender a um objetivo. Todos nós interagimos diariamente com sistemas de informação, usamos os caixas automáticos dos bancos, os scanners de leitura de preços dos supermercados que identificam nossas compras usando o código de barras, e, ainda, obtemos informação em quiosques por meio de telas sensíveis ao toque. O CONCEITO DE INFORMÁTICA Ao longo da história, o homem tem precisado constantemente tratar e transmitir informações, por isso nunca parou de criar máquinas e métodos para processá-las. Com esta finalidade, surge a informática, como uma ciência encarregada do estudo e desenvolvimento dessas máquinas e métodos. A informática nasceu da idéia de auxiliar o homem nos trabalhos rotineiros, exaustivos, repetitivos em geral, cálculos e gerenciamento. Então podemos dizer que INFORMÁTICA (INFORmação autoMÁTICA), é a ciência que estuda o tratamento automático e racional da informação. CONCEITOS DE SISTEMAS DE INFORMAÇÃO Dados São fatos não trabalhados ainda pelo sistema. É um registro da informação. Representam as coisas do mundo real. Ex: o nome de um funcionário, a quantidade de horas trabalhadas, quantidade de peças em estoque, etc. Tipos de Dados Dados Alfanuméricos Imagens Áudio Vídeo Informação É a matéria-prima com que o computador trabalha. Fornecemos-lhe informações que possuímos para que ele processe e gera uma nova, com a qual podemos tomar decisões, tirar conclusões, solucionar problemas, unir as informações e obter através dele ainda mais dados.\nO processo de transformação (aplicando conhecimento pela seleção, organização e manipulação dos dados)\nRepresentação Letras, números e outros caracteres Imagens gráficas, fotos, etc. Som, ruídos ou tons Imagens em movimento ou fotos\nCOMPONENTE DE UM SISTEMA DE INFORMAÇÃO Feedback Entrada Processamento Saída\nE É a ati i ade de reunir e coletar dados brutos (dados não trabal ados) Processamento O processamento envolve a conversão e a transformação de dados brutos emdados úteis. Saída A saída envolve a produção de informação útil geralmente em forma de documentos e/ou relat rios. Feedback É a saída utili ada para promover as mudanças na entrada ou nas atividades de processamento. Por exemplo os erros ou problemas podem tornar necessário corrigir dados de entrada ou mesmo modificar um processo. Ou seja o Feedback é usado para conferir e corrigir a entrada e identificar os problemas existentes, e consertar antes que ocorra a saída do processo, é crítico para o sucesso da operação de um sistema. O QUE É HARDWARE? o É o conjunto de toda a parte física do computador. O sistema pode ser esquemati ado com se segue:\nTempo de Ciclo de Máquina Para a execução de uma instrução de máquina, é feita em um ciclo de máquina. Um ciclo de máquina, que é o tempo no qual um ciclo ocorre é medido em frações de segundos, desde microssegundos (um milionésimo de segundo) e picossegundos (um trilionésimo de segundo) para os mais rápidos. O tempo de ciclo de máquina pode ser medido em termos de quantas instruções são executadas num segundo. Esta medida, chamada MIPS, representa milhões de instruções por segundo. Velocidade do Clock (Relógio) Cada CPU produz uma série de pulsos eletrônicos numa taxa predeterminada, denominada velocidade de clock, que afeta o tempo de ciclo de máquina. A Unidade de Controle, parte integrante da máquina, acompanha vários estágios do ciclo, seguindo instruções internas predeterminadas conhecidas como microcódigos. Ou seja, a Unidade de Controle executa o microcódigo de acordo com o ciclo eletrônico, ou pulsos do ³relógio´ da CPU. Cada instrução de microcódigo leva, no mínimo, a mesma quantidade de tempo entre os pulsos. Concluindo: quanto menor o intervalo entre os pulsos, mais rápido cada instrução de microcódigo será executada. A unidade de medida utilizada para a velocidade de relógio é megahertz. Um hertz equivale a um ciclo ou pulso por segundo. Megahertz (Mhz) milhões de ciclos por segundo Gigahertz (Ghz) bilhões de ciclos por segundo Terahertz (Thz) trilhões de ciclos por segundo MEMÓRIA É a unidade de armazenamento do sistema computador. Toda e qualquer informação e/ou instrução do computador deve estar na memória para a realização de uma tarefa. A capacidade de memória é quantificada em bytes (já que nos interessa saber o número de caracteres que podemos guardar). Quando a quantidade é muito grande, utilizamos os múltiplos de byte. Byte 1 unidade Kilobyte (Kbyte) ± Kb 1.024 bytes Megabytes (Mbyte) ± Mb 1.024 Kbytes Gigabytes (Gbyte) ± Gb 1.024 Mbytes A memória é dividida em duas partes: a principal e a secundária (ou auxiliar) A memória principal é formada por componentes de dois tipos, RAM e ROM, e é interna ao computador. Já a memória secundária é externa ao computador, e é utilizada para guardar dados e programas para posterior reutilização. a) Memória Principal\nRAM A RAM (Random Access Memory = memória de acesso aleatório) é um tipo de memória volátil, ou seja, pode ser gravada, lida e alterada via programa. Seu conteúdo é destruído quando o micro é desligado. O nome ³memória de acesso aleatório´ vem do fato de que esta memória não guarda as informações em seqüência, mas sim em posições (endereços) não p reviamente definidas. É a área da memória que se destina as armazenamento do programa e os dados relativos ao processo que está sendo relativos a processo que está sendo realizado no momento, ou seja, é a nossa área de trabalho. Tipos de RAM\ny EDO RAM ± Extended Data Out = Principal tipo de RAM mais rápida do que outros tipos de RAM; y SDRAM ± RAM Sincrônica Dinâmica = supera a EDO RAM em performance, tem o vantagem de efetuar mais rapidamente a transferência entre o microprocessador e a memória. y DRAM ± RAM DINÂMICA ± os chips de RAM Dinâmica necessitam da aplicação de altas e baixas voltagens em intervalos regulares ± a cada dois milisegundos (dois milésimos de segundos) ± para que não percam a informação.\nROM A ROM (Ready Only Memory = memória apenas de leitura) é um tipo de circuito de memória, constante, fixa, de acesso seqüencial. Já vem gravada de fábrica e contém as informações básicas para o funcionamento do computador (por exemplo: o sistema operacional) Ativa os dispositivos necessários para a inicialização das tarefas. Funciona como se fosse um manual de consultas interno do computador. De acordo com o processo de gravação do qual se vale o fabricante, existem três tipos de ROM, a saber: y PROM: Programmable Read-Only-Memory = memória programável apenas para leitura. É um tipo de ROM que só pode ser gravada uma vez, através de equipamento especial. y EPROM: Eraseble Programmable Read-Only-Memory = memória programável e apagável apenas para leitura. É uma ROM que pode ser apagada por raios ultravioletas e posteriormente regravada. y EAROM: Electrically Alterable Read-Only-Memory = memória alterável eletricamente, para leitura somente. Trata-se de uma ROM, cujo conteúdo pode ser alterado eletricamente. FIRMWARE é o nome especial que se dá ao componente que vem gravado de fábrica por se tratar de software embutido em hardware, ou hardware programado, também definido por fusão de hardware com software; no caso, qualquer tipo de ROM é firmware.\nMemória Cache Memória de alta velocidade, onde o processador consegue acessar mais rapidamente as informações do que as memórias principais. Todos os dados utilizados freqüentemente no processamento são armazenados na memória cache, ao invés de serem armazenados na memória\nRAM que é mais lenta. Como existem menos dados na memória cache, a CPU pode acessá-los mais rapidamente do que se estivessem na memória principal. b) Memória Secundária (Auxiliar) Como sabemos que a memória que está dentro o computador fica ativa durante os processamentos, e quando desligamos a máquina ela perde seu conteúdo, precisamos de recursos para armazenar dados e programas fora do computador: a memória auxiliar ou secundária. DISCOS Os discos, como parte da memória auxiliar, são unidades que permitem manter as informações intactas fora da memória principal. Os discos são gravados e lidos magneticamente e não pelo mesmo processo dos discos de áudio que são comprados em lojas. Todos os discos são divididos em trilhas, e as trilhas, em setores. A gravação é feita de modo aleatório (sorteado), de acordo com os espaços disponíveis. Já a leitura é feita de modo direto, e para localizar essas informações, o disco tem uma trilha só com os endereços das informações. Existem dois tipos principais de discos: rígidos e flexíveis. a) Discos Rígidos: o Têm muito maior capacidade de armazenamento; o Ficam fixos dentro do computador; o Custam mais caros, mas são seguros; o Para grande porte chamam-se DISK-PACKs; o Para micros chamam-se WINCHESTERs ou HDs; o A capacidade mínima é sempre por volta de 10 Mbyte. b) Discos Flexíveis: o São mais baratos e simples de usar; o Tem por volta de 1,44 Mbyte de capacidade; o São chamados de disquetes. 1. 2. 3. 4. 5. 6. 7. 8. 9. Alguns cuidados especiais para com os discos flexíveis: não expô-los ao sol ou altas temperaturas; não tocar nas áreas descobertas; não expô-los à poeira e a fumaça; não molhá-los; não engordurá-los; não escrever sobres eles (escreva na etiqueta e depois cole-a); não amassá-los; não empilhá-los; não guardá-los em locais com objetos eletromagnéticos. Em cada um destes casos o risco é da perda das informações e/ou do disquete. FITAS As fitas, da mesma forma que os discos, permitem manter as informações fora o sistema. São revestidas de óxido de ferro. A unidade que lê e grava fitas é comumente chamada de unidade de fita. Temos três tipos de fitas: as de rolo (para grande porte), as fitas cassete e os cartuchos (para micros). Tem acesso seqüencial, ou seja, se o computador está lendo os dados do centro do carretel\nRAID ± Redundant Array of Independent disks ± Arranjo redundante de discos independentes É uma maneira de se aumentar o desempenho e a confiabilidade do armazenamento de dados é o uso de conjunto de discos rígidos chamado RAID (Redundant Array of Independent Disks). sendo um meio de acesso direto. onde as cabeças de leitura e gravação podem ir diretamente ao dado desejado sem ter que ler todo o disco. apagar dados gravados anteriormente. Utilizando a tecnologia hotswap é possível trocar o disco defeituoso sem ter a necessidade de se desligar o equipamento. CD-ROM São mídias que gravam informações. CD-R São mídias que permitem a gravação de dados. Sendo esta uma desvantagem da fita magnética. .de fita. podendo deixar partes do disco livre para novas gravações futuras. Por exemplo. ao mesmo tempo. Os discos representam os bits em pequenas áreas magnetizadas. Esse arranjo antigamente só era disponível para discos rígidos SCSI. mas não é possível apagar dados já gravados anteriormente. Os dados são lidos diretamente do disco por meio de um dispositivo de leitura ótica. o disco defeituoso. Caso o primeiro disco falhe. onde os dados são gravados através de lasers especiais que fisicamente queimam pontos do disco. O RAID opera com dois conceitos. como um aparelho de disco laser estéreo. podendo se desejável. podendo deixar partes do disco livre para novas gravações futuras. que tem como objetivo aumentar a confiabilidade dos dados armazenados. um arquivo de 400 KB seria dividido em quatro fragmentos de 100 KB. Com o uso do sistema de divisão de dados o RAID. podem ser pratos finos de aço (discos rígidos) ou de filme Mylar (disquetes). somente uma única vez. CD-RW São mídias que permitem a gravação e a regravação de dados. O disco é somente de leitura. em um sistema RAID operando com a divisão de dados em um micro com quatro discos rígidos. O primeiro é a divisão dos dados (data striping). os dados armazenados em um disco rígido são imediatamente e automaticamente armazenados em outro disco rígido. porem atualmente já existem placas-mãe que suportam o RAID para discos rígidos IDE bem como você encontrará à venda placas RAID para discos rígidos IDE. e não podem mais ser modificado seu conteúdo. Através do espelhamento. o arquivo a ser armazenado é dividido m vários fragmentos. O segundo conceito por trás do RAID é o espelhamento. Discos Magnéticos São revestidos de óxido de ferro. o segundo disco rígido entra imediatamente em ação substituind de forma o. e cada fragmento é armazenado em um disco rígido diferente. que tem como objetivo aumentar o desempenho de isco da máquina. Discos Óticos Equivalem a um disco de plástico. toda a fita antes do ponto desejado precisa ser lida e passada seqüencialmente. automática.\nou telas de LCD. podendo restringir o acesso a algumas áreas da empresa. São telas planas que utilizam cristais líquidos. . Os plotters são também um tipo de dispositivo de saída são utilizados para a impressão de projetos de arquitetura. marcas e preços sendo que as novas tendências de mercado são os monitores de cristas líquido. esquemas e desenhos de construções ou de novos produtos em papel acetato ou transparências. bastante parecidas com os modelos convencionais. Os monitores semelhantes a um aparelho de TV exibem estas saídas para o usuário. Qualquer que seja seu conteúdo ou forma. Existem vários modelos. ou melhor. Estes dispositivos. nas empresas. desde a resolução do problema até a capitalização de uma oportunidade competitiva. A largura padrão é de 24 e 36 polegadas. sendo uma física (circuitos) e uma lógica. o sistema operacional.Dispositivos de Entrada e Saída São todos os dispositivos que estiverem ligados à unidade de processamento. As câmeras digitais também são outro tipo de dispositivo de entrada. Existem três tipos de software: básico (do fabricante). para imprimir projetos. os dados. o assembler. Toda a parte lógica do sistema recebe um nome genérico: SOFTWARE. O QUE É SOFTWARE Você já percebeu uma coisa: um sistema de computação constitui-se de duas partes. que é um dispositivo de entrada que lê as informações da impressão digital dos dedos da pessoa. O reconhecimento de voz também pode ser utilizado em sistemas de segurança das empresas permitindo o acesso a áreas restritas somente de pessoal autorizado. Mouse e teclado são dispositivos mais comuns para entrar e inserir dados como caracteres. engenharia. Algumas empresas estão desenvolvendo teclados mais confortáveis. por sua vez podem ser classificados da seguinte maneira: Dispositivos de Entrada São aqueles que enviam informações do meio externo (dados brutos que são lançados para dentro da máquina). Dispositivos de Saída São dispositivos que recebem as informações da CPU já processadas. a função desses dispositivos compreende o fornecimento da informação certa.Teclados como da Microsoft. o que os torna grandes e volumosos. o compilador. elas registram e armazenam imagens e vídeos na forma digital. que funcionam através de uma pistola de elétrons. entre outro. Dispositivos de voz que usam microfones e software especiais para registrar e converter o som da voz humana em sinais digitais. o interpretador etc. ajustáveis e mais rápidos de usar.48cm) da tela. material orgânico semelhante ao óleo colocado entre dois polarizadores para formar caracteres e imagens gráficas sobre uma tela iluminada por trás. convertem em informação utilizável pela máquina. a fim de que sejam mostradas ao usuário. ditante cerca de 1 pé (30. para a CPU. para a pessoa certa. no formato certo e na hora certa. Estes dispositivos fornecem saída para aos usuários para poderem tomar decisões em todos os níveis de uma organização. que foram projetados para evitar danos às mãos e os pulsos causados por muitas horas de digitação. utilitários (de apoio) e aplicativos (do usuário). Estes equipamentos são destinados à concretização da comunicação entre o usuário e a máquina. Fazem parte do Software: o programa. Existe também a biometria. textos e comandos básicos.\ny Cálculos científicos. planilhas eletrônicas. y Formatação de páginas. 2. índice. 2. simuladores. Software Básico É o conjunto dos programas básicos que o fabricante do computador ou SoftHouse especializada desenvolve para utilizar toda a sua potencialidade. trabalha como se o vídeo fosse uma folha de papel na máquina de escrever.1 Editores de Texto Tem a função de auxiliar na criação/correção de textos.1. y Controle de conta bancária. digita-se B2 (chamado de célula). sendo as linhas identificadas por letras e as colunas por números. duplicar. geradores de gráficos. repetir operações.2 Planilhas eletrônicas Tem a função de manipular tabelas numéricas ou não. ³salvar´ o texto em disco para utilizar em outra ocasião. y Livros como este com numeração de páginas. alterar. y Controle de materiais. vários tipos de letras etc. para auxiliar na execução de tarefas repetitivas e exaustivas. y Controle de estoque simples. y Controle de frotas. y Mala direta. bases de dados. Com uma planilha eletrônica pode-se elaborar: y Fluxo de caixa. anular linhas inteiras ou qualquer outra operação que facilite o trabalho. compiladores e interpretadores. além de se contar com um número considerável de comandos para inserir trechos de outro texto. Exemplos típicos: sistemas operacionais e seus complementos. y Correspondências. y Escrituras. 2. copiar. alterações. com a vantagem de que se pode ³correr´ pela folha com o cursor e fazer correções. . com a facilidade de efetuar cálculos por linhas ou pro colunas. permitindo formatar. y Cálculos contábeis. Para localizar ou operar com um dado fornece-se à linha e a coluna onde ele se encontra. Exemplo: para localizar uma dado na linha B coluna dois. concatenar (ligar em seqüência). mas podemos agrupá-los em famílias de acordo com a área de atuação: editores de texto. ferramentas operacionais e integrados. Um bom editor de texto permite a elaboração de: y Etiquetas de identificação. y Layout de fichas. gravar para depois reutilizar etc. Dentro do editor. As planilhas geralmente se apresentam em formato de linhas e colunas. Software Utilitário São programas desenvolvidos por empresas ou profissionais liberais especializados. Existe um infinidade de utilitários. imprimir cópias.\nrepresenta um arquivo. São programas de alta especiali ação.2. Analogia: Base de dados simples: oda a família Santos mora neste edifício Base de dados relacional: difícios onde podemos encontrar integrantes da família Santos Família Santos Família Santos Santos = chave de acesso para encontrar os integrantes. imprimir gráficos e desenhos técnicos ou artísticos em seus trabalhos utili am-se destas ferramentas. São aplicados no gerenciamento de coleções de dados como: y Carteira de cobrança. nos dois exemplos. y Controle de crediário. gravação e consulta de dados. gravar. y Controle de turmas de escolas. Relacionais = arquivos que se completam entre si pela chave de acesso(Access ± chave primária). . Podem ser utili ados de forma direta ou programada. Cada edifício.. y Gerenciamento de clientes. 2. científicos ou artísticos. mas esta denominação é mais correta para as coleções de dados gerenciados pelo dB. ilustram trabalhos estatísticos. Podem ser: Simples = arquivos completos independentes. alterar. y Fichários diversos. odos os profissionais que necessitam gerar. ambém são chamados de Banco de ados.4 Geradores de gráficos São utili ados para plotar gráficos e elaborar desenhos e diagramas. com grandes recursos de locali ação. reutili ar. etc.3 Base de Dados São gerenciadores de arquivos (coleções de dados). y Controle de pagamentos.. alteração. de engenharia e outros.\n5 Simuladores São geradores de movimento (animação) ou de som (sintetizador). Software do usuário São programas dedicados para fins específicos.2. A solução de um problema é transformada em programa. Depois é compilado.3 = editor de texto + planilhas + banco de dados MICROSOFT OFFICE = editor de texto + planilha + banco de dados + apresentações de slides 3. Conclusão Tudo o que o computador faz é controlado pela parte lógica do sistema. marcação de consultas. escrito em determinada linguagem. agenda. 2. Este tipo de software é utilizado na elaboração de jogos ou no auxílio de tarefas que outros softwares não estão preparados para realizar. etc. recuperando discos e outras tarefas de interesse do operador.7 Integrados Trata-se de grupos de utilitários. faturamento. controlando diretórios e subdiretórios. Não são adaptáveis e geralmente são exclusivos de quem solicitou.6 Ferramentas operacionais São utilitários que atuam junto ao sistema operacional. simuladores de equipamentos ou similares. pesquisando ocorrência em arquivos. devido às particularidades e que atendem. um outro programa equivalente em linguagem de máquina é criado. contabilidade. que geralmente ³conversam´ entre si. pesquisando erros em discos. 2. controle de estoque. Exemplos: LOUTS 1. interpretado ou montado. . racionalizando espaços de arquivos. Cada programa é aplicado para resolver um problema ou para realizar um determinada tarefa e nada mais. São desenvolvidos especialmente para empresas ou particulares que solicitem a um programador ou SoftHouse. recuperando arquivos destruídos acidentalmente ou não. reunidos em um só.2. Podem ser: folhas de pagamentos.\ncomo todas as máquinas. Surgindo a produção para o consumo. e não para o consumismo. (Alvin Tofler = é autor de A Terceira Onda. A matéria prima com que o computador trabalha é a informação. Ou seja o homem não vive mais em função da máquina. e sua principal característica é sua dinâmica evolutiva. para grampear. para comunicar. contabilizar. auxiliandoo em seu cotidiano. cadastrar. O homem passou a viver em família. e o seu trabalho se voltava para ela. organizar. Ela engloba o computador (tanto a parte física quanto a lógica) e os vocábulos próprios. com a qual poderemos tomar decisões. involuía a valorização do eu em prol de projetos de maior produção. dado por Alvin Tofler. unir outras informações e obter através dele ainda mais dados. Fornecemos-lhe informações que possuímos para que processe e gere uma nova. um pouco além. pesquisar. Os homens se agruparam em torno das fábricas. e com isto a propaganda. idealizadas e dominadas pelo homem. O choque do Futuro e outras obras. O homem com sua família vivia em função das fábricas.Parte II ± História. para fazer máquinas e para uma infinidade de atividades. ou seja: é um conjunto de elementos interligados com a finalidade de atingir um objetivo determinado. liberando o homem para voltar às origens participando mais da vida do lar e dos seus. Existem máquinas para transportar. enfim. Quase desapercebida entre tudo isso. maior consumo. maiores vendas. para escrever. para manter a temperatura. rastrear. que há milhares de anos fixou o homem no campo para produzir os bens de que necessitava e. tirar conclusões. o computador é um sistema. criar e produzir meios para levar uma vida mais interessante. No final da Idade Média surgiu a segunda onda. voltadas para atender a população geograficamente. ia crescendo a terceira onda: a era da Informação e a ciência que fornecia os métodos de seu tratamento: a INFORMÁTICA. cria e a máquina produz. formando as cidades. A ciência que trata da informação chama-se Informática (INFORmação autoMÁTICA). tarefas que exigem atenção e muito tempo para sua concretização. passando a maior parte de seu tempo fora do lar. desde os valores humanos até o meio ambiente. Três delas mudaram completamente a estrutura e o modo de vida da sociedade. sob a forma da Revolução Industrial. se incube destes serviços. Todas criadas. O homem estava destruindo seu próprio universo. Vindo então a poluição. para trocar pelo que não conseguia produzir (escambo).) A primeira onda foi a Revolução Agropecuária. O computador também é uma criação do homem. As poucas indústrias eram manufaturas. sendo assim à medida que evoluíam as indústrias. solucionar problemas. Pois o computador devido a sua rapidez e exatidão. . Através dos computadores o homem já poderia deixar todo trabalho exaustivo de classificar. caracterizando a produção para a prestação de serviços. mais pensa. ganharam o apelido de ³ONDAS´. As gerações e Classificação dos Computadores Prólogo A história da humanidade já passou por várias fases. supervisionar. AS GERAÇÕES DE COMPUTADORES É inegável que o homem vive cercados de máquinas. Por isso.\nTinham dispositivos de Entrada/Saída primitivos.000 computadores. EVOLUÇÃO DOS COMPUTADORES Máquina capaz de realizar várias operações matemáticas em curto espaço de tempo. Considerando que só em 1951 surgiram os primeiros computadores produzidos em escala comercial. em 1947. a quantidade de energia consumida e o calor produzido por 20.000 válvulas de um computador da primeira geração. A invenção do transistor. Na mesma época é estabelecida a arquitetura básica de um computador. Seu tamanho era 100 vezes menor que o da válvula. o Whirlwind e o IBM 650 como computadores típicos dessa geração. A primeira máquina capaz de efetuar cálculos complexos sem a intermediação humana é o Mark I.000 sistemas. o IBM 360. No final da década de 50. eram mais confiáveis e o seu representante clássico foi o IBM 1401 e seu sucessor o IBM 7094. Entre os modelos 1401 e 7094. Quarta geração A quarta geração é localizada a partir do ano de 1970 ou 1971 até hoje considerando a importância de uma maior escala de integração alcançada pelos CI's de LSI. Desde o surgimento do primeiro computador mecânico. Os computadores da segunda geração á calculavam em microssegundos . Não é difícil de imaginar a confiabilidade. Os computadores da primeira geração normalmente quebravam após não muitas horas de uso. de acordo com programas preestabelecidos que atendem a finalidades específicas. chamada System/360. Segunda Geração Nos equipamentos de segunda geração. um grupo conclui o ENIAC (Eletronic Numerical Integrator and Computer). que surge em 1944 e tem 15 m por 2. com seis modelos básicos e várias opções de expansão que realizava mais de 2 milhões de adições por segundo e cerca de 500 mil multiplicações. a Texas Instruments anuncia os resultados de uma pesquisa com circuito integrado. que já calculava em nanosegundos (bilionésimos). os relés. posteriormente. que permitiram o avanço dos microprocessadores. O evento considerado precursor da terceira geração é o anúncio em 7 de abril de 1964 da família criada por Gene Amdahl. Dois anos depois. Em 1880. era mais rápido e mais confiável.5. Esse fato tornou seus antecessores totalmente obsoletos e possibilitou à IBM comercializar bem mais 30. mas seu início é classificado em 1942 e 1951. Terceira geração A terceira geração começa com a substituição dos transistores pela tecnologia de circuitos integrados . consumia menos energia. a International Business Machines (IBM).transistores e outros componentes eletrônicos miniaturizados e montados num único chip -. definindo a quarta geração de 1975. unidade central de processamento e dispositivos de entrada e saída de dados. A partir de 1930 são feitas experiências para substituir as partes mecânicas por elétricas. Finalmente. não precisava de tempo para aquecimento. a válvula foi substituída pelo transistor. em 1924. As partes mecânicas iam sendo substituídas por componentes elétricos e. em 1880. a IBM vendeu mais de 10. com o advento dos microprocessadores e dos microcomputadores.HISTÓRIA DOS COMPUTADORES ± As Gerações Primeira geração Os computadores de primeira geração são todos os baseados em tecnologias de válvulas eletrônicas. já totalmente transistorizado. o americano Hermann Hollerith (1860-1929) desenvolve o primeiro computador mecânico e funda a empresa que se tornaria. O transistor foi desenvolvido em 1947 no Bell Laboratories e por William Shockley. calculavam com uma velocidade só de milésimos de segundo e eram programados em linguagem de máquina. tecnologia usada entre 1959 e 1965. nos EUA. pode-se iniciar a primeira geração com o UNIVAC I destacando o EDVAC. Esta geração vai até 1959. as válvulas e os transistores dando lugar aos chips. o objetivo foi desenvolver máquinas cada vez menores e com maior capacidade. empregada até hoje: memória.Brattain. mil vezes mais rápido que o Mark I. substitui a válvula e propicia a criação dos primeiros modelos de tamanho reduzido e preço mais acessível. mas considerando que a miniaturização de fato com os VLSI's. base dos microcomputadores. J. . a outra corrente usa o mesmo argumento da anterior.\ncada vez mais potentes: 286. em 1975. a utilizarem o seu sistema. 386DX. resistores e capacitores construídos sobre uma base de silício (material semicondutor). a IBM lança o PC-XT. Transforma qualquer informação. Quanto ao porte (tamanho) Os computadores podem ser classificados quanto ao seu porte em: Mainframes (ou computadores de grande porte) Manipulam grande quantidade de informações atendendo vários usuários ao mesmo tempo. internamente.0. Gates se antecipa a uma demanda do mercado por softwares e. Com ele. o que permite que um mesmo programa funcione em micros de diversos fabricantes. em 1976. dispositivo que reúne num mesmo circuito integrado todas as funções do processador central. Em 1995 uma nova versão vende 7 milhões de cópias em menos de dois meses após o lançamento. Bill Gates convence outras companhias. Os computadores analógicos tem emprego principalmente em laboratórios e para aplicações científicas e tecnológicas. dependendo de suas características eles podem ser divididos em vários grupos: y y y y Quanto à característica de operação Quanto ao porte (tamanho) Quanto à característica de construção Outras classificações Quanto à característica de operação Analógicos .representam variáveis por meio de analogias físicas. a Intel projeta o microprocessador. sistema operacional que utiliza também o ícone e o mouse em PC. a IBM lança o seu PC (Personal Computer) e contrata a Microsoft para desenvolver o sistema operacional. Trata-se de uma classe de computadores que resolve problemas referentes a condições físicas. enquanto os computadores digitais têm emprego mais generalizado. Supercomputadores . O Windows só alcança a partir de 1990. o MS-DOS. o primeiro modelo de microcomputador. é criado em uma garagem. em números (trabalha com dígitos). 486DX. utilizando circuitos equivalentes como analogia ao fenômeno físico.um conjunto de transistores. que é lançado em 1984 e revoluciona o mercado promovendo o uso de ícones e do mouse. a Microsoft lança o Windows. o programador americano Bill Gates (1955) adapta a linguagem Basic dos computadores de grande porte para o Altair. CLASSIFICAÇÃO DOS COMPUTADORES Existem muitas formas de se classificar os computadores. O computador analógico "mede". Em 1983. o Apple I. além da IBM. chamado chip. A arquitetura é copiada em todo o mundo e os micros tipo PC passam a ser conhecidos pelos modelos do microprocessador. 486SX. O ícone é um símbolo gráfico que indica um comando e o mouse substitui muitas das funções do teclado. avança a miniaturização dos equipamentos eletrônicos. com a versão 3. Primeiro PC . por meio de quantidades mecânicas ou elétricas. No final dos anos 60. Especialmente voltados a aplicações comerciais. funda a Microsoft. A IBM é a primeira a lançar modelos com a nova tecnologia. 386SX. O primeiro computador pessoal. O único micro a fazer frente aos PC's é o Macintosh.Em 1974.processa a informação representando-a por combinação de dados discretos ou descontínuos. Pentium e Pentium Pró (lançado em 1955). Digitais . pelos americanos Steven Jobs (1955) e Stephan Wozniak. O computador digital "conta". Cinco anos depois. No ano seguinte.\n1.Utilização em laboratórios de pesquisa . Frente à capacidade e aplicação dos microcomputadores no mercado atual da informática. * Mantissa: parte fracionária de um valor numérico. Supermicros Plataforma de ambiente multiusuário e multitarefa (redes). Minicomputadores Panorama atual da Informática: classe de computadores em extinção (desaparecendo do mercado) em função da diminuição dos preços dos mainframes e o aumento da potência dos supermicros. marco importante na história da Informática.8. total interação com o usuário através da facilidade de operação (softwares amigáveis) e recursos visuais. Quanto à característica de construção Quanto à característica de construção os computadores são agrupados em gerações.160 GIGAFLOPS * Ponto flutuante: representação de dados numéricos usando posição móvel do ponto flutuante do ponto decimal através da mantissa e do expoente. cujas unidades usadas para medir a capacidade de cálculo do computador (medida de desempenho . Muito rápidos. Neste ponto alguns autores discordam quando ao início exato de cada período. Gerações Época Exemplos Primeira 1957-1959 ENLAC Segunda Terceira 1959-1965 1965-1975 IBM 1401 IBM 360 Quarta 1975 IBM 3090 Quinta 199? Pentium . Complexidade tecnológica transparente ao usuário: desenvolvimento maciço de ferramentas e programas (crescente capacidade e potencial de aplicações). Teraflops: em termos de rapidez equivale a um computador com capacidade de 1 milhão de PCs trabalhando juntos ao mesmo tempo. Compaq (micros portáteis). Baixo custo 2. Indústria dos microcomputadores: Aplle (Lisa e Macintosh). 3. provocada pela velocidade do desenvolvimento tecnológico. Microcomputadores Década de 70.480 MIPS Cray III .000 MIPS Cray IV . Seymour Roger Cray "Pai dos Supercomputadores" Cray I ± 80 MIPS Cray II.performance) são Gigaflops e Teraflops (respectivamente. centros militares e de inteligência artificial. surgimento dos primeiros microcomputadores em escala comercial. IBM (IBM-PC). milhões e bilhões de operações de ponto flutuante por segundo). A mudança de uma geração à outra se dá pela alteração da tecnologia utilizada na construção dos computadores. Avalia-se o desempenho dos supercomputadores em termos de MIPS (milhões de instruções executadas por segundo). pode-se ressaltar a tendência ao desuso progressivo dos demais tipos de equipamentos em função do uso generalizado da tecnologia de microinformática. Obsolência: vida útil física e principalmente vida útil tecnológica do equipamento.\nEram mais rápidos.VLSI >1 M > 10 CI . Linguagens simbólicas (ASSEMBLY). Milhares de operações por segundo. dispositivos de entrada/saída primitivos. produzido em escala comercial (15 unidades foram vendidas) tinha pouco mais que 20m2. A seguir tem-se as principais características dessa geração. grande consumo de energia. y circuitos eletrônicos a válvulas.1975) A principal característica dessa geração é a utilização de circuitos integrados (miniaturização dos transistores e outros componentes eletrônicos). 3ª Geração (1965-1974) . y y y y y y Operações internas em microssegundos. quebravam com muita freqüência.Típicos UNIVAC I IBM 7094 EDVAC CDC6600 WHIRLWIND IBM 650 Válvula 2K 0. centenas de operações por segundo. 2ª Geração (1955-1964) .(1959 -1965) Computadores com transistores.(1965 . Consumiam pouca energia que os anteriores.1959) Principal exemplo desse período é o UNIVAC I.01 IBM370 DECPDP-8 CRAY Micros (evolução do computador digital) CI . y y y y y y y operações internas em milissegundos. baixíssimo consumo de energia. . Eram menores.ULSI MeG > 100 ou gigaflops (1 bilhão de operações por segundo) Tecnologia Básica (Componentes) Memória MIPS Circuito Transistor Integrado (CI) 32K 128K 0. y y y y muito mais confiáveis (não há peças móveis). programação em linguagem de máquina. esquentavam muito. Um transistor era 100 vezes menor que uma válvula o que permitiu a redução do tamanho dos computadores.1 1K 1ª Geração (1946-1954) . Características dessa geração: y circuitos eletrônicos transistorizados. muito menores. custo menor.(1951 .\nDezenas de CIs MSI (Medium Scale of Integration) . o número de usuários e a interligação entre os computadores. Redes: y Peer-to-peer (ponto a ponto): todas as estações tem o mesmo "status".Década de 90 operações internas em nanosegundos.y escala de integração crescente (cada vez mais componentes num mesmo chip.000 circuitos .Década de 80 Aproximadamente 100. O QUE FAZ UM COMPUTADOR .Centenas de milhares de CIs ULSI (Ultra Large Scale of Integration) .Início da década de 60 Aproximadamente 100 circuitos .Milhões de CIs Quantos circuitos eletrônicos podem-se colocar num único chip: y y y Aproximadamente 10 circuitos .Milhares de CIs VLSI (Very Large Scale of Integration) .Década de 70 y y Aproximadamente 10.projeto japonês: sistemas de computação envolvendo inteligência artificial. Alguns autores consideram que a terceira geração vai até os dias de hoje. através de processos mais precisos de miniaturização de componentes). pois a partir desse ponto começou a tornar-se acessível a qualquer pessoa a compra de um computador de uso pessoal. Há autores que consideram uma quinta geração de computadores que surge a partir do desenvolvimento de máquinas de processamento paralelo.Final da década de 60 Aproximadamente 1.000.(1975) y LSI (Large Scale of Integration) e VLSI (Very Large Scale of Integration) Microprocessador (levou a criação dos microcomputadores). Sistema centralizado e distribuído: processamento concentrado em um ponto X processamento distribuído em vários pontos.hoje) . Outras Classificações Os computadores podem ser classificados conforme número de processadores. Outros consideram que a partir da tecnologia LSI e até mesmo VLSI são o marco para o início da quarta geração de computadores. arquitetura Risc. Sistema monousuário e multiusuário: um usuário X vários usuários. sistemas especialistas e linguagem natural. SSI (Small Scale of Integration) . y y y Sistema monoprocessado e multiprocessado: um processador X vários processadores.000 circuitos a 1. 5ª Geração .000 circuitos .Centenas de CIs LSI (Large Scale of Integration) . Este é o principal marco dessa geração o que permitiu que a informática realmente realizasse o seu processo de difusão. Uma rede é um conjunto de computadores interligados (iguais ou diferentes) que compartilham recursos e trocam informações. 4ª Geração (1974 . computadores com inteligência artificial (sistemas especialistas) e desenvolvimento de linguagens naturais. y Baseado em servidor: alguns computadores (servidores) fornecem recursos para as demais estações da rede.000 de circuitos .\nmas para isto algumas etapas rigorosas deve ser seguida para que assegure a validade e a qualidade do programa obtido. é a que mostramos no seguinte esquema: Baixo nível (Linguagem de máquina) Intermediárias (Linguagem Assembly) Gerenciamento Científicos Uso geral Específicos Linguagens de Programação Alto Nível COMO É ESTRUTURADA A PROGRAMAÇÃO Devemos primeiro definir o PROBLEMA a ser TRATADO através do uso de um computador. que é uma estrutura dinâmica. pronto para o uso. O programa é uma estrutura estática com uma função específica.O computador realiza tarefas de acordo com instruções que lhes são fornecidas por um programa. um programa consiste numa seqüência de instruções que tratam um conjunto de dados com o objetivo de obter certos resultados de saída a partir de certos dados iniciais ou dados de entrada. Aqui se incluem as instruções que fazem a depuração ou validação dos dados. Devemos formular um problema até obtermos um algoritmo de resolução implementado no computador. Não devemos confundir programa com dados: enquanto o programa define o modo de trabalho do computador. 2. armazenando-os na memória principal do computador. Uma classificação muito comum das linguagens de programação do ponto de vista das aplicações. Estes processo consiste em várias fases. Processamento = Conjunto de instruções que resolvem o problema a partir dos dados introduzidos. uma programa é estruturado nas seguintes partes: 1. deixando os resultados na memória central. os dados são elementos que serão manipulados. O ato de executar as instruções chama-se PROCESSO. PROGRAMA = seqüência de instruções PROCESSO = seqüências de ações Estrutura de um programa De modo geral. Do ponto de vista de funcionalidade. que são elas: 1. O dispositivo físico carregado de efetuar essa tarefa recebe o nome de processador. Saída de resultado = É constituída pelas instruções que fazem com que os dados resultantes do processo sejam enviados para fora através de algum dispositivo externo. Entrada de dados = Formada por todas as instruções que obtêm os dados utilizados pelo programa de um dispositivo externo. Programa A seqüência lógica de instruções que determina ao computador o que ele deve fazer é chamada de PROGRAMA. 3. Análise do problema .\nChamado de sistema binário. obtendo-se o que se chama de programa-fonte. e isto só ocorrerá quando as instruções deste programa seguirem uma série de normas e estruturas bem definidas. A linguagem do computador é completamente diferente da que estamos acostumados a usar em nosso dia-a-dia. faz uma análise sintática do programa. y Fase de compilação = Consiste em obter o programa ± objeto a partir do programa-fonte. y Fase de codificação = Descrição em linguagem de programação de alto nível do algoritmo obtido na fase anterior.y Fase de análise = consiste no estudo detalhado do problema a fim de se obter uma série de documentos (especificação) em que se defina o processo a ser seguido na automação. Para que um computador possa executar um programa. Baixo . são utilizados os formulários de codificação. Alto Compilador Programa Objeto Resultado Ling. Assembler (montador) ± para linguagem de baixo nível. porém lenta) Linguagem de Baixo Nível = linguagem de máquina (mais semelhantes com a máquina) Para que haja a tradução de linguagem de alto nível para a linguagem de baixo nível existe três tipos de meios: Compilador e Interpretador ± para linguagem de alto nível. LINGUAGEM É uma maneira de comunicação que segue uma forma e uma estrutura com significado interpretável. geralmente através de um editor de programas ou processador de textos. Instalação e depuração y Fase de edição = Nesta fase o programa é transcrito para o computador. Está dividido em: Análise preliminar Análise funcional Análise de projeto y Fase de programação = Não se implementa o algoritmo que pode estar representado através de um fluxograma ou alguma das outras notações intermediárias. linguagem de programação é um conjunto finito de palavras. O resultado final dessa fase é o programa executável. baseados nos números 0 e 1. A escrita de acordo com um conjunto de normas e estruturas preestabelecidas é chamada de LINGUAGEM. A máquina só trabalha com códigos numéricos (linguagem de máquina). 2. Para isso. y Fase de montagem (linkagem) = Nessa fase são incluídas algumas rotinas internas da linguagem e. são ligados os diversos módulos existentes. é necessário que consiga entendê-lo. se o método de programar utilizado for modular. Portanto. através do compilador da linguagem. ausente e presente. escrito com o objetivo de orientar a realização de uma tarefa pelo computador. Programa Fonte Ling. Linguagem de Alto Nível = linguagem natural do homem (muito clara. y Fase de testes = O programa obtido através da fase de montagem é submetido a um conjunto de testes com diversas amostras de entrada. comandos e instruções. que representam impulsos elétricos. O compilador além de efetuar a tradução.\nonde uma variável equivale a um item que pode tomar diferentes valores. substituíram os dígitos binários por símbolos de fácil entendimento para os programadores. pois ele é a origem do processo) para um programa equivalente escrito em linguagem de máquina (chamado de programa objeto). A linguagem de máquina é a linguagem lida pela CPU. Linguagens de 1ª Geração A 1ª geração forma as linguagens de máquina. Muito complexas. Linguagem de 2ª Geração Nesta fase os desenvolvedores de linguagem de programação. as organizações podem focar menos na escrita do código e concentrar mais esforços para empregar as linguagens de programação na solução de problemas empresariais com mais eficácia. Dividimos a evolução das linguagens de programação em cinco gerações: 1. Interpretador É um programa residente de alguns computadores (neste caso já vem gravado de fábrica). A diferença entre compilador e interpretador está na maneira de traduzir: O compilador = traduz o programa todo para depois executar apenas o traduzido.Compilador É um programa interno do computador que traduz nosso programa escrito em linguagem de alto nível (chamado programa-fonte. então torna a execução mais rápida. Seguindo os padrões de linguagem de programação. 2. É considerada uma linguagem de baixo nível. pois exigia o uso de muitos símbolos binários para a execução de uma simples instrução. Uma regra do tipo ³nomes das variáveis precisam iniciar com uma letra´ constitui exemplo de um padrão. . e os programas usados para traduzi-las em código de máquina são chamados Assemblers. também encontrado em disco. instrução por instrução e o programa permanece na forma fonte. O interpretador = traduz e envia para execução. Sintaxe da Linguagem A sintaxe da linguagem estabelece como os símbolos devem ser combinados em declarações que forneçam significativas para a CPU. Transforma cada comando de um programa escrito em linguagem de alto nível para o computador executar em linguagem de máquina. Foi quando surgiu a linguagem Assembly.\ntécnicas de programação visual. O dBase foi o gerenciador de arquivos que mais se popularizou. inclusive no trato de funções matemáticas. Visual Basic. Ex. Algumas linguagens de alto nível: y ALGOL (Algorithmic Oriented Language) ± Voltada à expressão de algoritmos. com capacidade de grande desenvolvimento. Tornou-se a linguagem de programação mais popular do mundo. como sistemas operacionais. que eram muito freqüentes nas linguagens de máquina. y COBOL (Commom Bussiness Oriented Language) ± Resultado de esforço para estabelecer uma linguagem padrão de programação no processamento comercial. Algumas características dessas linguagens incluem a capacidade de consultas e de manipulação de Banco de Dados. Linguagens de 4ª Geração É menos orientada a procedimentos e mais parecida com o inglês do que as linguagens de 3ª geração. Ex. portanto de característica científica. pois utilizavam-se de diversos símbolos para representar os caracteres. São linguagens de alto nível que precisam ser convertidas por um software básico. 3. para que o programa possa ser escrito e lido de u ma maneira mais simples. y APL (A Programming Language) ± Destinada a terminais com aplicações interativas. São mais fáceis de aprender e de usar.: Java. Cobol. C++ 4. capacidade de geração de código executável e funcionalidades gráficas. 5. que é uma linguagem de programação orientada a objetos.: Fortran. também denominadas de linguagens avançadas. É pouco difundida em face do alto custo do compilador que requer. y BASIC ± É à base de um repertório de instruções simples e poderosas.Os softwares básicos. Delphi. Linguagens de Alto Nível As linguagens de alto nível. C++. Linguagens de 5ª Geração As ferramentas com linguagens de 5ª geração apareceram em meados de 1998. eliminando muitas possibilidades de cometerem erros. Ex. C. A versão dBaseIV inclui um SQL (Structured Query Language) para consultas a banco de dados.: Visual C++. Linguagem de 3ª Geração Estas linguagens mantiveram a tendência em direção ao maior uso de símbolos para instruir o computador como completar uma operação. porque sua sintaxe é mais parecida com a forma de expressão do ser humano. y C ± Linguagem estruturada que constituí em ótima ferramenta para codificação de software básico. com vistas a facilitar o trabalho de programadores experientes. São as linguagens orientadas a objeto. Sua versão avançada é o C++. y CLIPPER ± Voltada à gerência de arquivos em microcomputadores. são freqüentemente escritos em linguagem Assembly. gerenciamento de componentes. é a continuação da família dBase. são aquelas que visam se aproximar da linguagem humana. para um código binário. usuário e fabricantes de . SQL (Linguagem de consulta estruturada). Elas combinam geração de código baseado em regras.\npois geralmente também programa. Possui alguns prérequisitos: Sistemas operacionais de servidores. estendendo suporte as áreas relacionadas à instalação de hardware e suporte de primeiro nível ao usuário final. Consulta aos fabricantes em busca de soluções de manutenção e otimização da rede. Parte III ± O Perfil do Profissional de Informática QUEM TRABALHA COM O COMPUTADOR Existem várias áreas onde um profissional de informática pode atuar são elas: Gerente de CPD É um profissional com formação superior. logo depois cedeu espaço para linguagens mais simples e estruturadas. Uso de analisador de protocolos TCP/IP. responsável pelo pessoal e pelo material utilizado nos processamentos. Suporte ao usuário para instalação de aplicações Desktop (ambiente usuário). Suporte de último nível para as equipes de apoio ao usuário. originária da linguagem C. Uso de software de Backup. é responsável pelo desenvolvimento. Uso de ferramentas de gerenciamento/inventário de rede. FORTRAN (Formula Translation) ± Com objetivo de atender às necessidades de tratamento de cálculos sobre fórmulas matemáticas.00 a R$ 2. projetadas para funcionar sob interfaces gráficas (GUI ± Graphical User Interface). Projeto da rede interna. Uso de software Anti-Vírus. é uma linguagem estruturada e de uso geral. Nível salarial = R$ 3.00 Analista de Sistemas Com formação superior. originária da linguagem Pascal. implantação e manutenção de todos os programas que compõem os sistemas utilizados no CPD.00 a R$ 4. Deve ter noções técnicas e comerciais de toas as possíveis operações que são feitas num processamento. . elaborando um projeto inicial. DELPHI ± Linguagem orientada a objeto. Nível salarial = R$ 2. Atua principalmente: Pesquisa das soluções de tecnologia existentes no mercado. permitindo o programador. Suporte à área de desenvolvimento de aplicações. PASCAL ± Desenvolvida por Nicklaus Whirth em 1971. VISUAL BASIC ± Linguagem orientada a eventos. determinar com facilidade a representação dos objetos através de ícones que irão interagir com as aplicações. A versão mais recente incorpora preceitos de programação orientada a objetos e estruturada. Sistemas operacionais de clientes.970. Esse profissional recorre a técnicas especiais para definir um sistema.584.209. Configuração e manutenção da segurança de rede.y y y y y computadores. com previsão de custos e tempo. configuração e manutenção de software e hardware relacionados aos serviços de infra-estrutura de TI. Deve conhecer linguagens. Define as normas de documentação do desenvolvimento do sistema para que a manutenção seja feita de forma adequada e supervisiona o trabalho dos programadores.987. que depois de aprovado serve de ponto de partida para um projeto final. JAVA ± Linguagem orientada a objeto.00 Analista de Suporte De nível superior. Faz a instalação. portanto é uma função mais abrangente que a de Administrador de Redes.\ntrabalha no desenvolvimento e manutenção de aplicações Desktop (front-end) e de servidores (back-end). Verificação de problemas no Web Site através de uso de logs. etc.722. Desenho Industrial ou Artes Plásticas.00 Programador De nível superior. nem sempre.520.00 a R$ 4.501.381. o que fala alto mesmo é a criatividade.220.299. Conhecimento de protocolos típicos de interredes (Frame Relay. embora recomendável. Conhecimento de recursos existentes para a melhoria do desempenho e portabilidade de banco de dados: índices. Domínio da ferramenta de desenvolvimento adotada pela empresa. além de ser necessário ter conhecimentos básicos de Windows e Internet. nem sempre. este profissional é bem mais raro de se encontrar no mercado e seu salário é proporcionalmente maior. sobre riscos de segurança existentes.). Atua principalmente: Configuração e manutenção da segurança da rede. Em algumas empresas.00 Webdesigner Este profissional é o responsável em aliar um visual bonito e atraente à facilidade de leitura de um site. novos bugs de segurança encontrados em produtos na rede.00 a R$ 4.Nível salarial = R$ 5.00 a R$ 7. Nível salarial = R$ 2. Monitoramento constante de aspectos novos relacionados à segurança (novas técnicas de invasão.Possui alguns prérequisitos: Domínio da linguagem de programação predominante na empresa. Atua principalmente: Suporte ao usuário final para as aplicações desenvolvidas pelo programador.Possui alguns prérequisitos: Domínio do ambiente de scripting predominante na empresa. Nível salarial = R$ 2. Geralmente este profissional tem formação acadêmica em Publicidade. Verificação junto ao Analista de Suporte.893. Nível salarial = R$ 3. este profissional propõe. Domínio da ferramenta de desenvolvimento adotada pela empresa (exemplo: Microsoft Visual Studio). embora recomendável.753. etc). exige-se que o Analista de Segurança também conheça as linguagens de programação utilizadas pela empresa. Atua principalmente:Verificação de desempenho do Web Site.00 a R$ 3. Conhecimento dos gerenciadores de banco de dados. Possui alguns pré-requisitos: Profundo conhecimento do protocolo TCP/IP e dos sistemas operacionais da clientes e de servidores existentes na empresa. ATM. nem sempre. tiggers e stored procedures. Para realizar bem essa tarefa. Nível salarial = R$ 3. Uso de ferramentas de monitoramento de tráfego de rede. X25.00 .00 Programador WEB De nível superior. trabalha com projeto e manutenção do esquema de segurança da rede.329. desenvolvendo toda à parte de comunicação visual do site (design). Conhecimento de gerenciadores de banco de dados. incluindo sniffers.00 a R$ 6. embora recomendável. Domínio da linguagem de programação Web do lado do cliente. Domínio da linguagem de programação Web do lado do servidor predominante na empresa.581. trabalha no desenvolvimento e manutenção de aplicações Web para intranet e/ou Internet. incluindo a segurança de equipamentos (acesso físico) dos dados (acesso não-autorizado) e de sistemas operacionais de clientes e servidores. implementa e monitora a política de segurança quanto ao uso de recursos computacionais.00 Analista de Segurança De nível superior. Profundo conhecimento de configuração e ³atualização de regras´ em firewalls.\n00 a R$ 3. seja criativo. porém com visão pedagógica. Nível salarial = R$ 1. É importante que o profissional tenha bons conhecimentos de pedagogia e dos recursos que a Internet oferece.00 a R$ 2. principalmente daquelas eu envolvam a Internet.100. revisar a publicação (isso mesmo. pois não é específica.123. Nível salarial = R$ 2. ousado e próativo. assim com um canal de distribuição e venda) e deixar tudo nos padrões do site. É o responsável pelo site todo.987. links e programação visual.00 Designer ³Instrucional´ Profissional que converte conteúdo educacional para a WEB. Jornalismo ou Letras.00 .00 WEB Master Profissional que cuida de toda a estrutura do site.00 a R$ 3.520.00 WEB Writer Profissional que prepara todos os textos do site (pode ou não incluir textos jornalísticos). conteúdo e tudo mais. mas os profissionais bem preparados ainda são raros. Irá colocar interatividade e cores.823. um site é uma publicação. O profissional pode ser formado em Publicidade e Propaganda.558. Nível salarial = R$ 3. Pode ser um profissional formado em Análise de Sistemas.00 Produtor de WEB Embora muitas pessoas ainda utilizem essa nomenclatura.WEB developer Profissional que irá desenvolver e aplicar sistemas específicos de Internet para possibilitar e qualificar a navegação.982. Nível salarial = R$ 1.00 a R$ 3. mas é fundamental que o profissional tenha espírito de liderança.00 a R$ 2. imagem.00 a R$ 3.987. geralmente institucionais.989. A demanda pelo cargo hoje é grande.00 Editor de WEB Tem a função de editar. para que a informação e os ensinamentos não se percam entre tantos recursos. respondendo por itens como contas de e-mail. Ciências da Computação ou até mesmo um autodidata.525.00 Gerente de Tecnologia WEB Precisa ser um conhecedor de tecnologia.150.210. Nível salarial = R$ 2. Nível salarial = R$ 2. está em desuso.856.00 a R$ 2. mas tem que saber quais ferramentas e de que tipo de profissional ele irá precisar para desenvolver determinado produto ou solução. A formação nesse caso varia muito.750. Nível salarial = R$ 1. Não precisa necessariamente saber executar. O produtor pode produzir design. Por isso precisa ser um profundo conhecedor de Internet e ter uma boa visão de negócio.\nconfiguração e manutenção dos sistemas operacionais e de serviços de infra-estrutura de TI.500. Domínio da linguagem de programação predominante na empresa e conhecimentos de técnicas de programação que melhorem o desempenho do banco de dados.00 Net Sufer O trabalho desse profissional é o de navegar o dia todo pela Internet. Atua principalmente: Suporte á área de desenvolvimento de aplicações.00 a R$ 3. trabalha na manutenção e otimização dos bancos de dados das empresas. Isso porque.00 Administrador de Banco de Dados (DBA) Profissional em geral com nível superior em Ciências da Computação. será ele o responsável por vender o site.000. Nível salarial = R$ 2.500. Nível salarial = R$ 1. Possui alguns pré-requisitos: Sistemas operacionais de servidores. Suporte de último nível para as equipes de apoio aos usuários.982. Suporte à área de desenvolvimento de aplicações.200.000.980. opinião do Internauta. Possui alguns pré-requisitos: Conhecimento de sistemas gerenciadores de banco de dados.00.00 a R$ 3.00 Administrador de Redes Profissional de nível superior. o administrador transforma o ambiente empresarial. Uso de software Anti-Vírus. Suporte de último nível para as equipes de apoio aos usuários.00 a R$ 4. Formação em Administração e ou Marketing é a mais procurada para o cargo.700. Nível salarial = R$ 1. qual o desempenho dos concorrentes.500. embora recomendável. Trabalha na instalação. Ao otimizar o fluxo e informações. Uso de ferramentas de gerenciamento / inventário de rede. Nível salarial = R$ 2. Configuração e manutenção da segurança de rede. Uso de analisador de protocolos TCP/IP. buscar idéias para agregar valor ao site e checar se não há outras empresas utilizando produtos do site (direitos autorais). já que contribui para a rapidez na tomada de decisões e para a minimização de riscos dentro da empresa. Nível salarial = R$ 2.00 a R$ 2. Curiosidades sobre Carreiras ± Empregos de Futuro Analista de CRM . pois é responsável pelo planejamento e gerenciamento dos bancos de dados.000. Vai verificar e analisar o que a concorrência está fazendo. Gerencia visitação.00 a R$ 3. retorno que o cliente tem ao anunciar ou participar de algum serviço do site e tudo aquilo que for medir aceitação e satisfação com relação ao site. triggers e stored procedures.00 Profissional de TI Este profissional de informática deve trabalhar diretamente ligado as áreas de negócios das empresas. Sistemas operacionais de clientes. com objetivo de desenvolver novas formas de tratamento da informação.Gerente de WEB Marketing Esse profissional faz a ponte entre o site. o cliente e o público. Usos de software de Backup. Atua principalmente: Pesquisas das soluções de tecnologia existentes no mercado. Conhecimento de Data Warehouse e sistemas OLAP. nem sempre. Domínio dos recursos existentes para a melhoria do desempenho e portabilidade de banco de dados: índices.\nele costuma se manter atualizado em eventos de segurança. ³O comércio eletrônico bussiness-to-bussiness vai continuar sendo importante e uma ferramenta muito utilizada pelas empresas´. diretor da consultoria BearingPoint. Fundamental na administração do crescente volume de dados corporativos. pois muitas ainda não têm um projeto de política de segurança estruturado´.00 Engenheiro de Rede Linux Não há com resistir: os analistas de sistemas precisam estar atentos à tendência do software livre. ³O CSO precisa ter trânsito livre por todos os departamentos para implantar procedimentos de segurança em todas as rotinas da empresa´. Geralmente. SQL . O e-bussiness strategist também organiza a prospecção de novos produtos a serem oferecidos virtualmente.00 a R$ 5.00 a R$ 10. DB2. como a analista de CRM. diretor de recursos humanos na Oracle no Brasil. mas não a importância dentro das empresas. Hoje. é bom abrir a cabeça. O potencial é grande. O profissional de segurança não sai de moda ± ao contrário.00 a R$ 9. deixando de se restringir ao departamento de tecnologia. afirma Vanderlei Gaido. vírus.800.000.Para se relacionar bem com os clientes.00 Chief Security Officer (CSO) Hackers. Oracle. é um consultor externo que trabalha a custo/hora de 150 reais.00 a R$ 3. análise e modelagem de dados PostgreSQL. Não que exista uma regra ± siga este ou aquele caminho -. ataques híbridos. afirma Paulo Feldmann. diretor comercial da Proteus. ³Apesar de a sigla já ter caído no lugar comum. O comandante da área é o CSO (Chief Security Officer). coordena e controla projetos de comércio eletrônico. Tem sido muito procurado por turmas de Linux. diz André Rapoport.000. mas conhecer o sistema operacional Linux. congressos e palestras. Nível salarial = R$ 4. Nível salarial = R$ 1. Os consultores de carreira recomendam ao profissional que quer brilhar nessa área mesclar conhecimentos técnicos e de marketing. as linguagens de desenvolvimento que gravitam em torno do software aberto e os bancos de dados que requerem gastos apenas no desenvolvimento e manutenção são bons caminhos neste momento. sistemas de cobrança on-line e logística. a maior parte das boas oportunidades está no B2B. Se você ficou traumatizado com o quebra-quebra das lojas on-line na euforia pontocom e não quer nem ouvir falar em comércio eletrônico. cavalos-de-tróia. as empresas têm investido altas cifras na implementação e na manutenção de software CRM. E demandado mão-de-obra especializada.000. é cada vez mais requisitado nas grandes empresas e principalmente nos bancos. que é multiplataforma e trabalha muito bem junto com o Linux.000.000.093. o administrador de banco de dados precisa conhecer lógica de programação visual. conceitos de banco de dados. Autodidata.00 Especialista em Administração de Banco de Dados Os bancos de dados podem ter perdido o glamour de alguns anos atrás.00 E-Bussiness Strategist Esse profissional gerencia. mas também a demanda por profissionais especializados na linguagem PHP. Nível salarial = R$ 4. essa demanda ainda não foi totalmente atendida nas empresas´. Nível salarial = R$ 2. Isso envolve produtos da empresa. ³É uma área que tende a crescer e se tornar padrão dentro das companhias. A carreira ganhou o mundo empresarial.000.\nPrimiere. Hoje.00 por mês. Análise de Modelagem de Dados. Nível salarial = R$ 4. O velho DBA (Database Administrator) continua em alta. como autônomo pode ganhar mais de R$ 7. as próprias empresas estão desenvolvendo seus vídeos e apresentações. são atrativos apenas para profissionais em início de carreira. ³A função de DBA exige dos profissionais a ampliação de seus conhecimentos. gerente de TI se envolve na elaboração de projetos de implantação. principalmente neste período de baixo recursos e de corte custos elevados em TI. . Deve dirigir. Ele também coordena a aplicação dos recursos destinados aos projetos e controla decisões técnicas e administrativas relativas aos projetos de informática.961. consultor DBA do TIC. o profissional que quer se destacar deve ter vasto conhecimento sobre PDI (Plano Diretor de Informática).000. Ele precisa entregar o projeto no tempo certo e de acordo com a solicitação do cliente.00 Digital Vídeo Maker Com a queda livre nos preços das câmeras digitais. seja ele interno ou terceirizado. Não é tarefa fácil. já que com a banda larga devem proliferar aplicações de vídeos para Internet.Net. placas de captura de vídeo e softwares de edição.00 a R$ 7. Nível salarial = R$ 1. Esta é uma sigla que significa "Lesões por Esforços Repetitivos". afirma Cezar dos Santos.629. Nível salarial = R$ 1. mySQL. racionalização e redesenho de processos e ainda responde pelo dia-a-dia da manutenção dos sistemas. que está num degrau muito mais alto da hierarquia das empresas.00. UML (Unified Modeling Language) em controle de problemas e mudanças. Gerente de Tecnologia de Informação Algumas vezes confundido com o CIO. Os salários de um Digital Vídeo Maker.00 a R$ 10.800.590.00 a R$ 13. Na realidade a LER é uma soma de doenças oriundas da repetição de movimentos. se essa atividade não é terceirizada.00 a R$ 2.Server. Nível salarial = R$ 2. entre outros. afirma Paulino Michelazzo. Mas que profissional deve se sair bem nesta área? Aquele que dominar edição não linear de vídeo. o data Center da Telefônica. Nível salarial = R$ 7.NET A área de desenvolvimento é sempre promissora. A tendência abre mais uma porta no mercado de trabalho.00 a R$ 5. o quente é Java e. entretanto. Gerência de Projetos e Sistemas. Análise e Projeto de Sistemas.500. Para se diferenciar. After Effects e VRWorx. coordenar as atividades das equipes de análise quanto às necessidades de sistemas informatizados a serem implantados. Desenvolvedor JAVA E. mas algumas linguagens têm se destacado. DOENÇAS DA ÁREA DE INFORMÁTICA Com a vida moderna (utilização de muitas máquinas) surgiu um novo tipo de doença denominada "LER".500.00 Coordenador de Projetos de Informática Empregar deve ser o principal verbo na vida de um gerente de projeto.00. eles devem abranger outras ares além daquelas relativas aos antigos conceitos de administração de banco de dados´.800. ³Dentro dessas plataformas. Photoshop.200. há boas oportunidades principalmente para o desenvolvedor de aplicações voltados á dispositivos móveis´. Além de graduação e de pós. coordenador da faculdade de Informática e Administração Paulista (Fiap) e desenvolvedor para Internet.000.283.00.\nd) Miosite Inflamação da cintura e das costas. É uma inflamação das mãos. Inclusive estes sintomas podem aparecer ao serem feitas tarefas rotineiras. A digitação faz com que sejam repetidos milhares de vezes os mesmos movimentos e isto pode causar a inflamação "interna" dos dedos. Nem todas as tarefas rotineiras podem ser executadas. c) Sinovite Uma outra doença que pode acontecer com o uso do teclado. E os sintomas aparecem lentamente. para que os sintomas desapareçam. queimação. Outros sintomas são: fraqueza. Existem 4 fases no desenvolvimento da LER. Ocasionalmente podem aparecer pontadas durante o período de trabalho. existe mais uma sensação de peso e desconforto na parte afetada. o tempo de repouso precisa ser maior do que na fase anterior. fisgadas. podem surgir cãibras. f) Epicondilite Inflamação do cotovelo.Quais são essas doenças a) Tenossinovite Esta é uma doença que pode acontecer para as pessoas que trabalham com teclado. 3ª Fase: a dor é forte e bem mais persistente. Porém. fadiga. 2ª Fase: a dor é mais intensa e demorada. A pessoa começa a sentir dormência. . Dormindo. palidez e suor nas mãos. o local afetado permanece levemente dolorido. inchaço. e) Capsulite Inflamação do antebraço. O sono é inconstante. Quando que os sintomas desaparecem nesta fase? Nesta segunda fase. 1ª Fase: no início a dor é leve. Os sintomas pioram com as mudanças de temperatura. formigamento. Como que essas doenças se manifestam Elas podem demorar meses ou mesmo anos até aparecer. as tarefas podem ser desempenhadas normalmente. as domésticas. Quando que os sintomas desaparecem nesta fase? Normalmente eles somem após um repouso. Quando que os sintomas desaparecem nesta fase? A partir desta fase. etc. choques. como por exemplo. b) Tendinite Também acontece para quem trabalha com teclado e também inflama os dedos.\na) Ficar com os pés sem apoio. b) Sentar-se na ponta da cadeira. Tem insônia. Passa a ser agressiva. h) Deixar o monitor distante dos seus olhos. A pessoa não pode executar mais nenhuma tarefa. de tal forma que você possa trabalhar com os antebraços apoiados na mesa. e) Não coloque o monitor de vídeo fora da linha de visão. d) Sempre apoie os seus pés. O local afetado começa a apresentar deformidades. sente medo. g) Segurar o telefone com o ombro e a cabeça. A pessoa sente -se muito fraca. conseqüentemente você irá digitar com maior rapidez e exatidão. Quando que os sintomas desaparecem nesta fase? Os sintomas não desaparecem e a dor fica insuportável. depressão e angústia. Tem dificuldade de concentrar-se. f) Andar curvado.4ª Fase: dor é forte e contínua mesmo quando a parte afetada está imobilizada. g) Nunca permita reflexos no monitor Quais são os exercícios que ajudam a previnir a LER Os exercícios abaixo devem ser executados da seguinte forma: . reduzindo assim a fadiga. c) A inclinação do encosto deve ficar de tal forma que o seu tronco forme um ângulo reto com as suas coxas. A distância correta do monitor está entre 50 a 70 centímetros dos seus olhos. Quais são as posturas que evitam a LER a) Ajuste corretamente a sua cadeira. c) Ficar com os braços e as costas sem apoio (curvar-se para digitar). Isto irá diminuir a rigidez dos músculos. Ajuste-o de tal forma que a parte superior nunca fique acima dos seus olhos. Quem pode ser afetado pela LER Todas as pessoas e em qualquer faixa etária. Quais são as posturas que podem levar a LER Veja a seguir as posturas incorretas e que você deve evitar. b) Apoie suas costas totalmente no encosto da cadeira. e) Permanecer muito tempo sentado (a) com as pernas cruzadas.\n4) Estique os braços para cima. Mantenha o alongamento por 10 segundos.relaxe o corpo para executar os exercícios. Mantenha este alongamento por 10 segundos. Entrelace as mãos e empurre os braços para frente com os cotovelos esticados. gire os punhos para a esquerda e depois para a direita. mantenha os dedos e punhos totalmente relaxados. . Repita o exercício 5 vezes para cada lado. . Repita o exercício 5 vezes. Pressione e separe as palmas das mãos. Mantenha o alongamento por 10 segundos. puxe os cotovelos para trás. Repita o exercício 5 vezes. Volte à posição inicial de extensão. Repita o exercício 5 vezes. Exercícios para as costas e região lombar 1) Sente-se com as costas apoiadas no assento da cadeira. Dobre os punhos e volte às mãos para baixo. Permaneça assim por 10 segundos. 11) Estique os braços para cima. Repita 5 vezes o ato de puxar os cotovelos para trás. . 8) Abra os braços lateralmente na altura dos ombros. Mantenha o alongamento por 10 segundos. Repita o exercício 5 vezes. Deixe o punho flexível de tal forma a permitir a pressão dos dedos.respire normalmente. 3) Separe e estenda os dedos. Mantenha-os encostados por 5 segundos. Mantenha-os assim por 5 segundos. Mantenha o exercício durante 10 segundos e repita-o 5 vezes. 10) Una a ponta dos dedos de uma mão contra as da outra. 7) Abra os braços lateralmente na altura dos ombros.faça os exercícios de uma a duas vezes por dia Exercícios para as mãos e braços 1) Enconste o dedo polegar e o dedo mínimo. Lentamente. 5) Coloque os braços para frente. 9) Junte as mãos entrelaçando os dedos. 6) Solte os braços.. Repita o exercício 5 vezes. entrelace os dedos de forma que as palmas das mãos fiquem para cima. com as palmas das mãos voltadas para fora e mantendo os dedos esticados. 2) Flexione o dedo polegar e o mantenha por 5 segundos. Deixe cair os ombros. Solte o ar pela boca enquanto você realiza o alongamento. mantendo-os na altura dos ombros. 2) Coloque as mãos atrás da cabeça. Exercite por 10 segundos. as mão sobre as coxas e os pés encostados no chão. cotovelos bem abertos e tronco ereto.comece os exercícios de forma lenta. Mantenha a pressão por 10 segundos. puxe o ar pelo nariz e solte-o pela boca. Repita o exercício 5 vezes. Mantenha o alongamento por 10 segundos. .exercite-se de forma a não sentir dor. Repita o exercício 5 vezes. . agora sacuda as mãos. dobre os punhos com as mãos para baixo. Repita o exercício 5 vezes. entrelace os dedos de forma que as palmas das mãos fiquem para cima.\nconforme indica a figura abaixo. solte o ar pela boca. Repita o exercício 5 vezes. de tal forma a praticamente encostar a orelha ao ombro. Inverta a posição utilizando agora a mão direita. Mantenha esta posição por 20 segundos e depois inverta a posição das pernas. Exercícios para os membros inferiores e braços 1) Apoie-se em uma parede. Repita o exercício 5 vezes. Exercícios para os olhos . por 10 segundos). Repita o exercício 5 vezes. Repita o exercício 5 vezes. (observação: não leve a cabeça para trás). Mantenha a posição por 20 segundos em cada perna. empurrando a barriga para fora. Com a mão esquerda empurre o cotovelo direito para baixo. Depois volte a posição inicial. 4) Incline a cabeça para o lado direito. Mantenha o alongamento por 10 segundos. Repita o exercício 5 para cada lado. 2) Apoie-se em uma parede. 3) Coloque a mão direita sobre o ombro esquerdo e com a mão esquerda empurre o cotovelo direito para trás Mantenha esta posição por 10 segundos. 2) Coloque as duas mãos atrás. Mantenha o alongamento por 10 segundos. de tal forma a praticamente encostar a orelha ao ombro. Dobre a perna da frente e mantenha a perna de trás estendida sem tirar o calcanhar do chão. forçando o queixo na direção do tórax (permaneça com a cabeça ali. Enquanto você realiza o esforço. Repita cada exercício 5 vezes. Faça o mesmo com o ombro esquerdo. entrelace as mão e com os braços esticados. Mantenha o alongamento por 10 segundos. Faça o mesmo para o lado esquerdo com a mão esquerda. da cabeça. 5) Coloque a mão direita nas costas e o antebraço por trás da cabeça.3) Deixe cair à cabeça e os braços para alongar as costas e aliviar a pressão na coluna. faça o mesmo para o lado esquerdo. Repita o exercício 5 vezes. Em seguida faça o mesmo com a mão esquerda sobre o ombro direito. Faça o mesmo com a mão esquerda. Permaneça nesta posição por 20 segundos. Incline lentamente a cabeça para frente. segure o pé direito com a mão esquerda e puxe o calcanhar em direção as nádegas. porém agora forçando com a mão direita. 4) Coloque os braços para trás da cadeira. girando-o para trás e depois para frente. e mpurre-os para cima contraindo os músculos abdominais. 2) Eleve os ombros. 3) Incline a cabeça para o lado direito. Repita 5 vezes cada movimento. enchendo o peito de ar que deve ser puxado pelo nariz. Mantenha o alongamento por 10 segundos. apoie as mãos nas coxas Exercícios para o pescoço 1) Apoie bem a coluna no encosto da cadeira. Em seguida expire pela boca e soltando também os ombros. Para voltar à posição ereta. depois de voltar à posição inicial. Repita o exercício 5 vezes. Exercícios para ombros e braços 1) Eleve o ombro direito.\n1) Faça uma concha com as duas mãos. 3) De tempos em tempos. automaticamente associo a ele o valor de sete unidades. Mentalmente você estará mais bem preparado para a próxima hora. Faça uma atividade diferente por 10 minutos (de dia. para representarmos uma quantidade neste sistema. Exercício para relaxar De hora em hora procure parar o que você estiver fazendo. o ideal é caminhar e de preferência por um jardim). Solte a concentração. Relaxe. estamos acostumado a representar as informações numéricas pelo sistema decimal. uma informação a ser tratada por um sistema de computação pode ser representada de várias maneiras. . Por isso.. uma vez que o modo mais objetivo de transmitir informações é o velho SIM/NÃO. trocamos o SIM/NÃO por 1 e 0. devemos utilizar o mesmo princípio de formação do sistema decimal. 2) Feche os olhos contraindo-os por uns 7 segundos e depois abra-os de maneira arregalada. Devido à casualidade de termos dez dedos para contar. se expandam e descansem. Permaneça nesta posição por 20 segundos.. chamado de Sistema Binário. Conversão do Sistema Binário para o Decimal Utilizamos um número decimal como exemplo: 510 5x100 + 1x10 + 0x1 = 510 centena dezena unidade ... O SIM/NÃO serve sempre que o problema for. convenientemente transformado em perguntas. DECIMAL BINÁRIO 0 001 1 010 2 011 3 100 4 101 5 110 . Sistema Binário de Numeração Em informática. o símbolo computação ³7´ representa o valor ³sete´ apenas por conversão. SISTEMAS DE REPRESENTAÇÃO Uma empresa pode sr representada tanto pelo seu nome como pelo seu logotipo ou por um funcionário. Isto para que os músculos dos seus olhos se movam. Este sistema não o mais simples. Não importa qual deles eu veja: estarei identificando a empresa. Apoie a base de cada mão na respectiva maçã do rosto. isto piora a situação. quando vejo o número 7. procure olhar pela janela e focalizar objetos que estejam a uma distância maior do que 6 metros. colocando os dedos sobre a testa. Observação: não esfregue os olhos quando estes estiverem cansados. puxando lentamente o ar pelo nariz e soltando-o pela boca também de forma lenta. Afinal. Da mesma forma.\nque decorre de sua posição. e somamos essas parcelas. 7/2 = 3 resto 1 5610 = 10002 Conversão do Sistema Binário para o Decimal Da base 2 para a base 10: Multiplicamos os algarismos. Tomemos então como exemplo o número binário 110. 11001001 1x20 + 1x21 + 1x22 + 1x23 + 1x24 + 1x25 + 1x26 + 1x27 = 1x1 + 1x2 + 0x4 + 0x8 + 1x16 + 0x32 + 0x64 + 1x128 = 1+2+0+0+16+0+0+128 = 147 Sistema Octal de Numeração O sistema octal de numeração é o sistema no qual existem 8 (oito) algarismos que são: 0. 14/2 = 7 resto 0.3. 28/2 = 14 resto 0.1.6 e 7. pelas sucessivas potências de 2. Então 310=1102 Conversão de Sistema Decimal em sistema Binário Como exemplo tomemos o número 5610. Cada posição corresponde a uma potência de 10.5. da direita para a esquerda.5x102 + 1x101 + 0x100 = 510 Podemos notar que cada algarismo possui um valor absoluto e outro relativo. Ex. DECIMAL OCTAL 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 10 9 11 Conversão do Sistema Octal para Decimal Vamos tomar como exemplo.4.2. e utilizando o conceito de formação de números: 1x20 + 1x21 + 0x22 = 1x1 + 1x2 + 0x4 = 3 Logo 110 na base 2 é igual ao número 3 na base decimal. 56/2 = 28 resto 0. que é o sistema decimal comumente usado. e vamos converter o número 1118 para decimal 82 81 80 1 1 1 1x82 + 1x81 + 1x80 = 64+8+1 = 7310 . A base do sistema binário é o número 2 (dois).\nvamos separá-lo a partir da direita indicando abaixo destes os seus valores em binário.. DECIMAL 0 HEXADECIMAL 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 A 11 B 12 C 13 D 14 E 15 F . Para transformarmos esse número em octal. Conversão do Sistema Decimal para o Octal Existem 2 métodos para efetuarmos esta conversão..Conversão do Sistema Octal para Binário Utilizemos como exemplo o mesmo número acima 7310. 2 2 1 9210 = 1011100 2 = 1348 Conversão do Sistema Hexadecimal para o Decimal Utilizaremos como exemplo o número 3F16 161 3 160 F 3x161 + 15x16 0 = 6310 Conversão do Sistema Hexadecimal para Binário . 7 3 111 011 Esta conversão irá resultar em 111011 2 Conversão do Sistema Binário para Octal Vamos utilizar como exemplo o número 1110112. 111 011 7 3 Esta conversão irá resultar no número 738. Primeiro 92 2 4 11 2 3 1 9210 = 1348 Segundo 92 2 0 46 0 2 23 2 1 11 2 1 1 5 2 0 Sistema Hexadecimal de Numeração É o sistema que possui 16 algarismos. vamos separá-lo em grupo de três algarismos a partir da direita.. ..\nquase sempre contêm informações das quais se desejam relatórios escritos podem. e esquematização das soluções de problemas prevê a organização de um ou mais desses arquivos. e usaremos com exemplo o número acima: 1100000100112 1100 0001 0011 12 1 3 Esta conversão irá resultar em 121310 Conversão de Decimal para Hexadecimal Existem duas maneiras de fazer esta conversão: Primeiro 1000 16 8 62 16 14 3 Como 1410 = E 100010 = 3E816 Segundo 1000 2 0 500 2 0 250 2 0 125 2 1 0 62 2 31 2 1 15 1 7 1 2 2 3 1 2 1 100010 = 3E816 Parte IV ± Arquivos De um modo geral os dados estão organizados em arquivos. reservadas em qualquer dispositivo de memória. dizerem respeito a programas ou simplesmente a dados. fitas e cartões perfurados. para inclusão de informações no momento ou no futuro. Por extenso em processamento de dados. discos magnéticos. Caso comum é o de um sistema possuir um arquivo de programa e diversos arquivos de dados. Arquivos de saída são geralmente impressos. chamam-se também arquivos a determinadas áreas. Define-se pois arquivo como um conjunto de informações referentes a um determinado problema. porém. CD¶s. pois. podendo essas informações. residir também em discos. fita magnética. . Por isso.Peguemos como exemplo o número C1316 C 1 3 1100 0001 0011 Esta conversão irá resultar em C1316 = 110000010011 2 Conversão de sistema Binário em Hexadecimal Neste caso agrupamos o número binário de quatro em quatro algarismos. Denominam-se arquivos de entrada aos que residem em qualquer veículo possível de ser lido pelo computador: cartões perfurados. etc.\nSort É comum haver interesse em se listar um cadastro segundo determinada ordem ou classificação. Á técnica utilizada para produzir um novo arquivo atual a partir da interação de sua versão com as informações de um arquivo de movimento. Também conhecido com cadastro. cada registro pode ser constituído pelo número da conta. CHAVES. Uma chave primária excepcionalmente pode ser formada por um conjunto de campos. cada valor desse item identifica univocamente um registro. o que em processamento de dados se denomina registro físico. encontrarem-se dois ou mais registros lógicos (lidos e levados à memória como um registro único). código da transação. y Arquivo de Movimento (ou arquivo transitório) = que contém informações referentes a alterações que devem ser efetuadas sobre o cadastro (ou arquivo mestre) de modo a atualizá-lo. Uma chave (campo ou seqüência de campos) é dita secundária quando. por exemplo) sobre uma massa de informações cadastradas (todas as informações pertinentes aos empregados da empresa necessárias ao cálculo do pagamento). com freqüência. é preciso organizar os registros segundo a classificação desejada. que diz respeito à quantidade de informação transmitida à memória ou retirada dela em conseqüência de uma única instrução. SORT. Para isso. por isso. para um de seus valores. arquivo principal ou arquivo atual. em um sistema que controla transações bancárias. chama-se balance-line. É interessante salientar que esse registro tem caráter lógico e. É mais comum a caso de. é denominado também registro lógico. A técnica utilizada para se obter um resultado como esse denomina-se sort . é possível identificar-se não apenas um mas vários registros do arquivo. Denomina-se fator de bloco ou blocagem à relação entre o número de registros lógicos pelo de registro físico. em um registro físico. Denomina-se chave primária ou chave de ordenação ou chave de classificação ao campo que abriga valores que individualizam cada registro. a partir de dois ou mais arquivos que contenham registros de mesmo tipo. valor da transação e saldo. A chave primária é correntemente dita de ordenação ou de classificação porque é. Operações básicas sobre registros de um arquivo são: y Inclusão . Á técnica utilizada para isso chama-se merge. esses dados (informações sobre os empregados) costumam estar contidos em dois arquivos de tipos diferentes: Tipos de Arquivos y Arquivo Mestre (ou arquivo permanente) = contém a massa de informações que dizem respeito ao assunto. Um registro lógico pode ser maior ou menor que um registro físico. organizado segundo o mesmo critério dos parciais que lhe deram origem. MERGE E OPERAÇÕES COM ARQUIVOS É muito comum cada registro de um arquivo ter um campo que o individualiza. estando esses arquivos classificados segundo um mesmo critério (ascendente ou descendente) pela mesma chave é possível obter-se um novo arquivo único. usada para ordenar (classificar) os registros do arquivo. Merge Por outro lado. data da transação. Há em contrapartida. Diz-se que registro é cada um dos elementos bem definidos do cadastro: por exemplo. isto é.Quando um sistema se propõe a executar determinado tipo de processamento (folha de pagamento.\nquando a maior parte deles tem que ser pesquisada. respeitando a -se seqüência). a fim de remover espaços resultantes das exclusões e. os novos registros incluídos. tanto lógica quanto física. a consulta de um registro é feita através do processo denominado pesquisa binária é lido inicialmente o registro desejado. ordenação (sort). acomodarem-se. em seguida lê-se o registro central dessa metade e. Os três principais métodos de organização de arquivos são: y Seqüencial y Seqüencial indexado y Aleatório Nos métodos básicos de acesso a registros de um arquivo são: y Seqüencial y Indexado y Direto Procedimento nos diversos arquivos Nesse tipo de arquivo. para que se determine o tipo de organização mais adequado. de dois ou mais arquivos. copia-se o restante do arquivo anterior. em princípio. assim sucessivamente até que. Ele poderá estar armazenado em veículos de acesso seqüencial (fita magnética) ou de acesso direto (disco ou tambor magnético). Pesquisa (Acesso) Inclusão Resumo dos Procedimentos em Arquivos Seqüenciais Consultam-se os registros seqüencialmente ou (caso o dispositivo seja de acesso direto) pela pesquisa binária Copia-se o arquivo até o registro de ordem n (enésimo na ordenação). renomeia-se o arquivo novo. diante de um segmento relativamente curto do arquivo. em suas devidas posições. é feita uma busca seqüencial. . tendo em vista a necessidade de que seja mantida a ordenação física dos registros. a operação requer que o arquivo seja copiado. Essa atualização é feita pela técnica balance-line. ORGANIZAÇÃO DOS ARQUIVOS E MÉTODOS DE ACESSO Quando se cria uma arquivo de dados é de máxima importância à análise da filosofia de trabalho que motivou a sua criação. Outras operações são: atualização do arquivo como um todo (a partir de um movimento). e ainda. reorganização. havendo pois uma perfeita ordenação. Quanto à atualização. gravase o registro que se quer incluir naquela posição (isto é. seja em tarefas de mera consulta ou em trabalhos de atualização. listagem total. Nesse último caso.y Exclusão y Pesquisa (localização ou acesso) ± visando à alteração ou a simples consulta. A chave de cada registro é um atributo comum a todos eles e. em que um terceiro arquivo (novo arquivo mestre) é gravado a partir da comparação entre os registros da versão disponível do arquivo mestre com os registros do arquivo de movimento. A principal vantagem do arquivo seqüencial é o rápido acesso aos registros. capaz de individualizar cada um. por outro lado. a intercalação (merge) e a junção (apend). os registros são gravados em ordem seqüencial por suas respectivas chaves.\nAtravés do balance-line Atualização Arquivo Seqüencial ± Indexado Nessa modalidade de organização. Aqui o acesso é mais imediato ainda. a área de índices. inclusive a área de overflow. pois. escalonados pela chave em subáreas. ficam reservadas três ares no veículo de gravação: uma área denominada principal. os registros são armazenados com base em uma relação de endereços previamente estabelecidos. os registros são mantidos ordenados seqüencialmente segundo a chave de classificação. A grande vantagem desse tipo de organização é a rapidez de aceso a um determinado registro. onde se encontram os registros que não foram alojados na área principal. Por ocasião de cada reorganização. Resumo dos Procedimentos em Arquivos Seqüenciais-Indexados Pesquisa (Acesso) Normalmente é realizada através da facilidade do diretório chave-endereço (a partir de uma preliminar consulta à área de índices). esvaziando-se a área de overflow. se for o caso. logo. a pesquisa também pode ser feita seqüencialmente (ordem continua das chaves). Ela é ampliada (caso mais comum) ou reduzida toda vez que o arquivo é reorganizado. a área de overflow ficará vazia. Quando um registro é gravado. Cada subárea de área principal os registros estão logicamente ligados em seqüência pelas chaves. A área principal é definida quando o arquivo é gerado. mas totalmente contidos na área principal. uma área destinada a um índice. compacta-se o arquivo. O sistema reorganizará os Exclusão ponteiros e. uma vez que é feito através de um relacionamento entre a chave e o endereço do registro. onde são gravados os registros propriamente ditos. Se for o caso. que indica a subárea da área principal onde determinado grupos de registros se encontra gravado. esses registros são mantidos em listas subordinadas às diversas subáreas da área principal. cada registro é acessado de modo direto. acessado através de um diretório chave-endereço (índice). nesse caso. denominada área de overflow. Assim. novos registros são gravados na área de overflow. isto é. seu endereço ³reservado´ é utilizado. o sistema atualizará a área de índices. que é uma operação periodicamente realizada. . simplesmente. Entre as variações desse tipo de organização. sem acessar inicialmente a área de índices Grava-se o registro. Apaga-se o registro. apagado. Há. o sistema atualizará os ponteiros: o registro anterior Inclusão apontará para o incluído. O sistema reorganizará a área de índices. e o registro incluído apontará para o anteriormente apontado. onde esses endereços são criados em função de todas as possibilidades de variação da chave. a organização não se presta a veículos de gravação/leitura seqüencial. alterado ou. Cada registro é. Por ocasião das inclusões subseqüentes. ordena-se e grava-se o Atualização arquivo. Arquivo Aleatório Essa é também uma organização de aceso direto aos registros. a desvantagem da maior ocupação de memória. o sistema acessa diretamente a área de dados (endereços). Em casos em que seja mais prático. Dessa forma. porém.Exclusão Arquivo em disco: apaga-se o registro. e a terceira área. os registros são armazenados em preocupação de ordenação. pesquisado. Lê-se todo o arquivo. Quando se cria um arquivo seqüencial-indexado. destacam-se os arquivos aleatórios de acesso direto e os arquivos aleatórios de acesso calculado. compacta-se o arquivo.\nSua principal função é controlar o funcionamento d computador.) Por mais complexo que possa parecer. Ele torna a comunicação do homem com a máquina mais natural e inteligível. As funções do SO são: . c) Possibilitar a diversos usuários o uso compartilhado e protegido dos diversos componentes de hardware e software do sistema de modo que o sistema seja utilizado de maneira mais eficiente e que usuários possam se beneficiar do trabalho de outros e cooperar entre si na execução de projetos complexos. a organização com acesso calculado: nessa. etc. no entanto. Arquivo aleatório de acesso calculado (ou de endereçamento indireto) Visando a não tornar crítico o problema de não utilização de memória reservada. Parte V ± Sistemas Operacionais INTRODUÇÃO Sistema Operacional é um grupo integrado de programas que permitem a comunicação entre o computador e o usuário. canais de E/S. memória principal e secundária. controladores. controlador. estar próximo á necessidade real. em função dos registros realmente presentes no arquivo. em conseqüência. consignar periféricos. da mesma forma que qualquer outro programa. etc. CONCEITOS BÁSICOS Sistemas Operacionais (ou monitor. a desvantagem de poder apresentar grande quantidade de memória reservada e não utilizada. abrir ou fechar arquivos. Um SO tem 3 funções principais: ajudar a criar e manipular um sistema de arquivos. executivo. como um gerente dos diversos recursos disponíveis no sistema. apresentado no modelo anterior. periféricos.. o domínio das chaves é comprimido de modo a se apresentar concentrado e. um SO é apenas um conjunto de rotinas executado pelo processador. executar um programa. utiliza-se com freqüência. etc. A grande vantagem dessa organização é a rapidez no trato de cada registro isolado. 2. Podemos falar destas funções de uma outra maneira: a) Apresentar ao usuário uma máquina mais flexível e adequada para programar do que aquela que o hardware nu apresenta . A chave deve ser numérica. b) Possibilitar o uso eficiente e controlado dos vários componentes de hardware que constituem um sistema como um todo: processador. compilar um programa. usar os dispositivos conectados a seu computador. executar programas. Tem. Ela tem em geral uma declaração ou um comando simples por linha dirigindo o SO a executar uma ação específica como gravar um conjunto de dados em disco. supervisor. A linguagem de comunicação do usuário com o SO é chamado de "linguagem de controle". pois ela será usada diretamente para a construção desse endereçamento. Arquivo aleatório de acesso direto Reserva-se um endereço (espaço na memória auxiliar) para cada registro.1.\nou seja. cabos e fontes de alimentação (hardware). como discos. onde vários usuários podem estar compartilhando os mesmos recursos. quando utilizamos os componente de um computador. a parte física do computador tornou-se transparente para o usuário. realizar cálculos. como. na medida em que mais de um usuário possa utilizar as mesmas facilidades concorrentemente. O SO é responsável por permitir o acesso concorrente a recursos do computador. e sim tantos níveis quantos forem necessários para adequar o usuário às suas diversas aplicações. por ex. memória e discos. O compartilhamento de recursos permite. a diminuição de custos. Uma operação efetuada pelo software pode ser implementada em hardware. como terminais. impressoras. não tem nenhuma utilidade. através de fios. A partir desse acontecimento. também. Sistema Operacional Hardware Desta forma. É através de programas (software) que o computador consegue armazenar dados em discos. de alguma forma. Esta visão modular e abstrata é chamada máquina virtual. Quando o usuário está . O SO. é necessário que todos tenham oportunidade de Ter acesso a esses recursos. A solução para esse problema foi o surgimento do SO. O hardware é o responsável pela execução das instruções de um programa. de forma que um usuário não interfira no trabalho do outro. visto somente como um gabinete composto de circuitos eletrônicos. linhas de comunicação etc. imprimir relatórios. Máquina de Níveis Um computador. tornando esta comunicação transparente e permitindo ao usuário um trabalho mais eficiente e com menores chances de erros. Isso era uma grande dificuldade para os programadores da época.Facilidade de acesso aos recursos do sistema: é devido ao SO que. ou seja. exigindo um grande conhecimento do hardware e de sua linguagem de máquina. entre outras funções. de forma organizada e protegida. Esta decisão fica a cargo do projetista do computador em função de aspectos como custo. dando ao usuário a impressão de ser o único a utilizá-los. Partindo desse princípio. Compartilhamento de recursos de forma organizada e protegida Quando pensamos em sistemas multiusuários. confiável e eficiente. discos e fitas. um computador não possui apenas dois níveis. confiabilidade e desempenho. podemos considerar o computador como uma máquina de níveis ou camadas. serve de interface entre o usuário e os recursos disponíveis no sistema. não existia mais a necessidade de o programador se envolver com a complexidade do hardware para poder trabalhar. Nos primeiros computadores. que tornou a interação entre usuário e computador mais simples. o usuário pode enxergar a máquina como sendo apenas o SO.. Tanto hardware quanto o software são logicamente equivalentes. é denominado máquina virtual e está presente. como se o hardware não existisse. criado pelo SO. O SO também é responsável pelo controle do uso de diversas tarefas concorrentemente. onde inicialmente existem dois níveis: o nível 0 (hardware) e o nível 1 (SO). Na realidade. interagindo de uma forma única para o usuário. enquanto uma instrução executada pelo hardware pode ser simulada via software. com a finalidade de se realizar alguma tarefa. então. na maioria dos sistemas atuais. Este conceito de ambiente simulado. não nos preocupamos com a maneira como é realizada esta comunicação e os inúmeros detalhes envolvidos. impressoras. gerar gráficos. a programação era realizada em painéis.\nQualquer outro programa. Sistemas Monoprogramáveis / Monotarefa. se preciso. acima ou abaixo de sua máquina virtual. verificar os arquivos que possui armazenados em disco. sorts. Atualmente. quando bem projetados. Com o compartilhamento de recursos. Esses sistemas possuem uma linguagem de controle que permite ao usuário comunicar-se diretamente com o SO para obter informações. b) de tempo compartilhado. como por ex. como memória. de forma ordenada e protegida. todos os recursos do sistema fiquem exclusivamente dedicados a uma única tarefa. ou seja. estes sistemas também são conhecidos com online. podem ser bastantes eficientes. A linguagem utilizada em cada um desses níveis é diferente. Para cada usuário. linkedições. onde esperam para ser executados seqüencialmente. c) de tempo real. modificá -las imediatamente. a maioria dos computadores possui a estrutura mostrada abaixo. Esses sistemas. III. Entretanto. I. normalmente. a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa. Devido a esse tipo de interação. II. O SO se preocupa em gerenciar o acesso conc orrente aos seus diversos recursos. a) Sistemas batch (lote): Caracterizam-se por terem seus programas armazenados em disco ou fita. não necessita saber da existência das outras camadas. backups e todas aquelas onde não é necessária à interação com o usuário. II. Sistemas Multiprogramáveis / Multitarefa. Alguns exemplos de aplicações originalmente processadas em batch são compilações. Hardware . b) Sistemas de tempo compartilhamento (time-sharing): O usuário pode interagir diretamente com o sistema em cada fase do desenvolvimento de suas aplicações e. Sistemas com Múltiplos Processadores. entre os programas. Monoprogramáveis (é monousuário): Se caracterizam por permitir que o processador. Estes sistemas podem ser classificados em: a)batch. em face do processamento puramente seqüencial e com uma variação alta dos seus tempos de execução.trabalhando em um desses níveis. para ser executado. processador e periféricos. O sistema.. Um SO pode suportar um ou mais desses tipos de processamento. deveria aguardar o término do programa corrente. tem um aumento na produtividade e a -se redução de custos. devido à melhor utilização do processador. responde em poucos segundos à maioria desses comandos. variando da mais elementar (baixo nível) a mais sofisticada (alto nível). podendo conter mais ou menos camadas. Aplicativos Utilitários Sistema Operacional Linguagem de Máquina Microprogramação Dispositivos Físicos TIPOS DE SISTEMAS OPERACIONAIS I. o SO aloca uma fatia de tempo (time-slice) do processador. podem oferecer tempos de resposta longos. Multiprogramáveis (é multiusuário): Se caracterizam por permitir que vários programas compartilhem diversos recursos.\ncomo. Sistemas com múltiplos processadores possibilitam aumentar a capacidade computacional com menor custo (escalabilidade). fazendo um dos processadores escravos assumir o papel de mestre. Um fator-chave no desenvolvimento de SOs com múltiplos processadores é a forma de comunicação entre as UCPs e o grau de compartilhamento da memória e dos dispositivos de entrada e saída. e fica esperando por uma nova fatia de tempo. Dessa forma. como nos sistemas de tempo compartilhado. adicionado-se apenas novos processadores. Os processadores secundários apenas processam programas de usuários e. . sempre que necessitam de um serviço do sistema. além de permitir a reconfiguração e o balanceamento do sistema. nos sistemas de tempo real os tempos de resposta devem estar dentro de limites rígidos. Apenas algumas poucas funções ficam a cargo de um único processador. que devem ser obedecidos. Um programa detém o processador o tempo que for necessário. que não realizam as mesmas funções. novos problemas de concorrência foram introduzidos. todos os processadores realizam as mesmas funções. se o processador mestre falhar. trabalhando em conjunto. Nos sistemas de tempo real não existe a idéia de fatia de tempo. se todos os processadores podem executar ou não as mesmas funções. implementa a simetria dos processadores. Esses sistemas estão pressentes nas aplicações onde o tempo de resposta é fator fundamental.Caso o programa do usuário não esteja concluído nesse intervalo de tempo. ou que um programa seja dividido em subprogramas. Múltiplos processadores permitem que vários programas sejam executados ao mesmo tempo. Mesmo sendo uma organização simples de implementar e quase uma extensão dos sistemas multiprogramáveis. utilizada pelos sistemas de tempo compartilhado. Sistemas com Múltiplos Processadores: Caracterizam-se por possuir duas ou mais UCPs interligadas. responsável pelo controle dos demais processadores (secundários) e pela execução do sistema operacional. para execução simultânea em mais de um processador. c) Sistemas de tempo real (real time): São semelhantes em implementação aos sistemas de tempo compartilhado. Com o multiprocessamento. pois vários processadores podem estar acessando podem estar às mesmas áreas de memória. A maior diferença é o tempo de resposta exigido no processamento das aplicações. Sistemas fortemente acoplados: nestes sistemas existem vários processadores compartilhando uma única memória e gerenciados por apenas um sistema operacional. todo o sistema ficará incapaz de continuar o processamento. solicitam ao processador primário. Neste caso. ou seja. ele é substituído por um de outro usuário. existe o problema de organizar de forma eficiente os processadores. a memória e os periféricos. ou até que apareça outro prioritário em função de sua importância no sistema. Esta importância ou prioridade de execução é controlada pela própria aplicação e não pelo SO. Além disso. Uma conseqüência dessa organização é que. Os sistemas fortemente acoplados podem ser divididos conforme a simetria existente entre seus processadores. devido à assimetria dos processadores. é possível ampliar a capacidade de computação de um sistema. a inicialização (boot) do sistema. esse tipo de sistema não utiliza eficientemente o hardware. o sistema deve ser reconfigurado. por exemplo. caso contrários poderão ocorrer problemas irreversíveis.2 ± Sistemas Simétricos: ao contrário da organização mestre/escravo. a.1 ± Sistemas Assimétricos: caracterizam-se por possuir um processador primário. III. Em função desses fatores. a. Enquanto em sistemas de tempo compartilhado o tempo de resposta pode variar sem comprometer as aplicações em execução. ou seja. podemos classificar os sistemas em: a)fortemente acoplados ou b)fracamente acoplados. com custo inferior à aquisição de outros computadores.\né comum termos. quando um programa perde o uso do processador e depois retorna para continuar o processamento. Este tipo de intervenção é denominado interrupção ou exceção e pode ser resultado da execução de instruções do próprio programa. A utilização concorrente da UCP deve ser implementada de maneira que. um programa pode ser executado por qualquer processador. e a UCP permanece dedicada. quando um programa solicita uma operação de entrada/saída. Em sistemas de tempo compartilhado. com processador. memória e periféricos.Como vários processadores estão utilizando. nesse tipo de sistema. aparentando ao usuário que nada aconteceu. independentemente. por exemplo. outros programas poderão estar disponíveis para utilizar o processador. Além disso. uma leitura em disco. é natural a ocorrência de acessos simultâneos às mesmas áreas de memória. como quais são os programas que deverão estar residentes em memória. já que alguns problemas surgem com esse tipo de implementação. um programa não pode destruir dados ou código de outro programa. existe a impressão de que o computador está inteiramente dedicado ao usuário. Nos sistemas monoprogramáveis. em sistemas monoprogramáveis. SISTEMAS MULTIPROGRAMÁVEIS Os sistemas multiprogramáveis surgiram de um problema existente nos sistemas monoprogramáveis. o processador permanece sem realizar nenhuma tarefa. gerado pelo SO ou por algum dispositivo de hardware. A possibilidade de periféricos e dispositivos funcionarem simultaneamente entre si. são resolvidos pelo sistema operacional. A solução desses conflitos fica a cargo do hardware e do sistema operacional. O programa deverá continuar sua execução exatamente na instrução seguinte àquela em que havia parado. que é o princípio básico para projeto e implementação de sistemas multiprogramáveis. Nos sistemas multiprogramáveis. ou em qual ordem os programa utilizarão a UCP. já que as operações com dispositivos de entrada e saída são muito lentas se comparadas com a velocidade da UCP. a UCP permanece menos tempo ociosa e a memória principal é utilizada de forma mais eficiente. Um programa que não ocupe totalmente a memória principal ocasiona a existência de áreas livres. permitindo um melhor balanceamento do processamento e das operações de entrada/saída. apesar de sua implementação ser bastante complexa. Outro aspecto que podemos considerar é a subutilização da memória. inclusive por vários processadores ao mesmo tempo (paralelismo). O tempo de espera é consideravelmente grande. quando um processador falha. somente um programa pode estar residente em memória. Se considerarmos que vários programas estão simultaneamente ocupando diversas partes da memória. No caso de periféricos. seu estado dever ser idêntico ao do momento em que foi interrompido. onde é possível compartilhar impressoras entre vários usuários e realizar acesso concorrente a discos por diversos programas. Interrupção e Exceção ± Durante a execução de um programa. A eficiência proporcionada por um sistema multiprogramável resulta em maior complexidade do sistema operacional. Nesse caso. à execução desse programa. Podemos observar que . a mesma memória e o mesmo sistema operacional. Nestas situações o fluxo de . concorrendo pela utilização da UCP. No processamento simétrico. pois existem vários programas residentes se revezando na utilização do processador. Esses problemas são solucionados em sistemas multiprogramáveis. alguns eventos podem ocorrer durante seu processamento. ocorre um desperdício na utilização da UCP. vários programas podem estar residentes em memória. juntamente com a UCP. pois enquanto o programa está realizando. o sistema continua em funcionamento sem nenhuma interferência manual. ficando todo esse mecanismo transparente para ele. Este e outros problemas. porém com menor capacidade de computação. que é a baixa utilização de recursos do sistema. Dessa forma. obrigando a intervenção do SO. Os sistemas simétricos são mais poderosos que os assimétricos. impressoras paradas por um grande período de tempo e discos com acesso restrito a um único usuário. exclusivamente. Sistemas operacionais podem ser vistos como um conjunto de rotinas que executam concorrentemente de uma forma ordenada. sem utilização. permitiu a execução de tarefas concorrentes.\nassociadas a cada tipo de interrupção. elas serão ignoradas. Em sistemas mais primitivos. Neste caso. Com a evolução dos sistemas foi introduzido o conceito de exceção. Normalmente. salvar o contexto do programa e desviar para uma rotina de tratamento é denominado mecanismo de interrupção. podem ser escritas pelo próprio programador. Neste caso. é necessário que. o programa em execução é interrompido. e foi implementado pelos projetistas para criar uma maneira de sinalizar ao processador eventos assíncronos que possam ocorrer no sistem a. Uma exceção é resultado direto da execução de uma instrução do próprio programa. sendo o tratamento obrigatório. estava sendo processado. As mascaráveis podem ser desabilitadas pelo processador. Dessa forma. porém. que deverão ser restaurados posteriormente para a continuação do programa. o processador deve saber qual interrupção terá de atender primeiro. Este mecanismo é realizado. Situações como a divisão de um número por zero ou a ocorrência de um overflow caracterizavam essa situação. ocorrência de tais eventos. neste caso. independe do programa que está sendo executado. não existia a possibilidade de o programador implementar rotinas de tratamento Com isso. em função da necessidade de atendimento de cada uma. muitas vezes. a UCP deve saber para qual rotina de tratamento deverá ser desviado o fluxo de execução. anteriormente. um overflow. um conjunto de informações sobre a execução do programa seja preservado. As interrupções podem ser classificadas como mascaráveis e não mascaráveis. Uma interrupção é gerada pelo SO ou por algum dispositivo e.. O mecanismo de tratamento de exceções é semelhante ao de interrupções. Essas informações consistem no conteúdo de alguns registradores. Mecanismo de Interrupção: Não existe apenas um único tipo de interrupção e sim diferentes tipos que devem ser atendidos por diversa rotinas de tratamento. na . Inicialmente os SOs apenas implementavam o mecanismo de interrupção. é possível evitar que um programa seja encerrado no caso de ocorrer. na ocorrência de tais interrupções. e o controle é desviado para uma rotina responsável pelo tratamento da interrupção (rotina de tratamento da interrupção). ou seja. sendo o fundamento básico dos sistemas multiprogramáveis. No momento que uma interrupção acontece. que contém a relação de todas as rotinas de tratamento existentes. pelo hardware dos computadores. não receberão tratamento. o hardware dos computadores possui um dispositivo denominado controlador de pedidos de interrupção. No momento em que a unidade de controle detecta a ocorrência de algum tipo de interrupção. Todo procedimento para detectar a interrupção. A interrupção é o mecanismo que tornou possível a implementação da concorrência nos computadores. o controle deve voltar ao programa que. o sistema poderia parar ou o operador teria que intervir para solucionar o problema. Muitas vezes. Essa informação está em uma estrutura do sistema chamada de vetor de interrupção. isto não é possível de se implementar. responsável por avaliar as interrupções geradas e suas prioridades de atendimento. na maioria das vezes. além de controlar os periféricos e dispositivos do sistema. . por ex. Para isso acontecer. no momento da interrupção. No caso das interrupções não mascaráveis. O que diferencia uma interrupção de uma exceção é o tipo de evento que gera esta condição. Para isso. É em função desse mecanismo que o sistema operacional sincroniza a execução de todas as suas rotinas e dos programas dos usuários. as interrupções deverão possuir prioridades. No caso de múltiplas interrupções ocorrerem. Um exemplo é quando um periférico avisa a UCP que está pronto para transmitir algum dado. a UCP deve interromper o programa para atender a solicitação do dispositivo.execução do programa é desviado para uma rotina especial de tratamento. após a execução dessa rotina.\ndenominado E/S controlada por interrupção. Esse tipo de operação introduziu certo grau de paralelismo de operações. o sistema tem que freqüentemente interromper o processamento dos programas para testar os diverso periféricos. a UCP ficasse livre para se ocupar de outras tarefas. a UCP volta a executar o programa interrompido e o controlador fica novamente disponível para outra operação. denominadas instruções de entrada/saída. já que elimina a necessidade de a UCP esperar pelo término da operação.. posição inicial da memória de onde os dados serão lidos ou gravados e o tamanho do bloco de dados. por não ser mais preciso especificar detalhes de operação dos periféricos. Com esse novo elemento. por ex. Isso permitiu o surgimento dos primeiros sistemas multiprogramáveis. Operações de Entrada/Saída ± Em sistemas mais primitivos. Esse tipo de instrução limitava a comunicação do processador a um grupo particular de dispositivos. qual o dispositivo de E/S envolvido na operação. O problema dessa implementação é que. Em seguida. como quais trilhas e setores de um disco deveriam ser lidos ou gravados em determinado bloco de dados. Quando o sistema deseja ler ou gravar um bloco de dados. além de permitir que várias operações de E/S sejam executadas simultaneamente. o controlador realiza a transferência entre o periférico e a memória . Com esse mecanismo. era permitir que. e a interrupção é gerada por eventos assíncronos (quando ocorre independentemente da execução do programa corrente). fica livre para o processamento de outras tarefas. Assim.A diferença fundamental entre exceção e interrupção é que a exceção é gerada por um evento síncrono (quando é resultado direto da execução do programa corrente). Apesar disso. após o início da transferência dos dados. A operação de E/S controlada por interrupção é muito mais eficiente que a operação de E/S controlada por programa. já que o tempo para execução de uma operação de E/S é relativamente grande. mas sim através do controlador. visto que um programa poderia ser processado. uma vez que toda transferência de dados entre memória e periféricos exigia a intervenção da UCP. sinaliza uma interrupção ao processador. no caso de existir um grande número de periféricos. onde vários programas poderiam executar concorrentemente. ao receber. já s que é difícil determinar o momento exato do término das operações de E/S em andamento. o controlador. a UCP não se comunicava mais diretamente com os periféricos. Com estas informações. fica encarregado de ler os blocos do disco e armazená-los em memória ou registradores próprios. Quando a UCP atende a interrupção. após a execução de um comando de leitura ou gravação. Outra forma derivada da anterior. de uma técnica de transferência de dados denominada DMA (Direct Memory Access). um sinal de leitura. enquanto outro esperava pelo término de uma operação de E/S. são passadas da UCP para o controlador informações como: onde o dado está localizado. A técnica de DMA permite que um bloco de dados seja transferido entre memória e periféricos. por parte do controlador. através de uma linha de controle. Essas instruções continham detalhes específicos de cada periférico. o próprio controlador interrompia a UCP para avisar do término da operação. Com a implementação do mecanismo de interrupção no hardware dos computadores. O controlador por sua vez. essa implementação ainda sobrecarregava a UCP. A solução para esse problema foi à implementação. Isso simplificou as instruções de E/S. sem a intervenção da UCP. porém mais inteligente. o sistema operacional deveria realizar um teste para saber do término ou não da operação de E/S em casa dispositivo (pooling). exceto no início e no final da transferência. a comunicação entre a UCP e os periféricos era controlada por um conjunto de instruções especiais. Em vez de os sistema periodicamente verificar o estado de uma operação pendente. executadas pela própria UCP. tarefa esta realizada pelo controlador. em determinados intervalos de tempo. a UCP. a rotina responsável pelo tratamento desse tipo de interrupção transfere os dados dos registradores do controlador para memória principal. as operações de E/S puderam ser realizadas de uma forma mais eficiente. A implementação de um dispositivo chamado controlador ou interface permitiu a UCP agir de maneira independente dos dispositivos de E/S. Ao término da transferência.\nmas ainda não gravados (operação de gravação). eliminando a necessidade de os programas de E/S serem carregados para a memória principal. ou conjunto de dispositivos. e a UCP pode realizar tarefas. porém o canal é responsável pela sua execução. A evolução do canal permitiu que este possuísse sua própria memória. introduzidos pela IBM no Sistema 7094. Assim. O mesmo raciocínio pode ser aplicado para operações de gravação. As instruções de E/S são armazenadas na memória principal pela UCP.principal. momentaneamente. A área de memória utilizada pelo controlador na técnica de DMA é chamada buffer. o dispositivo de entrada poderá ler diversos registros antes que a UCP os processe. Desta forma. Isso é extremamente eficiente. O buffer deve possuir a capacidade de armazenar diversos registros. e a UCP é somente interrompida no final da operação. desde que sem a utilização do barramento. o dispositivo de entrada pudesse iniciar uma nova leitura. instruindo o canal para executar um programa localizado na memória (programa de canal). mas ainda não processados (operação de leitura). A extensão do conceito DMA possibilitou o surgimento dos canais de E/S. enquanto a UCP manipula o dado localizado no buffer. Esta técnica consiste na utilização de uma área de memória para a transferência entre os periféricos e a memória principal denominada buffer. O buffering veio permitir que. gera uma interrupção. é manipulado por um único controlador. embora seja comum encontrarmos os dois termos empregados indistintamente. o controle do barramento. permitindo o controle total sobre operações de entrada e saída. os programas dos usuários eram submetidos um a um para processamento pelo operador. Com essa nova arquitetura. UCP e dispositivos ocupados. ou processados. Neste caso. o dispositivo realiza outra operação de leitura no mesmo instante. de forma a permitir que existam dados lidos no buffer. temporariamente. ao final. Cada dispositivo. onde a UCP coloca o dado no buffer para um dispositivo de saída manipular. O canal de E/S realiza a transferência e. No momento em a transferência de DMA é realizada. avisando do término da operação. ou somente canais. O objetivo do buffering é manter. dessa maneira. Buffering ± O buffering é outra implementação para minimizar o problema da disparidade da velocidade de processamento existente entre a UCP e os dispositivos de E/S. Este último estágio do canal é também denominado de processador de E/S. várias funções de E/S puderam ser controladas com mínima intervenção da UCP. na maior parte do tempo. Spooling ± A técnica de spooling (simultâneos peripheral operation on-line) foi introduzida no final dos anos 50 para aumentar a produtividade e a eficiência dos SOs. ou a UCP poderá processar diversos registros antes de o dispositivo de saída realizar a gravação. Um canal de E/S pode controlar múltiplos dispositivos através de diversos controladores. é possível compatibilizar a diferença existente entre o tempo em que a UCP processa os dados e o tempo em que o dispositivo de E/S realiza as operações de leitura e gravação.. quando um dados fosse transferido para o buffer após uma operação de leitura. Este programa especifica os dispositivos para transferência. Como a velocidade de operação dos dispositivos de entrada/saída é muito lenta se . por ex. sendo reservada exclusivamente para este propósito. durante a operação de transferência. Como a utilização do barramento é exclusiva de um dispositivo. O canal atua como um elo de ligação entre a UCP e o controlador. a UCP deve suspender o acesso ao bus. Naquela época. O tamanho do registro pode ser especificado em função da natureza do dispositivo (como uma linha gerada por uma impressora ou um caracter de um teclado) ou da aplicação (como um registro lógico definido em um arquivo). um acesso à memória cache. pois. o controlador deve assumir. como. a UCP realiza uma operação de E/S. O canal de E/S é um processador com capacidade de executar programas de E/S. A unidade de transferência usada no mecanismo de buffering é o registro. buffers e ações a serem tomadas em caso de erros. Este procedimento não gera uma interrupção.\ncomo memória. exclusivos de cada usuário. haveria diversas cópias de um mesmo programa na memória principal. seus tempos de resposta ficariam seriamente comprometidos. exigindo que apenas uma cópia do programa esteja na memória. Dessa forma. Da mesma forma. Atualmente. também chamados de jobs. Reentrância ± É comum. Reentrância é a capacidade de um código de programa (código reentrante) poder ser compartilhado por diversos usuários. que depois seria impressa integralmente. A solução foi armazenar os vários programas e seus dados.comparada à do processador. que proporciona grande economia de espaço em memória e aumento na performance do sistema. Problemas como um programa acessar (acidentalmente ou não) a área de memória pertencente a outro programa ou ao próprio SO tornariam o sistema pouco confiável. com a atribuição de prioridades aos jobs. No momento em que um comando de impressão é executado por um programa. Um exemplo dessa técnica está pressente quando impressoras são utilizadas. O spooling. Com o surgimento de dispositivos de acesso direto. manipulando dados próprios. basicamente. de garantir a integridade dos dados pertencentes a cada usuário. em sistemas multiprogramáveis. o primeiro job a ser gravado na fita era o primeiro a ser processado. em uma fita magnética e. utiliza os disco como um grande buffer. dispositivos de E/S e UCP. imprimir uma linha e ficar horas para continuar a impressão não acontecerão. foi possível tornar o spooling muito mais eficiente e. compiladores e linkers. são exemplos de código reentrante. a técnica de spooling é implementada na maioria dos SOs. o que ocasionaria um desperdício de espaço. ou seja. Os utilitários do sistema. de forma a preservar as informações. situações como a de um programa reservar a impressora. se um job que levasse várias horas antecedesse pequenos jobs. A técnica de buffering permite que um job utilize um buffer concorrentemente com um dispositivo de E/S. um editor de textos. Essa implementação permite maior grau de compartilhamento na utilização de impressoras. permitir a eliminação do processamento estritamente seqüencial. Se cada usuário que utilizasse o editor trouxesse o código do utilitário para a memória. em seguida submetê-los a processamento. principalmente. deve existir uma preocupação. A utilização de fitas magnéticas obrigava o processamento a ser estritamente seqüencial. vários usuários executarem os mesmos utilitários do SO simultaneamente. fazendo com que tanto a UCP quanto os dispositivos de E/S sejam aproveitados de forma mais eficiente. um erro do tipo violação de acesso ocorre e o programa é encerrado. por exemplo. Caso um programa tente acessar uma posição de memória fora de sua área. Desta forma. todo sistema implementa algum tipo de proteção aos diversos recursos que são compartilhados. diminuindo o tempo de execução dos jobs e o tempo de transição entre eles. Proteção do Sistema ± Nos sistemas multiprogramáveis. era comum que a UCP ficasse ociosa à espera de programas e dados de entrada ou pelo término de uma impressão. Em alguns sistemas existe a possibilidade de utilizar o conceito de reentrância para aplicações de usuários. como discos. por parte do SO. Como vários programas ocupam a memória simultaneamente e cada usuário possui uma área onde dados e código são armazenados. poderia direcioná-las para uma outra fita. o SO deve possuir mecanismos de proteção à memória. A reentrância permite que cada usuário possa estar em um ponto diferente do código reentrante. em vez de um job gravar suas saídas diretamente na impressora. como editores de texto. Uma característica da reentrância é que o código não pode ser modificado por nenhum usuário no momento em que está sendo executado. as informações que serão impressas são gravadas em um arquivo em disco (arquivo de spool). O mecanismo para . permitindo que dados sejam lidos e gravados em disco. enquanto outros jobs são processados. a UCP poderia processar seqüencialmente cada job. para ser impresso posteriormente pelo sistema. Para isso. onde diversos usuários compartilham os mesmos recursos. como. Esta forma de processamento é chamada de spooling e foi à base dos sistemas batch. Assim.\nO usuário (ou aplicação). todo o sistema poderá ficar comprometido e inoperante. As principais funções do núcleo são: y Tratamento de interrupções. o programa deverá ser interrompido. no mesmo instante um outro usuário estiver atualizando todos os preços do arquivo. o SO deve implementar mecanismos de proteção que controlem o acesso concorrente aos diversos recursos do sistema. pois ele não é executado como uma aplicação tipicamente seqüencial. é denominado modos de acesso. Suponhamos que um usuário consulte. que interromperá o processamento em determinados intervalos de tempo. y Operações de entrada e saída. e sua utilização deve ser controlada de maneira rígida. realiza uma chamada a uma de suas rotinas (ou serviços) através de system calls (chamadas ao sistema). mas inicialmente estudaremos o que são as system calls e o mecanismo de modos de acesso. bem como a outras rotinas do próprio sistema. y Criação e eliminação de processos. Compartilhamento de dispositivos de E/S deve ser controlado de forma centralizada pelo SO. implementado na maioria dos sistemas multiprogramáveis. interativamente. Um programa mal escrito. Esse conjunto de rotinas é chamado núcleo do sistema ou kernel (cérebro). e. y Escalonamento e controle dos processos. A UCP é o principal recurso compartilhado pelo sistema. Esse mecanismo de proteção. por exemplo. A estrutura do SO. Há outro problema quando um programa reserva um periférico para realizar alguma operação. Caso uma aplicação. As rotinas do sistema são executadas sem uma ordem predefinida. Se. baseada em eventos dissociados do tempo (eventos assíncronos). Para solucionar esses diversos problemas. com início. que são . pode possuir no seu código um loop infinito. O compartilhamento de arquivos em disco permite que dois ou mais usuários acessem um mesmo arquivo simultaneamente e caso o acesso não seja controlado pelo SO. y Gerência do sistema de arquivos. ou seja. o preço de um determinado produto em um arquivo de preços. ESTRUTURA DO SISTEMA OPERACIONAL Existe uma grande dificuldade em compreender a estrutura e o funcionamento de um SO. Nesta situação. y Contabilização e segurança do sistema. realize uma operação que o danifique. no caso da detecção do loop infinito. que tenha acesso ao núcleo. o SO controla a utilização da UCP entre os diversos programas. ao ganhar a UCP. pode variar conforme a concepção do projeto. Geralmente. a UCP possui um mecanismo denominado timer. System Calls ± Uma preocupação que surge na grande maioria dos projetos de SOs é a implementação de mecanismos de proteção ao núcleo do sistema e de acesso aos seus serviços. os sistemas multiprogramáveis implementam o esquiem de lock (bloqueio) de arquivo que permite o controle pelo sistema do acesso concorrentemente aos arquivos. Desta forma. Para evitar este tipo de problema. Muitos desses eventos estão relacionados ao hardware e a tarefas internas do próprio SO. o primeiro usuário poderá ler o preço desatualizado. Existem basicamente três abordagens no desenvolvimento de SOs.o controle de acesso à memória varia em função do tipo de gerência de memória implementado pelo sistema. a maneira como o código do sistema é organizado e o interrelacionamento entre seus diversos componentes. O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários do sistema e suas aplicações. na utilização de uma impressora. como. quando deseja solicitar algum serviço do sistema. y Sincronização e comunicação entre processos. nenhum outro programa deve interferir até que o primeiro programa a libere. y Gerência de memória. podem ocorrer problemas de inconsistência. de forma a alocar o processamento por tempo indeterminado. meio e fim.\nO mecanismo de ativação e comunicação entre a aplicação e o sistema é semelhante ao mecanismo implementado quando um programa modularizado ativa um dos seus procedimentos ou funções. parâmetros e formas de ativação específicos. Como o disco é um recurso compartilhado. não pode especificar diretamente as instruções que acessam seus dados. a solicitação é processada e uma resposta é retornada à aplicação.a porta de entrada para se ter acesso ao núcleo do SO. Suponha que uma aplicação deseja atualizar um arquivo em disco. Aplicação System Call Núcleo Hardware Através dos parâmetros fornecidos na system call. pois a sua utilização indevida ocasionaria sérios problemas à integridade do sistema. Para que uma aplicação possa executar uma instrução privilegiada. com nomes. a solicitação é feita através de uma system call. As instruções que têm o poder de comprometer o sistema são conhecidas como instruções privilegiadas. O programa. Quando o processador trabalha no modo usuário. A system call altera o modo de . o que poderia comprometer a segurança do sistema. sua utilização deverá ser realizada unicamente pelo SO. para impedir a ocorrência de problemas de segurança e m esmo violação do sistema. como operações de entrada e saída. enquanto as instruções não-privilegiadas são as que não oferecem perigo ao sistema. tendo acesso a um número reduzido de instruções. por si só. Através desse registrador. uma aplicação só pode executar instruções não-privilegiadas. As system calls podem ser divididas em grupos de função: y Gerência de processos Criação e eliminação de processos Alteração das características do processo Sincronização e comunicação entre processos y Gerência de memória Alocação e desalocação de memória y Gerência de entrada/saída Operações de entrada/saída Manipulação de arquivos e diretórios Modos de Acesso ± Existem certas instruções que não podem ser colocadas diretamente à disposição das aplicações. que só devem ser executadas pelo SO. Sempre que uma aplicação necessita de um serviço que incorra em risco para o sistema. A melhor maneira de controlar o acesso às instruções privilegiadas é permitir que apenas o SO tenha acesso a elas. enquanto no modo kernel a aplicação pode ter acesso ao conjunto total de instruções do processador. em um dos parâmetros fornecidos na chamada. que indica o modo de acesso corrente. O modo de acesso de uma aplicação é determinado por um conjunto de bits. o hardware verifica se a instrução pode ou não ser executada pela aplicação. evitando que a aplicação possa Ter acesso a qualquer área do disco indiscriminadamente. Existem basicamente dois modos de acesso implementados pelo processador: modo usuário e modo kernel. Fica claro que existem certas instruções. o processador implementa o mecanismo de modos de acesso. Para cada serviço existe uma system call associada e cada SO tem o seu próprio conjunto (biblioteca) de chamadas. localizado em um registrador especial da UCP.\nela solicita ao processo responsável. como serviços de arquivo. Ao término da rotina do sistema. não tenham acesso direto a certos componentes do sistema. que pode ser uma aplicação de um usuário ou um outro componente do SO. além de criar uma hierarquia de níveis de modos de acesso. O servidor reponde ao cliente através de uma outra mensagem. enquanto o processo que res ponde à solicitação é chamado de servidor. Sistemas em Camadas ± Um sistema em camadas divide o SO em camadas sobrepostas. o modo de acesso volta ao estado usuário para continuar o processamento do programa. Cada módulo oferece um conjunto de funções que podem ser utilizadas por outros módulos. O núcleo do SO sempre é executado em modo kernel. executa no modo kernel. A chamada altera o modo de acesso do processador para kernel. A rotina do sistema responsável pela leitura é então realizada e. apresentado anteriormente. mas o sistema não ficará inteiramente comprometido. a seguir. a troca de mensagens entre o cliente e o servidor. os problemas de acesso às instruções privilegiadas. solucionando. se um erro ocorrer em um servidor. a aplicação deve solicitar a operação ao sistema por meio de uma system call. o modo de acesso é retornado para o modo usuário. etc. sem o processador estar no modo kernel. protegendo as camadas mais internas. É função do núcleo do sistema realizar a comunicação. solicita um serviço enviando uma mensagem para o servidor. sistema é dividido em processos. Para implementar esta idéia. Além disso. pois deve possuir capacidade de gerenciar e compartilhar todos os seus recursos. Caso um programa tente executar uma instrução privilegiada. a implementação de sistemas cliente-servidor . A utilização deste modelo permite que os servidores executem em modo usuário.acesso do processador para um modo mais privilegiado (modo kernel). a aplicação que solicita um serviço é chamada de cliente. serviços de criação de processos. este servidor pode parar. Neste caso. A estrutura monolítica pode ser comparada com uma aplicação formada por vários procedimentos que são compilados separadamente e depois linkados. serviços de memória. sendo cada um responsável por oferecer um conjunto de serviços. Apenas o núcleo do sistema. formando um grande e único programa executável. A vantagem da estruturação em camadas é isolar as funções do SO. serviços de escalonamento. Módulos de uma camada podem fazer referência apenas a módulos das camadas inferiores. facilitando sua alteração e depuração. Sempre que uma aplicação deseja algum serviço. Um cliente. Como conseqüência. 5 4 3 2 1 0 Operador Programas de usuário Entrada / Saída Comunicação Gerência de Memória Multiprogramação Kernel Sistema MULTICS Sistema VMS Executivo Supervisor Usuário Sistemas Cliente-Servidor ± Uma tendência dos SOs modernos é tornar o núcleo do SO o menor e mais simples possível. ou seja. responsável pela comunicação entre clientes e servidores. em diversos níveis. Utilizando como exemplo o problema do acesso ao disco. ou seja. para o programa conseguir atualizar o arquivo. Sistemas Monolíticos ± A organização mais comum de ser encontrada é aquela que estrutura o sistema como um conjunto de rotinas que podem interagir livremente umas com as outras. uma exceção é gerada e o programa é encerrado.\nnão importa se os clientes e servidores estão sendo processados em um sistema com um único processador. Como os servidores se comunicam através de trocas de mensagens. 2. Francis Berenger. Internet ± http://www. O núcleo do sistema.lanlink. Como conseqüência. Apesar de todas as vantagens deste modelo.1. ± 1997 ± 232p 7. editora Abril.permite isolar as funções do SO por diversos processos (servidores) pequenos e dedicados a serviços específicos. SO passa a ser de mais fácil manutenção. 3. como operações de entrada e saída. sua implementação. na prática. Redes de Computadores ± Curso Completo ± Gabriel Torres. 4. editora Makron Books.br .com. Revista Info Exame ± Guia de Carreiras em TI ± Outubro de 2003. Apostila de Sistema de Informação ± Professora Sônia Reni. além das funções dos device drives. Nascimento e Jorge L. editora Axcel Books. Lísias Rapid ± Lísias Software ± Copyright 1997. Versão 1. com escalonamento e gerência de memória. 6. 2.Machado.ed. 5. Arquitetura de Sistemas Operacionais . além de ser responsável pela comunicação entre cliente e servidor. A implementação de sistemas cliente-servidor em um ambiente distribuído permite que um cliente solicite um serviço e a resposta seja processada remotamente. Heller. 2005. Na realidade. passa incorporar outras funções críticas do sistema. Introdução à Informática ± Autores: Ângela J. com múltiplos processadores (fortemente acoplado) ou ainda em um ambiente de sistema distribuído (fracamente acoplado). é muito difícil devido a certas funções do SO exigirem acesso direto ao hardware. REFERÊNCIAS BIBLIOGRÁFICAS 1. o que é implementado mais usualmente é uma combinação do modelo de camadas com o modelo cliente-servidor.\nDocuments Similar To 1192706641_SI\nEXERCÍCIOS DE INFORMÁTICA - PROVAS DE CONCURSOS\nQuando Eu Preciso de Um Sistema de Tempo Real\nMore From Morena Denny