- Estructura Monolítica
- Estructura Jerárquica
- Procesos y administrador del procesador
- Planificación de procesos
- Diagramas de bloques en sistemas de control de procesos
- Planificacion del procesador
- Bibliografía
Estructura Monolítica
Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las características:
Construcción del programa final a base de módulos compilados separadamente que se unen a través del ligador.
Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho acoplamiento.
Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la computadora, como memoria, disco, etc.
Es decir, ese sistema nos permite entender cualquier concepto adicional referente a las normas y modificaciones de la misma.
Estructura Jerárquica
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas. Se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles. Ejemplos: Multics y Unix.
Cliente-servidor (Microkernel)
El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas.
Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con las mismas actividades que los sistemas operativos convencionales.
El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicación normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operación de entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro." [Alcal92]. Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el núcleo provee solamente funciones muy básicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría que el usuario final o programador puede usar. Estos servidores deben tener mecanismos de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el hardware. Actualmente se está trabajando en una versión de UNIX que contempla en su diseño este paradigma.
Procesos y administrador del procesador
Concepto de proceso.
Programas.- Colección de instrucciones que el procesador interpreta y ejecuta, se almacenan en sistemas no volátiles necesitando ser cargados en memoria principal para poder ser ejecutados, se considera un ente estático.
Procesos.-Programa en ejecución, el sistema operativo les asigna recursos, Se consideran un ente dinámico.
El proceso es una abstracción creada por el SO, que se compone de:
Código de Programa: sección texto
Contexto de Ejecución: PC, registros del procesador y una pila para invocación de procedimientos
Recursos del sistema.
Estados y transiciones de los procesos
Los PCB"s se almacenan en listas, una para cada posible estado:
Los estados se pueden dividir en: Activos e inactivos
Activos los que compiten por el procesador.
Tipos:
Ejecución.- Cuando el proceso tiene el control del cpu
Preparado (Listo).- Tienen las condiciones para ser ejecutados pero no están en ejecución por alguna causa.
Bloqueado.- No pueden ejecutarse porque necesitan algún recurso no disponible
Inactivos.- No pueden competir por el CPU
Operaciones sobre procesos
1.- Creación.- Se produce con la orden de ejecución del programa, usa argumentos (nombre, prioridad). En este momento aparece el PCB y es insertado en la lista de listos.
Pasos que sigue el S.O.
1. Asignarle un PCB
2. Establecer espacio de direcciones de memoria
3. Cargar imagen (ejecutable) en memoria
4. Marcar la tarea como ejecutable
Tipos de creación:
Jerárquica.- cada proceso que se crea es hijo del proceso creador y hereda el entorno de ejecución del padre.
El primer proceso que ejecuta un usuario será hijo del intérprete de comandos. Un proceso durante su ejecución puede crear varios procesos hijos a través de llamadas al sistema para creación de procesos. Al restringirse un proceso hijo a un subconjunto de recursos del padre, se evita que éste sature al sistema creando demasiados procesos hijos. Al crear procesos hijos, el padre continúa ejecutando concurrentemente con sus hijos o espera a que todos sus hijos hayan terminado y luego continúa él.
No jerárquica.- Cada proceso creado por otro se ejecuta independiente de su creador con un entorno independiente.
2.- Destrucción.- Orden de eliminación del proceso, el sistema operativo destruye el PCB y libera los recursos empleados
– Normalmente lo hace un antepasado directo (p.e. el proceso padre)
– Significa la terminación de toda su "descendencia" (terminación en cascada)
– Pasos que sigue el S.O.
1. Envío de datos del proceso finalizado al creador. (p.e. Código de finalización)
2. El SO desasigna los recursos que tiene
3.- Suspensión.- Paralización de un proceso que puede ser reanudado posteriormente, se aplica en ocasiones de mal funcionamiento o sobrecarga de trabajo (Guarda su PCB en disco)
4.- Reanudación.- Activación de un proceso suspendido (Reinserta el PCB en memoria)
5.- Cambio de prioridad.- Reasignación de un nuevo rango de prioridad
6.- Temporizar la ejecución.- Un proceso se ejecuta cada cierto periodo de tiempo, por etapas o de una vez
7.- Despertar un proceso.- Desbloqueo de un proceso
8.- Bloqueo.- puesta en espera de un proceso.
Planificación de procesos
Planificación de procesos en Sistemas Operativos. Conjunto de políticas y mecanismos incorporados al sistema operativo, a través de un módulo denominado planificador, que debe decidir cuál de los procesos en condiciones de ser ejecutado conviene ser despachado primero y qué orden de ejecución debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo que consiste en el máximo aprovechamiento del sistema, lo que implica proveer un buen servicio a los procesos existentes en un momento dado.
Objetivos de la Planificación de procesos
La Planificación de procesos tiene como principales objetivos la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.
Equidad: Todos los procesos deben ser atendidos.
Eficacia: El procesador debe estar ocupado el 100% del tiempo.
Tiempo de respuesta: El tiempo empleado en dar respuesta a las solicitudes del usuario debe ser el menor posible.
Tiempo de regreso: Reducir al mínimo el tiempo de espera de los resultados esperados por los usuarios por lotes.
Rendimiento: Maximizar el número de tareas que se procesan por cada hora.
El Bloque De Control Del Proceso O Bcp o en inglés PCB (Process Control Block) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso.
Cuando el proceso termina, su BCP es borrado y el registro puede ser utilizado para otros procesos. Un proceso resulta conocido para el sistema operativo y por tanto elegible para competir por los recursos del sistema sólo cuando existe un BCP activo asociado a él. El bloque de control de proceso es una estructura de datos con campos para registrar los diferentes aspectos de la ejecución del proceso y de la utilización de recursos. La información almacenada en un BCP incluye típicamente algunos o todos los campos siguientes:
Identificador del proceso (Process Identificator –PID-, de sus siglas en Inglés).
Estado del proceso. Por ej. listo, en espera, bloqueado.
Contador de Programa: Dirección de la próxima instrucción a ejecutar.
Valores de registro de CPU. Se utilizan también en el cambio de contexto.
Espacio de direcciones de memoria.
Prioridad en caso de utilizarse dicho algoritmo para planificación de CPU.
Lista de recursos asignados (incluyendo descriptores de archivos y sockets abiertos).
Estadísticas del proceso.
Datos del propietario (owner).
Permisos asignados.
Signals pendientes de ser servidos. (Almacenados en un mapa de bits)
Esta lista es simplemente indicativa, cada sistema operativo tiene su propio diseño de BCP, con el conjunto de metadatos necesarios para la administración. Puede medir desde 32 bits a 1024. Su denominación cambia según el sistema operativo, por ej. en IBM se designa PSW por palabra de estado de proceso. Difiere significativamente entre los sistemas de procesamiento por lotes (BATCH) y los sistemas interactivos.
Algunos sistemas de multiprogramación incluyen información de mantenimiento con el propósito de facturar a los usuarios individuales el tiempo de procesador, el almacenamiento, las operaciones de E/S y otras utilizaciones de recursos.
Una vez creado, el BCP se rellena con los atributos definidos como parámetros que se hallan en la plantilla del proceso o que son especificados como parámetros de la llamada al sistema operativo crear_proceso. En ese momento el sistema operativo suele asignar valores a otros campos. Por ejemplo, cuando se crea un proceso, los registros e indicadores hardware se fijan a los valores proporcionados por el cargador/enlazador. Cada vez que un proceso queda suspendido, el contenido de los registros del procesador es generalmente guardado en la pila, y el puntero al marco de la pila en cuestión se almacena en el BCP. De este modo los valores de los registros son restaurados cuando el proceso es seleccionado para ejecutarse nuevamente.
Diagramas de bloques en sistemas de control de procesos
Un sistema de control puede tener varios componentes. Para mostrar las funciones que lleva a cabo cada componente en la ingeniería de control, por lo general se usa una representación denominada diagrama de bloques. Estos diagramas de bloques también representan el flujo de señales entre los bloques, de manera que indican el camino de la información, sea del tipo que sea. A diferencia de una representación matemática puramente abstracta, un diagrama de bloques tiene la ventaja de indicar en forma más realista el flujo de las señales del sistema real. En un diagrama de bloques se enlazan una con otras todas las variables del sistema, mediante bloques funcionales. El bloque funcional o simplemente bloquees un símbolo para representar la operación matemática que sobre la señal de entrada hace el bloque para producir la salida. Las funciones de transferencia de los componentes por lo general se introducen en los bloques correspondientes, que se conectan mediante flechas para indicar la dirección de flujo de las señales. En la figura observe que la señal sólo puede pasar en dirección de las flechas. Por lo tanto, un diagrama de bloques de un sistema de control muestra explícitamente una propiedad unilateral.
La función de transferencia, que es el contenido de un bloque funcional, es una representación de la descripción o modelo matemático acerca del comportamiento físico del elemento en forma de un cociente entre la transformada de La place de la salida y la transformada de La place de la entrada.
La flecha que apunta indica la entrada y la que se aleja indica la salida, y las dimensiones de la señal de salida son las dimensiones de la señal de entrada multiplicadas por las dimensiones de la función de transferencia en el bloque.
Las ventajas de la representación mediante diagramas de bloques de un sistema estriban en que es fácil formar el diagrama de bloques general de todo el sistema con sólo conectar los bloques de los componentes de acuerdo con el flujo de señales y en que es posible evaluar la contribución de cada componente al desempeño general del sistema. En general, la operación funcional del sistema se aprecia con más facilidad si se examina el diagrama de bloques que si se revisa el sistema físico mismo. Un diagrama de bloques contiene información relacionada con el comportamiento dinámico, pero no incluye información de la construcción física del sistema.
Punto suma
Un círculo con una cruz es el símbolo que indica una operación de suma. El signo de más o menos en cada punta de flecha indica si la señal debe sumarse o restarse. Es importante que las cantidades que se sumen o resten tengan las mismas dimensiones y las mismas unidades.
Punto de ramificación
Un punto de ramificación es aquel a partir del cual la señal de un bloque va de modo concurrente a otros bloques o puntos suma.
Diagrama de bloques de un sistema de lazo cerrado.
Los sistemas de control realimentados se denominan también sistemas de control en lazo cerrado. En la práctica, los términos control realimentado y control en lazo cerrado se usan indistintamente. En un sistema de control en lazo cerrado, se alimenta al controlador la señal de error de actuación, que es la diferencia entre la señal de entrada y la señal de realimentación, a fin de reducir el error y llevar la salida del sistema a un valor conveniente. El esquema de bloques que define esto, es el siguiente:
La salida C(s) se realimenta al punto suma, en donde se compara con la entrada de referencia R(s). La naturaleza en lazo cerrado del sistema se indica con claridad por ello. La salida C(s) en este caso, se obtiene multiplicando la función de transferencia G(s) por la entrada al bloque E(s). Cualquier sistema de control lineal puede representarse mediante un diagrama de bloques formado por puntos suma, bloques y puntos de ramificación. Cuando la salida se realimenta al punto de suma para compararse con la entrada. Por ejemplo, en un sistema de control de temperatura, por lo general la señal de salida es la temperatura controlada. La señal de salida, que tiene la dimensión de la temperatura, debe convertirse a una fuerza, posición o voltaje antes de que pueda compararse son la señal de entrada. Esta conversión se consigue mediante el elemento de realimentación, cuya función de transferencia es H(s), como se ve en:
La función del elemento de realimentación es modificar la salida antes de compararla con la entrada. En la mayor parte de los casos, el elemento de realimentación es un sensor que mide la salida de la planta. Observado todo esto desde una perspectiva práctica, el sistema de control va a actuar independiente del operario y va a determinar por sí mismo los mejores valores para las señales de control. Para ello se contará con una referencia R(s), que es un valor dado por el operario, este valor es fijo y depende del tipo de proceso y de las exigencias que este amerite; es conocido como set-point, este valor es el que se desea alcanzar y mantener. G(s) normalmente involucra la función de transferencia de la planta junto con el actuador ó la válvula para caso donde la variable manipulada es el paso de un fluido. En el caso más estricto el diagrama de bloques en general sería así:
Donde para el caso específico el bloque llevan el nombre ó función de transferencia del componente correspondiente.
Planificacion del procesador
Planificación: Gestión del procesador realizada por los sistemas operativos a través de distintas políticas y mecanismos. Su objetivo principal es el de dar un buen servicio a todos los procesos que existan en un momento dado en el sistema [Lancharro, 1992].
La planificación del procesador es la base de los sistemas operativos multiprogramados. Al conmutar el procesador entre los procesos, el sistema operativo puede hacer más productiva la computadora [Silberschatz, 1999].
Niveles de planificación
Planificación a largo plazo (planificador de trabajos).Decide cuál será el próximo trabajo que se va a ejecutar. Sólo existe en los sistemas de proceso por lotes, donde la decisión se basa en las necesidades de recursos y su disponibilidad. En los sistemas de tiempo compartido tiene como única misión cargar los programas que se desean ejecutar en memoria. Es el encargado de crear procesos.
Planificación a mediano plazo (planificador de swapping). Decide si un proceso que está en ejecución en estado bloqueado o suspendido debe ser extraído de la memoria temporalmente. Posteriormente, cuando el sistema se encuentre más descargado, devolverá dicho proceso a la memoria y al estado de ejecución. Está técnica se conoce con el nombre de swapping. Sólo existe en sistemas de tiempo compartido y en aquellos que tienen gestión de memoria virtual. Gestiona los procesos suspendidos en espera de algún recurso no disponible en el momento de la suspensión.
Planificación a corto plazo (planificador de procesador).Es el encargado de decidir cómo y cuándo tendrá acceso al procesador a un proceso que está preparado para utilizarlo. Por ello, lleva a cabo las funciones de la multiprogramación, estando siempre residente en memoria y ejecutándose con mucha frecuencia; por ello, debe ser de ejecución muy rápida. En este nivel, es donde se debe dar buen servicio a los procesos interactivos para que el usuario no perciba, o lo haga en pequeño grado, que está compitiendo por el procesador junto con otros usuarios.
Objetivos
Las políticas de planificación intentan cubrir los siguientes objetivos:
1. Justicia. La política debe ser lo más justa posible con todo tipo de procesos, sin favorecer a unos y perjudicar a otros.
2. Máxima capacidad de ejecución. Debe dar un servicio aceptable para que todos los trabajos se realicen lo más rápidamente posible. Esto se logra disminuyendo el número de cambios de proceso.
3. Máximo número de usuarios interactivos. En los sistemas de tiempo compartido se tratará de que puedan estar trabajando el mayor número de usuarios simultáneamente.
4. Predictibilidad. La política de planificación debe concebirse de tal forma que en todo momento pueda saberse cómo será su ejecución.
5. Minimización de la sobrecarga. La computadora debe tener poca sobrecarga ya que ésta incide directamente sobre el rendimiento final del sistema: a menor sobrecarga, mayor velocidad de proceso. Por ello, los cambios de contexto deben disminuirse.
6. Equilibrio en el uso de recursos. Para obtener un buen rendimiento en el uso de los recursos y que éstos estén ocupados equitativamente el mayor tiempo posible.
7. Seguridad de las prioridades. Si un proceso tiene mayor prioridad que otro, éste debe ejecutarse más rápidamente.
Bibliografía
http://es.wikibooks.org/wiki/Sistemas_operativos/Por_su_estructura
http://ac.itdurango.mx/acreditacion/4Proceso_E_A/LI/Evidencias/4.5%20M%E9todos%20de%20Ense%F1anza/APUNTES%20DEL%20MAESTRO/Sistemas%20Operativos/ApuntesU2_SistemasOperativosISC.pdf
http://www.ecured.cu/index.php/Planificaci%C3%B3n_de_procesos_en_Sistemas_Operativos
http://es.wikipedia.org/wiki/Bloque_de_control_del_proceso
https://es.scribd.com/doc/18415479/Diagramas-de-Bloques-en-Sistemas-de-Control-de-Procesos
http://www.buenastareas.com/ensayos/Planificaci%C3%B3n-Del-Procesador/1747663.html
Autor:
Clavo Edgar
CI: 18.895.166
Morejón Diego
CI: 20.073.678
Navas Jennifer
Suarez Jessica
CI: 20.954854
Valle De La Pascua, IUTLL; Octubre De 2014