Vous êtes sur la page 1sur 7

SISTEMAS MONOLÍTICOS

 Un programa principal que invoca el procedimiento de servicio solicitado.


 Un conjunto de procedimientos de servicio que llevan a cabo las llamadas
al sistema.
 Un conjunto de procedimientos utilitarios que ayudan a los procedimientos
de servicio.
ESTRUCTURA MONOLÍTICA

Es la estructura de los primeros sistemas operativos. Fundamentalmente por un


solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que
cada una puede llamar a cualquier otra.

CARACTERÍSTICAS

 Ø Construcción de programa final a base de módulos compilados separadamente


que se une a través del editor de enlaces.
 Ø Buena definición de parámetros de enlace entre la rutinas existentes.
 Ø Carecen de protección y privilegios al entrar y manejan diferentes aspectos de
la computadora.
 Ø Generalmente están hechos a la medida
 Ø Por ejemplo los cajeros automáticos donde sólo tienen que cumplir una
determinada función siguiendo una serie de procesos ya determinados.

EJEMPLOS

 § Linux

3.2.2. SISTEMAS DE CAPAS


Organiza el sistema operativo como una jerarquía de capas, cada una construida
encima de la que tiene abajo.

CARACTERÍSTICAS
Ø Las zonas mas intensas o nucleo están mas protegidas de posibles accesos
indeseados desde las capas mas externas.
Ø Tienes un contacto mas próximo con el hardware
Ø Núcleo mínimo, mas seguro y ágil.

EJEMPLOS
 Ø Multics
 Ø Unix.

3.2.4. MODELO CLIENTE-SERVIDOR


Este modelo se conoce como cliente-servidor. La comunicación entre clientes y
servidores se lleva a cabo comúnmente mediante el paso de mensajes. Para
obtener un servicio, un proceso cliente construye un mensaje indicando lo que
desea y lo envía al servicio apropiado. Después el servicio hace el trabajo y envía
de vuelta la respuesta.

Es el tipo más reciente de los SO, que pueden ser ejecutados en la mayoría de las
computadoras, ya sean grandes o pequeñas. Este sistema sirve para todo, por lo
tanto es de propósito general y se basa en lo mismo que el resto de los SO
convencionales: núcleo y procesos, presentando grandes diferencias en cuanto a
la forma de distribuir los trabajos entre sus diferentes partes

CARACTERÍSTICAS

Ø Coordina, permite el trabajo entre iguales.


Ø Cliente; inicia las solicitudes o peticiones (maestro)
Ø Espera y recibe respuesta del servidor
Ø Se puede conectar a varios servidores a la vez .
Ø Servidor:
Ø Esclavo, espera las solicitudes del cliente
Ø Aceptan conexiones desde un gran numero de clientes.

EJEMPLOS

Ø Windows xp

Definiciones Sobre Procesos:

 Un programa que se está ejecutando.


 Una actividad asincrónica.
 El emplazamiento del control de un procedimiento que está siendo
ejecutado.
 Aquello que se manifiesta por la existencia en el Sistema Operativo de
un bloque de control de proceso.
 Aquella entidad a la cual son asignados los procesadores.
 La unidad despachable.

Estados de Procesos

Durante su existencia un proceso pasa por una serie de estados discretos, siendo
varias las circunstancias que pueden hacer que el mismo cambie de estado.

Debido a ello se puede establecer una “Lista de Listos” para los procesos “listos” y
una “Lista de Bloqueados” para los “bloqueados”.

La “Lista de Listos” se mantiene en orden prioritario y la “Lista de


Bloqueados” está desordenada, ya que los procesos se desbloquean en el orden
en que tienen lugar los eventos que están esperando.

Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado


en la última parte de la “Lista de Listos”.

La asignación de la cpu al primer proceso de la “Lista de Listos” se


denomina “Despacho”, que es ejecutado por una entidad del Sistema Operativo
llamada “Despachador”.

El “Bloqueo” es la única transición de estado iniciada por el propio proceso del


usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al
proceso.

La manifestación de un proceso en un Sistema Operativo es un “Bloque de Control


de Proceso” (PCB) con información que incluye [7, Deitel]:

 Estado actual del proceso.


 Identificación única del proceso.
 Prioridad del proceso.
 Apuntadores para localizar la memoria del proceso.
 Apuntadores para asignar recursos.
 Área para preservar registros.

Planificación de Procesos

Cuando más de un proceso es ejecutable desde el punto de vista lógico, el


Sistema Operativo debe decidir cuál de ellos debe ejecutarse en primer término.

El Planificador es la porción del Sistema Operativo que decide y el Algoritmo de


Planificación es el utilizado.
Criterio Descripción
Garantizar que cada proceso obtiene su
Equidad
proporción justa de la cpu
Mantener ocupada la cpu el ciento por
Eficacia
ciento del tiempo
Tiempo de Minimizar el tiempo de respuesta para los
respuesta usuarios interactivos
Minimizar el tiempo que deben esperar los
Tiempo de
usuarios por lotes (batch) para obtener sus
regreso
resultados
Maximizar el número de tareas procesadas
Rendimiento
por hora
Tabla 2.2: Criterios de un buen algoritmo de
planificación.

Algunas de estas metas son contradictorias, por ejemplo, minimizar el tiempo de


respuesta para los usuarios interactivos significaría no ejecutar las tareas batch.

Cada proceso es único e impredecible, es decir que pueden requerir


intensivamente operaciones de Entrada / Salida o intensivamente cpu; el
planificador del Sistema Operativo no tiene la certeza de cuánto tiempo
transcurrirá hasta que un proceso se bloquee, ya sea por una operación de
Entrada / Salida o por otra razón .

Para evitar que un proceso se apropie de la cpu un tiempo excesivo, los equipos
poseen un dispositivo que provoca una interrupción en forma periódica, por
ejemplo 60 hz, o sea sesenta veces por segundo.

En cada interrupción del reloj el Sistema Operativo decide si el proceso que se


está ejecutando continúa o si el proceso agotó su tiempo de cpu y debe
suspenderse y ceder la cpu a otro proceso.

Los principales conceptos relacionados con Planificación del Procesador son los
siguiente:

 Planificación apropiativa: es la estrategia de permitir que procesos


ejecutables (desde el punto de vista lógico) sean suspendidos
temporalmente.
 Planificación no apropiativa: es la estrategia de permitir la ejecución de un
proceso hasta terminar.
 Planificación del procesador: determinar cuándo deben asignarse los
procesadores y a qué procesos, lo cual es responsabilidad del Sistema
Operativo.

Niveles de Planificación del Procesador

Se consideran tres niveles importantes de planificación, los que se detallan a


continuación (ver Figura 2.4 [7, Deitel]):

 Planificación de alto nivel:


o También se denomina Planificación de trabajos.
o Determina a qué trabajos se les va a permitir competir activamente
por los recursos del sistema, lo cual se denomina Planificación de
admisión.
 Planificación de nivel intermedio:
o Determina a qué procesos se les puede permitir competir por la cpu.
o Responde a fluctuaciones a corto plazo en la carga del sistema y
efectúa “suspensiones” y “activaciones” (“reanudaciones”) de
procesos.
o Debe ayudar a alcanzar ciertas metas en el rendimiento total del
sistema.
 Planificación de bajo nivel:
o Determina a qué proceso listo se le asigna la cpu cuando esta queda
disponible y asigna la cpu al mismo, es decir que “despacha” la cpu
al proceso.
o La efectúa el Despachador del Sistema Operativo, el que opera
muchas veces por segundo y reside siempre en el almacenamiento
primario.
Los distintos Sistemas Operativos utilizan varias Políticas de Planificación, que
se instrumentan mediante Mecanismos de Planificación.

Bloque de control del proceso


El bloque de control del proceso (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.

Vous aimerez peut-être aussi