- 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
textoContexto de Ejecución: PC, registros del
procesador y una pila para invocación de
procedimientosRecursos 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 cpuPreparado (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 disponibleInactivos.- 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