Вы находитесь на странице: 1из 10

INSTITUTO TECNOLGICO

SUPERIOR DE LAS CHOAPAS


Carrera: Ing. En Sistemas Computacionales
Integrantes:
Garcia Juarez Deysy Guadalupe
Prez Cruz Alejandro
Reyes Flores Luis Mario
Materia: Sistemas Operativos I Unidad 2
Tema: 2.4 concurrencia y secuencialidad
Docente: Ing. Damaris Garca Morales

2.4 Concurrencia y Secuencialidad


Definicin de concurrencia
Es la existencia de varias actividades ejecutndose simultneamente, y necesitan
sincronizarse para actuar conjuntamente. Se trata, en este caso, de un concepto
lgico, ya que slo hace referencia a las actividades, sin importar el nmero de
procesadores presentes.
Para que dos actividades, sean concurrentes, es necesario que tengan relacin
entre s, como puede ser la cooperacin en un trabajo determinado o el uso de
informacin compartida.

Los procesos son concurrentes si existen simultneamente. Los procesos


concurrentes pueden funcionar en forma totalmente independiente unos de otros,
o pueden ser asncronos, lo cual significa que en ocasiones requieren cierta
sincronizacin o cooperacin.
Cuando dos o ms procesos llegan al mismo tiempo a ejecutarse, se dice que se
ha presentado una concurrencia de procesos. Es importante mencionar que para
que dos o ms procesos sean concurrentes, es necesario que tengan alguna
relacin entre ellos como puede ser la cooperacin para un determinado trabajo o
el uso de informacin o recursos compartidos, por ejemplo: en un sistema de un
procesador, la multiprogramacin es una condicin necesaria pero no suficiente
para que exista concurrencia, ya que los procesos pueden ejecutarse de forma
totalmente independiente.
Por otro lado, en un sistema de varios procesos se puede presentar la
concurrencia siempre y cuando las actividades necesiten actuar entre si ya sea
para utilizar informacin en comn o para cualquier otra cosa.

Existen tres formas modelos de computadora en los que se puede pueden


ejecutar procesos concurrentes:

Multiprogramacin con un nico procesador.


En este modelo todos los procesos concurrentes ejecutan sobre un nico
procesador. El sistema operativo se encarga de ir repartiendo el tiempo del
procesador entre los distintos procesos, intercalando la ejecucin de los mismos
para dar as una apariencia de ejecucin simultnea.

Multiprocesador.
Un multiprocesador es una maquina formada por un conjunto de procesadores
que comparten memoria principal. En este tipo de arquitecturas, los procesos
concurrentes no solo pueden intercalar su ejecucin sino tambin superponerla.
En este caso si existe una verdadera ejecucin simultanea de procesos, al
coincidir las fases de procesamiento de distintos procesos. En un instante dado se
pueden ejecutar de forma simultanea tantos procesos como procesadores haya.

Multicomputadora.
Una multicomputadora es una mquina de memoria distribuida, en contraposicin
con el multiprocesador que es de memoria compartida. Est formada por una serie
de computadoras completas con su UCP, memoria principal y, en su caso,

periferia. Cada uno de estos procesadores completo se denomina nodo. Los


nodos se encuentran conectados y se comunican entre s a travs de una red de
interconexin, empleando el mtodo de paso de mensajes. En este tipo de
arquitecturas tambin es posible la ejecucin simultanea de los procesos sobre los
distintos procesadores.

En general la concurrencia ser aparente siempre que el nmero de procesos sea


mayor que el de procesadores disponibles, es decir, cuando haya ms de un
proceso por procesador. La concurrencia ser real cuando haya un proceso por
procesador.
Los procesos del sistema pueden ejecutarse concurrentemente, puede haber
mltiples tareas en el CPU con varios procesos.
Existen varias razones para permitir la ejecucin concurrente:

Compartir recursos fsicos: Ya que los recursos del hardware de la


computadora son limitados, nos podemos ver obligados a compartirlos en
un entorno multiusuario.

Compartir recursos lgicos: Puesto que varios usuarios pueden interesarse


en el mismo elemento de informacin (por ejemplo, un archivo compartido),
debemos proporcionar un entorno que permita el acceso concurrente a
estos tipos de recursos.

Acelerar los clculos: 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 dems.

Modularidad: Podremos construir el sistema en forma modular, dividiendo


las funciones del sistema en procesos separados.

Comodidad: Un usuario puede tener que ejecutar varias tareas a la vez, por
ejemplo, puede editar, imprimir y compilar en paralelo.

La ejecucin concurrente que requiere la cooperacin entre procesos necesita un


mecanismo para la sincronizacin y comunicacin de procesos, exclusin mutua y
sincronizacin.

Problemas de concurrencia
En los sistemas de tiempo compartido (aquellos con varios usuarios, procesos,
tareas, trabajos que reparten el uso de CPU entre estos) se presentan muchos
problemas debido a que los procesos compiten por los recursos del sistema.

Condiciones de Carrera o Competencia: La condicin de carrera (race


condition) ocurre cuando dos o ms procesos accedan un recurso
compartido sin control, de manera que el resultado combinado de este
acceso depende del orden de llegada. Suponga, por ejemplo, que dos
clientes de un banco realizan cada uno una operacin en cajeros diferentes
al mismo tiempo.

