Sistemas operativos

SISTEMAS OPERATIVOS Un Sistema operativo (SO) es un programa informático que actúa de interfaz entre los dispositivos de hardware y el usuario. Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de recursos de un computador. Actúa como estación para las aplicaciones que se ejecutan en la máquina. Uno de los más prominentes ejemplos de sistema operativo, es elnúcleo Linux, el cual junto a las herramientas GNU, forman las llamadas distribuciones GNU/Linux. Nótese que es un error común muy extendido, denominar al conjunto completo de herramientas sistema operativo, pues este, es sólo el núcleo y no necesita de entorno operador para estar operativo y funcional. Este error de precisión, es debido a la modernización de la informática llevada a cabo a finalesde los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores, se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema mono usuario más intuitivo de manejar. Uno de los propósitos de un sistema operativo como programa estación principal, consiste engestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones tener que tratar con éstos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar, ya que gracias a éstos, se permite controlarlos (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.) Un proceso es unprograma en ejecución, los procesos son gestionados por el sistema operativo y están formados por:
? ? ? ?

Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa. Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos. Otra informaciónque permite al sistema operativo su planificación.

Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución. Los procesos son creados y destruidos por el sistema operativo, así comotambién este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria. En los sistemas operativos multihilo esposible crear tanto hilos como procesos. La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso.

Dos o más procesos pueden cooperar mediante señales de forma que uno obliga a detenerse a los otros hasta que reciban una señal para continuar.
? ? ? ?

Se usa una variable de tipo Semáforo parasincronizar los procesos. Si un proceso está esperando una señal, se suspende (Hold) hasta que la señal se envíe (SIGNAL). Se mantiene una cola de procesos en espera en el semáforo. La forma de elegir los procesos de la cola en ESPERA es mediante una política FIFO (First In First Out) también llamada FCFS (First Come First Served), Round Robin, etc.

La sincronización explícita entre procesos es uncaso particular del estado «bloqueado». En este caso, el suceso que permite desbloquear un proceso no es una operación de entrada/salida, sino una señal generada a propósito por el programador desde otro proceso. El concepto de proceso es más complejo y sutil que el presentado hasta ahora. Engloba dos conceptos separados y potencialmente independientes: uno relativo a la propiedad de recursos…