Sistemas Operativos
Enviado por tibayde • 29 de Abril de 2013 • 5.005 Palabras (21 Páginas) • 220 Visitas
Introducción
Un proceso es una abstracción de un programa en ejecución y es la unidad de trabajo del sistema. Se puede definir a un proceso como un programa en ejecución.
Hemos de tener en cuenta que en el ordenador se ejecutan los programas, y cada programa es divido en procesos que se cargan en memoria y se ejecutan uno tras otro. El sistema operativo es el encargado de hacerlo todo, la carga de los procesos en memoria y la ejecución de dichos procesos, pues para que se ejecute un programa es necesario que el microprocesador ejecute los procesos de ese programa.
El microprocesador no hace las cosas por si solo, es el sistema operativo el que determina que proceso se debe ejecutar y cuanto tiempo debe estar ejecutándose, a todo esto se le denomina gestión de procesos.
Procesos en los Sistemas Operativos
3.1 Concepto de Proceso
Proceso.
Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado 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ón que 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í como tambié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 sonindependientes y no comparten memoria (es decir, información) con el proceso que los ha creado.
En los sistemas operativos multihilo es posible 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.
3.2 Implantación
Existen diferentes maneras de estructurar un sistema operativo Sistema de capas:
El sistema de capas consiste en organizar el sistema operativo como una jerarquía de capas, cada una construida sobre la inmediata inferior
Los servicios que brinda cada capa son expuestos en una interface pública y son consumidos solamente por los de la capa de arriba.
La capa 0 es el hardware y la N es la de procesos de usuario.
Sistema Cliente-Servidor
Consiste en trasladar el código a capas superiores, y eliminar la mayor parte posible del sistema operativo para mantener un núcleo mínimo. Dejando solamente al núcleo con la tarea de de la comunicación entre los clientes y los servidores.
- permite descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servicios y de la visualización de la Interfaz Gráfica de Usuario. Esto hace que ciertos servidores estén dedicados solo a una aplicación determinada y por lo tanto ejecutarla en forma eficiente.
Sistemas extensibles
Este viene siendo como el opuesto de el sistema cliente servidor ya que consiste en colocar mas módulos en el kernel pero de forma protegida
Un sistema extensible por sí solo no es una forma de estructurar un sistema operativo
3.3 Asignación de recursos
Como gestor de recursos, el Sistema Operativo administra:
• La CPU (Unidad Central de Proceso).
• Los dispositivos de E/S
• La memoria.
• Las colas de procesos.
• Los recursos del sistema.
A.1 ASIGNACIÓN DE RECURSOS>>
Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas)>>La asignación de recursos se realiza según la disponibilidad y prioridad>>Una mala administración de recursos puede hacer que la computadora crea que ya no tiene memoria cuando en realidad si tiene.>>Los recursos manejados por el S.O son físicos y lógicos.
Físicos: Procesador, Memoria principal, Periféricos
Lógicos: Archivos, puertos de comunicación.
La mayor parte del tiempo en que un ordenador está funcionando, la demanda de recursos es mayor que los realmente existentes. Este problema se resuelve aplicando una política de asignación de recursos.
El mecanismo sería sencillo si se pudiese utilizar una política del tipo: “atender primero al que antes lo solicite”, sin embargo esto puede llevar a situaciones de deadlock (sistema colgado o caido) cuando dos programas solicitan insistentemente recursos asignados a otro.
El planificador cuenta con una política que varia de un S. O. a otro. Una política muy común consiste en el time slicing (asignación de intervalos cortos de tiempo a los programas)
3.4 estados de los procesos
El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo.
En un entorno de multiprogramación, el procesador intercalará la ejecución de instrucciones de varios programas que se encuentran en memoria. Elsistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso.
Modelo de dos estados.
El modelo de estados más simple es el de dos estados. En este modelo, un proceso puede estar ejecutándose o no. Cuando se crea un nuevo proceso, se pone en estado de No ejecución. En algún momento el proceso que se está ejecutando pasará al estado No ejecución y otro proceso se elegirá de la lista de procesos listos para ejecutar para ponerlo en estado Ejecución.
De esta explicación se desprende que es necesario que el sistema operativo pueda seguirle la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria. Además los procesos que no se están ejecutando deben guardarse en algún tipo de cola mientras esperan su turno para ejecutar.
Modelo de cinco estados
El modelo anterior de dos estados funcionaría bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre listos para ejecutar. En la realidad, los procesos utilizan datos para operar con ellos, y puede suceder que no se encuentren
...