Sistema operativo (SO)

Es el programa más importante que corre sobre la computadora. Cualquier computadora de propósito general debe tener un SO para poder ejecutar programas. Los SO realizan tareas básicas como reconocimiento de la entrada de datos desde el teclado, enviar datos a la pantalla, la administración de los archivos y directorios almacenados en las unidades de disco duro y el control de los dispositivos periféricos como impresoras, escanners, unidades de almacenamiento externas, entre otros.

Para sistemas muy grandes tienen todavía más responsabilidades y tareas. Su labor es como la de un policía de tránsito, se asegura que todos los programas y usuarios obtengan los recursos que necesitan e interactúen sin que unos intervengan con las actividades de otros.
El SO también es responsable de la seguridad, se asegura de que usuarios no autorizados no accesen al sistema.

Los SO's se clasifican como sigue:

  1. Multiusuario: Permite que dos o más usuarios ejecuten programas al mismo tiempo. Varios SO's permiten cientos o hasta miles de usuarios.
  2. Multiprocesamiento: Soporta la ejecución de un mismo programa en más de un procesador.
  3. Multitarea: Permite que más de un programa se ejecute a la vez.
  4. Multihilo: Permite que diferentes partes de un mismo programa se ejecuten al mismo tiempo.
  5. Tiempo real: Responde a los datos de entrada instantáneamente.

Los SO proveen una plataforma para que otros programas (llamados aplicaciones) puedan ejecutarse. La elección del sistema operativo determina las aplicaciones que pueden ejecutarse en cierto momento.

Como usuario uno normalmente interactúa con el SO a través de un conjunto de comandos, por ejemplo en DOS, Linux y Unix se puede crear una carpeta usando el comando MKDIR o MOVE para mover archivos de un lugar a otro. Los comandos son aceptados y ejecutados por el sistema operativo a través de una aplicación llamada interprete de línea de comandos. Las interfaces gráficas permiten la ejecución de los mismos comandos más fácilmente, haciendo clic y ejecutando acciones sobre algunos menús (sin necesidad de memorizar los comandos) ejemplos de estos son: las diferentes versiones de Windows (a partir de win'95), las nuevas versiones de Linux como Red Hat y Mandrake o las Mac.