• EnglishSpanishGermanFrenchPolishChinese (Traditional)


EnglishSpanishGermanFrenchPolishChinese (Traditional)

Operating systems, scripting, PowerShell and security

Operating systems, software development, scripting, PowerShell tips, network and security

Menú principal
  • Categorías
  • Cursos
  • Libro de PowerShell (nivel medio)
  • Libro de PowerShell (nivel avanzado)
  • Lo mejor
  • Lo último
  • Proyectos
  • Contactar
Ir al contenido

3. Gestión del hardware en Linux (nivel intermedio)

Contenidos

  • Procesador
        • Ejemplos
        • Ejercicios

El hardware es el conjunto de componentes físicos que constituyen un ordenador y que mediante conexiones con dispositivos auxiliares permiten realizar las funciones de procesamiento, almacenamiento y transferencia de datos.

El procesamiento consiste en recibir datos, realizar cálculos y operaciones con los mismos, el almacenamiento consiste en almacenar datos durante un periodo de tiempo y la transferencia consiste en enviar los resultados procesados al exterior.

El hardware son los elementos físicos que se pueden tocar. Sirven para realizar tareas que se resuelven mediante el software, algunos elementos hardware son: la caja donde está la placa base, el procesador, la memoria, el disco duro, etc. También se consideran hardware los dispositivos de entrada y salida como la pantalla, el teclado, el ratón, etc.

Una de las funciones del sistema operativo es controlar y gestionar el uso del hardware del ordenador: procesador, dispositivos de E/S, memoria principal, tarjetas gráficas y el resto de periféricos.

Veamos los principales componentes hardware que tiene un equipo.

Procesador

También conocido como CPU (Central Processing Unit, unidad central de procesamiento), es el cerebro del ordenador. Su función es leer instrucciones y ejecutarlas, estas instrucciones configuran un conjunto de datos codificados en binario que se almacena en la memoria. Todos los programas se componen de instrucciones, cada instrucción se ejecuta mediante un ciclo básico de ejecución que es el período que tarda el procesador en ejecutar una instrucción.

La CPU funciona del siguiente modo: obtiene la obtiene la primera instrucción de la memoria, la decodifica para determinar el código de operación y los datos, después la ejecuta y en algunos casos almacena el resultado. Este proceso se ejecuta continuamente hasta que se leen todas las instrucciones del programa.

Un concepto importante al hablar de CPU y que nos permite comprender algunas de sus funciones es la arquitectura.

Una arquitectura indica qué hace un ordenador y define el conjunto de instrucciones (serie de instrucciones que hacen referencia al conjunto básico de comandos e instrucciones que un microprocesador comprende y puede llevar a cabo) y cómo se codifican, los datos que maneja, los registros internos, etc. Cada arquitectura es distinta aunque puede haber características similares entre arquitecturas.

Para una arquitectura puede haber distintas organizaciones. La organización define cómo realiza las funciones un ordenador.

Por último, la realización del ordenador se encarga de implantar físicamente una organización, un ejemplo de realización es la frecuencia básica del procesador que describe la velocidad a que los transistores de este se abren y cierran. La frecuencia básica del procesador es el punto de operación donde se define la TDP (potencia de diseño térmico). La frecuencia se mide en gigahertz (GHz) o mil millones de ciclos por segundo.

Otro tipo de realización es la frecuencia turbo máxima indica la frecuencia de un solo núcleo a que el procesador puede operar. La frecuencia se mide en gigahertz (GHz) o mil millones de ciclos por segundo.

Un ejemplo de lo explicado anteriormente pueden ser son las implementaciones de x86-64 (x86-64 está basada en la extensión del conjunto de instrucciones x86 para manejar direcciones de 64 bits): AMD64 e Intel 64 en el caso de Intel 64 (la arquitectura Intel 64 mejora el desempeño permitiendo que los sistemas direccionen más de 4 GB de memoria física y virtual) tiene las organizaciones Core 2 Duo, Core 2 Quad, y Core 2 Extreme, etc. La realización de un Core 2 Quad puede ser de 3,40 GHz, 3,80 GHz, etc.

Los procesadores contienen núcleos, un núcleo describe el número de unidades de procesamiento independientes en un componente computacional individual (matriz o chip).

Un concepto importante es el hilo, o hilo de ejecución, es un término de software para la secuencia de instrucciones de orden básico que puede pasar por o procesarse en un núcleo de CPU individual.

Los procesadores actuales poseen tecnologías avanzadas que permiten realizar tareas como la virtualización, Hyper-Threading, etc. Un ejemplo son los procesadores Intel que tienen las siguientes tecnologías avanzadas:

  • Tecnología Intel Turbo Boost
  • Tecnología Hyper-Threading Intel
  • Tecnología de virtualización Intel® (VT-x)
  • Tecnología de virtualización Intel® para E/S dirigida (VT-d)
  • Intel VT-x con tablas de páginas extendidas (EPT)
  • Intel Transactional Synchronization Extensions
  • Tecnología Intel SpeedStep
  • Tecnologías de monitoreo térmico
  • Acceso a memoria rápida Intel
  • Intel Flex Memory Access
  • Tecnología Intel Identity Protection
  • Programa Intel de imagen estable para plataformas (SIPP)
  • Tecnología Intel de respuesta inteligente

En Linux se puede obtener información de los procesadores mediante los siguientes ficheros o comandos

Shell
1
2
3
4
5
6
7
8
9
10
11
# Información acerca del procesador: su tipo, marca, modelo, rendimiento, etc.
/proc/cpuinfo
 
# Muestra información del procesador, la arquitectura, frecuencia, los cores, threads por core, etc.
lscpu
 
# Información muy detallada sobre el hardware
lshw
 
# Número de unidades de procesamiento disponibles
nproc

Ejemplos

Información sobre la arquitectura

Shell
1
2
bash -c "lscpu | grep 'Architecture'"
bash -c "lscpu | grep '64-bit' | cut -d',' -f2 | cut -d'-' -f1"

Información sobre la organización

Shell
1
bash -c "cat /proc/cpuinfo | grep 'model name' | cut -d':' -f2 |cut -d'@' -f1 | uniq"

Información sobre la realización

Shell
1
bash -c "cat /proc/cpuinfo | grep 'model name' | cut -d':' -f2 |cut -d'@' -f2 | uniq"

Información sobre los procesadores

Shell
1
bash -c "cat /proc/cpuinfo"

Número de núcleos

Shell
1
bash -c "cat /proc/cpuinfo | grep 'cpu cores' | cut -d':' -f2 | uniq"

Número de procesadores lógicos

Shell
1
bash -c "cat /proc/cpuinfo | grep 'siblings' | cut -d':' -f2 | uniq"

Carga del procesador

Shell
1
bash -c 'w | head -1 | cut -d":" -f4 | cut -d"," -f1'

Otras características de los procesadores

Caches del procesador (L1, L2, L3)

Shell
1
2
3
bash -c "lscpu | grep 'Cache L1' | cut -d':' -f2"
bash -c "lscpu | grep 'Cache L2' | cut -d':' -f2"
bash -c "lscpu | grep 'Cache L3' | cut -d':' -f2"

Hyperthreading

Shell
1
grep -o '^flags\b.*: .*\bht\b' /proc/cpuinfo | tail -1 | grep "ht"

Virtualización

Shell
1
bash -c "lscpu | grep 'Virtualization' | cut -d':' -f2"

Ejercicios

Información sobre el procesador

Shell
1
bash -c "cat /proc/cpuinfo"

Saber si el procesador es Intel

Shell
1
bash -c 'if grep -q "Intel" /proc/cpuinfo;then echo Intel; else "No Intel"; fi'

Publicado el día 25 de abril de 2019

CATEGORÍAS

Bash, Hardware

ETIQUETAS

Access, AH, Bash, BITS, Código, Echo, Física, grep, hardware, Head, Intel, iOS, IP, Jesús Niño, Jesús Niño Camazón, Linux, Log, Mac, SCP, SIP, Sistema Operativo, Software, Store, Virtual, Virtualización

MÁS

  • Instalación, configuración y uso de servicios de acceso y administración remota
  • Ejercicios WSL: crear en Windows con PowerShell y WSL los mismos usuarios que tenemos en Linux
  • Ejercicios de Bash: gestión de usuarios en Linux (script que crea usuarios paso a paso)
  • pspy - unprivileged linux process snooping
  • Detectar las palabras que están mal escritas en una noticia de un diario con un comando en Linux y ejecutarlo con WSL (Windows Subsystem for Linux) desde PowerShell
  • Utilizar zonas de memoria compartida en Linux mediante WSL desde PowerShell
Jesusninoc utiliza cookies: saber más aquí.