Postergacin o Aplazamiento Indefinido(a): Esto se mencion en el


apartado anterior y consiste en el hecho de que uno o varios procesos
nunca reciban el suficiente tiempo de ejecucin para terminar su tarea. Por
ejemplo, que un proceso ocupe un recurso y lo marque como 'ocupado' y
que termine sin marcarlo como 'desocupado'. Si algn otro proceso pide
ese recurso, lo ver 'ocupado' y esperar indefinidamente a que se
'desocupe'.

Condicin de Espera Circular: Esto ocurre cuando dos o ms procesos


forman una cadena de espera que los involucra a todos. Por ejemplo,
suponga que el proceso A tiene asignado el recurso 'cinta' y el proceso B
tiene asignado el recurso 'disco'. En ese momento al proceso A se le ocurre

pedir el recurso 'disco' y al proceso B el recurso 'cinta'. Ahi se forma una


espera circular entre esos dos procesos que se puede evitar quitndole a la
fuerza un recurso a cualquiera de los dos procesos.

Condicin de No Apropiacin: Esta condicin no resulta precisamente de la


concurrencia, pero juega un papel importante en este ambiente. Esta
condicin especifica que, si un proceso tiene asignado un recurso, dicho
recurso no puede arrebatrsele por ningn motivo, y estar disponible hasta
que el proceso lo 'suelte' por su voluntad.

Condicin de Espera Ocupada: Esta condicin consiste en que un proceso


pide un recurso que ya est asignado a otro proceso y la condicin de no
apropiacin se debe cumplir. Entonces el proceso estar gastando el resto
de su time slice checando si el recurso fue liberado. Es decir, desperdicia su
tiempo de ejecucin en esperar. La solucin ms comn a este problema
consiste en que el sistema operativo se d cuenta de esta situacin y
mande a una cola de espera al proceso, otorgndole inmediatamente el
turno de ejecucin a otro proceso.

Condicin de Exclusin Mutua: Cuando un proceso usa un recurso del


sistema realiza una serie de operaciones sobre el recurso y despus lo deja
de usar. A la seccin de cdigo que usa ese recurso se le llama 'regin
crtica'. La condicin de exclusin mutua establece que solamente se
permite a un proceso estar dentro de la misma regin crtica. Esto es, que
en cualquier momento solamente un proceso puede usar un recurso a la
vez. Para lograr la exclusin mutua se ideo tambin el concepto de 'regin
crtica'. Para logar la exclusin mutua generalmente se usan algunas
tcnicas para lograr entrar a la regin crtica: semforos, monitores, el
algoritmo de Dekker y Peterson, los 'candados'. Para ver una descripcin
de estos algoritmos consulte

Condicin de Ocupar y Esperar un Recurso: Consiste en que un proceso


pide un recurso y se le asigna. Antes de soltarlo, pide otro recurso que otro
proceso ya tiene asignado.

Los problemas descritos son todos importantes para el sistema operativo,


ya que debe ser capaz de prevenir o corregirlos.

Secuencialidad
Los archivos secuenciales son un tipo de archivo en los que la informacin puede
leerse

escribirse

empezando

desde

el

principio

del

archivo.

Debemos tomar en consideracin algunas caractersticas 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 slo se pueden abrir para lectura o para escritura, nunca de los dos
modos a la vez.

Se refiere al procesamiento de los registros, no importa el orden en que se haga,


para eso los registros estn organizados en forma de una lista y recuperarlos y
procesarlos uno por uno de principio a fin.

Rendimientos de los archivos Secuenciales; dependiendo del dispositivo de


almacenamiento utilizado el archivo se puede mostrar el usuario como si fuera un
sistema secuencial.

Al finalizar un archivo secuencial se denota con una marca de fin de archivo. (End
end-of-file)

Seriabilidad: Cuando hablamos de seriabilidad nos referimos a la capacidad de


reproducir un producto x en nmero limitado de veces.

Conclusin
La concurrencia y la secuencialidad son factores que se repiten dia
tras da en nuestra vida diaria, pero de igual forma en los sistemas
operativos ejecutan un cambio al aplicarse.
Un ejemplo de concurrencia en la vida diaria es que cuando vamos al
sper y diferentes cajeras usan la misma recopilacin de datos en sus
respectivos equipos para saber el precio de un producto y cumplir con
su labor de cobrar y all es una actividad que se est ejecutando al
mismo tiempo, pero tienen conexin entre s.
Y la secuencialidad es un proceso se lee ya sea desde su principio o
su final un ejemplo de esto es una lista de alumnos por que tanto
puede empezar a leerse de los datos finales como de los del principio.

Fuentes de informacin

sites.google.com/site/materiasisoperativo/unidad-2-administrador-delproceso-y-del-procesador/2-4-concurrencia-y-secuenciabilidad

http://sistemasoperativos.angelfire.com/html/2.4.html

http://florysel.blogspot.mx/2012/11/24-concurrencia-y-secuenciabilidad.html

Вам также может понравиться