Skip to content

Sistemas informáticos e información ​

Un sistema informático es un conjunto de elementos físicos, lógicos y humanos que trabajan conjuntamente para realizar un tratamiento automatizado de la información.

Podemos distinguir tres elementos principales:

  • Hardware: componentes físicos del sistema informático.
  • Software: programas e instrucciones que permiten utilizar el hardware.
  • Recursos humanos: personas que utilizan, administran, desarrollan o mantienen el sistema.

Componentes de un sistema informático

Complejidad del hardware ​

Un sistema informático está formado por numerosos dispositivos con características y funciones diferentes que deben trabajar de forma coordinada.

Programar directamente estos dispositivos requeriría conocimientos avanzados de:

  • El funcionamiento electrónico de los componentes.
  • El lenguaje máquina utilizado por el procesador.
  • Los mecanismos de comunicación entre los diferentes dispositivos.

Por ejemplo, para leer un archivo almacenado en un SSD sería necesario conocer cómo comunicarse con el dispositivo, localizar los datos y transferirlos a la memoria.

Si cada aplicación tuviera que implementar directamente estas operaciones, desarrollar software sería mucho más complejo y dependería de las características específicas del hardware.

Para resolver este problema, los sistemas informáticos utilizan diferentes niveles de abstracción, que permiten trabajar con los recursos del ordenador sin conocer todos los detalles de su funcionamiento interno.

Necesidad de los sistemas operativos ​

Un sistema operativo es un conjunto de programas que administra los recursos del hardware y proporciona servicios que facilitan la ejecución de otros programas.

Actúa como intermediario entre las aplicaciones y los componentes físicos del ordenador.

Entre sus principales funciones encontramos:

  • Gestionar el procesador y la memoria.
  • Controlar los dispositivos de entrada y salida.
  • Organizar el acceso a los archivos y dispositivos de almacenamiento.
  • Facilitar la ejecución de aplicaciones.
  • Proporcionar mecanismos de interacción con el sistema.

De esta manera, las aplicaciones pueden utilizar los recursos del ordenador mediante interfaces proporcionadas por el sistema operativo, sin tener que controlar directamente los dispositivos físicos.

Estructura por capas de un sistema informático ​

Para comprender mejor su funcionamiento, podemos representar un sistema informático mediante una estructura de capas.

Cada capa proporciona funcionalidades que permiten simplificar el trabajo de las capas superiores.

Capas de un sistema informático

Dispositivos físicos ​

Es el nivel más bajo del sistema informático.

Está formado por componentes electrónicos y físicos, como:

  • Transistores.
  • Circuitos integrados.
  • Cables y conexiones.
  • Fuentes de alimentación.

Estos elementos constituyen la base física sobre la que funcionan los demás niveles del sistema.

Su diseño y funcionamiento corresponden principalmente al ámbito de la ingeniería electrónica.

Microarquitectura ​

En este nivel, los dispositivos físicos se organizan para construir unidades funcionales capaces de realizar operaciones.

Por ejemplo, para efectuar una suma dentro del procesador intervienen distintos elementos:

  • Registros: almacenan temporalmente los valores utilizados.
  • ALU (unidad aritmético-lógica): realiza operaciones aritméticas y lógicas.
  • Buses: transportan información entre los componentes.
  • Reloj: proporciona señales para sincronizar las operaciones.

La microarquitectura determina cómo se implementan y ejecutan internamente las instrucciones del procesador.

Estudiaremos estos componentes con más detalle en los apartados dedicados a la arquitectura de computadores.

Lenguaje máquina ​

El lenguaje máquina está formado por las instrucciones que el procesador puede interpretar y ejecutar directamente.

Estas instrucciones permiten realizar operaciones como:

  • Transferir datos entre registros y memoria.
  • Realizar operaciones aritméticas.
  • Comparar valores.
  • Ejecutar saltos que modifican la secuencia de instrucciones.

Las instrucciones se representan mediante secuencias binarias y dependen de la arquitectura del procesador.

Programar directamente en lenguaje máquina resulta complejo, por lo que normalmente utilizamos lenguajes de programación de mayor nivel.

Sistema operativo ​

El sistema operativo proporciona una interfaz que permite a los programas utilizar los recursos del ordenador.

Su objetivo es ocultar gran parte de la complejidad de las capas inferiores, ofreciendo mecanismos para realizar operaciones habituales.

Por ejemplo, proporciona servicios para acceder a archivos, gestionar memoria o comunicarse con dispositivos.

Las aplicaciones pueden solicitar estos servicios mediante llamadas al sistema (system calls), sin tener que implementar directamente las operaciones de bajo nivel.

Programas de sistema ​

Son programas que proporcionan herramientas y servicios para trabajar con el sistema informático.

Entre ellos encontramos:

  • Intérpretes de comandos (shell).
  • Compiladores.
  • Herramientas de administración.
  • Utilidades de diagnóstico.
  • Herramientas de configuración.

Aunque muchos se distribuyen junto con el sistema operativo, podemos distinguirlos conceptualmente del núcleo y los servicios propios del sistema operativo.

Programas de usuario ​

Son aplicaciones destinadas a realizar tareas concretas para el usuario.

Por ejemplo:

  • Navegadores web.
  • Aplicaciones ofimáticas.
  • Programas de diseño.
  • Reproductores multimedia.
  • Videojuegos.
  • Aplicaciones de gestión.

Estos programas utilizan los servicios proporcionados por las capas inferiores sin necesidad de controlar directamente el hardware.

Ejemplo: lectura de un archivo desde Visual Studio Code

Imaginemos que abrimos el archivo main.js desde Visual Studio Code, almacenado en un disco SSD.

Aunque para el usuario basta con seleccionar el archivo, internamente intervienen diferentes capas del sistema informático:

  1. Programa de usuario: Visual Studio Code solicita abrir main.js y mostrar su contenido en el editor.

  2. Programas de sistema: determinadas bibliotecas y componentes del entorno de ejecución facilitan la operación, proporcionando funciones para acceder a los archivos.

  3. Sistema operativo: la aplicación utiliza llamadas al sistema (system calls) para solicitar operaciones sobre el archivo. En Linux, estas pueden incluir openat() para abrirlo y read() para leer su contenido.

  4. Lenguaje máquina: el procesador ejecuta las instrucciones necesarias para realizar las operaciones solicitadas, incluyendo las transferencias de control entre el programa y el núcleo del sistema operativo.

  5. Microarquitectura: los registros, las unidades de ejecución y otros componentes internos del procesador intervienen en la ejecución de esas instrucciones.

  6. Dispositivos físicos: cuando es necesario acceder al SSD, su controlador y los circuitos electrónicos correspondientes participan en la transferencia de los datos.

¿Cómo sabe el sistema dónde está el archivo?

El sistema operativo utiliza el sistema de archivos para localizar main.js. A partir de su ruta, consulta las estructuras de información necesarias para identificar el archivo y determinar dónde se encuentran sus datos.

Si los datos ya están almacenados en la caché de páginas de la memoria RAM, puede recuperarlos sin acceder físicamente al SSD.

En caso contrario, el sistema operativo solicita al dispositivo de almacenamiento los bloques necesarios. El controlador del SSD se encarga de gestionar internamente el acceso a la memoria flash.

Una vez obtenidos los datos, estos llegan a la aplicación, que los interpreta como texto y los muestra en el editor.

La idea fundamental es que Visual Studio Code no necesita conocer cómo están organizadas las celdas de memoria flash del SSD ni cómo funciona su electrónica.

Solicita la lectura mediante las interfaces proporcionadas por el sistema operativo, que se encarga de coordinar los recursos necesarios.

Datos e información ​

Los datos son representaciones de hechos, valores o características que pueden almacenarse y procesarse.

Por sí solos, pueden carecer del contexto necesario para interpretarlos.

La información se obtiene cuando los datos se combinan e interpretan de forma que adquieren significado.

Por ejemplo:

  • 25 es un dato.
  • La temperatura del aula es de 25 °C proporciona información.

Por tanto, la información se construye a partir de datos interpretados en un contexto.

Tratamiento de la información ​

La finalidad principal de un sistema informático es realizar un tratamiento automatizado de la información.

Este proceso se divide en tres fases:

  1. Entrada: introducción o recopilación de los datos.
  2. Proceso: operaciones realizadas sobre los datos.
  3. Salida: presentación o comunicación de la información obtenida.

Además, los sistemas informáticos pueden almacenar datos y resultados para utilizarlos posteriormente.

Ejemplo: calculadora

  • Entrada: introducimos dos números y seleccionamos una operación.
  • Proceso: se realiza el cálculo.
  • Salida: aparece el resultado en pantalla.
  • Almacenamiento: si existe un historial o memoria de datos, el resultado puede guardarse.

Ejemplo: ordenador personal:

Tratamiento de la información

Tipos de datos ​

Los datos pueden clasificarse según diferentes criterios.

Según la fase del tratamiento ​

  • Datos de entrada: se introducen en el sistema.
  • Datos intermedios: se generan durante el procesamiento.
  • Datos de salida: representan los resultados obtenidos.

Según su variación ​

  • Datos fijos: mantienen su valor durante el proceso considerado.
  • Datos variables: pueden cambiar durante el proceso.

Según su contenido ​

  • Datos numéricos: representan cantidades numéricas.
  • Datos alfabéticos: representan letras.
  • Datos alfanuméricos: combinan letras y números.

Representación digital ​

Los ordenadores representan internamente la información mediante combinaciones de dos valores:

  • 0.
  • 1.

Cada uno de estos valores se denomina bit.

Mediante combinaciones de bits es posible representar números, texto, imágenes, instrucciones y otros tipos de datos.

En el siguiente apartado estudiaremos las unidades de información y su representación mediante los sistemas de numeración binario, decimal y hexadecimal.