Sistemas Operativos y Programación: Una Guía Completa

Clasificado en Informática

Escrito el en español con un tamaño de 5,04 KB

Sistemas Operativos

Un sistema operativo (SO) es un software de sistema, un conjunto de programas que realizan diversas tareas, destacando la administración de dispositivos periféricos.

Cinco Cometidos Principales de un SO:

  1. Intermediario entre el Hardware y los Usuarios: Actúa como puente entre el usuario y el hardware, permitiendo la interacción con el sistema.
  2. Suministro de Interfaz al Usuario: Proporciona una interfaz, generalmente gráfica (GUI), aunque también existen interfaces de línea de comandos (CLI), para que el usuario pueda interactuar con el sistema.
  3. Administración de Recursos Hardware: Gestiona y asigna recursos de hardware como el microprocesador, memoria, periféricos, etc., a los diferentes programas y procesos.
  4. Administración de Archivos: Organiza y gestiona los archivos en el sistema, permitiendo su almacenamiento, acceso y manipulación.
  5. Administración de Software y Aplicaciones: Controla la instalación, ejecución y desinstalación de aplicaciones, así como la gestión de las mismas.

Ejemplos de Sistemas Operativos:

Software Libre (Código Abierto): Linux

  • Núcleo basado en UNIX, conocido por su estabilidad.
  • Creado en 1991 por Linus Torvalds.
  • Desarrollado y mejorado colaborativamente por una comunidad global.
  • Multitud de distribuciones disponibles, cada una con su propia interfaz gráfica y características, como Ubuntu, Debian y Mint.
  • Disponibilidad de distribuciones Live CD que no requieren instalación.
  • Posibilidad de trabajar en modo de interfaz textual.

Software Privado: Mac OS

  • Desarrollado por Apple.
  • Uno de los primeros sistemas operativos en utilizar una interfaz gráfica de usuario.
  • Núcleo basado en UNIX, reconocido por su estabilidad.
  • Evolución constante a lo largo de los años.
  • Diseñado específicamente para hardware de Apple.

Código Abierto para Dispositivos Móviles: Android

  • Sistema operativo de código abierto para dispositivos móviles y tablets.
  • Basado en un núcleo de Linux, lo que le proporciona estabilidad.
  • Diseñado para funcionar en una amplia gama de hardware.
  • Facilidad para el desarrollo de aplicaciones.
  • Desarrollado por Open Handset Alliance, no solo por Google.

Programación

Un programa es un conjunto de instrucciones escritas en un lenguaje de programación que un ordenador puede ejecutar para resolver un problema específico.

Algoritmos

Un algoritmo es una secuencia de pasos finitos y bien definidos que se siguen para resolver un problema o realizar una tarea. Un algoritmo debe ser:

  • Claro y no ambiguo: Cada paso debe estar definido de forma precisa, sin dejar lugar a interpretaciones.
  • Finitos: Debe tener un número finito de pasos.
  • Eficaz: Debe ser capaz de producir el resultado deseado en un tiempo razonable.
  • Efectivo: Debe ser capaz de resolver el problema para el que fue diseñado.

Diagramas de Flujo

Los diagramas de flujo son representaciones gráficas de algoritmos. Utilizan símbolos estándar para representar diferentes tipos de operaciones y el flujo de ejecución.

Código Máquina

El código máquina es el lenguaje que entiende directamente el ordenador. Consiste en secuencias de bits (0s y 1s) que representan instrucciones específicas para el procesador. Es ininteligible para los humanos.

Clasificación de Lenguajes de Alto Nivel

Los lenguajes de programación de alto nivel se clasifican según su forma de ejecución:

A. Interpretación y Compilación

1. Lenguajes Interpretados (Scripts)

Un lenguaje interpretado se ejecuta línea por línea por un programa llamado intérprete. No se crea un archivo ejecutable independiente.

2. Lenguajes Compilados

Un lenguaje compilado se traduce a código máquina mediante un compilador, creando un archivo ejecutable independiente que puede ejecutarse sin necesidad de otro programa.

3. Lenguajes Intermedios

Algunos lenguajes, como LISP, Java y Python, pueden ser interpretados o compilados dependiendo del contexto. Pueden pasar por una fase de compilación intermedia antes de ser ejecutados.

B. Imperativos o Funcionales

1. Lenguajes de Programación Imperativos

Los lenguajes imperativos se basan en dar órdenes al ordenador en forma de comandos. El programa se ejecuta secuencialmente, modificando el estado del programa en cada paso.

2. Lenguajes de Programación Funcionales

Los lenguajes funcionales se basan en la evaluación de funciones matemáticas. Las funciones no tienen efectos secundarios, lo que significa que no modifican el estado del programa fuera de su propio ámbito.

Entradas relacionadas: