Buscar

Revisão HARDWARE e SOFTWARE

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

SISTEMAS 
OPERACIONAIS
Amirton Bezerra Chagas
Revisão de hardware 
e software
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
  Diferenciar hardware e software.
  Identificar os principais componentes do hardware de um sistema 
computacional.
  Descrever os principais software em um sistema computacional.
Introdução
Os computadores estão presentes em quase todas as atividades humanas 
e são utilizados para resolver problemas e facilitar a execução de tarefas 
que, sem eles, poderiam consumir várias horas. No entanto, nem sempre 
esses computadores estão visíveis para os seus usuários, mesmo que suas 
vidas sejam afetadas diretamente por sua presença.
Para os profissionais da área de TI, é necessário entender como esses 
computadores funcionam, mesmo que em alto nível. É importante com-
preender quais são os principais componentes de hardware e software 
que fazem com que essas máquinas realizem suas tarefas e como esses 
componentes interagem.
Neste capítulo, você revisará as definições de hardware e software, 
compreendendo o papel de cada um deles em um computador. 
O sistema operacional é um software responsável por gerenciar todo o 
hardware e outros software em execução no computador e, por isso, é 
necessário identificar as diferenças entre eles.
1 Hardware e software
Computadores modernos funcionam a partir da interação entre componentes 
de hardware e software. O hardware é a parte tangível do computador, ou seja, 
aquela que você pode ver e tocar diretamente (O’BRIEN; MARAKAS, 2012). 
São exemplos de hardware o processador, os discos rígidos (Hard Disk - HDs) 
e os discos de estado sólido (solid state drive [SSD]), a placa mãe, a memória 
RAM, a placa de vídeo, o mouse, o teclado, o monitor, entre outras peças.
O software, por sua vez, é composto pelas instruções e pelos dados ne-
cessários para a execução dos programas no computador (O’BRIEN; MA-
RAKAS, 2012). Software, portanto, é intangível, ou seja, não é possível tocá-lo. 
O software é armazenado em hardware como discos, executado no proces-
sador, e suas instruções e seus dados, geralmente, são mantidos na memória 
RAM durante a sua execução, interagindo com o mundo externo (usuários 
ou outros sistemas) por meio de dispositivos de entrada e saída como mouse, 
teclado ou placas de rede. O próprio sistema operacional é um software, assim 
como browsers, editores de texto e outros programas. Bibliotecas usadas na 
construção de outros programas (como dynamic link libraries [DLLs], gems 
de Ruby, módulos de Python, entre outros) também são software. 
Linguagens de programação, em geral, definem formatos para compartilhar bibliotecas, 
ou seja, códigos que não são executados por conta própria, mas são usados dentro 
de outros programas. A linguagem Ruby chama suas bibliotecas de gems. Para saber 
mais sobre gems, leia a documentação oficial da linguagem Ruby disponível no link 
a seguir (RUBY, [201–?]).
https://qrgo.page.link/1DZNv
Tanenbaum e Austin (2013) explicam que computadores com software 
armazenado seguem a arquitetura de von Neumann, um modelo publicado 
por John von Neumann, matemático húngaro que, em colaboração com ou-
tros cientistas e engenheiros de sua época, propôs que computadores com 
programas armazenados deveriam ter uma unidade central de processamento 
(central processing unit [CPU]), composta por uma unidade lógico-aritmética 
Revisão de hardware e software2
(arithmetic logic unit [ALU]) e por uma unidade de controle e registradores 
(uma pequena memória de alta velocidade próxima a CPU e ALU). Além 
disso, a arquitetura de von Neumann prevê a existência da memória principal 
(em computadores modernos, geralmente, representada pela memória RAM) 
e de algum sistema de entrada e saída (E/S).
Na arquitetura de von Neumann, o programa que está em execução deve 
estar na memória principal. No caso de computadores pessoais, o software 
está constantemente armazenado no disco rígido, entretanto, ao ser iniciado 
pelo sistema operacional, é copiado para a memória RAM, que é a memória 
principal desse tipo de computador. A CPU, por sua vez, é responsável pela 
execução do software. Um registrador específico, o contador de programa 
(program counter [PC]), mantém uma referência para a posição na memória 
RAM onde se encontra a instrução em execução. A cada instrução executada, 
esse registrador é atualizado para apontar para a próxima instrução que o 
processador deve executar.
Compreender o modelo de execução em um computador que segue a arquitetura de 
von Neumann é uma habilidade útil para profissionais da área de TI, principalmente, 
para desenvolvedores que trabalham com linguagens como C e C++ ou para admi-
nistradores de sistema de forma geral. Para saber mais sobre execução de software 
em computadores, leia as seções 3.2 e 3.3 da obra Fundamentos de arquitetura de 
computadores, de Weber (2012).
Após compreender a diferença entre hardware e software, é interessante 
entender uma similaridade importante. Null e Lobur (2011) apresentam o 
conceito do princípio de equivalência de hardware e software: “qualquer 
coisa que possa ser feita com software pode ser feita com hardware, e qualquer 
coisa que possa ser feita com hardware também pode ser feita com software” 
(NULL; LOBUR, 2011, p. 37). Esse princípio é intrigante, em um primeiro 
momento, dada a grande diferença entre hardware e software que foi expli-
cada anteriormente. No entanto, é simples entender que tudo o que pode ser 
feito com hardware pode ser feito com software: emuladores de videogames, 
Java Virtual Machine e VMWare são exemplos de software que simulam o 
comportamento do hardware bastante comuns no dia a dia de profissionais 
3Revisão de hardware e software
de TI. A contramão, apesar de menos óbvia, também é comum: processadores 
específicos para fazer decodificação de vídeo existem em aparelhos de TV 
digital, caracterizados, essencialmente, pela implementação dos algoritmos 
de decodificação de vídeo diretamente em hardware.
Esse princípio de equivalência pode levar a uma pergunta simples: 
1. Por que se dar ao trabalho de implementar um algoritmo em hardware 
ao invés de implementar via software e deixar para o processador de 
uso geral do computador a função de executá-lo?
Para respondê-la, é necessário entender as motivações para se realizar a 
implementação de um algoritmo diretamente no hardware. Uma motivação 
é uma possível busca por performance. Um chip projetado para determinada 
função, como decodificar vídeos no formato H.264, usado no padrão de TV 
Digital brasileiro, pode ter performance superior à execução dos mesmos 
algoritmos em um processador de uso geral. Outra motivação, decorrente da 
anterior, é que esse chip não terá vários dos componentes necessários em um 
processador de uso geral, podendo ser mais barato. Por fim, a existência desse 
chip em um sistema liberará a CPU para outras atividades, e os projetistas do 
computador poderão optar por uma CPU de menor porte, ou por adicionar 
outras funcionalidades ao sistema.
Com a resposta da pergunta anterior esclarecida, o leitor atento pode 
levantar outra pergunta:
2. Se há tantas vantagens, por que não fazer tudo via hardware? 
Nesse caso, a resposta é mais simples. Ao usar um computador que segue a 
arquitetura de von Neumann, com programas armazenados, existe a liberdade 
de trocar os programas que são executados sem efetuar a troca do hardware, 
apenas alterando, removendo ou instalando software no sistema. O custo da 
implementação de todo o software usado em um computador via hardware 
seria proibitivo. A abordagem de implementar determinado software em hard-
ware, de modo geral, ocorre apenas quando há algoritmos bem definidos e 
maduros (codificação e decodificação de áudio e vídeo, funções criptográficas 
e cálculos matemáticos para renderização 3D são exemplos de algoritmos 
implementados diretamente em hardware), com pouca chance de mudança e 
que serão muito usados no computador
em questão.
Revisão de hardware e software4
2 Componentes de hardware
Um computador criado a partir da arquitetura de von Neumann possuirá, 
pelo menos, processador (com unidade de controle e ALU), memória RAM 
e algum dispositivo de entrada e saída. 
Processador
A função de um processador é interpretar as instruções de um programa e 
executá-las (NULL; LOBUR, 2011). Para isso, o processador possui três princi-
pais componentes: a unidade lógico-aritmética, que efetua cálculos e operações 
de lógica; a unidade de controle, que garante o fl uxo dos dados e operações 
dentro do processador; e os registradores, que são pequenas e rápidas memórias 
dentro do processador. Um processador terá vários registradores, alguns deles 
usados para funções específi cas, como o registrador de instruções (instruction 
register [IR]), usado para manter a instrução que está sendo executada dentro 
do processador em um dado instante, e o já mencionado contador de programa. 
Outros registradores do processador, no entanto, são de propósito geral, e estão 
disponíveis para que programadores armazenem dados e recuperem valores. Por 
meio da atribuição e leitura dos valores presentes nos registradores, os dados são 
repassados para que o processador efetue seus cálculos e gere suas respostas.
Na prática, processadores modernos possuem mais de uma unidade lógico-aritmética 
(ALU). Cada núcleo dos modelos com base na microarquitetura Intel® Skylake (como 
os Core™ i7 de sétima geração) possuem quatro ALUs clássicas, responsáveis por 
instruções como somar, comparar valores e efetuar testes lógicos, e outras 18 unidades 
de execução específicas para outras operações que, no modelo de von Neumann, 
seriam também funções da ALU (INTEL, 2019). Isso significa que um processador como 
o Intel® Core™ i7-6700 tem 88 unidades equivalentes a ALUs.
Processadores modernos, geralmente, possuem múltiplos núcleos (ou 
multicore). Cada um desses núcleos é, para efeitos práticos, um processador 
completo do modelo de von Neumann (TANENBAUM; AUSTIN, 2013). Um 
5Revisão de hardware e software
processador multicore tem vários núcleos independentes, mas também possui 
alguns recursos compartilhados, como o controlador de memória e de E/S, 
como pode ser observado na Figura 1.
Possuir múltiplos núcleos é uma vantagem interessante, pois é possível 
aumentar a performance do sistema por meio da execução simultânea de 
múltiplas atividades. Em contraste, as formas de aumentar a performance 
de um único núcleo são mais complexas, porque, de modo geral, envolvem o 
aumento do clock do processador, o que faz com que seja gerado mais calor, ou 
mudança na organização de seus componentes e da forma com que interagem, 
que representa um desenvolvimento tecnológico árduo e caro. 
A desvantagem do uso de múltiplos núcleos é que nem todos os programas 
são desenvolvidos para aproveitar essa característica, e podem não ter ganhos 
significativos de performance ao serem executados em processadores mul-
ticore. O sistema operacional também cresce em complexidade, para poder 
organizar corretamente a execução nesses múltiplos núcleos. De forma geral, 
no entanto, processadores multicore melhoraram o desempenho do sistema 
como um todo e se tornaram o padrão da indústria, mesmo em dispositivos 
de menor porte, como smartphones.
Figura 1. Intel Core i7-3960X, com oito núcleos independentes (dois 
deles desativados), memória cache L3, controlador de memória e 
de E/S compartilhados.
Fonte: Tanenbaum e Austin (2013, p. 33). 
Revisão de hardware e software6
Memória principal
Para que um computador com base na arquitetura de von Neumann fun-
cione, é necessária a existência de uma memória muito rápida, para que o 
processador não tenha que perder muitos ciclos de processamento enquanto 
aguarda a leitura ou escrita de dados essenciais para a execução do programa. 
A memória principal cumpre essa função de armazenar as instruções e os 
dados necessários para que um programa seja executado no computador 
(NULL; LOBUR, 2011).
De modo geral, a memória RAM está relacionada à memória principal 
de computadores modernos. Idealmente, os dados e instruções de todos os 
programas em execução estão na memória RAM do computador. Quando 
não há memória RAM suficiente para isso, o sistema operacional usa parte 
da memória secundária como uma extensão da RAM, levando os dados para 
a memória principal quando o processador precisa deles, o que diminui de 
modo considerável a performance do sistema.
Mesmo bastante rápida, a memória RAM ainda apresenta um atraso de 
alguns ciclos para responder requisições do processador. Para aumentar a 
performance, é comum o uso de memórias cache, que são ainda mais rápi-
das (estão localizadas muito próximas ou mesmo dentro do processador) e, 
automaticamente, mantêm os dados mais usados pelo processador (ou com 
maior chance de serem usados em breve), diminuindo o tempo de resposta 
(TANENBAUM; AUSTIN, 2013).
Os conceitos de hierarquia de memórias e princípio da localidade são essenciais 
para a performance de computadores modernos. Programadores experientes 
costumam levar em consideração esses tópicos ao analisar problemas de perfor-
mance em aplicações, pois é possível alterar o código do software de forma que 
se aproveite melhor o hardware disponível de acordo com esses conceitos. Para 
saber mais sobre hierarquia de memórias e princípio da localidade, leia a seção 
6.3 de Princípios básicos de arquitetura e organização de computadores, de Null e 
Lobur (2011). 
7Revisão de hardware e software
A memória principal é volátil e não mantém os dados armazenados caso 
o computador seja desligado. É necessário um fornecimento de eletricidade 
constante para manter as informações ativas na memória RAM. Dados que 
precisam ser mantidos por tempo indefinido, mesmo após o desligamento 
do sistema, devem ser armazenados em hardware de memória secundária.
Memória secundária
Armazenar dados (e permitir sua leitura em um momento posterior) é uma 
função que acompanha computadores desde o início de sua história. A memória 
secundária cumpre o papel de armazenar os dados de forma durável, mesmo 
quando o computador está desligado, possibilitando ao sistema efetuar a leitura 
desses dados quando necessário.
A maioria dos hardware de memória secundária é muito mais lenta do que 
a memória RAM. Mesmo SSDs, que são muito mais rápidos que HDs, ainda 
são uma ordem de grandeza mais lentos do que a memória principal. O Quadro 
1 traz valores aproximados do tempo de acesso e da capacidade aproximada 
de vários tipos de memória disponíveis no computador.
Tempo de 
acesso Tipo Categoria
Capacidade 
média Preço/GB
1 ns Registradores Processador < 1 KB —
2 ns Cache L1 
e L2
Processador 4–20 MB $ 1300.00
10 ns Memória 
RAM
Principal 1–16 GB $ 5.00
100 ns Disco SSD Secundária 32–512 GB $ 0.25
10 ms Disco 
magnético 
(HD)
Secundária 500 GB–2 TB $ 0.08
100–200 ms CD/DVD Secundária 650 MB/4.7 GB $ 0.04
Quadro 1. Tempo de acesso médio para diferentes dispositivos de memória
Revisão de hardware e software8
Os hardware de memória secundária utilizam propriedades físicas que 
garantirão a permanência dos dados mesmo sem fornecimento constante de 
eletricidade. HDs, fitas de armazenamento e os antigos disquetes usam mag-
netismo para, de acordo com o alinhamento de cada área do disco, representar 
os zeros e uns que mantêm os dados (TANENBAUM; AUSTIN, 2013). De 
forma geral, as cabeças de leitura e escrita desses dispositivos (que podem 
fazer parte do próprio dispositivo de armazenamento, como nos HDs, ou 
serem hardware a parte, como no caso dos disquetes e fitas) verificam qual é 
o alinhamento atual ou alteram esse alinhamento para conseguirem armazenar 
ou recuperar os dados. CDs, DVDs e Blu-Rays usam a óptica, com feixes 
de laser apontando para o disco, que reflete ou não essa luz. O leitor então 
interpreta como zero ou um caso a área lida tenha ou não sido refletida. Há 
ainda dispositivos como os SSDs e memórias flash
(os populares pen drives) 
que utilizam fenômenos elétricos para alterar a organização de componentes 
internos que representam os valores binários armazenados de forma durável 
nesse tipo de memória.
No futuro, com o avanço da tecnologia de SSDs e seu barateamento, pode-
remos ter memórias secundárias com performance mais próxima à da memória 
principal. Recentemente, a Intel lançou o Intel Optane, uma tecnologia que 
busca diminuir a distância de performance entre o armazenamento secundário 
e o primário, servindo como mais uma camada de memória cache, por exemplo.
Dispositivos de entrada e saída
Qual seria a utilidade de um computador se ele não fosse capaz de receber 
novos dados ou não conseguisse mostrar seus resultados para os usuários? 
Computadores precisam de maneiras de interagir com o mundo externo, tanto 
com usuários como com outros computadores. Para isso, são usados dispositivos 
de entrada e saída (E/S), que permitem a entrada de novos dados vindos do 
mundo externo (como um texto digitado no teclado ou informações recebidas 
pela placa de rede) e a saída das informações geradas no computador para 
seus usuários e outros computadores (como a imagem vista no monitor ou 
informações enviadas através de um modem).
Existe uma grande variedade de dispositivos de E/S, alguns que demandam 
mais banda por trafegarem mais informação (placas de vídeo ou rede atuais 
precisam de banda ordem dos Gb/s), outros que precisam de pouca banda, não 
passando de algumas centenas de bits por segundo, como teclados e mouses. 
Em geral, dispositivos de E/S são muito mais lentos do que o processador, 
a memória principal ou mesmo a maioria dos tipos de memória secundária 
9Revisão de hardware e software
(TANENBAUM; AUSTIN, 2013). Alguns desses dispositivos podem, inclu-
sive, não ter garantia de que gerarão novos dados (o mouse ou o teclado, por 
exemplo, podem ficar vários minutos sem interação). Atividades que dependam 
desses dispositivos não deveriam ocupar o processador, desperdiçando tempo 
e energia. Para isso, existe o mecanismo de interrupções, que funcionam como 
avisos de que há dados disponíveis de um dispositivo de entrada. Somente 
no disparo de uma interrupção é que o processador será alocado para tratar 
o dado recebido. Entre os dispositivos de E/S mais comuns encontrados em 
computadores, destacam-se os elencados a seguir.
  Teclado: é uma das formas mais primitivas de entrada para computadores 
