4.2 Lição 1
Certificação: |
Linux Essentials |
---|---|
Versão: |
1.6 |
Tópico: |
4 O sistema operacional Linux |
Objetivo: |
4.2 Entendendo o hardware do computador |
Lição: |
1 de 1 |
Introdução
Sem o hardware, o software nada mais é do que outra forma de literatura. O hardware processa os comandos descritos pelo software e fornece mecanismos para armazenamento, entrada e saída de dados. Até mesmo a nuvem está escorada em hardware.
Em seu papel como sistema operacional, uma das responsabilidades do Linux é fornecer software com interfaces que permitem acessar o hardware de um sistema. A maioria das especificações de configuração está além do escopo desta lição. No entanto, os usuários geralmente precisam se preocupar com o desempenho, a capacidade e outros fatores relacionados ao hardware, pois são eles que permitem que um sistema seja capaz de suportar adequadamente aplicativos específicos. Esta lição discute o hardware como itens físicos separados usando conectores e interfaces padrão. Os padrões são relativamente estáticos. Mas a forma, o desempenho e as características de capacidade do hardware estão em constante evolução. Mesmo que essas evoluções afetem as distinções físicas, os aspectos conceituais do hardware descritos nesta lição permanecem válidos.
Note
|
Em vários pontos desta lição, usamos exemplos na linha de comando para demonstrar maneiras de acessar informações sobre o hardware. A maioria dos exemplos vem de um Raspberry Pi B +, mas aplica-se à maioria dos sistemas. Não é necessário entender esses comandos para compreender este material. |
Fontes de alimentação
Todos os componentes ativos de um sistema de computação requerem eletricidade para operar. Infelizmente, a maioria das fontes de eletricidade não é apropriada. O hardware de um sistema de computação requer tensões elétricas específicas com tolerâncias relativamente estreitas. Não é bem o que a tomada da parede da sua casa pode oferecer.
As fontes de alimentação normalizam o fornecimento de energia disponível. Os requisitos de tensão padronizados permitem que os fabricantes criem componentes de hardware que podem ser usados em sistemas de qualquer lugar do mundo. As fontes de alimentação de computadores pessoais costumam usar a eletricidade das tomadas como suprimento. As fontes de alimentação de um servidor são cruciais para seu funcionamento, e portanto costumam ser conectadas a várias fontes de fornecimento para garantir que continuem operando se uma delas falhar.
O consumo de energia gera calor. O calor excessivo pode fazer com que os componentes do sistema operem lentamente ou até parem de funcionar. A maioria dos sistemas possui algum tipo de ventoinha para promover um resfriamento mais eficiente. Componentes como os processadores geralmente produzem um calor que o fluxo de ar por si só não é capaz de dissipar. Esses componentes quentes vêm com aletas especiais, conhecidas como dissipadores de calor, para ajudar a expulsar o calor que geram. Os dissipadores de calor geralmente têm sua própria ventoinha para garantir um fluxo de ar adequado.
Placa-mãe
Todo o hardware de um sistema precisa ser interconectado. A placa-mãe normaliza essa interconexão usando conectores padronizados e fatores de forma. Ela também fornece suporte para a configuração e as necessidades elétricas desses conectores.
Existem muitas configurações possíveis para a placa-mãe. Elas suportam diferentes processadores e sistemas de memória, trazem diferentes combinações de conectores padronizados e se adaptam aos diferentes tamanhos de acondicionamento. Tirando, talvez, a capacidade de conectar dispositivos externos específicos, a configuração da placa-mãe não tem muito segredo para os usuários. Os administradores do sistema precisam entender a configuração da placa-mãe quando é necessário identificar dispositivos específicos.
Logo que uma fonte de energia é aplicada pela primeira vez, é necessário configurar e inicializar um hardware específico à placa-mãe antes que o sistema possa operar. Para isso, as placas-mãe usam a programação armazenada na memória não-volátil, conhecida como firmware. A forma original do firmware da placa-mãe era conhecida como BIOS (Basic Input/Output System, ou Sistema Básico de Entrada/Saída). Além das definições básicas de configuração, a BIOS era a principal responsável pela identificação, carregamento e transferência da operação para um sistema operacional, como o Linux. À medida que o hardware foi evoluindo, o firmware foi expandido para suportar discos maiores, diagnósticos, interfaces gráficas, rede e outros recursos avançados, independentemente do sistema operacional carregado. As primeiras tentativas de fazer avançar o firmware para além da BIOS básica eram frequentemente específicas a um fabricante de placas-mãe. A Intel definiu o padrão EFI (Extensible Firmware Interface) para o firmware avançado. Mais tarde, a empresa forneceu a EFI para um organismo de normalização como base para a criação da UEFI (Unified Extensible Firmware Interface). Hoje, a maioria das placas-mãe usa UEFI. É raro encontrar BIOS ou EFI em sistemas recentes. Apesar disso, a maioria das pessoas ainda se refere ao firmware da placa-mãe como BIOS.
Pouquíssimas configurações de firmware são de interesse para os usuários comuns, e assim, geralmente apenas os responsáveis pela configuração do hardware do sistema precisam lidar com o firmware e suas configurações. Uma das poucas opções comumente alteradas é a ativação das extensões de virtualização nas CPUs modernas.
Memória
A memória do sistema conserva os dados e o código do programa dos aplicativos em execução no momento. Quando falamos na memória do computador, em geral nos referimos a essa memória do sistema. Outro termo comum usado para a memória do sistema é a sigla RAM (Random Access Memory) ou alguma variação dela. Às vezes, também são usadas referências ao acondicionamento físico da memória do sistema, como DIMM, SIMM ou DDR.
Fisicamente, a memória do sistema costuma ser acondicionada em módulos de placas de circuito individuais que são conectados à placa-mãe. Atualmente, os módulos de memória individuais variam de 2 GB a 64 GB. Para a maioria das aplicações de uso geral, 4 GB é o mínimo de memória do sistema que os usuários devem considerar. Para estações de trabalho individuais, 16 GB normalmente são mais do que suficientes. No entanto, mesmo 16 GB podem ser limitantes para usuários que executam jogos, vídeos ou aplicativos de áudio de última geração. Os servidores geralmente exigem 128 GB ou até 256 GB de memória para oferecer um suporte eficiente a todos os usuários.
Na maioria dos casos, o Linux permite que os usuários tratem a memória do sistema como uma caixa preta. Um aplicativo é iniciado e o Linux trata de alocar a memória do sistema necessária a ele. Quando o aplicativo é encerrado, o Linux libera a memória para uso de outros aplicativos. Mas e se um aplicativo exigir mais do que a memória do sistema disponível? Nesse caso, o Linux move os aplicativos inativos da memória do sistema para uma área especial do disco conhecida como espaço de troca (swap space). O Linux move os aplicativos inativos do espaço de troca de volta para a memória do sistema quando eles precisam ser executados.
Os sistemas sem hardware de vídeo dedicado costumam usar uma parte da memória do sistema (geralmente 1 GB) como armazenamento para exibição de vídeo. Isso reduz a memória efetiva do sistema. O hardware de vídeo dedicado possui normalmente sua própria memória separada, que não está disponível como memória do sistema.
Existem várias maneiras de obter informações sobre a memória do sistema. Para o usuário, os valores mais interessantes são a quantidade total de memória disponível e em uso. Uma fonte de informação seria executar o comando free
junto com o parâmetro -m
para gerar uma saída em megabytes:
$ free -m total used free shared buff/cache available Mem: 748 37 51 14 660 645 Swap: 99 0 99
A primeira linha especifica a memória total disponível para o sistema (total
), a memória em uso (used
) e a memória livre (free
). A segunda linha exibe as informações correspondentes ao espaço de troca. A memória indicada como shared
e buff/cache
está sendo empregada atualmente para outras funções do sistema, embora a quantidade indicada em available
possa ser usada para aplicação.
Processadores
A palavra “processador” implica que algo está sendo processado. Nos computadores, a maior parte desse processamento refere-se a sinais elétricos. Normalmente, esses sinais são tratados como tendo um dos valores binários de 1 ou 0.
Quando falamos em computadores, costumamos usar o termo processador de forma intercambiável com a sigla CPU (Central Processing Unit, ou Unidade de Processamento Central). Isso não é tecnicamente correto. Todo computador de uso geral possui uma CPU que processa os comandos binários especificados pelo software. Portanto, é compreensível que as pessoas confundam processador e CPU. No entanto, além de uma CPU, os computadores modernos geralmente incluem outros processadores de tarefas específicos. O processador adicional mais conhecido é provavelmente a GPU (Graphical Processing Unit, ou Unidade de Processamento Gráfico). Assim, embora uma CPU seja um processador, nem todos os processadores são CPUs.
Para a maioria das pessoas, a arquitetura da CPU é uma referência às instruções que o processador suporta. Embora a Intel e a AMD produzam processadores que suportam as mesmas instruções, é importante diferenciá-los por fornecedor devido às diferenças específicas de acondicionamento, desempenho e consumo de energia. As distribuições de software geralmente usam as seguintes designações para especificar o conjunto mínimo de instruções necessárias para operar:
- i386
-
Referencia o conjunto de instruções de 32 bits associado ao Intel 80386.
- x86
-
Referencia tipicamente os conjuntos de instruções de 32 bits associados aos sucessores do 80386, como 80486, 80586 e Pentium.
- x64 / x86-64
-
Referencia os processadores que suportam as instruções de 32 e 64 bits da família x86.
- AMD
-
Uma referência ao suporte do x86 pelos processadores AMD.
- AMD64
-
Uma referência ao suporte do x64 pelos processadores AMD.
- ARM
-
Referencia uma CPU Reduced Instruction Set Computer (RISC) que não se baseia no conjunto de instruções x86. Geralmente usado por dispositivos embarcados e móveis, tablets e dispositivos operados por bateria. Uma versão do Linux para ARM é usada pelo Raspberry Pi.
O arquivo /proc/cpuinfo
contém informações detalhadas sobre o processador de um sistema. Infelizmente, os detalhes não são amigáveis para os usuários comuns. Um resultado mais geral pode ser obtido com o comando lscpu
. Eis a saída de um Raspberry Pi B +:
$ lscpu Architecture: armv7l Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 Model: 4 Model name: ARMv7 Processor rev 4 (v7l) CPU max MHz: 1400.0000 CPU min MHz: 600.0000 BogoMIPS: 38.40 Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
Para a maioria das pessoas, a infinidade de fornecedores, famílias de processadores e fatores de especificação representam uma variedade desconcertante de opções. Apesar disso, há vários fatores associados a CPUs e processadores que mesmo os usuários comuns e administradores precisam levar em consideração quando precisam especificar ambientes operacionais:
- Tamanho do bit
-
Para as CPUs, esse número refere-se ao tamanho nativo dos dados que ele manipula e à quantidade de memória que pode acessar. A maioria dos sistemas modernos são de 32 ou 64 bits. Se um aplicativo precisar acessar mais de 4 gigabytes de memória, ele deverá ser executado em um sistema de 64 bits, pois 4 gigabytes é o número máximo que pode ser representado usando 32 bits. E, embora aplicativos de 32 bits normalmente possam ser executados em sistemas de 64 bits, aplicativos de 64 bits não podem ser executados em sistemas de 32 bits.
- Velocidade de clock
-
Geralmente expressa em megahertz (MHz) ou gigahertz (GHz). Relaciona-se à rapidez com que um processador processa instruções. Mas a velocidade do processador é apenas um dos fatores que afetam os tempos de resposta, tempos de espera e taxa de transferência do sistema. Mesmo ao realizarmos várias tarefas ao mesmo tempo, é raro que a CPU de um PC de mesa comum esteja ativa mais de 2 ou 3% do tempo. Ainda assim, se você costuma lançar aplicativos exigentes, que envolvem atividades como criptografia ou renderização de vídeo, a velocidade da CPU pode ter um impacto significativo na taxa de transferência e no tempo de espera.
- Cache
-
As CPUs exigem um fluxo constante de instruções e dados para operar. O custo e o consumo de energia de uma memória de sistema rica em gigabytes que pudesse ser acessada na velocidade do clock da CPU seriam proibitivos. A memória cache da CPU é integrada ao chip do processador e fornece um buffer de alta velocidade entre as CPUs e a memória do sistema. A cache é separada em várias camadas, comumente chamadas de L1, L2, L3 e até L4. Em geral, no caso da cache, quanto mais, melhor.
- Núcleos
-
Chamamos de núcleo uma CPU individual. Além do núcleo que representa uma CPU física, a Hyper-Threading Technology (HTT) permite que uma única CPU física processe simultaneamente múltiplas instruções, atuando virtualmente como várias CPUs físicas. Na maioria dos casos, múltiplos núcleos físicos são empacotados como um único processador físico. No entanto, existem placas-mãe que suportam múltiplos processadores físicos. Em teoria, um número maior de núcleos deveria proporcionar um melhor rendimento do sistema. Infelizmente, os aplicativos de desktop geralmente mantêm as CPUs ocupadas 2 ou 3% do tempo e, portanto, adicionar mais CPUs ociosas provavelmente resultaria em uma melhoria mínima na taxa de transferência. É mais adequado dispor de mais núcleos para a execução de aplicativos que são criados para ter vários segmentos de operação independentes, como renderização de frames de vídeo, renderização de página web ou ambientes de máquina virtual multiusuário.
Armazenamento
Os dispositivos de armazenamento são um método de preservar programas e dados. As Unidades de Disco Rígido (Hard Disk Drives ou HDDs) e as Unidades de Estado Sólido (Solid State Drives ou SSDs) são a forma mais comum de dispositivo de armazenamento para servidores e desktops. Também usamos cartões de memória USB e dispositivos óticos, como os DVDs, mas raramente como dispositivo primário.
Como o nome indica, uma unidade de disco rígido armazena informações em um ou mais discos rígidos físicos. Os discos físicos são cobertos com um material magnético que possibilita o armazenamento. Os discos estão contidos em um acondicionamento lacrado, pois a poeira, pequenas partículas e até impressões digitais interferem na capacidade do HDD de ler e gravar na mídia magnética.
Os SSDs são, grosso modo, versões mais sofisticadas de dispositivos de memória USB com capacidade significativamente maior. Os SSDs armazenam informações em microchips em que não há partes móveis.
Embora a tecnologia por trás dos HDDs e SSDs seja diferente, é possível compará-los em uma série de fatores importantes. A capacidade do disco rígido baseia-se no dimensionamento dos componentes físicos, enquanto a capacidade do SSD depende do número de microchips. Os SSDs custam entre 3 e 10 vezes mais que um HDD por gigabyte. Para ler ou gravar, um HDD deve esperar que um ponto do disco gire até um local conhecido, ao passo que os SSDs são de acesso aleatório. As velocidades de acesso do SSD são tipicamente de 3 a 5 vezes maiores que nos dispositivos HDD. Como não têm partes móveis, os SSDs consomem menos energia e são mais confiáveis do que os HDDs.
A capacidade de armazenamento dos HDDs e SSDs está aumentando constantemente. Atualmente, HDDs de 5 terabytes e SSDs de 1 terabyte são facilmente encontrados no mercado. Apesar disso, uma maior capacidade de armazenamento nem sempre é melhor. Quando um dispositivo de armazenamento falha, todas as informações são perdidas. E, é claro, o backup leva mais tempo quando há mais informações para salvar. Para aplicativos que leem e gravam uma grande quantidade de dados, a latência e o desempenho podem ser mais importantes do que a capacidade.
Os sistemas modernos usam SCSI (Small Computer System Interface) ou SATA (Serial AT Attachment) para conectar-se aos dispositivos de armazenamento. Essas interfaces são tipicamente suportadas pelo conector apropriado na placa-mãe. O carregamento inicial do sistema vem de um dispositivo de armazenamento conectado à placa-mãe. As configurações de firmware definem a ordem em que os dispositivos são acessados para esse carregamento inicial.
Os sistemas de armazenamento conhecidos como RAID (Redundant Array of Independent Disks) são uma implementação comum para evitar a perda de informações. Uma matriz RAID consiste em vários dispositivos físicos que contêm cópias duplicadas das informações. Se um desses dispositivos falhar, todas as informações ainda estarão disponíveis nos outros. As diferentes configurações físicas de RAID são conhecidas como 0, 1, 5, 6 e 10. Cada designação oferece diferentes tamanhos de armazenamento, características de desempenho e maneiras de armazenar dados redundantes ou somas de verificação para recuperação de dados. Tirando um pequeno trabalho extra de configuração do administrador, a existência de um RAID passa despercebida para os usuários.
Os dispositivos de armazenamento geralmente leem e gravam dados na forma de blocos de bytes. O comando lsblk
pode ser usado para listar os dispositivos de bloco disponíveis para um sistema. O exemplo a seguir foi executado em um Raspberry Pi usando um cartão SD como dispositivo de armazenamento. Os detalhes da saída serão abordado nas lições sobre Partições e Drivers a seguir:
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 29.7G 0 disk +-mmcblk0p1 179:1 0 43.9M 0 part /boot +-mmcblk0p2 179:2 0 29.7G 0 part /
Partições
Um dispositivo de armazenamento é, na verdade uma longa sequência de locais de armazenamento. O particionamento é o mecanismo que informa ao Linux se ele deve tratar esses locais de armazenamento como uma única sequência ou como diversas sequências independentes. Cada partição é tratada como se fosse um dispositivo individual. Na maioria das vezes, as partições são criadas quando um sistema é configurado pela primeira vez. Se for preciso mudar alguma coisa, existem ferramentas administrativas que permitem gerenciar o particionamento de dispositivos.
Mas qual seria o interesse de se configurar diversas partições? Alguns usos comuns de partições incluem gerenciar o espaço de armazenamento disponível, isolar a sobrecarga de criptografia ou oferecer suporte a diferentes sistemas de arquivos. As partições possibilitam inicializar um único dispositivo de armazenamento em diferentes sistemas operacionais.
Embora o Linux seja capaz de reconhecer a sequência de armazenamento de um dispositivo bruto, um dispositivo bruto não pode ser usado do jeito que chega da loja. Antes, ele deve ser formatado. A formatação determina um sistema de arquivos para o dispositivo e o prepara para as operações de arquivo. Sem um sistema de arquivos, um dispositivo não pode ser usado para operações relacionadas a arquivos.
Os usuários veem as partições como se fossem dispositivos individuais. Dessa maneira, é fácil esquecer que só existe um único dispositivo físico. Particularmente, as operações de dispositivo para dispositivo - que na verdade são operações de partição para partição - não terão o desempenho esperado. Um único dispositivo é um mecanismo físico com um conjunto de hardware de leitura/gravação. Mas o mais importante a se lembrar é que não é possível usar as partições de um único dispositivo físico como um design à prova de falhas. Se o dispositivo falhar, todas as partições falharão ao mesmo tempo.
Note
|
O Gerenciador de Volume Lógico (Logical Volume Manager ou LVM) é um recurso de software que permite aos administradores combinar discos individuais e partições de disco e tratá-los como uma única unidade. |
Periféricos
Servidores e estações de trabalho precisam de uma combinação de CPU, memória do sistema e armazenamento para operar. Mas esses componentes fundamentais não se relacionam diretamente com o mundo externo. Os periféricos são os dispositivos que fornecem aos sistemas entradas, saídas e acesso ao resto do mundo real.
A maioria das placas-mãe possui conectores externos integrados e suporte em firmware para interfaces periféricas legadas comuns, suportando dispositivos como teclado, mouse, som, vídeo e rede. As placas-mãe recentes geralmente incluem um conector Ethernet para as redes, um conector HDMI para atender às necessidades gráficas básicas e um ou mais conectores USB (Universal Serial Bus) para quase todo o resto. Existem várias versões do USB, com velocidades e características físicas diferentes. É comum haver diversas versões de portas USB em uma única placa-mãe.
As placas-mãe também podem ter um ou mais slots de expansão. Os slots de expansão permitem que os usuários adicionem placas de circuito especiais, conhecidas como placas de expansão, que suportam periféricos personalizados, legados e não-padrão. As interfaces gráficas, de som e de rede são placas de expansão comuns. As placas de expansão também suportam RAID e interfaces legadas de formato especial envolvendo conexões seriais e paralelas.
As configurações do tipo System on a Chip (SoC) são mais vantajosas no consumo de energia, desempenho, espaço e confiabilidade em comparação com as configurações de placa-mãe, por reunirem processadores, memória do sistema, SSD e hardware para controlar periféricos em um único pacote de circuitos integrados. Os periféricos suportados pelas configurações de SoC são limitados pelos componentes incluídos. Assim, as configurações de SoC tendem a ser desenvolvidas para usos específicos. Telefones, tablets e outros dispositivos portáteis geralmente são baseados na tecnologia SoC.
Alguns sistemas já vêm com periféricos incorporados. Os laptops são semelhantes às estações de trabalho, mas incluem periféricos de exibição, teclado e mouse por padrão. Os sistemas Tudo-Em-Um são semelhantes aos laptops, mas requerem periféricos de mouse e teclado. Em geral os controladores da placa-mãe ou do SoC são fornecidos com periféricos integrados apropriados para um uso específico.
Drivers e arquivos de dispositivo
Até agora, esta lição apresentou informações sobre processadores, memória, discos, particionamento, formatação e periféricos. Mas se os usuários comuns precisassem lidar com os detalhes específicos de cada um dos dispositivos que decidissem conectar à sua máquina, esses sistemas seriam praticamente inutilizáveis. Da mesma forma, os desenvolvedores de software precisariam modificar seu código para cada dispositivo novo ou modificado que precisassem suportar.
A solução para este problema de “lidar com os detalhes” existe na forma de um driver de dispositivo. Os drivers de dispositivo aceitam um conjunto padrão de solicitações, convertendo essas solicitações nas atividades de controle apropriadas ao dispositivo. Os drivers de dispositivo permitem que você e os aplicativos executados leiam o arquivo /home/carol/stuff
sem se preocupar em saber se esse arquivo está em um disco rígido, uma unidade de estado sólido, um cartão de memória, um armazenamento criptografado ou outro dispositivo .
Os arquivos de dispositivos são encontrados no diretório /dev
e identificam os dispositivos físicos, o acesso aos dispositivos e os drivers suportados. Por convenção, nos sistemas modernos que usam dispositivos de armazenamento baseados em SCSI ou SATA, o nome do arquivo de especificação começa com o prefixo sd
. O prefixo é seguido por uma letra como a
ou b
, indicando um dispositivo físico. Após o prefixo e o identificador do dispositivo, vem um número que indica uma partição no dispositivo físico. Portanto, /dev/sda
se refere ao primeiro dispositivo de armazenamento inteiro, enquanto /dev/sda3
se refere à partição 3 do primeiro dispositivo de armazenamento. Há uma convenção de nomenclatura apropriada ao arquivo do dispositivo para cada tipo de dispositivo. Embora não seja possível tratar de todas as convenções de nomenclatura possíveis nesta lição, é importante lembrar que essas convenções são essenciais para a administração do sistema.
O conteúdo do diretório /dev
está além do escopo desta lição, mas ainda assim é informativo olhar para a entrada referente a um dispositivo de armazenamento. Os arquivos de dispositivos para cartões SD tipicamente usam mmcblk
como prefixo:
$ ls -l mmcblk* brw-rw---- 1 root disk 179, 0 Jun 30 01:17 mmcblk0 brw-rw---- 1 root disk 179, 1 Jun 30 01:17 mmcblk0p1 brw-rw---- 1 root disk 179, 2 Jun 30 01:17 mmcblk0p2
Os detalhes da lista para um arquivo de dispositivo são diferentes dos detalhes típicos de um arquivo:
-
Ao contrário de um arquivo ou diretório, a primeira letra do campo de permissões é
b
. Isso indica que os blocos são lidos e gravados no dispositivo em blocos, e não em caracteres individuais. -
O campo tamanho tem dois valores separados por vírgula, em vez de um único valor. O primeiro valor geralmente indica um driver específico dentro do kernel e o segundo valor especifica um dispositivo específico operado pelo driver.
-
O nome do arquivo usa um número para o dispositivo físico, portanto a convenção de nomenclatura se adapta especificando o sufixo da partição como um
p
seguido de um dígito.
Note
|
Cada dispositivo do sistema deve ter uma entrada em |
Exercícios Guiados
-
Descreva estes termos:
Processador
CPU
GPU
-
Ao executar principalmente aplicativos de edição de vídeo (uma atividade intensiva em termos de computação), quais componentes e características normalmente teriam o maior impacto na usabilidade do sistema:
Núcleos da CPU
Velocidade da CPU
Memória disponível do sistema
Sistema de armazenamento
GPU
Exibição de vídeo
Nenhuma das anteriores
-
Qual seria o nome do arquivo de dispositivo
/dev
para a partição 3 do terceiro drive SATA de um sistema:sd3p3
sdcp3
sdc3
Nenhum dos anteriores
Exercícios Exploratórios
-
Rode o comando
lsblk
em seu sistema. Identifique os parâmetros abaixo. Caso não tenha um sistema à disposição, analise a listalsblk -f
do sistema Raspberry Pi mencionada na seção “Armazenamento”, acima:$ lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT mmcblk0 +-mmcblk0p1 vfat boot 9304-D9FD /boot +-mmcblk0p2 ext4 rootfs 29075e46-f0d4-44e2-a9e7-55ac02d6e6cc /
-
Tipos de dispositivo e quantos são
-
A estrutura de partições de cada dispositivo
-
O tipo de sistema de arquivos e a montagem de cada partição
-
Resumo
Um sistema é a soma de seus componentes. Diferentes componentes afetam o custo, o desempenho e a usabilidade de diferentes maneiras. Embora existam configurações comuns para estações de trabalho e servidores, não há uma configuração que seja melhor que as outras.
Respostas aos Exercícios Guiados
-
Descreva estes termos:
- Processador
-
Um termo geral que se aplica a qualquer tipo de processador. Muitas vezes usado incorretamente como sinônimo de CPU.
- CPU
-
Unidade Central de Processamento. Uma unidade de processamento que suporta as tarefas computacionais de uso geral.
- GPU
-
Unidade de Processamento Gráfico. Uma unidade de processamento otimizada para suportar atividades relacionadas à apresentação de imagens.
-
Ao executar principalmente aplicativos de edição de vídeo (uma atividade intensiva em termos de computação), quais componentes e características normalmente teriam o maior impacto na usabilidade do sistema:
- Núcleos da CPU
-
Sim. Uma configuração com múltiplos núcleos suporta as tarefas concorrentes de apresentação e renderização exigidas pela edição de vídeo.
- Velocidade da CPU
-
Sim. A renderização de vídeo requer uma dose significativa de atividade computacional.
- Memória disponível do sistema
-
Provavelmente. O vídeo não-compactado usado na edição é grande. Os sistemas de uso geral costumam vir com 8 gigabytes de memória. Uma memória de 16 ou mesmo 32 gigabytes permitiria que o sistema operasse mais quadros de vídeo não compactado, aumentando a eficácia das atividades de edição.
- Sistema de armazenamento
-
Sim. Os arquivos de vídeo são grandes. A sobrecarga de um drive SSD local suporta uma transferência mais eficiente. Drives de rede mais lentos seriam contraproducentes.
- GPU
-
Não. A GPU teria um impacto principalmente na apresentação do vídeo renderizado.
- Exibição de vídeo
-
Não. A exibição de vídeo teria um impacto principalmente na apresentação do vídeo renderizado.
- Nenhuma das anteriores
-
Não. Alguns desses fatores têm um impacto óbvio na usabilidade do sistema no contexto apresentado.
-
Qual seria o nome do arquivo de dispositivo
/dev
para a partição 3 do terceiro drive SATA de um sistema:sd3p3
Incorreto. O Drive 3 seria
sdc
e nãosd3
sdcp3
Incorreto. A Partição 3 seria
3
e nãop3
sdc3
Correto
Nenhum dos anteriores
Incorreto. Uma das opções traz a resposta correta.
Respostas aos Exercícios Exploratórios
-
Rode o comando
lsblk
em seu sistema. Identifique os parâmetros abaixo. Caso não tenha um sistema à disposição, analise a listalsblk -f
do sistema Raspberry Pi mencionada na seção “Armazenamento”, acima:$ lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT mmcblk0 +-mmcblk0p1 vfat boot 9304-D9FD /boot +-mmcblk0p2 ext4 rootfs 29075e46-f0d4-44e2-a9e7-55ac02d6e6cc /
As respostas a seguir baseiam-se na lista
lsblk -f
do sistema Raspberry Pi mostrado anteriormente. Suas respostas podem ser diferentes:- Tipos de dispositivo e quantos são
-
Há um só dispositivo:
mmcblk0
. Por convenção, sabemos quemmcblk
seria um cartão de memória USB. - A estrutura de partições de cada dispositivo
-
Existem duas partições:
mmcblk0p1
emmcblk0p2
. - O tipo de sistema de arquivos e a montagem de cada partição
-
A Partição 1 usa o sistema de arquivos
vfat
. Ele é usado para inicializar o sistema e está montado como/boot
. A Partição 2 usa o sistema de arquivosext4
. Ele é usado como o sistema de arquivos principais e está montado como/
.