Baixe o app para aproveitar ainda mais
Prévia do material em texto
1/11 Sistema operativo pt.wikipedia.org/wiki/Sistema_operativo Sistema (em inglês: Operating System - OS) é um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário. Embora possa ser executado imediatamente após a máquina ser ligada, a maioria dos computadores pessoais de hoje o executa através de outro programa armazenado em uma memória não-volátil ROM chamado BIOS num processo chamado "bootstrapping", conceito em inglês usado para designar processos autossustentáveis, ou seja, capazes de prosseguirem sem ajuda externa. Após executar testes e iniciar os componentes da máquina (monitores, discos, etc), o BIOS procura pelo sistema operacional em alguma unidade de armazenamento, geralmente o Disco Rígido, e a partir daí, o sistema operacional "toma" o controle da máquina. O sistema operacional reveza sua execução com a de outros programas, como se estivesse vigiando, controlando e orquestrando todo o processo computacional. Segundo Tanenbaum, pela perspectiva do usuário ou programador, existem dois modos distintos de conceituar um sistema operacional: numa visão de baixo para cima (bottom-up): é um gerenciador de recursos, i.e., que controla as aplicações (processos) a executar, como, quando e com quais recursos (memória, disco, periféricos). Um sistema operacional é projetado para ocultar as particularidades de hardware (ditas "de baixo nível") e, com sua atuação, criar uma máquina abstrata que fornece às aplicações serviços compreensíveis ao usuário (ditas "de alto nível"). 1 História 2 Visão geral 3 Sistemas operacionais modernos 4 Estrutura em camada 10 Referências 11 Referências bibliográficas 12 Ver também História Na primeira geração (aproximadamente 1945-1955), os computadores eram tão grandes que ocupavam salas imensas, ou mesmo andares inteiros. Foram basicamente construídos com válvulas e painéis, e os sistemas operacionais "não existiam". Os programadores, que também eram os operadores, controlavam o computador por meio de chaves, fios e luzes de aviso. [1] [2] https://pt.wikipedia.org/wiki/Sistema_operativo https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesa https://pt.wikipedia.org/wiki/Programa_de_computador https://pt.wikipedia.org/wiki/Unidade_central_de_processamento https://pt.wikipedia.org/wiki/Sistema_de_arquivos https://pt.wikipedia.org/wiki/Interface https://pt.wikipedia.org/wiki/Computador https://pt.wikipedia.org/wiki/Usu%C3%A1rio https://pt.wikipedia.org/wiki/ROM https://pt.wikipedia.org/wiki/BIOS https://pt.wikipedia.org/wiki/Bootstrapping_(estat%C3%ADstica) https://pt.wikipedia.org/wiki/Processo_(inform%C3%A1tica) https://pt.wikipedia.org/wiki/Hardware https://pt.wikipedia.org/wiki/%23Hist%C3%B3ria https://pt.wikipedia.org/wiki/%23Vis%C3%A3o_geral https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#Sistemas_operacionais_modernos https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#Estrutura_em_camada https://pt.wikipedia.org/wiki/%23Refer%C3%AAncias https://pt.wikipedia.org/wiki/%23Refer%C3%AAncias_bibliogr%C3%A1ficas https://pt.wikipedia.org/wiki/%23Ver_tamb%C3%A9m https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_note-1 https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_note-2 andre Realce 2/11 Sistema operacional em linha de comando. Nomes como Howard Aiken (Harvard), John von Neumann (Instituto de Estudos Avançados de Princeton), John Adam Presper Eckert Jr e William Mauchley (Universidade da Pennsylvania) e Konrad Zuse (Alemanha) formaram, com suas contribuições, a base humana para o sucesso na construção dos computadores primitivos. Na geração seguinte (aproximadamente 1955- 1965), foram criados os sistemas em lote (batch systems), que permitiram melhor uso dos recursos computacionais. A base do sistema operacional era um programa monitor, usado para enfileirar tarefas (jobs). O usuário foi afastado do computador; cada programa era escrito em cartões perfurados, que por sua vez eram carregados, juntamente com o respectivo compilador (normalmente Fortran ou Cobol), por um operador, que por sua vez usava uma linguagem de controle chamada JCL (job control language). No início da computação os primeiros sistemas operacionais eram únicos, pois cada mainframe vendido necessitava de um sistema operacional específico. Esse problema era resultado de arquiteturas diferentes e da linguagem que cada máquina utilizava. Após essa fase, iniciou-se a pesquisa de sistemas operacionais que automatizassem a troca de tarefas (jobs), pois os sistemas eram monousuários e tinham cartões perfurados como entrada (eliminando, assim, o trabalho de pessoas que eram contratadas apenas para trocar os cartões perfurados). Diz-se que Alan Turing era um mestre nos primeiros Manchester Mark I, e ele já estava derivando a concepção primitiva de um sistema operacional a partir dos princípios da máquina de Turing universal. Um dos primeiros sistemas operacionais de propósito geral foi o CTSS, desenvolvido no MIT. Após o CTSS, o MIT, os laboratórios Bell da AT&T e a General Electric desenvolveram o Multics, cujo objetivo era suportar centenas de usuários. Apesar do fracasso comercial, o Multics serviu como base para o estudo e desenvolvimento de sistemas operacionais. Um dos desenvolvedores do Multics, que trabalhava para a Bell, Ken Thompson, começou a reescrever o Multics num conceito menos ambicioso, criando o Unics (em 1969), que mais tarde passou a chamar-se Unix. Os sistemas operacionais eram geralmente programados em assembly, até mesmo o Unix em seu início. Então, Dennis Ritchie (também da Bell) criou a linguagem C a partir da linguagem B, que havia sido criada por Thompson. Finalmente, Thompson e Ritchie reescreveram o Unix em C. O Unix criou um ecossistema de versões, onde destacam-se: System V e derivados (HP-UX, AIX); família BSD (FreeBSD, NetBSD, OpenBSD, etc.), Linux e até o Mac OS X (que deriva do Mach e FreeBSD). O BSD foi lançado em 1977, sendo ele um sistema operacional fortemente baseado no Unix, focado principalmente para a execução em máquinas específicas de alto desempenho, como o famoso computador VAX, o qual foi uma referência de hardware na época. [3] https://pt.wikipedia.org/wiki/Ficheiro:Bash_demo.png https://pt.wikipedia.org/wiki/Fortran https://pt.wikipedia.org/wiki/Cobol https://pt.wikipedia.org/wiki/Mainframe https://pt.wikipedia.org/wiki/Alan_Turing https://pt.wikipedia.org/wiki/Manchester_Mark_I https://pt.wikipedia.org/wiki/M%C3%A1quina_de_Turing_universal https://pt.wikipedia.org/wiki/CTSS https://pt.wikipedia.org/wiki/MIT https://pt.wikipedia.org/wiki/Laborat%C3%B3rios_Bell https://pt.wikipedia.org/wiki/AT%26T https://pt.wikipedia.org/wiki/General_Electric https://pt.wikipedia.org/wiki/Multics https://pt.wikipedia.org/wiki/Ken_Thompson https://pt.wikipedia.org/wiki/Unix https://pt.wikipedia.org/wiki/Dennis_Ritchie https://pt.wikipedia.org/wiki/Linguagem_C https://pt.wikipedia.org/wiki/Linguagem_B https://pt.wikipedia.org/wiki/Berkeley_Software_Distribution https://pt.wikipedia.org/wiki/FreeBSD https://pt.wikipedia.org/wiki/NetBSD https://pt.wikipedia.org/wiki/OpenBSD https://pt.wikipedia.org/wiki/Linux https://pt.wikipedia.org/wiki/Mac_OS_X https://pt.wikipedia.org/wiki/Mach_(n%C3%BAcleo) https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_note-google4-3 3/11 O OS/360 foi colocado na estrutura principal de todos os computadores IBM no início de 1964, incluindo os computadores que ajudaram a NASA a colocar o homem na lua. Durante a década de 70, o Unix foi distribuído gratuitamente (incluindo seu código fonte) para universidades e órgãos governamentais norte-americanos, o que conferiu muita popularidade a este sistema. Sua interface era totalmente em modo texto, sem interface gráfica. Quando começaram a apareceros computadores pessoais, houve a necessidade de um sistema operacional de utilização mais fácil. Em 1980, William (Bill) Gates e seu colega de faculdade, Paul Allen, fundadores da Microsoft, compram o sistema QDOS ("Quick and Dirty Operating System") de Tim Paterson por US$ 50 mil batizam-no de MS-DOS (Microsoft Disk Operating System). O DOS original, de desenvolvimento da IBM, foi o sistema operativo que a IBM apresentou aquando do lançamento do primeiro PC, vendeu muitas cópias, como o sistema operativo nos computadores pessoais desenvolvidos pela IBM. IBM convidou a Microsoft para uma parceria para o desenvolvimento da versão 2 do IBM OS/2, um sistema operacional. Após o fim da breve parceria a IBM seguiu sozinha com o desenvolvimento do OS/2 a que deu o nome de OS/2 Warp, concorrendo diretamente com o MS Windows 95. No começo da década de 1990, um estudante de computação finlandês postou um comentário numa lista de discussão da Usenet dizendo que estava desenvolvendo um núcleo de sistema operacional e perguntou se alguém gostaria de auxiliá-lo na tarefa. Este estudante chamava-se Linus Torvalds e o primeiro passo em direção ao tão conhecido Linux foi dado naquele momento. Existem vários sistemas operativos; entre eles, os mais utilizados no dia a dia, normalmente utilizados em computadores domésticos, são o Windows, Linux e macOS. Um computador com o sistema operativo instalado poderá não dar acesso a todo o seu conteúdo dependendo do utilizador; isso, pois com um sistema operativo, podemos estabelecer permissões a vários utilizadores que trabalham com este. Para isso existem dois tipos de contas que podem ser criadas num sistema operativo, as contas de Administrador e as contas limitadas. A conta Administrador é uma conta que oferece todo o acesso à máquina, desde a gestão de pastas, ficheiros e software de trabalho ou entretenimento ao controle de todo o seu Hardware instalado. A conta Limitada é uma conta que não tem permissões para aceder a algumas pastas ou instalar software que seja instalado na raiz do sistema ou então que tenha ligação com algum Hardware que altere o seu funcionamento normal ou personalizado pelo Administrador. Para que este tipo de conta possa ter acesso a outros conteúdos do https://pt.wikipedia.org/wiki/Ficheiro:IBM360-65-1.corestore.jpg https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1970 https://pt.wikipedia.org/wiki/Computador_pessoal https://pt.wikipedia.org/wiki/1980 https://pt.wikipedia.org/wiki/Bill_Gates https://pt.wikipedia.org/wiki/Paul_Allen https://pt.wikipedia.org/wiki/Microsoft https://pt.wikipedia.org/wiki/QDOS https://pt.wikipedia.org/wiki/Tim_Paterson https://pt.wikipedia.org/wiki/MS-DOS https://pt.wikipedia.org/wiki/IBM_PC https://pt.wikipedia.org/wiki/OS/2 https://pt.wikipedia.org/wiki/Linus_Torvalds https://pt.wikipedia.org/wiki/Windows https://pt.wikipedia.org/wiki/Linux https://pt.wikipedia.org/wiki/MacOS 4/11 disco ou de software, o administrador poderá personalizar a conta oferecendo permissões a algumas funções do sistema como também poderá retirar acessos a certas áreas do sistema. O sistema operativo funciona com a iniciação de processos que este irá precisar para funcionar corretamente. Esses processos poderão ser ficheiros que necessitam de ser frequentemente atualizados, ou ficheiros que processam dados úteis para o sistema. Poderemos ter acesso a vários processos do sistema operativo a partir do gestor de tarefas, onde se encontram todos os processos que estão em funcionamento desde o arranque do sistema operativo até a sua utilização atual. Pode-se também visualizar a utilização da memória por cada processo, no caso de o sistema operativo começar a mostrar erros ou falhas de acesso a programas tornando-se lento, pode-se verificar no gestor de tarefas qual dos processos estará bloqueado ou com elevado número de processamento que está a afetar o funcionamento normal da memória. Um sistema computacional moderno consiste em um ou mais processadores, memória principal, discos, impressoras, teclado, mouse, monitor, interfaces de rede e outros dispositivos de entrada e saída. Enfim, é um sistema complexo. Se cada programador de aplicações tivesse de entender como tudo isso funciona em detalhes, nenhum código chegaria a ser escrito. Além disso, gerenciar todos esses componentes e usá-los de maneira otimizada é um trabalho extremamente difícil. Por isso, os computadores têm um dispositivo de software denominado sistema operacional, cujo trabalho é fornecer aos programas do usuário um modelo de computador melhor, mais simples e mais limpo e lidar com o gerenciamento de todos os recursos mencionados. Um dos conceitos mais fundamentais dos Sistemas Operacionais Modernos é a distinção entre o programa e a atividade de executá-lo. O programa é apenas um conjunto estático de diretrizes e sua execução é uma atividade dinâmica. Outra das diferenças que podemos observar entre um sistema operacional e aplicações convencionais é a forma com que suas rotinas são processadas em função do tempo. Um sistema operacional não é executado de forma estruturada. Suas rotinas são executadas concorrentemente em função de eventos assíncronos. Em outras palavras, eventos que podem ocorrer a qualquer momento. Ver artigo principal: Sistema Operacional em Camadas A Estruturação em camadas é um modelo de Sistema Operacional que o divide em várias camadas sobrepostas. Cada camada proporciona um conjunto de funções que pode ser usado por outras camadas. Uma das maiores vantagens desse modelo de camadas é isolar o sistema operacional, facilitando sua alteração e depuração, além de criar uma hierarquia de níveis de modos, protegendo as camadas mais internas. O empilhamento de várias camadas de software faz com que cada pedido de uma aplicação demore mais tempo para chegar até o dispositivo periférico ou recurso a ser acessado, prejudicando o desempenho do sistema. [4] [5] [6] https://pt.wikipedia.org/wiki/Processo_(inform%C3%A1tica) https://pt.wikipedia.org/wiki/Sistema_Operacional_em_Camadas https://pt.wikipedia.org/wiki/Sistema_Operacional https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_note-4 https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_note-5 https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_note-ReferenceA-6 5/11 O primeiro servidor para WWW rodou em um NeXTSTEP baseado no BSD. Funcionamento Um sistema operacional possui as seguintes funções: O sistema operacional multitarefa é preparado para dar ao usuário a ilusão que o número de processos em execução simultânea no computador é maior que o número de processadores instalados. Cada processo recebe uma fatia do tempo e a alternância entre vários processos é tão rápida que o usuário pensa que sua execução é simultânea. São utilizados algoritmos de escalonamento para determinar qual processo será executado em determinado momento e por quanto tempo. Os processos podem comunicar-se, isto é conhecido como IPC (Inter-Process Communication). Os mecanismos geralmente utilizados são: pipes; named pipes; memória compartilhada; soquetes (sockets); trocas de mensagens. O sistema operacional, normalmente, deve possibilitar o multiprocessamento (SMP ou NUMA). Neste caso, processos diferentes e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompível, o que significa que pode ser interrompido no meio da execução de uma tarefa. Gerenciamento de memória Ver artigo principal: Gerenciamento de memória O sistema operacional tem acesso completo à memória do sistema e deve permitir que os processos dos usuários tenham acesso seguro à memória quando o requisitam. Vários sistemas operacionais usam memória virtual, que possui 3 funções básicas: 1. Assegurar que cada processo tenha seu próprio espaço de endereçamento, começando em zero, para evitar ou resolver o problema de relocação (Tanenbaum, 1999); 2. Prover proteçãoda memória para impedir que um processo utilize um endereço de memória que não lhe pertença; 3. Possibilitar que uma aplicação utilize mais memória do que a fisicamente existente. Swapping Dentro de gerenciamento de memória, pode não ser possível manter todos os processos em memória, muitas vezes por não existir memória suficiente para alocar aquele processo. Para solucionar esse problema existe um mecanismo chamado swapping, onde a gerência de memória reserva uma área do disco para o seu uso em determinadas https://pt.wikipedia.org/wiki/Ficheiro:First_Web_Server.jpg https://pt.wikipedia.org/wiki/World_Wide_Web https://pt.wikipedia.org/wiki/Multitarefa https://pt.wikipedia.org/wiki/Escalonamento_de_processos#Algoritmos_de_escalonamento https://pt.wikipedia.org/wiki/Inter-Process_Communication https://pt.wikipedia.org/wiki/Multiprocessamento https://pt.wikipedia.org/wiki/Multiprocessamento_sim%C3%A9trico https://pt.wikipedia.org/wiki/NUMA https://pt.wikipedia.org/wiki/Thread_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o) https://pt.wikipedia.org/wiki/Gerenciamento_de_mem%C3%B3ria https://pt.wikipedia.org/wiki/Mem%C3%B3ria_virtual https://pt.wikipedia.org/w/index.php?title=Swapping&action=edit&redlink=1 6/11 situações, e um processo é completamente copiado da memória para o disco; este processo é retirado da fila do processador e mais tarde será novamente copiado para a memória; Então, o processo ficará ativo na fila novamente. O resultado desse revezamento no disco é que o sistema operacional consegue executar mais processos do que caberia em um mesmo instante na memória. Swapping impõe aos programas um grande custo em termos de tempo de execução, pois é necessário copiar todo o processo para o disco e mais tarde copiar novamente todo o processo para a memória. Em sistemas onde o usuário interage com o programa durante sua execução, o mecanismo de swapping é utilizado em último caso, quando não se é possível manter todos os processos na memória, visto que a queda no desempenho do sistema é imediatamente sentida pelo usuário. Gerenciamento de recursos Uma das tarefas com extrema importância atribuída ao sistema operacional é o gerenciamento de recursos, que tem a função de definir políticas para gerenciar o uso dos recursos de hardware pelos aplicativos, resolvendo disputas e conflitos. Vários programas de entrada de dados competem pela vez na CPU (Unidade Central de Processamento) e demandam memória, espaço em disco e largura. O sistema operacional tem a função de cuidar de cada aplicativo e para que os mesmos tenham recursos necessários para o melhor funcionamento e gerencia a capacidade limitada do sistema para que possa atender todas as necessidades de aplicativos e usuários. Entrada e saída de dados Sistemas operacionais controlam e gerenciam a entrada e saída (E/S) de dispositivos por três razões. Primeiro, porque a maioria do hardware do dispositivo utiliza uma interface de baixo nível, a interface do software é complexa. Em segundo lugar, porque um dispositivo é um recurso compartilhado, um sistema operacional fornece acesso de acordo com as políticas que tornam a partilha justa e segura. Em terceiro lugar, um sistema operacional define uma interface de alto nível que esconde detalhes e permite que um programador possa usar um conjunto coerente e uniforme das operações ao interagir com os dispositivos. O subsistema de E/S pode ser divididos em três peças conceituais: 1. Uma interface abstrata que consiste funções de E/S de alto nível que os processos possam usar para executar I / O; 2. Um conjunto de dispositivos físicos; 3. Software de driver de dispositivo que conecta os dois. Sistema de arquivos A memória principal do computador é volátil, e seu tamanho é limitado pelo custo do hardware. Assim, os usuários necessitam de algum método para armazenar e recuperar informações de modo permanente. [7] [8] https://pt.wikipedia.org/wiki/Entrada/sa%C3%ADda https://pt.wikipedia.org/wiki/Sistema_de_ficheiros https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_note-7 https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_note-8 7/11 Um arquivo é um conjunto de bytes, normalmente armazenado em um dispositivo periférico não volátil (p.ex., disco), que pode ser lido e gravado por um ou mais processos. Tipos de sistemas Sistema Mono-programado Também chamados como sistema mono-tarefa, o sistema operacional mono-programado possui apenas um processador, realiza alocação de memória para somente um processo e um usuário por vez. Apresenta também uma CPU ociosa durante E/S e sua implementação é feita de forma simples. Sistema em Lote O sistema em lote é também um sistema monoprocessado e utiliza a linguagem de Controle de Tarefas (JLC). Caracteriza-se por ter programas armazenados em disco ou fita, que uma vez iniciados, exigem pouca ou nenhuma interação do usuário, processando de forma sequencial e contínua até o fim do job, quando então é devolvido o resultado final do processamento. Exemplos de JLC: // $JOB // $FORTRAN Programa escrito em FORTRAN // $LOAD // $RUN Dados de entrada do programa // $END Sistema multiprocessadores Os sistemas multiprocessadores – dois ou mais processadores trabalhando juntos – podem ser divididos em duas partes: Sistemas fortemente acoplados; Sistemas fracamente acoplados. Dentro de sistemas fortemente acoplados – memória única compartilhada por dois ou mais processadores, tendo um mesmo sistema operacional gerenciando todos os processadores –, encontramos mais duas divisões: Sistemas simétricos – onde os processadores têm a mesma função; Sistemas assimétricos – onde um processador (mestre) pode executar serviços do sistema operacional. https://pt.wikipedia.org/wiki/Bytes 8/11 Dentro de sistemas fracamente acoplados – mais de dois sistemas operacionais que são ligados por canal de comunicação, tendo hardware e sistemas operacionais independentes – temos: Sistemas operacionais de rede – cada sistema, também chamado host ou nó, possui seus próprios recursos de hardware, como processadores, memória e dispositivos de entrada e saída. Os nós são totalmente independentes dos terminais, sendo interconectados por uma rede de comunicação de dados, formando uma rede de computadores. Os sistemas operacionais de rede são utilizados tanto em redes locais (Local Area Network - LAN), como em redes distribuídas (Wide Area Network - WAN). A ligação entre os diversos nós é feita por uma interface de rede que permite o acesso aos demais componentes da rede. Não existe um limite máximo para o número de nós que podem fazer parte de uma rede de computadores. Cada nó é totalmente independente dos demais, possuindo seu próprio sistema operacional e espaço de endereçamento. Os sistemas operacionais podem ser heterogêneos. Na Internet, cada host pode estar processando um sistema operacional diferente, mas todos estão se comunicando através do mesmo protocolo de rede, no caso, os protocolos da família TCP/IP (Transmission Control Protocol/Internet Protocol). Sistemas operacionais distribuídos – computadores independentes que parecem um único computador aos olhos do usuário; Trata-se de um conjunto de processos que são executados de forma concorrente, cada um dos quais acessando um subconjunto de recursos do sistema. E essa comunicação é feita em forma de envio de mensagens. Sistema Multi-programado para Tempo Real Os sistemas multi-programado para tempo real além de serem sistemas multiprogramados, possuem um tempo de resposta rígido e por isso são muito utilizados no controle de processos. Têm menos time-slice e mais prioridade, ademais, seus processos são ativados por sensores. A aplicação deste tipo de sistema está em máquinas de usinas, refinarias, tráfego aéreo, etc.. Interface de uso Os sistemas operacionais fornecem abstração de hardware para que seus recursos possam ser usados de maneira correta e padronizada, mas para ser possível operar um computador,é necessário fornecer também uma interface para que o usuário possa desfrutar dos recursos do sistema. Atualmente (2009) as principais interfaces de uso são as seguintes: A interface de terminal, também chamada de interface de linha de comando ou "CLI" (Command Line Interface) funciona exclusivamente com o teclado. Os comandos são digitados a partir de um prompt e são interpretados por um interpretador de comandos, conhecidos também por shells, bastante comuns em sistemas padrão POSIX. Um exemplo de interpretador de comandos seria o Bash. [6] https://pt.wikipedia.org/wiki/Prompt https://pt.wikipedia.org/wiki/Interpretador_de_comandos https://pt.wikipedia.org/wiki/Bash https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_note-ReferenceA-6 9/11 Aplicativo com interface textual, rodando no sistema operacional FreeDOS Usada geralmente por usuários avançados e em atividades específicas, como gerenciamento remoto, utiliza poucos recursos de hardware em comparação a interface gráfica. Assim como a interface de terminal, a interface textual também é baseada em texto, porém também tem à disposição um ambiente de trabalho composto por menus, janelas e botões. Esse tipo de interface tinha um uso difundido em aplicações baseadas no MS-DOS, que, inclusive, nas versões mais recentes contava com um gerenciador de programas e arquivos baseados nesse tipo de interface (o DOS Shell). Atualmente essa interface é muito rara, praticamente restrita a sistemas implementados na década de 1980 e início da década de 1990. Esse ambiente ainda prescinde do uso mouse, embora seja possível usá-lo através do uso da biblioteca ncurses no desenvolvimento dos softwares. Nesse tipo de interface, também chamada GUI (Graphic User Interface) além de menus, janelas e botões também existem figuras, tanto vetoriais quanto fotografias. O usuário interage com esse tipo de interface usando o mouse, podendo também usar o teclado e teclas de atalho, ou então usando toques e gestos em touchscreens. A interface gráfica permite atuar com algumas aplicações que seriam impossíveis através da linha de comando puramente, como edição de imagem e vídeo. Acrescentar facilidade de uso e agilidade é o objetivo da interface gráfica, tendo a desvantagem de consumir muito mais memória que interfaces de linha de comando. Ao contrário das interfaces textuais e de terminal, as interfaces gráficas dependem de um servidor gráfico para funcionar e se comunicar com o sistema, e no caso dos sistemas para desktops e laptops, inclui um gerenciador de janelas em muitos casos, para que seja possível usar mais de um aplicativo na mesma tela. Em sistemas padrão POSIX é comum existir mais de um ambiente gráfico para o mesmo sistema, podendo ser escolhido a critério do usuário. Interfaces de voz, ou VUI (Voice User Interface), são aquelas em que o usuário interage com o sistema por meio de comandos sonoros. Sendo de desenvolvimento relativamente recente, tem sua aplicação em dispositivos adaptados para cegos e recentemente têm aparecido também para uso geral em smartphones, tablets e desktops. Classificações Núcleo monolítico ou monobloco: o núcleo consiste em um único processo executando numa memória protegida (espaço de núcleo) executando as principais funções. Ex.: MAC OS X, OS/2, Windows, Linux, FreeBSD. Micronúcleo ou modelo cliente-servidor: o núcleo consiste de funções mínimas (comunicação e gerenciamento de processos), e outras funções, como sistemas de arquivos e gerenciamento de memória, são executadas no espaço do usuário como serviços; as aplicações (programas) são os clientes. Ex.: GNU Hurd, Mach. https://pt.wikipedia.org/wiki/Ficheiro:Fdedit.png https://pt.wikipedia.org/wiki/MS-DOS https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1980 https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1990 https://pt.wikipedia.org/wiki/Ncurses https://pt.wikipedia.org/wiki/Interface_do_utilizador https://pt.wikipedia.org/wiki/Touchscreen https://pt.wikipedia.org/wiki/Cegueira https://pt.wikipedia.org/wiki/Monol%C3%ADtico https://pt.wikipedia.org/wiki/MAC_OS_X https://pt.wikipedia.org/wiki/OS/2 https://pt.wikipedia.org/wiki/Windows https://pt.wikipedia.org/wiki/Linux https://pt.wikipedia.org/wiki/FreeBSD https://pt.wikipedia.org/wiki/Micron%C3%BAcleo_(inform%C3%A1tica) https://pt.wikipedia.org/wiki/GNU_Hurd https://pt.wikipedia.org/wiki/Mach_(n%C3%BAcleo) 10/11 Um exemplo da linha de comando Sistema em camadas: funções do núcleo irão executar em camadas distintas, de acordo com seu nível de privilégio. Ex.: Multics. Monitor de máquinas virtuais: fornece uma abstração do hardware para vários sistemas operacionais. Ex.: VM/370, VMware, Xen. Monotarefa: pode-se executar apenas um processo de cada vez Ex.: MS-DOS. Multitarefa: além do próprio SO, vários processos de utilizador (tarefas) estão carregados em memória, sendo que um pode estar ocupando o processador e outros ficam enfileirados, aguardando a sua vez. O compartilhamento de tempo no processador é feito de modo que o usuário tenha a impressão que vários processos estão sendo executados simultaneamente. Cada processo recebe um tempo para ser executado. Ao final desse tempo, outro processo é executado. Essa alternância de processos chama-se concorrência. Multitarefa cooperativa: Executa dois ou mais programas em simultâneo mas o programa que está em primeiro plano tem controlo sobre o processador. Neste caso se este programa falhar bloqueia o computador e tem que ser reiniciado. Exemplo de SO: Windows 3.x e versões anteriores ao Mac OS 8. Multitarefa preemptiva: É o processador que controla a execução dos programas, desta forma permite ao sistema operativo recuperar o controlo caso um programa bloqueie. O utilizador perde os trabalhos do programa que falhou mas os restantes programas continuam a trabalhar. Exemplo de SO: Unix; Linux; Windows 95 e superiores; MAC OS 8 e superiores; etc.. Elemento de lista com marcas: Ex: OS/2, Windows, Linux, FreeBSD e o Mac OS X. Cabe destacar que processos só podem estar executando simultaneamente caso o sistema seja multiprocessado, já que, em que cada instante de tempo, apenas um processo está em execução em um processador ou núcleo de processamento (core). Multiprocessamento: o SO distribui as tarefas entre dois ou mais processadores. Se os processadores estivem na mesma máquina física, o sistema é chamado de Sistema Multiprocessado Fortemente Acoplado. Caso esteja em máquinas diferentes, trata-se de um Sistema Multiprocessado Fracamente Acoplado. Monousuário: apenas um usuário por vez (apesar de poder suportar recursos como troca de usuário). Ex.: Windows. Esse também pode ser acessado por terminais e conexão remota. Multiusuário: vários usuários usam o computador ao mesmo tempo, seja por diversos terminais, seja por conexão remota como o SSH. Ex.: Linux, Unix. † - descontinuado Referências https://pt.wikipedia.org/wiki/Ficheiro:Command_line.png https://pt.wikipedia.org/w/index.php?title=Em_camadas&action=edit&redlink=1 https://pt.wikipedia.org/wiki/Multics https://pt.wikipedia.org/w/index.php?title=VM/370&action=edit&redlink=1 https://pt.wikipedia.org/wiki/VMware https://pt.wikipedia.org/wiki/Xen https://pt.wikipedia.org/wiki/Monotarefa https://pt.wikipedia.org/wiki/MS-DOS https://pt.wikipedia.org/wiki/Multitarefa https://pt.wikipedia.org/wiki/Multitarefa_cooperativa https://pt.wikipedia.org/wiki/Preemptividade https://pt.wikipedia.org/wiki/OS/2 https://pt.wikipedia.org/wiki/Windows https://pt.wikipedia.org/wiki/Linux https://pt.wikipedia.org/wiki/FreeBSD https://pt.wikipedia.org/wiki/Mac_OS_X https://pt.wikipedia.org/wiki/Multiprocessamento https://pt.wikipedia.org/wiki/Monousu%C3%A1rio https://pt.wikipedia.org/wiki/Windows https://pt.wikipedia.org/wiki/Multiusu%C3%A1rio https://pt.wikipedia.org/wiki/Terminal_(inform%C3%A1tica) https://pt.wikipedia.org/w/index.php?title=Conex%C3%A3o_remota&action=edit&redlink=1 https://pt.wikipedia.org/wiki/SSH https://pt.wikipedia.org/wiki/Linuxhttps://pt.wikipedia.org/wiki/Unix 11/11 1. ↑ Tanenbaum, Andrew S. (2006). Operating systems: design and implementation. USA: Prentice Hall. 6 páginas 2. ↑ Comer, Douglas (2012). Operating system design: the XINU approach, Linksys version. New York: CRC Press. 2 páginas 3. ↑ Hansen, Per Brinch, ed. (2001). Classic Operating Systems. [S.l.]: Springer. pp. 4–7. ISBN 0-387-95113-X 4. ↑ Tanenbaum, Andrew S. (2009). Sistemas operacionais modernos. São Paulo: Pearson Education do Brasil Ltda 5. ↑ J. GLENN BROOKSHEAR,CIENCIA DA COMPUTAÇAO: UMA VISAO ABRANGENTE, Bookman, 2005 6. ↑ (Sistemas Operacionais - Rômulo Silva de Oliveria, Alexandre Carissimi e Simão Toscani - Série Livros Didáticos - No 11 - Editora Sagra Luzzatto - UFRGS) 7. ↑ Comer, Douglas (2012). Operating system design: the Xinu approach. New York: CRC Press. 239 páginas BACH, Maurice J. The design of the Unix operating system. Upper Saddle River: Prentice Hall. 1990. BOVET Daniel P.; CESATI, Marco. Understanding de Linux kernel. 3.ed. Sebastopol: O'Reilly. 2005. MCKUSICK, Marshall K.; NEVILLE-NEIL, George V. The design and implementation of the FreeBSD operating system. Upper Saddle River: Addison-Wesley. 2004. RUSSINOVITCH, Mark E.; SOLOMON, David A. Microsoft Windows internals. 4.ed. Redmond: Microsoft Press. 2005. SILBERSCHATZ, Avi; GALVIN, Peter B.; GAGNE, Greg. Operating system concepts. 7.ed. Hoboken: Wiley. 2005. STALLINGS, William. Operating systems: internals and design principles. 5.ed. Upper Saddle River: Pearson Prentice Hall. 2004. TANENBAUM, Andrew. Sistemas operacionais modernos. Rio de Janeiro: LTC. 1999. https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_ref-1 https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_ref-2 https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_ref-google4_3-0 http://books.google.com/?id=-PDPBvIPYBkC&lpg=PP1&pg=PP1#v=onepage&q https://pt.wikipedia.org/wiki/International_Standard_Book_Number https://pt.wikipedia.org/wiki/Especial:Fontes_de_livros/0-387-95113-X https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_ref-4 https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_ref-5 https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_ref-7 https://pt.wikipedia.org/wiki/Sistema_operativo?printable=yes#cite_ref-8 1/3 Arquitetura de computadores pt.wikipedia.org/wiki/Arquitetura_de_computadores A evolução da informática foi caracterizada pelo desenvolvimento de computadores com as mais diversas características, traduzidas pelos diferentes parâmetros, cada vez mais conhecidos da maioria de usuários de computador: a CPU adotada, a capacidade de memória, a capacidade do disco rígido, a existência de memória cache e outros menos conhecidos. A definição destes parâmetros e a forma como os diversos componentes de um computador são organizados, define aquilo que é conhecido por arquitetura de computador e vai determinar aspectos relacionados à qualidade, ao desempenho e à aplicação para a qual o computador vai ser orientado. Existem vários modos de uso do termo, que podem se referir a: desenho da arquitetura da CPU do computador, o seu conjunto de instruções, "addressing modes" e técnicas, tais como paralelismo SIMD e MIMD. termo também utilizado com significado análogo, ou semelhante, a Arquitetura de microprocessadores (RISC x CISC). utilização menos formal do termo, referindo-se a uma descrição dos requisitos (especialmente requisitos de velocidades e interligação) ou implementação do design para as várias partes de um computador, tais como memória, placa-mãe, periféricos eletrônicos ou, mais frequentemente, CPU. A arquitetura é frequentemente definida como o conjunto de atributos da máquina que um programador deve compreender para que consiga programar o computador específico com sucesso, ou seja, para que consiga compreender o que o programa irá fazer quando da sua execução. Por exemplo, parte da arquitetura são as instruções e o raio de operadores manipulados por elas. De uma maneira semelhante, a frequência em que o sistema opera não é incluída na arquitetura. Esta definição revela as duas principais considerações dos arquitetos de computadores: desenhar hardware que se comporta como o programador pensa que se irá comportar e utilizar implementações existentes de tecnologias (por exemplo, semicondutores), para construir o melhor computador possível. A segunda consideração é frequentemente referida como a microarquitetura. História A expressão "arquitetura de computadores", na literatura, pode ser atribuída a Lyle R. Johnson, Muhammad Usman Khan e Frederick P. Brooks, Jr. Em 1959, eram membros do departamento de Organização de Máquinas da IBM. Johnson teve a oportunidade de escrever uma comunicação de pesquisa proprietária sobre Strech, um supercomputador desenvolvido pela IBM para o Laboratório Nacional de Los Alamos. Na tentativa de caracterizar o seu nível desejado de detalhe, ele observou [1][2] [3] https://pt.wikipedia.org/wiki/Arquitetura_de_computadores https://pt.wikipedia.org/wiki/Disco_r%C3%ADgido https://pt.wikipedia.org/wiki/CPU https://pt.wikipedia.org/wiki/Conjunto_de_instru%C3%A7%C3%B5es https://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_paralela https://pt.wikipedia.org/wiki/SIMD https://pt.wikipedia.org/wiki/MIMD https://pt.wikipedia.org/wiki/Arquitetura_de_microprocessadores https://pt.wikipedia.org/wiki/RISC https://pt.wikipedia.org/wiki/CISC https://pt.wikipedia.org/wiki/Mem%C3%B3ria https://pt.wikipedia.org/wiki/Placa-m%C3%A3e https://pt.wikipedia.org/wiki/Perif%C3%A9rico https://pt.wikipedia.org/wiki/Unidade_Central_de_Processamento https://pt.wikipedia.org/wiki/Semicondutor https://pt.wikipedia.org/wiki/Microarquitetura https://pt.wikipedia.org/wiki/Laborat%C3%B3rio_Nacional_de_Los_Alamos https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-1 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-2 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-3 andre Realce 2/3 que sua descrição de formatos, tipos de instruções, os parâmetros de hardware e melhorias de velocidade foi no nível de "arquitetura do sistema" - Um termo que parecia ser mais útil do que "organização de máquina". Posteriormente, Brooks, um dos projetistas do Strech, começou o capítulo 2 de um livro (Planning a Computer System: Project Stretch, ed W. Buchholz, 1962), escrevendo: "Arquitetura de computadores, como outra arquitetura, é a arte de determinar as necessidades do usuário de uma estrutura e, possível dentro das limitações econômicas e tecnológicas.". Brooks passou a desempenhar um papel no desenvolvimento do IBM System/360(agora chamado de IBM System z) linha de computadores, onde a "arquitetura" ganhou moeda como um substantivo com a definição como "o que o usuário precisa saber". Mais tarde, o mundo da informática, empregaria o termo, em formas muito menos explícitas. Tanto a estrutura quanto o funcionamento de um computador são, essencialmente, simples. Em termos gerais, existem apenas quatro: Existem quatro componentes estruturais principais. CPU: Faz o controle da operação do computador e realiza suas funções de processamento de dados; Memória principal: Faz o armazenamento de dados; E/S (Entrada/Saída): Movimenta os dados entre o computador e seu ambiente externo; Interconexão do sistema: Mecanismo que oferece comunicação entre a CPU, memória principal e E/S. Memória virtual Outro problema recorrente envolve a memória virtual. Historicamente, a memória de acesso aleatório (RAM) foi centenas de vezes mais cara que o armazenamento mecânico rotativo, isto é, discos rígidos, num computador moderno. O processador só pode executar uma instrução que esteja na memória real. O mecanismo de Memória Virtual divide a memória real em frames e divide um arquivo no disco em páginas de mesmo tamanho dos frames. No disco existem muito mais páginas do que framesna memória. Sempre que for preciso uma página é copiada da memória virtual (arquivo em disco) para um frame da memória real. Surge a necessidade de saber quando é preciso copiar. Surge a necessidade de saber se um frame pode ser descartado ou se precisa ser recopiado para sua página correspondente no arquivo em disco. Sempre que uma instrução é executada a partir de um frame o hardware controlador de memória virtual testa se o dado a que ela se refere já se encontra em algum frame. Se for o caso, uma interrupção ocorre para que a rotina de tratamento cuide de copiar do disco para a memória real uma página completa contendo o dado necessário. [4] [4] [4] [4] [4] https://pt.wikipedia.org/wiki/Projetista https://pt.wikipedia.org/wiki/IBM_System/360 https://pt.wikipedia.org/wiki/CPU https://pt.wikipedia.org/wiki/Entrada/Sa%C3%ADda https://pt.wikipedia.org/wiki/CPU https://pt.wikipedia.org/wiki/Mem%C3%B3ria_virtual https://pt.wikipedia.org/wiki/Discos_r%C3%ADgidos https://pt.wikipedia.org/wiki/Processador_gr%C3%A1fico https://pt.wikipedia.org/wiki/Frame https://pt.wikipedia.org/wiki/Arquivo_de_computador https://pt.wikipedia.org/wiki/Mem%C3%B3ria_virtual https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-:0-4 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-:0-4 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-:0-4 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-:0-4 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-:0-4 3/3 Memória principal e secundária Memória principal (RAM): componente de memória volátil para armazenar os programas e execuções de forma mais rápida. Memória secundária: é a de acesso mais lento para armazenagem dos dados não-volátil também conhecida como HD ou HDD (hard disk drive ou disco rígido) hoje também difundida em SSD. Curiosidade que a primeira memória secundária foi a fita magnética ainda muito usada, mesmo sendo o componente mais lento. Memórias voláteis são as que perdem os dados assim que o fluxo de energia é encerrado. Por este motivo as memórias primárias são voláteis e as secundárias não-voláteis, pois a primeira precisa armazenar os dados para processamento de forma rápida, já a segunda, não precisa de acesso tão rápido, e sim de segurança de que a informação armazenada lá não se perca quando o fluxo de energia for cortado. Segmentação das instruções (pipeline) O conjunto e instruções orienta fortemente como funcionará a segmentação de instruções. A ideia é análoga a linha de produções em série, mas utilizada na execução das instruções. Primeiro divide-se as instruções em pedaços menores de forma que uma instrução em código de máquina demore muitos ciclos curtos para ser executada. Depois disso o controle do microprocessador encarrega-se de executar várias instruções ao mesmo tempo, cada uma utilizando um pedaço distinto do processador. Isto tem como objetivo que na média cada instrução demore um ciclo curto para ser executada. Existem diversas complicações em instruções de desvio (condicionais), que são tratadas por paralelismo de código conhecida como threading (nome comercial da Intel Hyperthreading). Arquitetura etiquetada Arquitetura Harvard Referências 1. ↑ Gerrit A. Blaauw & Frederick P. Brooks (1997). Computer Architecture: Concepts and Evolution. [S.l.]: Addison-Wesley. ISBN 0-201-10557-8 2. ↑ Anthony Ralston & Edwin D. Reilly (1993). Encyclopedia of Computer Science Third Edition. [S.l.]: Van Nostrand Reinhold. ISBN 0-442-27679-6 3. ↑ [1] 4. ↑ STALLINGS, W. Arquitetura e Organização de Computadores. 8 ed. - https://github.com/xstpl/Livros- 1/raw/master/Arquitetura%20e%20Organiza%C3%A7%C3%A3o%20de%20Compu tadores%20-%208%C2%AA%20Ed.pdf Obtida de "https://pt.wikipedia.org/w/index.php? title=Arquitetura_de_computadores&oldid=60048507" [4] [4] [4] a b c d e f g h i j k l https://pt.wikipedia.org/wiki/Mem%C3%B3ria_(inform%C3%A1tica) https://pt.wikipedia.org/wiki/Pipeline_(hardware) https://pt.wikipedia.org/wiki/Produ%C3%A7%C3%A3o_em_massa https://pt.wikipedia.org/wiki/Microprocessador https://pt.wikipedia.org/wiki/Thread_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o) https://pt.wikipedia.org/wiki/Hyperthreading https://pt.wikipedia.org/wiki/Arquitetura_etiquetada https://pt.wikipedia.org/wiki/Arquitetura_Harvard https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-1 https://pt.wikipedia.org/wiki/International_Standard_Book_Number https://pt.wikipedia.org/wiki/Especial:Fontes_de_livros/0-201-10557-8 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-2 https://pt.wikipedia.org/wiki/International_Standard_Book_Number https://pt.wikipedia.org/wiki/Especial:Fontes_de_livros/0-442-27679-6 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-3 http://cpushack.net/CPU/cpu7.html https://github.com/xstpl/Livros-1/raw/master/Arquitetura%20e%20Organiza%C3%A7%C3%A3o%20de%20Computadores%20-%208%C2%AA%20Ed.pdf https://pt.wikipedia.org/w/index.php?title=Arquitetura_de_computadores&oldid=60048507 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-:0-4 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-:0-4 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_note-:0-4 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-0 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-1 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-2 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-3 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-4 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-5 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-6 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-7 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-8 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-9 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-10 https://pt.wikipedia.org/wiki/Arquitetura_de_computadores?printable=yes#cite_ref-:0_4-11 1/5 Uma CPU Intel 80386, de 1985, com seu circuito integrado exposto. Unidade central de processamento pt.wikipedia.org/wiki/Unidade_central_de_processamento Nota: Se procura a caixa onde se localizam os componentes do computador, consulte: Gabinete (informática). A unidade central de processamento ou CPU (Central Processing Unit), também conhecida como processador, é a parte de um sistema computacional, que realiza as instruções de um programa de computador, para executar a aritmética básica, lógica, e a entrada e saída de dados. O papel da CPU pode ser comparado ao papel de um cérebro no funcionamento de um computador. Isto é, realiza operações lógicas, cálculos e processamento de dados. O termo foi cunhado no início de 1960 e seu uso permanece até os dias atuais pois, ainda que sua forma, desenho e implementação tenham mudado drasticamente, seu funcionamento fundamental permanece o mesmo. Conceito As primeiras CPUs personalizadas foram concebidas como parte de um computador maior. No entanto, este método caro de fazer CPUs personalizadas para uma determinada aplicação rumou para o desenvolvimento de processadores produzidos em massa que são feitos para um ou vários propósitos. Esta tendência de padronização em geral começou na época de discretos minicomputadores e mainframes transistors e acelerou rapidamente com a popularização dos circuitos integrados (CI). Os CI têm permitido processadores cada vez mais complexos para serem concebidos e fabricados emtamanhos da ordem de nanômetros. Tanto a miniaturização como a padronização dos processadores têm aumentado a presença destes dispositivos digitais na vida moderna, muito além da aplicação limitada dedicada a computadores. Os microprocessadores modernos aparecem em tudo, desde automóveis até celulares e brinquedos para crianças. Em máquinas grandes, CPUs podem exigir uma ou mais placas de circuito impresso. Em computadores pessoais e estações de trabalho de pequeno porte, a CPU fica em um único chip de silício chamado de microprocessador. Desde 1970 a classe de microprocessadores de CPUs quase completamente ultrapassou todas as implementações de outra CPUs. CPUs modernas são circuitos integrados de grande escala em pequenos pacotes retangulares, com vários pinos de conexão. Uma CPU é composta basicamente, pela maioria dos autores, pelos três seguintes componentes: [1] [2] [3] https://pt.wikipedia.org/wiki/Ficheiro:80386_open.jpg https://pt.wikipedia.org/wiki/Intel_80386 https://pt.wikipedia.org/wiki/Circuito_integrado https://pt.wikipedia.org/wiki/Unidade_central_de_processamento https://pt.wikipedia.org/wiki/Gabinete_(inform%C3%A1tica) https://pt.wikipedia.org/wiki/Instru%C3%A7%C3%B5es https://pt.wikipedia.org/wiki/Programa_de_computador https://pt.wikipedia.org/wiki/Aritm%C3%A9tica https://pt.wikipedia.org/wiki/C%C3%A9rebro https://pt.wikipedia.org/wiki/Minicomputador https://pt.wikipedia.org/wiki/Mainframe https://pt.wikipedia.org/wiki/Transistor https://pt.wikipedia.org/wiki/Circuito_integrado https://pt.wikipedia.org/wiki/Nan%C3%B3metro https://pt.wikipedia.org/wiki/Autom%C3%B3veis https://pt.wikipedia.org/wiki/Celular https://pt.wikipedia.org/wiki/Microprocessador https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_note-TECMUNDO-1 https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_note-HARD-2 https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_note-weik1961-3 andre Realce 2/5 O EDVAC, um dos primeiros computadores. OBS.: Alguns autores também incluem, na mesma categoria dos Registradores, a Memória cache (L1, L2 e L3) como componentes da CPU. História Computadores como o ENIAC tinham que ser fisicamente religados a fim de realizar diferentes tarefas, por isso estas máquinas são muitas vezes referidas como "computadores de programa fixo". Visto que o termo "CPU" é geralmente definido como um dispositivo para execução de um software (programa de computador), os primeiros dispositivos que poderiam muito bem ser chamados CPUs vieram com o advento do computador com programa armazenado. A ideia do programa de computador já estava presente no projeto do ENIAC de J. Presper Eckert e John William Mauchly, mas inicialmente foi omitido para que a máquina pudesse ser concluída em menos tempo. Em 30 de junho de 1945, antes do ENIAC ter sido concluído, o matemático John von Neumann distribuiu um documento intitulado "primeiro esboço de um relatório sobre o EDVAC". É descrito o projeto de um programa de computador armazenado que viria a ser concluído em agosto de 1949. O EDVAC foi projetado para executar um determinado número de instruções (ou operações) de vários tipos. Estas instruções podem ser combinados para criar programas úteis para o EDVAC para ser executado. Significativamente, os programas escritos para EDVAC foram armazenados em memórias de computador de alta velocidade e não especificados pela ligação física do computador. Isso superou uma grave limitação do ENIAC que era o longo tempo e esforço necessário para reconfigurar o computador para executar uma nova tarefa. Com o design de von Neumann, o programa, ou software, que executava no EDVAC poderia ser mudado simplesmente mudando o conteúdo da memória do computador. Enquanto von Neumann é mais frequentemente creditado como sendo o desenvolvedor do computador com programa armazenado, devido à sua concepção do EDVAC, outros antes dele, como Konrad Zuse, tinham sugerido e implementado ideias semelhantes. A chamada arquitetura de Harvard do Harvard Mark I, que foi concluída antes do EDVAC, também utilizou um projeto de programa armazenado usando fita de papel perfurado em vez de memória eletrônica. A diferença fundamental entre as arquiteturas de von Neumann e Harvard é que este último separa o armazenamento e o tratamento de instruções da CPU e de dados, enquanto a primeira utiliza o mesmo espaço de memória para ambos. A maioria dos processadores modernos são principalmente von Neumann em design, mas elementos da arquitetura de Harvard são comumente vistas também. [4] https://pt.wikipedia.org/wiki/Ficheiro:Edvac.jpg https://pt.wikipedia.org/wiki/EDVAC https://pt.wikipedia.org/wiki/Mem%C3%B3ria_cache https://pt.wikipedia.org/wiki/ENIAC https://pt.wikipedia.org/wiki/Software https://pt.wikipedia.org/wiki/J._Presper_Eckert https://pt.wikipedia.org/wiki/John_William_Mauchly https://pt.wikipedia.org/wiki/John_von_Neumann https://pt.wikipedia.org/wiki/Mem%C3%B3ria_(computador) https://pt.wikipedia.org/wiki/Konrad_Zuse https://pt.wikipedia.org/wiki/Arquitetura_Harvard https://pt.wikipedia.org/wiki/Harvard_Mark_I https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_note-4 3/5 CPU, memória de núcleo magnético e barramento externo de um DEC PDP-8/I. feito de circuitos integrados em média escala. Como um dispositivo digital, uma CPU é limitada a um conjunto de estados discretos, e requer algum tipo de elemento de comutação para diferenciar e mudar estados. Antes do desenvolvimento comercial do transistor, relés elétricos e válvulas eletrônicas eram comumente utilizados como elementos de comutação. Embora estes tivessem considerável vantagem em termos de velocidade sobre o que se usava antes, desenhos puramente mecânicos, eles não eram confiáveis por diversas razões. Por exemplo, a construção de circuitos de lógica sequencial de corrente contínua fora de relés requer um hardware adicional para lidar com os problemas de contato. Enquanto as válvulas não sofrem rejeição de contato, elas devem aquecer antes de se tornarem plenamente operacionais, e eventualmente deixam de funcionar devido à lenta contaminação dos seus cátodos que ocorre no curso da operação normal. Se uma válvula selada vaza, como por vezes acontece, a contaminação do cátodo é acelerada. Normalmente, quando um tubo apresenta defeito, a CPU teria que ser examinada para localizar o componente que falhou a fim de que pudesse ser substituído. Portanto, os primeiros computadores eletrônicos (baseados em válvulas) eram geralmente mais rápidos, mas menos confiáveis do que os computadores eletromecânicos (baseados em relés). Computadores baseados em válvulas como o EDVAC tendiam a trabalhar em média oito horas até apresentarem falhas, enquanto os computadores baseados em relés como o (mais lento, mas anterior) Harvard Mark I apresentava defeitos muito raramente. No final, CPUs baseadas em válvulas tornaram-se dominantes porque as vantagens de velocidade significativa oferecidas geralmente superavam os problemas de confiabilidade. A maioria destas antigas CPUs funcionava com baixa frequências de relógio em comparação com os design microeletrônicos modernos. Sinais de frequência de relógio variando de 100 kHz a 4 MHz eram muito comuns nesta época, em grande parte limitados pela velocidade dos dispositivos de comutação que eram construídos. CPUs baseadas em transistores discretos e em circuitos integrados A complexidade do projeto de CPUs aumentou quando várias tecnologias facilitaram a construção de menores e mais confiáveis dispositivos eletrônicos. O primeiro aprimoramento veio com o advento do transistor. CPUs transistorizadas durante os anos 1950 e 1960 já não precisavam mais ser construídas com volumosos, não confiáveis e frágeis elementos de comutação, tais como válvulas e relés elétricos. Com esta melhoria, CPUs mais complexas e mais confiáveis foram construídas em umaou várias placas de circuito impresso com componentes discretos (individuais). Durante este período, um método de fabricação de transistores em um espaço compacto ganhou popularidade. O circuito integrado (IC, conforme iniciais em inglês) permitiu que um [3] https://pt.wikipedia.org/wiki/Ficheiro:PDP-8i_cpu.jpg https://pt.wikipedia.org/wiki/Barramento https://pt.wikipedia.org/wiki/Digital https://pt.wikipedia.org/wiki/Rel%C3%A9 https://pt.wikipedia.org/wiki/V%C3%A1lvula_termi%C3%B4nica https://pt.wikipedia.org/wiki/Corrente_cont%C3%ADnua https://pt.wikipedia.org/wiki/EDVAC https://pt.wikipedia.org/wiki/Harvard_Mark_I https://pt.wikipedia.org/wiki/Frequ%C3%AAncia_de_rel%C3%B3gio https://pt.wikipedia.org/wiki/Hertz https://pt.wikipedia.org/wiki/Transistor https://pt.wikipedia.org/wiki/V%C3%A1lvula_electr%C3%B3nica https://pt.wikipedia.org/wiki/Rel%C3%A9 https://pt.wikipedia.org/wiki/Circuito_impresso https://pt.wikipedia.org/wiki/Circuito_integrado https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_note-weik1961-3 4/5 O circuito integrado de um Intel 8742. grande número de transistores fossem fabricados em um único die baseado em semicondutor, ou "chip". No início apenas circuitos digitais não especializados e muito básicos, tais como portas NOR foram miniaturizados em ICs. CPUs baseadas nestes IC de "blocos construídos" eram geralmente referidos como dispositivos de "integração em pequena escala" (SSI, conforme iniciais em inglês). SSI ICs, tais como os usados no computador orientado Apollo, normalmente continham somas de transistores em múltiplos de dez. Para construir uma CPU inteira fora dos SSI ICs eram necessários milhares de chips individuais, mas ainda assim consumiam muito menos espaço e energia do que modelos anteriores baseados em transistores discretos. Quando a tecnologia microeletrônica avançou, um crescente número de transistores foram colocados em ICs, diminuindo assim a quantidade de ICs individuais necessários para uma CPU completa. Circuitos integrados MSI e LSI (integração em média e em larga escala, conforme iniciais em inglês) aumentaram a soma de transistores às centenas, e depois milhares. Microprocessadores Ver artigo principal: Microprocessador A introdução do microprocessador na década de 1970 afetou significativamente a concepção e implementação de processadores. Com a introdução do primeiro microprocessador disponível comercialmente (o Intel 4004) em 1970 e, posteriormente, do primeiro microprocessador de 16 bits (o Intel 8080), em 1974, os microprocessadores rapidamente tomaram o mercado e se consolidaram com o tipo de CPU mais utilizado, tornando-se praticamente sinônimos. Microprocessadores utilizam circuitos integrados de transistores, alcançando assim as vantagens dos processadores de transistores ao mesmo tempo que economizam espaço, energia e aquecem menos. Por esses motivos, podem também atingir frequências de clock maiores, o que se traduz em mais operações executadas por segundo e, consequentemente, mais velocidade perceptível ao usuário. O menor tamanho também possibilitou a inclusão de memória cache, o que possibilita um circuito atingir maior velocidade na execução de programas sem com isso precisar recorrer à frequências de clock maiores. Como clocks maiores significam mais energia consumida e maior calor dissipado, os ganhos de desempenho resultantes da inclusão destas memórias foram essenciais para o surgimento do smartphone. Referências [5][6] [7] https://pt.wikipedia.org/wiki/Ficheiro:Intel_8742_153056995.jpg https://pt.wikipedia.org/wiki/Circuito_integrado https://pt.wikipedia.org/wiki/Intel https://pt.wikipedia.org/wiki/Die_(circuito_integrado) https://pt.wikipedia.org/wiki/Semicondutor https://pt.wikipedia.org/wiki/Porta_NOR https://pt.wikipedia.org/wiki/Microprocessador https://pt.wikipedia.org/wiki/Microprocessador https://pt.wikipedia.org/wiki/Intel_4004 https://pt.wikipedia.org/wiki/16_bits https://pt.wikipedia.org/wiki/Intel_8080 https://pt.wikipedia.org/wiki/Circuito_integrado https://pt.wikipedia.org/wiki/Sinal_de_rel%C3%B3gio https://pt.wikipedia.org/wiki/Mem%C3%B3ria_cache https://pt.wikipedia.org/wiki/Smartphone https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_note-5 https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_note-6 https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_note-7 5/5 1. ↑ Arruda, Felipe (17 de agosto de 2007). «A História dos Processadores». Tecmundo. Consultado em 15 de janeiro de 2012 2. ↑ Morimoto, Carlos E. (30 de julho de 2007). «Processador». Guia do Hardware. Consultado em 15 de janeiro de 2012 3. ↑ Weik, Martin H. (1961). «A Third Survey of Domestic Electronic Digital Computing Systems». Ballistic Research Laboratories 4. ↑ VON NEUMANN, John. First Draft of a Report on the EDVAC Arquivado em 23 de abril de 2004, no Wayback Machine., Moore School of Electrical Engineering, Universidade da Pensilvânia, 1945 5. ↑ «Computer Terminology - Processors». www.unm.edu. Consultado em 1 de novembro de 2018 a b https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_ref-TECMUNDO_1-0 http://www.tecmundo.com.br/2157-a-historia-dos-processadores.htm https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_ref-HARD_2-0 http://www.hardware.com.br/termos/processador http://ed-thelen.org/comp-hist/BRL61.html https://pt.wikipedia.org/wiki/Ballistic_Research_Laboratory https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_ref-4 http://www.virtualtravelog.net/entries/2003-08-TheFirstDraft.pdf https://web.archive.org/web/20040423232125/http://www.virtualtravelog.net/entries/2003-08-TheFirstDraft.pdf https://pt.wikipedia.org/wiki/Wayback_Machine https://pt.wikipedia.org/wiki/Universidade_da_Pensilv%C3%A2nia https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_ref-6 https://www.unm.edu/~tbeach/terms/processors.html https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_ref-weik1961_3-0 https://pt.wikipedia.org/wiki/Unidade_central_de_processamento?printable=yes#cite_ref-weik1961_3-1 1/6 Diferentes tipos de RAM. A partir do alto: DIP, SIPP, SIMM 30 pin, SIMM 72 pin, DIMM (168-pin), DDR DIMM (184-pin) Memória (informática) pt.wikipedia.org/wiki/Memória_(informática) Nota: Para outros significados, veja RAM (desambiguação). Em informática, memória são todos os dispositivos que permitem a um computador guardar dados, temporária ou permanentemente. Memória é um termo genérico para designar componentes de um sistema capazes de armazenar dados e programas. O conceito de computador digital binário com programa armazenado (arquitetura de Von Neumann e subsequentes) é sempre baseado no uso de memória, e não existiria sem a utilização destas. A unidade básica de memória é o digito binário, ou bit. Um bit pode conter 0 ou 1. É a unidade mais simples possível. Um sistema que armazenasse apenas um destes valores não poderia formar a base de um sistema de memória. Tipologia Basicamente são dois tipos de memórias que existem: memórias voláteis, isto é, perdem seus dados com ausência de energia, como a memória cache, registradora, memória de acesso aleatória (RAM). As memórias flash, disco rígido (HD), são memórias não voláteis, isto é, não perdem seus dados na ausência de energia. Memória principal: "também chamadas de memória real, são memórias que o processador pode endereçar diretamente, sem as quais o computador não pode funcionar. Estas fornecem geralmente uma ponte para as secundárias, mas a sua função principal é a de conter a informação necessária para o processador num determinado momento; esta informação pode ser, por exemplo, os programas em execução. Nesta categoria insere-se a RAM,que é uma memória de semicondutores, volátil, com acesso aleatório, isto é, palavras individuais de memória sãoacessadas diretamente, utilizando uma lógica de endereçamento implementada em hardware. Também pode-se compreender a memória ROM (não volátil), registradores e memórias cache." https://pt.wikipedia.org/wiki/Ficheiro:RAM_n.jpg https://pt.wikipedia.org/wiki/SIMM https://pt.wikipedia.org/wiki/DIMM https://pt.wikipedia.org/wiki/Mem%C3%B3ria_(inform%C3%A1tica) https://pt.wikipedia.org/wiki/RAM_(desambigua%C3%A7%C3%A3o) https://pt.wikipedia.org/wiki/Inform%C3%A1tica https://pt.wikipedia.org/wiki/Computador https://pt.wikipedia.org/wiki/Processador https://pt.wikipedia.org/wiki/RAM https://pt.wikipedia.org/wiki/Mem%C3%B3ria_ROM https://pt.wikipedia.org/wiki/Registrador_(inform%C3%A1tica) https://pt.wikipedia.org/wiki/Mem%C3%B3ria_cache andre Realce 2/6 Memória secundária: memórias chamadas de “memórias de armazenamento em massa”, para armazenamento permanente de dados. Não podem ser endereçadas diretamente, a informação precisa ser carregada em memória principal antes de poder ser tratada pelo processador. Não são estritamente necessárias para a operação do computador. São não-voláteis, permitindo guardar os dados permanentemente. Como memórias externas, de armazenamento em massa, podemos citar os discos rígidos como o meio mais utilizado, uma série de discos óticos como CDs, DVDs e Blu-Rays, disquetes e fitas magnéticas. Às vezes faz-se uma diferença entre memória secundária e memória terciária. A memória secundária não necessita de operações de montagem (inserção de uma mídia ou média em um dispositivo de leitura/gravação) para acessar os dados, como discos rígidos; a memória terciária depende das operações de montagem, como discos ópticos e fitas magnéticas, entre outros. Os discos rígidos magnéticos consistem uma categoria a parte nas memórias ditas “externas”, pois geralmente armazenam sistema, programas e arquivos de usuários, são vendidos hoje (2011) em capacidades que variam de 500GB a 3TB. A tecnologia de transmissão de dados mais atual para sistemas desktop é a Serial ATA 3, ou SATA 600, e para servidores é o SAS, muito semelhante ao SATA mas com velocidade (1.2GBPS) e padrões de qualidade de fabricação superiores. Ainda sobrevivem discos com interface SCSI, principalmente as ultra wide 4, capazes de transmitir até 320MB/s com a tradicional alta confiabilidade e durabilidade dos discos SCSI. No nível seguinte podemos citar discos de leitura ótica e unidades de fita (as ditas memórias terciárias). Discos óticos são muito utilizados para guardar programas e como backup de arquivos pessoais. O CD (Compact disk), em suas diversas versões, é capaz de armazenar 700MB, o DVD (Digital Video Disk) armazena até 4.7GB (8.5GB na versão “dual layer”) e o Blu-ray é capaz de armazenar até 50GB. As fitas magnéticas são dispositivos de acesso sequencial. As antigas DAT tem sido substituídas pelas modernas fitas Ultrium LTO (Linear Tape Open) que, em sua 5ª geração, são capazes de armazenar 1.5TB e realizar leitura a uma velocidade máxima de 140MB/s. As principais tecnologias de implantação de memórias em uso corrente são: Portas lógicas e flip-flops, usados na implementação da memória cache. Transistores e circuitos de refrescamento, usados na implementação da memória principal. Arranjos de conexões, utilizados na implementação de certas ROMs (memórias de leitura). Fitas magnéticas, utilizadas principalmente para cópias de segurança e arquivamento a longo prazo. Discos magnéticos, como discos rígidos e disquetes - a principal tecnologia de implementação de memória secundária. Discos ópticos, como CDs e DVDs, e suas diversas variações. Memória flash, um tipo de memória semicondutora não volátil muito usada em câmeras digitais e leitores de MP3. https://pt.wikipedia.org/wiki/Disco_r%C3%ADgido https://pt.wikipedia.org/wiki/CD https://pt.wikipedia.org/wiki/DVD https://pt.wikipedia.org/wiki/Blu-Ray https://pt.wikipedia.org/wiki/Disquete https://pt.wikipedia.org/wiki/Fitas_magn%C3%A9ticas https://pt.wikipedia.org/wiki/M%C3%ADdia https://pt.wikipedia.org/wiki/Disco_%C3%B3ptico https://pt.wikipedia.org/wiki/Fita_magn%C3%A9tica https://pt.wikipedia.org/wiki/Porta_l%C3%B3gica https://pt.wikipedia.org/wiki/Flip-flop https://pt.wikipedia.org/wiki/Mem%C3%B3ria_cache https://pt.wikipedia.org/wiki/Transistor https://pt.wikipedia.org/wiki/Refrescamento https://pt.wikipedia.org/wiki/ROM https://pt.wikipedia.org/wiki/Fita_magn%C3%A9tica https://pt.wikipedia.org/wiki/Backup https://pt.wikipedia.org/wiki/Disco_r%C3%ADgido https://pt.wikipedia.org/wiki/Disquete https://pt.wikipedia.org/wiki/CD https://pt.wikipedia.org/wiki/DVD https://pt.wikipedia.org/wiki/Mem%C3%B3ria_flash https://pt.wikipedia.org/wiki/C%C3%A2mera_digital https://pt.wikipedia.org/wiki/MP3 3/6 Memória SRAM de 64MB. Existem também tecnologias que foram usadas no passado, mas tornaram-se obsoletas: Memórias de tecnologia delay line, uma das primeiras tecnologias de memória principal, que armazenavam os dados na forma de pulsos sonoros em uma coluna de mercúrio. Memórias CRT, também chamadas de Williams-tube, um tipo de memória que usava um tubo CRT para armazenar dados na forma de pontos luminosos. Memórias de núcleo de ferrite, uma tecnologia popular de implementação da memória principal nas décadas de 1940 e 1950. Memórias de filme fino, uma melhoria da tecnlogia de núcleo de ferrite, utilizada em alguns computadores na década de 1960. Memórias voláteis Memórias voláteis são as que requerem energia para manter a informação armazenada. São fabricadas com base em duas tecnologias: dinâmica e estática. Ver alocação de memória. Memória dinâmica A memória dinâmica é a mais barata delas e, portanto, a mais utilizada nos computadores e são aquelas que foram popularizadas como memórias RAM. Este atributo vem do nome inglês "Random Access Memory" (memória de acesso aleatório), que significa que os dados nela armazenados podem ser acessados a partir de qualquer endereço. As memórias RAM se contrapõem com as de acesso seqüencial, que exigem que qualquer acesso seja feito a iniciar pelo primeiro endereço e, seqüencialmente, vai “pulando” de um em um até atingir o objetivo. Na realidade, existem outras memórias de acesso aleatório nos computadores, inclusive não voláteis, portanto, é importante ter o conhecimento de que o nome RAM é apenas uma popularização do nome da memória principal dos computadores, utilizada para armazenar os programas e dados no momento da execução. O nome dinâmica é referente à tecnologia utilizada para armazenar programas e dados e não à forma de acessá-los. De modo simplista ela funciona como uma bateria que deve ser recarregada sempre que apresentar carga insuficiente para alimentar o equipamento. Todas as vezes que a CPU (unidade de processamento central) for acessar a memória, para escrita ou para leitura, cada célula dessa memória é atualizada. Se ela tem 1 lógico armazenado, sua “bateria” será recarregada; se ela tem 0 lógico, a “bateria” será https://pt.wikipedia.org/wiki/Ficheiro:SODIMM_64MB_SDRAM.JPG https://pt.wikipedia.org/wiki/SRAM https://pt.wikipedia.org/w/index.php?title=Delay_line&action=edit&redlink=1 https://pt.wikipedia.org/wiki/Som https://pt.wikipedia.org/wiki/Merc%C3%BArio_(elemento_qu%C3%ADmico) https://pt.wikipedia.org/w/index.php?title=Mem%C3%B3ria_CRT&action=edit&redlink=1 https://pt.wikipedia.org/wiki/CRT https://pt.wikipedia.org/w/index.php?title=Mem%C3%B3ria_de_n%C3%BAcleo_de_ferrite&action=edit&redlink=1 https://pt.wikipedia.org/w/index.php?title=Mem%C3%B3ria_de_filme_fino&action=edit&redlink=1 https://pt.wikipedia.org/wiki/Aloca%C3%A7%C3%A3o_de_mem%C3%B3ria https://pt.wikipedia.org/wiki/RAM https://pt.wikipedia.org/wiki/CPU 4/6 Memória PROM. descarregada. Este procedimento é chamado de atualizar, em inglês refresh de memória. Memória estática A memória estática não necessita ser analisada ou recarregada a cada momento. Fabricada com circuitos eletrônicos conhecidos como latch, guardam a informação por todo o tempo em que estivera receber alimentação. Memórias não voláteis São aquelas que guardam todas as informações mesmo quando não estiverem a receber alimentação. Como exemplos, citam-se as memórias conhecidas por ROM, FeRAM e FLASH, bem como os dispositivos de armazenamento em massa, disco rígido, CDs e disquetes. As memórias somente para leitura, do tipo ROM (sigla de Read Only Memory), permitem o acesso aleatório e são conhecidas pelo fato de o usuário não poder alterar o seu conteúdo. Para gravar uma memória deste tipo são necessários equipamentos específicos. Dentre as memórias do tipo ROM destacam-se as seguintes: Sigla Nome Tecnologia ROM Read Only Memory (memória somente de leitura) Gravada na fábrica uma única vez PROM Programable Read Only Memory (memória programável somente de leitura) Gravada pelo usuário uma única vez EPROM Erasable Programable Read Only Memory (memória programável e apagável somente de leitura) Pode ser gravada ou regravada por meio de um equipamento que fornece as voltagens adequadas em cada pino. Para apagar os dados nela contidos, basta iluminar o chip com raios ultravioleta. Isto pode ser feito através de uma pequena janela de cristal presente no circuito integrado. https://pt.wikipedia.org/wiki/Ficheiro:D23128C_PROM.jpg https://pt.wikipedia.org/wiki/L%C3%ADngua_inglesa https://pt.wikipedia.org/w/index.php?title=Refresh&action=edit&redlink=1 https://pt.wikipedia.org/wiki/Latch https://pt.wikipedia.org/wiki/ROM https://pt.wikipedia.org/wiki/FeRAM https://pt.wikipedia.org/wiki/Mem%C3%B3ria_flash https://pt.wikipedia.org/wiki/CDs https://pt.wikipedia.org/wiki/Ultravioleta 5/6 EEPROM Electrically Erasable Programable Read Only Memory (memória programável e apagável eletronicamente somente de leitura) Pode ser gravada, apagada ou regravada utilizando um equipamento que fornece as voltagens adequadas em cada pino. A Flash é anterior a FeRAM, mas é uma variação do tipo EPROM. Tornaram-se muito populares por dois motivos: a utilização de dispositivos de armazenamento removíveis como os chamados pen drives, a aplicação em equipamentos de som que reproduzem música no formato MP3 e os cartões de memória das câmeras digitais. Os dados armazenados neste tipo de memória permanecem ali sem a necessidade de alimentação. Sua gravação é feita em geral através da porta USB que fornece 5 Volts para alimentação. As memórias de massa podem armazenar grande quantidade de informação e têm tido seu tamanho reduzido a cada dia. O disco rígido é o meio mais comum neste tipo de memória, mas os disquetes ainda ocupam uma pequena parcela do mercado. Não é tão rápida como a memória flash mas já é possível utilizá-la em equipamentos de reprodução de música e filmes como os portáteis que reproduzem videoclipes de música em vários formatos, como MPEG. De um modo geral os computadores encontram-se limitados nas quantidades de memória que podem conter. A esse limite chamado capacidade de expansão corresponde o valor máximo de memória que um sistema específico pode conter. Existem limitações quanto ao hardware e ao software. No que respeita às limitações de hardware, de equipamento, a quantidade de memória é limitada pelo espaço de endereçamento do processador. Um processador que utilize endereços de 32 bits, por exemplo, só poderá endereçar 2³² (1) palavras de memória. Esta é a razão pela qual os computadores que utilizam processadores 32 bit (x86) são limitados a 4 gigabytes de memória. Enquanto os processadores atuais 64 bit gerenciam até 128 GB de memória RAM e 16 TB de memória virtual. O sistema operacional também deve ser 64 bit para trabalhar com esses valores. Um determinado software (como o sistema operativo) pode ter sido desenhado para permitir uma quantidade limitada de memória. O limite de capacidade de expansão de memórias RAM também é limitado pela placa- mãe do computador, que provê um certo número de fendas para as cartas de memória, bem como o chipset necessário para acessar a memória principal. Referências Proença, Alberto José. (1999) Arquitectura de Computadores: Notas de Estudo. [1] SICA, Carlos. "Sistemas Automáticos com Microcontroladores 8031/8051", Editora Novatec, 2006. https://pt.wikipedia.org/wiki/USB_flash_drive https://pt.wikipedia.org/wiki/USB https://pt.wikipedia.org/wiki/Disco_r%C3%ADgido https://pt.wikipedia.org/wiki/Disquete https://pt.wikipedia.org/wiki/Videoclipe https://pt.wikipedia.org/wiki/MPEG https://pt.wikipedia.org/wiki/Hardware https://pt.wikipedia.org/wiki/Software https://pt.wikipedia.org/wiki/Palavra https://pt.wikipedia.org/wiki/32_bit https://pt.wikipedia.org/wiki/Gigabyte https://pt.wikipedia.org/wiki/64_bit https://pt.wikipedia.org/wiki/GB https://pt.wikipedia.org/wiki/TB https://pt.wikipedia.org/wiki/Sistema_operacional https://pt.wikipedia.org/wiki/Sistema_operativo https://pt.wikipedia.org/wiki/Placa-m%C3%A3e https://pt.wikipedia.org/wiki/Chipset http://gec.di.uminho.pt/discip/TextoAC/cap11.html 6/6 VELLOSO, Fernando de Castro. Informática: conceitos básicos. 8ed. Rio de Janeiro:Elsevier,2011. Obtida de "https://pt.wikipedia.org/w/index.php? title=Memória_(informática)&oldid=59180013" https://pt.wikipedia.org/w/index.php?title=Mem%C3%B3ria_(inform%C3%A1tica)&oldid=59180013 1/3 Entrada/saída pt.wikipedia.org/wiki/Entrada/saída Entrada/saída, sigla E/S (em inglês: Input/output, sigla I/O) é um termo utilizado quase que exclusivamente no ramo da computação (ou informática), indicando entrada (inserção) de dados por meio de algum código ou programa, para algum outro programa ou hardware, bem como a sua saída (obtenção de dados) ou retorno de dados, como resultado de alguma operação de algum programa, consequentemente resultado de alguma entrada. São exemplos de unidades de entrada de um computador: microfone, teclado, mouse, scanner, leitor de código de barras, máquina fotográfica digital, webcam, joystick e outros acessórios de jogos. São exemplos de unidades de saída de um computador: monitor, caixas de som, impressora e outros. Algumas unidades são de entrada e saída de dados ou também chamados Dispositivos Híbridos: , disquete, tela sensível ao toque,celular. As interfaces de entrada e saída são responsáveis pela conexão entre as várias partes de um sistema computacional baseado na arquitetura de Von-Neumann. Esta interface é responsável por conectar fisicamente o processador e a memória do sistema ao barramento, tornando-se o terceiro elemento do sistema computacional proposto, foi uma grande revolução no mundo da informática, pois facilita a vida de muitas pessoas. Ao contrário do que se pode pensar a interface de entrada e saída não é só o conector físico e sim também o responsável pela comunicação lógica entre o barramento e o dispositivo. Essa função de conexão foi basicamente desenvolvida para que seja possível a comunicação entre vários dispositivos, fazendo com que a velocidade do barramento seja mais bem aproveitada e ainda tanto os periféricos quanto os elementos essenciais tenham programação/produção mais voltada ao seu desempenho mantendo sempre a interconexão com as interfaces de entrada e saída. Chamamos de dispositivos de entrada e saída os responsáveis por incorporar e extrair informação de um sistema de computador. Eles se adequam dentro da denominada Arquitetura de Von Neumann, que nos informa as principais partes de um computador. Estes dispositivos evoluíram bastante com o tempo, existindo na atualidade muitas variantes que no inicio da informática pareciam impossíveis. Todos os periféricos trabalham através de interrupções que fazem com que os processos executados sejam suspendidos temporariamente. Assim, os dispositivos de entrada e saída enviam interrupções à CPU através de um controlador que pode estar conjunto ao próprio processador, além de habilitar ou desabilitar estes pedidos. O procedimento envolve a execução da instrução que lhe foi dada, que estes valores sejam salvos para serem processados novamente, que a CPU atenda ao dispositivo e
Compartilhar