e a maneira mais comum de enviar informação para o computador. 
Precisa de pouca banda e tem um padrão de uso intermitente, podendo 
passar muito tempo sem uso.
  Mouse: também com baixa necessidade de banda, o mouse envia uma 
informação de movimento para o sistema, que deve interpretá-la e 
mover um cursor na tela. Além disso, envia a informação de botões 
clicados, para que o sistema execute a ação correspondente à área onde 
se encontra o cursor.
  Monitores: dispositivos que necessitam de banda bastante larga. Um 
vídeo em resolução FullHD (1920 × 1080) com taxa de atualização de 
60 Hz (60 vezes por segundo), enviado sem compressão para o monitor, 
necessita quase 400 MB/s.
  Placas de rede (com ou sem fio) e modems: são dispositivos que assumem 
tanto a função de entrada como a de saída, permitindo a comunicação 
de um computador com outros. Eles convertem o sinal digital rece-
bido no computador em outro sinal (de acordo com as especificações 
da camada física da rede) que será transmitido e recebido por outra 
placa de rede, que converterá de volta o sinal recebido em sinal digital 
original. Dependendo do tipo de rede, podem necessitar de largura de 
banda muito alta.
3 Tipos de software
O hardware de computadores de uso geral é projetado para executar qualquer 
tipo de operação. Para que isso aconteça, é necessário que exista software no 
computador, defi nindo as instruções para que esse hardware faça seu trabalho 
Revisão de hardware e software10
e execute as tarefas. Cada software tem um objetivo bem defi nido, geralmente, 
diferente de outros já existentes. Apesar dessa diversidade de objetivos, é 
possível defi nir grupos de software que possuem características em comum. 
O’Brien e Marakas (2012) oferecem uma classifi cação com duas categorias: 
Software de Sistema e Software de Aplicação. 
Software de sistema
O’Brien e Marakas (2012) defi nem como software de sistema programas cujo 
objetivo é gerenciar o próprio computador e as atividades que são necessárias 
para o processamento de informações. Os principais exemplos dessa categoria 
são os sistemas operacionais, cujo objetivo principal é justamente garantir 
o funcionamento ordenado do computador como um todo. Logo, o Microsoft 
Windows ou distribuições Linux como o Ubuntu são software de sistema. 
Também fazem parte dessa categoria drivers e outros programas que auxiliam 
o sistema operacional a controlar e gerenciar o funcionamento de dispositivos 
do computador, como gerenciadores de redes.
É comum também incluir como software de sistema os programas que 
dão suporte a programadores em atividades de desenvolvimento de software. 
Compiladores, que traduzem o código-fonte produzido pelos desenvolvedores 
para código executável, geralmente, em alguma linguagem de montagem, e 
ambientes de desenvolvimento integrados (IDEs), os editores utilizados por 
programadores para escrever, depurar e construir software, podem, portanto, 
ser classificados nessa categoria.
Além disso, os software usados como suporte para a execução de outros 
programas também são Software de sistema. Dessa forma, também fazem 
parte dessa categoria os sistemas de gerenciamento de banco de dados 
(SGBDs), como o Oracle ou Microsoft SQL Server, os servidores de aplica-
ção web, como o Apache HTTP Server ou o Microsoft IIS, e os ambientes 
de execução de aplicações gerenciadas, como o .NET Framework ou a Java 
Virtual Machine (JVM). Características comuns à maioria dos software de 
sistema são:
  necessidade de performance ótima;
  interação com outros programas que também são software de sistema, 
