Fundamentos de Sistemas Operativos: Evolución, Linux y Modelos de Licenciamiento

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,67 KB

¿Qué es un Sistema Operativo (SO)?

Un Sistema Operativo (SO) es un programa o conjunto de programas que facilita el uso del computador y consigue que se utilice eficazmente.

Programa de Control

Un programa de control gestiona y asigna recursos hardware, controla los programas y los dispositivos de Entrada/Salida (E/S).

Evolución de los Sistemas Operativos

  • 1943-1955: En esta etapa, no existía un Sistema Operativo como tal. El programador realizaba las funciones del usuario, y el programa se introducía a través de tarjetas perforadas.
  • 1956-1963: Aparecen los soportes de información intermediarios, como las cintas magnéticas. Surge el concepto de cola de trabajo, permitiendo el procesamiento de trabajos en serie o por lotes.
  • 1963-1979: Se perfecciona el trabajo por lotes y se inicia el desarrollo de sistemas operativos con multiprogramación.
  • 1980 en adelante: Se produce el desarrollo de los sistemas operativos para PC y estaciones de trabajo.

Tipos de Desarrollo de Sistemas Operativos

Sistemas Operativos de Red

Son una ampliación de los SO convencionales, a los que se les añaden programas de control de la interfaz de red.

Sistemas Operativos Distribuidos

Son más complejos y permiten que un usuario ejecute uno o varios programas en varios procesadores simultáneamente, con datos distribuidos en diferentes servidores de archivo.

Linux: Un Vistazo Detallado

Linux es un Sistema Operativo compatible con UNIX, de naturaleza libre y con código fuente disponible.

El Kernel: Corazón del Sistema

El kernel es el corazón del Sistema Operativo y es el encargado del funcionamiento del hardware y el software.

Funciones Principales del Kernel:

  • Administración del tiempo de procesador que utilizan los programas.
  • Administración de la memoria.
  • Encargado del acceso a periféricos de manera cómoda.

Versionado del Kernel:

Existen principalmente dos tipos de versiones:

  • Desarrollo (Experimental): Utilizada para programar, comprobar y verificar nuevas características.
  • Producción (Estable): Es la versión estable hasta el momento, resultado final del desarrollo. Cuando se decide que un kernel es estable y con calidad, se lanza una nueva versión de producción.

La numeración de las versiones del kernel se compone generalmente de:

  • XX: Serie principal del kernel. Cambia cuando ha sufrido un cambio importante.
  • YY: Indica si es de desarrollo (número impar) o de producción (número par).
  • ZZ: Nuevas versiones dentro de otra, corrigiendo errores.

Características Destacadas de Linux

  • Multitarea: Capacidad de ejecutar varios procesos simultáneamente.
  • Multiusuario: Permite que múltiples usuarios accedan al sistema al mismo tiempo.
  • Multiplataforma: Funciona en diversas arquitecturas de hardware.
  • Multiprocesador: Soporte para sistemas con múltiples CPUs.
  • Protección de la memoria entre procesos: Asegura que un proceso no interfiera con la memoria de otro.

Distribuciones de Linux

Una distribución de Linux es un agrupamiento del kernel de Linux y otras aplicaciones de uso general o específico. Aunque el kernel es esencial, se necesitan más componentes para un entorno operativo completo:

Componentes Comunes de una Distribución:

  • Gestor de Arranque (Boot Manager): Utilidad que reside en el Master Boot Record (MBR) y presenta las opciones de arranque al inicio del sistema. Linux incluye administradores de inicio como LILO (Linux Loader) o GRUB.
  • Interfaz de Usuario: La interfaz por defecto de Linux es la línea de comandos (CLI).
  • Sistema X-Window (X11): Al igual que GDI en Windows, es el subsistema gráfico que soporta una interfaz de usuario gráfica (GUI) en Linux.
  • Servicios de Impresión y Archivos: Permiten acceder a los recursos de red y compartir archivos e impresoras con otros usuarios.
  • Aplicaciones y Herramientas:
    • Administrador de Paquetes: Herramientas diseñadas para instalar, desinstalar y actualizar software fácilmente.
    • Herramientas de Programador: Utilidades para administrar y crear programas a partir del código fuente.
    • Bibliotecas (Libraries): Conjunto central de rutinas de bibliotecas de vínculo dinámico (DLLs en Windows, .so en Linux). Estas son módulos ejecutables que realizan funciones específicas y soportan a otras aplicaciones.

Tipos de Licencias de Software

Software Comercial

Desarrollado con la intención de venderlo y obtener un beneficio económico.

Software Libre

Puede ser distribuido, modificado, copiado y usado libremente, y generalmente incluye el acceso al código fuente.

Software Semilibre

Similar al software libre, pero con restricciones, por ejemplo, para usuarios individuales, entidades educativas y organizaciones sin ánimo de lucro. No permite uso comercial lucrativo.

Software Propietario

No es libre ni semilibre. Su distribución y modificación están prohibidas o restringidas por el propietario de los derechos de autor.

Otras Clasificaciones de Licencias:

  • Freeware: Software que se puede redistribuir gratuitamente. Generalmente, no se puede modificar y no se proporciona el código fuente. No es necesariamente software libre.
  • Shareware: Permite su redistribución, pero usualmente con limitaciones (tiempo de uso, funcionalidades). A menudo, requiere una licencia de pago para su uso completo o continuado. No se proporciona el código fuente y no se puede modificar.

Las Cuatro Libertades Esenciales del Software Libre:

Según la Free Software Foundation, el software libre se define por las siguientes libertades para los usuarios:

  1. La libertad de ejecutar el programa como se desee, con cualquier propósito (libertad 0).
  2. La libertad de estudiar cómo funciona el programa y adaptarlo a las propias necesidades (libertad 1). El acceso al código fuente es una condición necesaria para ello.
  3. La libertad de redistribuir copias para ayudar a otros (libertad 2).
  4. La libertad de mejorar el programa y publicar sus mejoras (y versiones modificadas en general) a los demás, para que toda la comunidad se beneficie (libertad 3). El acceso al código fuente es una condición necesaria para ello.

Entradas relacionadas: