You are on page 1of 4

Concurrencia y secuencialidad

Es la existencia de varias actividades ejecutándose simultáneamente, y necesitan sincronizarse para actuar


conjuntamente. Se trata, en este caso, de un concepto lógico, ya que sólo hace referencia a las actividades,
sin importar el número de procesadores presentes.

En un sistema monoprocesador, la existencia de multiprogramación es condición necesaria, pero no


suficiente para que exista concurrencia, ya que los procesos pueden ejecutarse independientemente. Por
ejemplo, un editor y un compilador pueden estar ejecutándose simultáneamente en una computadora sin
que exista concurrencia entre ellos. Por otro lado si un programa se está ejecutando y se encuentra grabando
datos en un archivo, y otro programa también en ejecución está leyendo datos de ese mismo archivo, sí
existe concurrencia entre ellos, pues el funcionamiento de uno interfiere en el funcionamiento de otro.

Los archivos secuenciales son un tipo de archivo en los que la información puede leerse y escribirse
empezando desde el principio del archivo.
Debemos tomar en consideración algunas características que deben tener los archivos secuenciales:
1. La escritura de nuevos datos siempre se hace al final del archivo.
2. Para leer una zona concreta del archivo hay que avanzar siempre, si la zona está antes de la zona actual
de lectura, será necesario "rebobinar" el archivo.
3. Los ficheros sólo se pueden abrir para lectura o para escritura, nunca de los dos modos a la vez.
Los procesos del sistema pueden ejecutarse concurrentemente, puede haber múltiples tareas en el CPU
con varios procesos. Existen varias razones para permitir la ejecución concurrente:
Compartir recursos físicos: Ya que los recursos del hardware de la computadora son limitados, nos
podemos ver obligados a compartirlos en un entorno multiusuario.
Compartir recursos lógicos: Puesto que varios usuarios pueden interesarse en el mismo elemento de
información (por ejemplo un archivo compartido), debemos proporcionar un entorno que permita el
acceso concurrente a estos tipos de recursos.
Acelerar los cálculos: Si queremos que una tarea se ejecute con mayor rapidez, debemos dividirla en
subtareas, cada una de las cuales se ejecutara, en paralelo con las demás.
NIVELES, OBJETIVOS Y CRITERIOS DE PLANIFICACIÓN.
La planificación es el proceso por el cual el sistema operativo selecciona que proceso ejecutar. La selección
del proceso se basa en alguno de los algoritmos de planificación.
La planificación de la CPU, en el sentido de conmutarla entre los distintos procesos, es una de las funciones
del sistema operativo. Este despacho es llevado a cabo por un pequeño programa llamado planificador a
corto plazo o dispatcher (despachador). La misión del dispatcher consiste en asignar la CPU a uno de los
procesos ejecutables del sistema, para ello sigue un determinado algoritmo.

Los acontecimientos que pueden provocar la llamada al dispatcher dependen del sistema (son un
subconjunto de las interrupciones), pero son alguno de estos:
El proceso en ejecución acaba su ejecución o no puede seguir ejecutándose (por una E/S, operación WAIT,
etc).
Un elemento del sistema operativo ordena el bloqueo del proceso en ejecución
El proceso en ejecución agota su cuantum o cuanto de estancia en la CPU.
Un proceso pasa a estado listo.
Hay que destacar el hecho de que cuanto menos se llame al dispatcher menos tiempo ocupa la CPU un
programa del sistema operativo, y, por tanto, se dedica más tiempo a los procesos del usuario (un cambio
de proceso lleva bastante tiempo).

Así, si sólo se activa el dispatcher como consecuencia de los 2 primeros acontecimientos se estará haciendo
un buen uso del procesador. Este criterio es acertado en sistemas por lotes en los que los programas no
son interactivos. Sin embargo, en un sistema de tiempo compartido no es adecuado, pues un proceso que
se dedicara a realizar cálculos, y no realizara E/S, monopolizaría el uso de la CPU. En estos sistemas hay que
tener en cuenta el conjunto de todos los procesos, activándose el dispatcher con la circunstancia tercera y,
posiblemente, la cuarta. Los sistema operativos en que las dos siguientes circunstancias no provocan la
activación del dispatcher muestran preferencia por el proceso en ejecución, si no ocurre esto se tiene más
en cuenta el conjunto de todos los procesos.

En los sistemas de multiprogramación y tiempo compartido varios procesos residen en la memoria


principal. El tamaño limitado de ésta hace que el número de procesos que residen en ella sea finito. Puede
ocurrir que todos los procesos en memoria estén bloqueados, desperdiciándose así la CPU. En algunos
sistemas se intercambian procesos enteros (swap) entre memoria principal y memoria secundaria
(normalmente discos), con esto se aumenta el número de procesos, y, por tanto, la probabilidad de una
mayor utilización de la CPU.

El planificador a medio plazo es el encargado de regir las transiciones de procesos entre memoria principal
y secundaria, actúa intentando maximizar la utilización de los recursos. Por ejemplo, transfiriendo siempre
a memoria secundaria procesos bloqueados, o transfiriendo a memoria principal procesos bloqueados
únicamente por no tener memoria.
Técnicas de administración del planificador.
El planificador (o scheduler) es un componente funcional muy importante de los sistemas
operativos multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo
real .
Su función consiste en repartir el tiempo disponible de un microprocesador entre todos los
procesos que están disponibles para su ejecución.
Por ello, la primera misión de un planificador es expulsar el programa en ejecución cuando
decida que es pertinente.
Por ello, la primera misión de un planificador es expulsar el programa en ejecución cuando
decida que es pertinente. Esto se consigue de dos maneras, siempre con ayuda del propio
hardware:
Cuando expira un temporizador, que se activa a intervalos regulares de tiempo. En
intervalos muy cortos, generalmente cada 250 milisegundos.
Cuando el programa solicita una operación de entrada/salida. Dado que el programa no
puede continuar hasta que termine dicha operación, es un buen momento para ejecutar
otro programa.
Se denomina planificador al software del sistema operativo encargado de asignar los
recursos de un sistema entre los procesos que los solicitan. Siempre que haya tomar una
decisión, el planificador debe decidir cuál de los procesos que compiten por la posesión de
un determinado recursos lo recibirá.
FIFO: First In First Out
Mecanismo de scheduling en el cual los procesos se ordenan en una fila, en la cual se
ejecutan cada uno de los procesos hasta su finalización secuencialmente. Es
tremendamente ineficiente. Cuando se tiene que elegir a qué proceso asignar la CPU se
escoge al que llevara más tiempo listo. El proceso se mantiene en la CPU hasta que se
bloquea voluntariamente.

FIFO es el acrónimo inglés de First In, First Out (primero en entrar, primero en salir). Un
sinónimo de FIFO es FCFS, acrónimo inglés de First Come First Served ( primero en llegar,
primero en ser servido). Es un método utilizado en estructuras de datos, contabilidad de
costes y teoría de colas. Guarda analogía con las personas que esperan en una cola y van
siendo atendidas en el orden en que llegaron, es decir, que la primera persona que entra es
la primera persona que sale.
ISMAEL MIGUEL MONTALVO

SISTEMA OPERATIVO

ING. EN SISTEMAS COMPUTACIONALES

ELIDA ENRIQUET TORRES VARGAS

INSTITUTO TECNOLOGICO DE MINATITLAN

MINATITLAN VER, A 09 DE MAYO DEL 2017

You might also like