principalmente, com o próprio sistema operacional;
  interação direta com hardware, especialmente, no caso de drivers e 
sistemas operacionais;
11Revisão de hardware e software
  desenvolvimento, pelo menos, em partes da aplicação, usando lingua-
gens de montagem (Assembly) ou, pelo menos, linguagens de alto nível 
que permitam maior controle sobre o computador, como C;
  geralmente, são mais complexas em termos de desenvolvimento, 
exigindo dos seus programadores conhecimento em arquitetura e 
organização de computadores, sistemas operacionais, redes e teoria 
computacional.
Software de aplicação
Os software de sistema são essenciais para o funcionamento do computador, 
pois, sem eles, não seria viável usar as máquinas para funções realmente úteis. 
No entanto, com exceção de profi ssionais da área de TI, a maioria dos usuários 
precisa de computadores para resolver problemas cotidianos, não envolvidos 
com a operação do computador em si.
Software de aplicação é a categoria na qual podemos colocar a maioria dos 
programas que os usuários finais necessitam (O’BRIEN; MARAKAS, 2012). 
Software como editores de texto, planilhas eletrônicas, editores de imagem, 
vídeo e som, browsers e jogos, por exemplo, são programas que fazem parte 
dessa categoria. Em computadores portáteis, como smartphones, a maioria dos 
programas com os quais os usuários têm contato (popularmente conhecidos 
como apps) é software de aplicação, pois esse tipo de sistema, de modo geral, 
tenta abstrair ao máximo os conceitos computacionais que fazem com que o 
dispositivo funcione.
De forma proporcional, há uma quantidade maior de desenvolvedores de 
software trabalhando na criação e manutenção de programas dessa categoria 
em comparação com os que trabalham com software de sistema. Isso é um 
reflexo da grande diversidade de problemas que podem ser resolvidos com 
o uso de computadores, e os programas que resolvem esses problemas são 
software de aplicação.
Os software de aplicação, geralmente, são construídos em linguagens 
de alto nível, inclusive, aquelas que utilizam ambientes de execução como 
a Java Virtual Machine, .NET Framework, .NET Core ou Python. Esse tipo 
de linguagem combinada com um ambiente de execução é, na maioria dos 
casos, mais simples de aprender e dominar, evitando, por meio de mecanismos 
internos, alguns problemas de desenvolvimento comuns em linguagens de 
nível mais baixo.
Revisão de hardware e software12
Além dos software de aplicação que usamos em nossos computadores, é 
possível observar a tendência da criação de software de aplicação web, que 
também são programas criados para resolver problemas do dia a dia dos usu-
ários. No entanto, eles não executam diretamente no computador do usuário 
final, mas em um servidor web disponível na Internet. Há também, nesses 
sistemas, uma grande diversidade de possibilidades. Redes sociais são um 
exemplo muito presente no cotidiano moderno de software de aplicação web. 
Outros exemplos comuns incluem sistemas de e-commerce e internet banking. 
Há também uma tendência de criação de versões web de aplicações comuns 
no ambiente desktop. Um exemplo é a suíte Google Docs, que conta com 
aplicações editoras de texto, planilhas e apresentações acessíveis diretamente 
no navegador dos usuários.
No dia a dia, os usuários interagem com frequência com programas de ambas as 
categorias. Ao ligar o computador (incluindo seu smartphone), o usuário verá a tela 
de progresso da inicialização do sistema operacional e informará usuário e senha para 
ter acesso à sua área de trabalho, com menus e ícones que permitem a inicialização de 
outros programas. Todas essas ações são realizadas por um software de sistema que 
faz parte do sistema operacional. 
Caso o usuário queira acessar um site para realizar pesquisas e depois escrever um 
resumo com os resultados dessa atividade, possivelmente, ele abrirá um navegador 
web (browser), acessará um sistema web que realizará a sua pesquisa e navegará para 
outros sistemas web que disponibilizarão as informações desejadas. Depois, ele abrirá 
algum editor de texto (como o Microsoft Word ou o sistema web do Google Docs) e 
escreverá seu resumo com o auxílio dessa aplicação. Nesse caso, o usuário interagiu 
com programas que são software de aplicação. 
Ao final dessa atividade, se o usuário desejar imprimir o seu documento, ele usará 
o próprio editor de texto para enviar o comando necessário para que a impressora 
faça o seu trabalho. Contudo, nesse caso, durante a impressão, há uma coordenação 
entre o software editor de texto, o sistema operacional e o driver da impressora, ou 
seja, uma ação disparada por um software de aplicação fez com que fossem acionadas 
partes de software de sistema.
13Revisão de hardware e software
INTEL. Intel 64 and IA-32 architectures optimization reference manual. [S. l.: s. n.], 2019. 
Disponível em: https://software.intel.com/sites/default/files/managed/9e/bc/64-
-ia-32-architectures-optimization-manual.pdf?countrylabel=Colombia. Acesso em: 
24 jan. 2020.
NULL, L.; LOBUR, J. Princípios básicos de arquitetura e organização de computadores. 
2. ed. Porto Alegre: Bookman, 2011.
O’BRIEN, J. A.; MARAKAS, G. M. Administração de sistemas de informação. 15. ed. Porto 
Alegre: AMGH, 2012.
RUBY. Bibliotecas. Ruby, [s. l.], [201–?]. Disponível em: https://www.ruby-lang.org/pt/
libraries/. Acesso em: 24 jan. 2020.
TANENBAUM, A. S.; AUSTIN, T. Organização estruturada de computadores. 6. ed. São 
Paulo: Pearson Prentice Hall, 2013.
WEBER, R. F. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: Book-
man, 2012.
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a 
rede é extremamente dinâmica; suas páginas estão constantemente mudando de 
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade 
sobre qualidade, precisão ou integralidade das informações referidas em tais links.
Revisão de hardware e software14

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando