SlideShare una empresa de Scribd logo
1 de 13
1
Curso: 7 S “A”
Asignatura: Sistemas
Operativos
Docente:
Ing. Jorge Hidalgo
Estudiantes:
 Mora Lombeida Lady
 Contreras Baque Pamela
 Barcia Intriago José
 Puya Castro Josué
 Alvarado Mendoza Luis
UNIVERSIDAD AGRARIA DEL
ECUADOR
FACULTAD DE CIENCIAS AGRARIAS
CARRERA DE INGENIERÍA EN
CIENCIAS DE LA COMPUTACIÓN
-
2
Es la primera de 4 propiedades que conforma ACID, en donde esta
herramienta garantiza que las transacciones en la base de datos se realicen de
forma confiable.
“Es la propiedad que asegura que la operación se ha realizado o no, y por lo
tanto ante un fallo del sistema no puede quedar a medias” (Reyes, 2015, pág.
5).
Es decir, se dice que una operación es atómica cuando es imposible para
otra parte de un sistema encontrar pasos intermedios. Si esta operación
consiste en una serie de pasos, todos ellos ocurren o ninguno.
•”Se refiere a que cuando se envía un mensaje a un grupo, este debe de
llegarles a todos los miembros o a ninguno, así como garantizar la consistencia”
(López, 2015, p. 63).
Atomicidad tiene dos palabras que la representa indivisibilidad e
irreductibilidad, permitiendo especificar que cada transacción sea "todo o nada":
si una parte de la transacción falla, todas las operaciones de la transacción
fallan, y por lo tanto la base de datos no sufre cambios. Un sistema atómico
tiene que garantizar la atomicidad en cualquier operación y situación,
incluyendo fallas de alimentación eléctrica, errores y caídas del sistema.
Por ejemplo, en el caso de una transacción bancaria o se ejecuta tanto el
depósito y la deducción o ninguna acción es realizada. Es una característica de
los sistemas transaccionales. El concepto también es relevante cuando se
programa con hilos de ejecución.
1.1 ATOMICIDAD: DEFINICIÓN
-
3
1.2.1 Especificación de requerimientos
Según Cáceres (2014) afirma que:
“La atomicidad permite describir el patrón que responde a una situación o
problema específico, aunque este pueda presentarse en mucho entorno o
contextos distintos”.
Para ello detallo los niveles que se consideran por el entorno a la
especificaciones de requerimientos a la hora de ejecutar las transacciones
dentro del sistema de base de datos como:
 A nivel de aplicación requieren de las funcionalidad del
sistema operativo.
 A nivel del sistema de
archivos, los sistemas compatibles con POSIX proporcionan llamadas al
sistema como open(2)y flock(2)que permiten que las aplicaciones abran
o bloqueen un archivo de forma atómica.
 A nivel de proceso, los subprocesos POSIX proporcionan primitivas de
sincronización adecuadas.
 A nivel de hardware requiere operaciones atómicas como Probar y
configurar , Buscar y agregar , Comparar y cambiar o Cargar enlace /
Almacenar condicional , junto con barreras de memoria . Los sistemas
operativos portátiles no pueden simplemente bloquear las interrupciones
para implementar la sincronización, ya que el hardware que carece de
ejecución concurrente, como Hyper-Threading o multiprocesamiento, es
ahora extremadamente raro.
1.2.2 Prueba de atomicidad
En una transacción atómica se presenta una serie de operaciones en la base
de datos, en donde ocurren diversas acciones que se deseen realizar en un
periodo de tiempo, o no ocurre ninguna si no cumple con el requerimiento
especificado.
1.2 ESPECIFICACIÓN DE REQUERIMIENTOS Y PRUEBAS DE
ATOMICIDAD Y SEGURIDAD
-
4
“La atomicidad previene que las actualizaciones a la base ocurren de forma
parcial, lo cual podría ocasionar mayores problemas de rechazar la transacción
entera” (Velazquez, 2015, pág. 8).
Por ello se puede tener en cuenta cual es el funcionamiento o prueba dentro
de un sistema de base de datos:
 Los sistemas implementan la atomicidad mediante algún mecanismo
que indica qué transacción comenzó y cuál finalizó; o manteniendo una
copia de los datos antes de que ocurran los cambios.
 Las bases de datos en general implementan la atomicidad usando algún
sistema de logging para seguir los cambios.
 El sistema sincroniza los logs a medida que resulta necesario una vez
que los cambios ocurren con éxito.
 El sistema de recuperación de caídas simplemente ignora las entradas
incompletas y determina que el proceso no se desarrolla o lo tome como
desechos
En los sistemas de almacenamiento NoSQL con consistencia eventual, la
atomicidad se especifica de forma más débil que en los sistemas relacionales,
y existe sólo para las filas.
Uno utilizado para hacer cumplir la atomicidad y durabilidad es write-ahead
logging (WAL), en el que cualquier detalle de la transacción se escribe primero
en un registro que incluye información de rehacer y deshacer. Esto garantiza
que, en caso de un fallo de la base de datos de cualquier tipo, la base de datos
pueda comprobar el registro y comparar su contenido con el estado de la base
de datos.
-
5
Otro método utilizado para tratar la atomicidad y durabilidad es shadow-
paging, en el que se crea una página de sombra cuando se van a modificar los
datos. Las actualizaciones de la consulta se escriben en la página sombra y no
en los datos reales de la base de datos. La propia base de datos se modifica
sólo cuando se completa la edición.
1.2.3 Seguridad de atomicidad
Es la propiedad de las transacciones que permite observarlas como
operaciones atómicas: ocurren totalmente o no ocurren.
Según Paiz (2015) detalla que:
“La atomicidad mediante algún mecanismo indica que transacción comenzó
y finalizo, manteniendo una copia de los datos antes que pueda ocurrir cambios
repentinos”.
Si bien las bases de datos en general pueden implementar la atomicidad
usando algunos sistemas que siguientes instrucciones en base a los cambios
que se ejecutan de forma sincronizada a medida que resulten necesario.
Casos a considerar:
 Consultas unitarias: Incluso para consultas unitarias hay que preservar
la atomicidad: en un sistema operativo de tiempo compartido, la
ejecución concurrente de dos consultas SQL puede ser incorrecta si no
se toman las precauciones adecuadas.
 Operación abortada: Por ejemplo, debido a una división por cero; por
privilegios de acceso; o para evitar bloqueos.
-
6
1.3.1 Granularidad
“La granularidad es el tamaño de los elementos. Así, se habla de sistemas de
grano fino o de grano grueso, para denotar elementos pequeños o grandes,
respectivamente. A mayor granularidad, menor concurrencia” (Giraldo, 2015, p.
4).
La granularidad es una forma de medir el grado de paralelismo que explota
el sistema, indicando la cantidad de computaciones que pueden realizar los
procesadores sin interaccionar entre ellos, Así, en un modelo de
granularidad gruesa, el programa se divide en varias partes que precisan
poca comunicación entre sí. Los sistemas paralelos formados por
procesadores potentes y débilmente interconectados, parecen más
adecuados para aplicaciones de granularidad gruesa (Pardines, 2007, p. 30).
Por el contrario, en los modelos de granularidad fina, la comunicación entre
los procesadores de granularidad fina, la comunicación entre los
procesadores es más intensa y se ejecuta relativamente pocas instrucciones
sin necesidad de comunicaciones. Para las aplicaciones de granularidad
fina, los sistemas con procesadores sencillas y fuertemente interconectados
entre si resultan más eficientes (Pardines, 2007, p. 31).
Entonces, la granularidad es la cantidad de procesamiento que una tarea
realiza antes de necesitar comunicarse con otra tarea. Por supuesto, un grano
puede crecer o decrecer agrupando o desagrupando tarea.
Recordar:
Es importante a la hora de diseñar una tabla de hechos tener en cuenta el nivel
de granularidad que va a tener, es decir, el nivel de detalle más atómico que
vamos a encontrar de los datos.
No es lo mismo tener una fila por cada venta, que una fila donde se indiquen
las ventas del día para cada artículo y tienda.
A mayor granularidad, mayor será el número de filas de nuestra tabla de
hechos, y dado que el espacio en disco y rendimiento no se ven notablemente
afectados en los sistemas actuales, debemos llegar siempre al máximo nivel de
granularidad que resulte útil a los usuarios.
1.3 GRANULARIDAD DE ACCESOS Y MODIFICACIONES
ATÓMICAS, Y EL USO DE SECCIONES CRÍTICAS O
TRANSACCIONES PARA MODELARLOS
-
7
1.3.2 Sección crítica
Según una publicación de la Universidad de la República del Uruguay (2020)
Se denomina Sección Crítica a aquellas partes de los procesos concurrentes
que no pueden ejecutarse de forma concurrente o, también, que desde otro
proceso se ven como si fueran una única instrucción. Esto quiere decir que,
si un proceso entra a ejecutar una sección crítica en la que se accede a unas
variables compartidas, entonces otro proceso no puede entrar a ejecutar una
región crítica en la que acceda a variables compartidas con el anterior (p. 2).
Es decir, cuando un proceso obtiene acceso a datos y recursos compartidos,
se dice que el conjunto de instrucciones que los manipulan conforma una
sección critica.
“Las secciones críticas se pueden mutuo excluir. Para conseguir dicha
exclusión se deben implementar protocolos software que impidan o el acceso a
una sección crítica mientras está siendo utilizada por un proceso” (Universidad
de la República del Uruguay, 2020, p. 2)
1.3.3 Transacciones para modelar
Según López (2015) señala lo siguiente de las transacciones para modelarlos:
Por medio de este se puede modelar con mayor precisión las transacciones
a través del uso de procesos independientes. Entre los puntos a considerar
están:
 Almacenamiento estable: Permite que la información perdure a todo,
con excepción de las catástrofes, para lo cual se realiza un disco
espejo.
 Primitivas de transacción: Son proporcionadas por el sistema
operativo o compilador, como begin - transaction, end - transaction,
abort- transaction, read, write.
 Propiedades de las transacciones: Son las propiedades
fundamentales de las transacciones y se indican como ACID.
 Si una transacción se aborta, es necesario un procedimiento de
recuperación para eliminar las operaciones ya realizadas (p. 88).
-
8
1.3.4 Definición de Transacción
Según Jamrich (2013):
Una transacción es una interacción con una estructura de datos compleja,
compuesta por varios procesos que se han de aplicar uno después del otro.
La transacción debe realizarse de una sola vez y sin que la estructura a
medio manipular pueda ser alcanzada por el resto del sistema hasta que se
hayan finalizado todos sus procesos.
En cambio, López (2015) señala que:
Las transacciones deben cumplir cuatro propiedades, denominadas ACID:
1. Atomicidad (Atomicity): es la propiedad que asegura que la operación se
ha realizado o no, y por lo tanto ante un fallo del sistema no puede
quedar a medias.
2. Consistencia (Consistency): es la propiedad que asegura que sólo se
empieza aquello que se puede acabar. Por lo tanto, se ejecutan aquellas
operaciones que no van a romper la reglas y directrices de integridad de
la base de datos.
3. Aislamiento (Isolation): es la propiedad que asegura que una operación
no puede afectar a otras. Esto asegura que la realización de dos
transacciones sobre la misma información nunca generará ningún tipo
de error.
4. Durabilidad (Durability): es la propiedad que asegura que, una vez
realizada la operación, ésta persistirá y no se podrá deshacer, aunque
falle el sistema (p. 88).
Las transacciones suelen verse implementadas en sistemas de bases de
datos y, más recientemente, se han visto incorporadas a cómo gestiona
un sistema operativo la interacción con un sistema de archivos (como varias
características de las bases de datos, debido a que son muy similares
arquitectónicamente) (Paiz, 2015).
1.4 TRANSACCIONES
-
9
1.3.5 Algoritmos paralelos: Definición
Son métodos de resolución de problemas donde ejecuta procesos por
partes en el mismo instante de tiempo por varias unidades de procesamiento
para unir las partes y obtener un resultado correcto (Vásquez, Medina,
Saavedra, & Ramírez, 2019).
Es decir, este método permite a los procesos es decir parte de un programa
que se ejecuta por un procesador, ejecutarse en varias partes al mismo tiempo
por distintas unidades de procesamientos, luego unirlas y obtener resultados
favorables. Son sumamente importantes para la solución de problemas
grandes en muchos campos de aplicación.
“Los algoritmos paralelos son métodos para resolver problemas
computacionales en máquinas paralelas” (Naiouf, 2004, p. 15).
Para el uso adecuado de los algoritmos paralelos es necesario tener una
arquitectura buena ya que sería el lugar donde se ejecutaría estos tipos de
programa que usen los algoritmos paralelos, tener una buena comunicación,
buscar u observar la manera en cómo dividen los problemas y los distintos
datos.
En esta definición están realizando una comparación entre un algoritmo
secuencial que conforma una secuencia de pasos que son resueltos mediante
una computadora secuencial, mientras que los algoritmos paralelos resuelven
los problemas usando múltiples procesos (Montes de Oca, 2012).
En otras palabras, la definición este tipo de algoritmo involucra el modo de
especificar los pasos. Se debe tener en cuenta la concurrencia, la arquitectura
donde se desarrolla el algoritmo, la comunicación y sincronización de las tareas,
1.5 ALGORITMOS PARALELOS
-
10
la distribución de datos, la tolerancia a fallos y la memoria distribuida o
compartida.
-
11
Bibliografía
Caceres, E. (2014). Metodologia para el reuso efectivo de patrones de
requisitos en la ingenieria de software. Peru: Universidad de Piura.
Giraldo, J. (2015). Academia.edu. Retrieved Diciembre 17, 2020, from
Focherso y base de datos:
https://www.academia.edu/13180337/Apuntestema07
Jamrich. (2013). Ssitema de procesamiento de transacciones. Retrieved
Diciembre 17, 2020, from https://sanmiranda.weebly.com/sistema-de-
informacioacuten/1-sistema-de-procesamiento-de-transacciones
López, F. (2015). Sistemas distribuidos. México: Universidad Autónoma
Metropolitana. Retrieved from
http://dccd.cua.uam.mx/libros/archivos/03IXStream_sistemas_distribuido
s.pdf
Montes de Oca, E. (2012). Comparación del uso de GPGPU y cluster de
multicore en problemas con alta demanda computacional. La Plata:
Universidad Nacional de La Plata. Obtenido de
https://core.ac.uk/download/pdf/296378614.pdf
Naiouf, R. (2004). Procesamiento Paralelo. Balance de Carga Dinámico en
algoritmo de Sorting. La Plata: Universidad Nacional de La Plata.
Paiz, B. (2015). ACID en las base de datos. Guatemala: Universidad de San
Carlos de Guatemala. Recuperado el 17 de 12 de 2020
-
12
Pardines, I. (2007). Técnicas paralelas aplicadas a optimización no lineal en
sistemas de memoria distribuida. Universidad Santiago de Compostela.
Retrieved from
https://books.google.com.ec/books?id=cSHQJuonXnUC&printsec=frontc
over#v=onepage&q&f=false
Reyes, R. (2015). Analsis de la concurrencia de las transacciones en un
sistema de administracion de base de datos. Mexico: Universidad
Autonoma del Estado de Mexico.
Universidad de la República del Uruguay. (2020). Repositorio de la Universidad
de la República del Uruguay. Retrieved from Programación Concurrente:
https://www.fing.edu.uy/tecnoinf/mvd/cursos/so/material/teo/so07-
concurrencia.pdf
Vásquez, D., Medina, A., Saavedra, K., & Ramírez, S. (2019). Algoritmos
Paralelos. Chimbote: Universidad Nacional del Santa.
Velazquez, G. (2015). Base de datos relacionales. Mexico: Centro Universitario
UAEM Atlacomulco.
-
13
Anexos

Más contenido relacionado

La actualidad más candente

Sistemas operativos de tiempo compartido
Sistemas operativos de tiempo compartidoSistemas operativos de tiempo compartido
Sistemas operativos de tiempo compartido
camilo_flores
 
Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inanición
jhonfgarcia
 
Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativos
Andy Lopez
 
Modelos de Simulacion
Modelos de SimulacionModelos de Simulacion
Modelos de Simulacion
Jammil Ramos
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
Daniela Velasquez
 
PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESO
gladysmamani
 

La actualidad más candente (20)

Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Sistemas operativos de tiempo compartido
Sistemas operativos de tiempo compartidoSistemas operativos de tiempo compartido
Sistemas operativos de tiempo compartido
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesos
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
Tolerancia a fallos
Tolerancia a fallosTolerancia a fallos
Tolerancia a fallos
 
Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inanición
 
Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativos
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Modelos de Simulacion
Modelos de SimulacionModelos de Simulacion
Modelos de Simulacion
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESO
 
Programación concurrente
Programación concurrenteProgramación concurrente
Programación concurrente
 
Gestion de memoria en windows
Gestion de memoria en windowsGestion de memoria en windows
Gestion de memoria en windows
 
Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUM
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 

Similar a ATOMICIDAD

Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
Victor
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
Victor
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
Miguel Joshua Godinez Barbosa
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
gladysmamani
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
GUADALUPE
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
CESAR
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
giovatovar
 

Similar a ATOMICIDAD (20)

Inv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasInv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrencias
 
Procesos_so
Procesos_soProcesos_so
Procesos_so
 
Sistema Jerarquico
Sistema JerarquicoSistema Jerarquico
Sistema Jerarquico
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Comunicación y sicronización entre procesos
Comunicación y sicronización entre procesosComunicación y sicronización entre procesos
Comunicación y sicronización entre procesos
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigación
 
Vega_NoAnimation.pptx
Vega_NoAnimation.pptxVega_NoAnimation.pptx
Vega_NoAnimation.pptx
 
Funciones de un SO
Funciones de un SOFunciones de un SO
Funciones de un SO
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
Unidad 2 Arquitectura del gestor
Unidad 2 Arquitectura del gestorUnidad 2 Arquitectura del gestor
Unidad 2 Arquitectura del gestor
 
Análisis comparativo de bases de datos
Análisis comparativo  de bases de datosAnálisis comparativo  de bases de datos
Análisis comparativo de bases de datos
 
Unidad2
Unidad2Unidad2
Unidad2
 
sistemas distribuidos 4
sistemas distribuidos 4sistemas distribuidos 4
sistemas distribuidos 4
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 

Más de Alumic S.A

Servicio cliente servidor
Servicio cliente servidorServicio cliente servidor
Servicio cliente servidor
Alumic S.A
 
Caso estudio pandora
Caso estudio pandoraCaso estudio pandora
Caso estudio pandora
Alumic S.A
 
CASO FACEBOOK "ADMINISTRACION DE PRIVACIDAD"
CASO FACEBOOK "ADMINISTRACION DE PRIVACIDAD"CASO FACEBOOK "ADMINISTRACION DE PRIVACIDAD"
CASO FACEBOOK "ADMINISTRACION DE PRIVACIDAD"
Alumic S.A
 
2 p tarea amazon vs wallmart -24 dic
2 p tarea amazon vs wallmart -24 dic2 p tarea amazon vs wallmart -24 dic
2 p tarea amazon vs wallmart -24 dic
Alumic S.A
 
KM -GESTIÓN DEL CONOCIMIENTO
KM -GESTIÓN DEL CONOCIMIENTOKM -GESTIÓN DEL CONOCIMIENTO
KM -GESTIÓN DEL CONOCIMIENTO
Alumic S.A
 

Más de Alumic S.A (20)

Servicio cliente servidor
Servicio cliente servidorServicio cliente servidor
Servicio cliente servidor
 
Paralelismo
ParalelismoParalelismo
Paralelismo
 
Caso estudio pandora
Caso estudio pandoraCaso estudio pandora
Caso estudio pandora
 
CASO FACEBOOK "ADMINISTRACION DE PRIVACIDAD"
CASO FACEBOOK "ADMINISTRACION DE PRIVACIDAD"CASO FACEBOOK "ADMINISTRACION DE PRIVACIDAD"
CASO FACEBOOK "ADMINISTRACION DE PRIVACIDAD"
 
Caso twitter
Caso twitterCaso twitter
Caso twitter
 
2 p deber facebook
2 p deber facebook2 p deber facebook
2 p deber facebook
 
2 p hospedaje comercio electronico
2 p hospedaje comercio electronico2 p hospedaje comercio electronico
2 p hospedaje comercio electronico
 
2 p tarea amazon vs wallmart -24 dic
2 p tarea amazon vs wallmart -24 dic2 p tarea amazon vs wallmart -24 dic
2 p tarea amazon vs wallmart -24 dic
 
Scm
Scm Scm
Scm
 
Rol de Amazon
Rol de AmazonRol de Amazon
Rol de Amazon
 
Preguntas de repaso
Preguntas de repasoPreguntas de repaso
Preguntas de repaso
 
Preguntas de análisis
Preguntas de análisisPreguntas de análisis
Preguntas de análisis
 
Caso debofarms
Caso debofarmsCaso debofarms
Caso debofarms
 
KM -GESTIÓN DEL CONOCIMIENTO
KM -GESTIÓN DEL CONOCIMIENTOKM -GESTIÓN DEL CONOCIMIENTO
KM -GESTIÓN DEL CONOCIMIENTO
 
DDS
DDSDDS
DDS
 
Caso almacén de datos
Caso almacén de datosCaso almacén de datos
Caso almacén de datos
 
Tarea grupal caso de estudio dss
Tarea grupal caso de estudio dssTarea grupal caso de estudio dss
Tarea grupal caso de estudio dss
 
Normas apa
Normas apaNormas apa
Normas apa
 
SUBNETTING
SUBNETTINGSUBNETTING
SUBNETTING
 
ANALISIS DE SENSIBILIDAD
ANALISIS DE SENSIBILIDADANALISIS DE SENSIBILIDAD
ANALISIS DE SENSIBILIDAD
 

Último

PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 

Último (20)

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 

ATOMICIDAD

  • 1. 1 Curso: 7 S “A” Asignatura: Sistemas Operativos Docente: Ing. Jorge Hidalgo Estudiantes:  Mora Lombeida Lady  Contreras Baque Pamela  Barcia Intriago José  Puya Castro Josué  Alvarado Mendoza Luis UNIVERSIDAD AGRARIA DEL ECUADOR FACULTAD DE CIENCIAS AGRARIAS CARRERA DE INGENIERÍA EN CIENCIAS DE LA COMPUTACIÓN
  • 2. - 2 Es la primera de 4 propiedades que conforma ACID, en donde esta herramienta garantiza que las transacciones en la base de datos se realicen de forma confiable. “Es la propiedad que asegura que la operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias” (Reyes, 2015, pág. 5). Es decir, se dice que una operación es atómica cuando es imposible para otra parte de un sistema encontrar pasos intermedios. Si esta operación consiste en una serie de pasos, todos ellos ocurren o ninguno. •”Se refiere a que cuando se envía un mensaje a un grupo, este debe de llegarles a todos los miembros o a ninguno, así como garantizar la consistencia” (López, 2015, p. 63). Atomicidad tiene dos palabras que la representa indivisibilidad e irreductibilidad, permitiendo especificar que cada transacción sea "todo o nada": si una parte de la transacción falla, todas las operaciones de la transacción fallan, y por lo tanto la base de datos no sufre cambios. Un sistema atómico tiene que garantizar la atomicidad en cualquier operación y situación, incluyendo fallas de alimentación eléctrica, errores y caídas del sistema. Por ejemplo, en el caso de una transacción bancaria o se ejecuta tanto el depósito y la deducción o ninguna acción es realizada. Es una característica de los sistemas transaccionales. El concepto también es relevante cuando se programa con hilos de ejecución. 1.1 ATOMICIDAD: DEFINICIÓN
  • 3. - 3 1.2.1 Especificación de requerimientos Según Cáceres (2014) afirma que: “La atomicidad permite describir el patrón que responde a una situación o problema específico, aunque este pueda presentarse en mucho entorno o contextos distintos”. Para ello detallo los niveles que se consideran por el entorno a la especificaciones de requerimientos a la hora de ejecutar las transacciones dentro del sistema de base de datos como:  A nivel de aplicación requieren de las funcionalidad del sistema operativo.  A nivel del sistema de archivos, los sistemas compatibles con POSIX proporcionan llamadas al sistema como open(2)y flock(2)que permiten que las aplicaciones abran o bloqueen un archivo de forma atómica.  A nivel de proceso, los subprocesos POSIX proporcionan primitivas de sincronización adecuadas.  A nivel de hardware requiere operaciones atómicas como Probar y configurar , Buscar y agregar , Comparar y cambiar o Cargar enlace / Almacenar condicional , junto con barreras de memoria . Los sistemas operativos portátiles no pueden simplemente bloquear las interrupciones para implementar la sincronización, ya que el hardware que carece de ejecución concurrente, como Hyper-Threading o multiprocesamiento, es ahora extremadamente raro. 1.2.2 Prueba de atomicidad En una transacción atómica se presenta una serie de operaciones en la base de datos, en donde ocurren diversas acciones que se deseen realizar en un periodo de tiempo, o no ocurre ninguna si no cumple con el requerimiento especificado. 1.2 ESPECIFICACIÓN DE REQUERIMIENTOS Y PRUEBAS DE ATOMICIDAD Y SEGURIDAD
  • 4. - 4 “La atomicidad previene que las actualizaciones a la base ocurren de forma parcial, lo cual podría ocasionar mayores problemas de rechazar la transacción entera” (Velazquez, 2015, pág. 8). Por ello se puede tener en cuenta cual es el funcionamiento o prueba dentro de un sistema de base de datos:  Los sistemas implementan la atomicidad mediante algún mecanismo que indica qué transacción comenzó y cuál finalizó; o manteniendo una copia de los datos antes de que ocurran los cambios.  Las bases de datos en general implementan la atomicidad usando algún sistema de logging para seguir los cambios.  El sistema sincroniza los logs a medida que resulta necesario una vez que los cambios ocurren con éxito.  El sistema de recuperación de caídas simplemente ignora las entradas incompletas y determina que el proceso no se desarrolla o lo tome como desechos En los sistemas de almacenamiento NoSQL con consistencia eventual, la atomicidad se especifica de forma más débil que en los sistemas relacionales, y existe sólo para las filas. Uno utilizado para hacer cumplir la atomicidad y durabilidad es write-ahead logging (WAL), en el que cualquier detalle de la transacción se escribe primero en un registro que incluye información de rehacer y deshacer. Esto garantiza que, en caso de un fallo de la base de datos de cualquier tipo, la base de datos pueda comprobar el registro y comparar su contenido con el estado de la base de datos.
  • 5. - 5 Otro método utilizado para tratar la atomicidad y durabilidad es shadow- paging, en el que se crea una página de sombra cuando se van a modificar los datos. Las actualizaciones de la consulta se escriben en la página sombra y no en los datos reales de la base de datos. La propia base de datos se modifica sólo cuando se completa la edición. 1.2.3 Seguridad de atomicidad Es la propiedad de las transacciones que permite observarlas como operaciones atómicas: ocurren totalmente o no ocurren. Según Paiz (2015) detalla que: “La atomicidad mediante algún mecanismo indica que transacción comenzó y finalizo, manteniendo una copia de los datos antes que pueda ocurrir cambios repentinos”. Si bien las bases de datos en general pueden implementar la atomicidad usando algunos sistemas que siguientes instrucciones en base a los cambios que se ejecutan de forma sincronizada a medida que resulten necesario. Casos a considerar:  Consultas unitarias: Incluso para consultas unitarias hay que preservar la atomicidad: en un sistema operativo de tiempo compartido, la ejecución concurrente de dos consultas SQL puede ser incorrecta si no se toman las precauciones adecuadas.  Operación abortada: Por ejemplo, debido a una división por cero; por privilegios de acceso; o para evitar bloqueos.
  • 6. - 6 1.3.1 Granularidad “La granularidad es el tamaño de los elementos. Así, se habla de sistemas de grano fino o de grano grueso, para denotar elementos pequeños o grandes, respectivamente. A mayor granularidad, menor concurrencia” (Giraldo, 2015, p. 4). La granularidad es una forma de medir el grado de paralelismo que explota el sistema, indicando la cantidad de computaciones que pueden realizar los procesadores sin interaccionar entre ellos, Así, en un modelo de granularidad gruesa, el programa se divide en varias partes que precisan poca comunicación entre sí. Los sistemas paralelos formados por procesadores potentes y débilmente interconectados, parecen más adecuados para aplicaciones de granularidad gruesa (Pardines, 2007, p. 30). Por el contrario, en los modelos de granularidad fina, la comunicación entre los procesadores de granularidad fina, la comunicación entre los procesadores es más intensa y se ejecuta relativamente pocas instrucciones sin necesidad de comunicaciones. Para las aplicaciones de granularidad fina, los sistemas con procesadores sencillas y fuertemente interconectados entre si resultan más eficientes (Pardines, 2007, p. 31). Entonces, la granularidad es la cantidad de procesamiento que una tarea realiza antes de necesitar comunicarse con otra tarea. Por supuesto, un grano puede crecer o decrecer agrupando o desagrupando tarea. Recordar: Es importante a la hora de diseñar una tabla de hechos tener en cuenta el nivel de granularidad que va a tener, es decir, el nivel de detalle más atómico que vamos a encontrar de los datos. No es lo mismo tener una fila por cada venta, que una fila donde se indiquen las ventas del día para cada artículo y tienda. A mayor granularidad, mayor será el número de filas de nuestra tabla de hechos, y dado que el espacio en disco y rendimiento no se ven notablemente afectados en los sistemas actuales, debemos llegar siempre al máximo nivel de granularidad que resulte útil a los usuarios. 1.3 GRANULARIDAD DE ACCESOS Y MODIFICACIONES ATÓMICAS, Y EL USO DE SECCIONES CRÍTICAS O TRANSACCIONES PARA MODELARLOS
  • 7. - 7 1.3.2 Sección crítica Según una publicación de la Universidad de la República del Uruguay (2020) Se denomina Sección Crítica a aquellas partes de los procesos concurrentes que no pueden ejecutarse de forma concurrente o, también, que desde otro proceso se ven como si fueran una única instrucción. Esto quiere decir que, si un proceso entra a ejecutar una sección crítica en la que se accede a unas variables compartidas, entonces otro proceso no puede entrar a ejecutar una región crítica en la que acceda a variables compartidas con el anterior (p. 2). Es decir, cuando un proceso obtiene acceso a datos y recursos compartidos, se dice que el conjunto de instrucciones que los manipulan conforma una sección critica. “Las secciones críticas se pueden mutuo excluir. Para conseguir dicha exclusión se deben implementar protocolos software que impidan o el acceso a una sección crítica mientras está siendo utilizada por un proceso” (Universidad de la República del Uruguay, 2020, p. 2) 1.3.3 Transacciones para modelar Según López (2015) señala lo siguiente de las transacciones para modelarlos: Por medio de este se puede modelar con mayor precisión las transacciones a través del uso de procesos independientes. Entre los puntos a considerar están:  Almacenamiento estable: Permite que la información perdure a todo, con excepción de las catástrofes, para lo cual se realiza un disco espejo.  Primitivas de transacción: Son proporcionadas por el sistema operativo o compilador, como begin - transaction, end - transaction, abort- transaction, read, write.  Propiedades de las transacciones: Son las propiedades fundamentales de las transacciones y se indican como ACID.  Si una transacción se aborta, es necesario un procedimiento de recuperación para eliminar las operaciones ya realizadas (p. 88).
  • 8. - 8 1.3.4 Definición de Transacción Según Jamrich (2013): Una transacción es una interacción con una estructura de datos compleja, compuesta por varios procesos que se han de aplicar uno después del otro. La transacción debe realizarse de una sola vez y sin que la estructura a medio manipular pueda ser alcanzada por el resto del sistema hasta que se hayan finalizado todos sus procesos. En cambio, López (2015) señala que: Las transacciones deben cumplir cuatro propiedades, denominadas ACID: 1. Atomicidad (Atomicity): es la propiedad que asegura que la operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias. 2. Consistencia (Consistency): es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por lo tanto, se ejecutan aquellas operaciones que no van a romper la reglas y directrices de integridad de la base de datos. 3. Aislamiento (Isolation): es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la realización de dos transacciones sobre la misma información nunca generará ningún tipo de error. 4. Durabilidad (Durability): es la propiedad que asegura que, una vez realizada la operación, ésta persistirá y no se podrá deshacer, aunque falle el sistema (p. 88). Las transacciones suelen verse implementadas en sistemas de bases de datos y, más recientemente, se han visto incorporadas a cómo gestiona un sistema operativo la interacción con un sistema de archivos (como varias características de las bases de datos, debido a que son muy similares arquitectónicamente) (Paiz, 2015). 1.4 TRANSACCIONES
  • 9. - 9 1.3.5 Algoritmos paralelos: Definición Son métodos de resolución de problemas donde ejecuta procesos por partes en el mismo instante de tiempo por varias unidades de procesamiento para unir las partes y obtener un resultado correcto (Vásquez, Medina, Saavedra, & Ramírez, 2019). Es decir, este método permite a los procesos es decir parte de un programa que se ejecuta por un procesador, ejecutarse en varias partes al mismo tiempo por distintas unidades de procesamientos, luego unirlas y obtener resultados favorables. Son sumamente importantes para la solución de problemas grandes en muchos campos de aplicación. “Los algoritmos paralelos son métodos para resolver problemas computacionales en máquinas paralelas” (Naiouf, 2004, p. 15). Para el uso adecuado de los algoritmos paralelos es necesario tener una arquitectura buena ya que sería el lugar donde se ejecutaría estos tipos de programa que usen los algoritmos paralelos, tener una buena comunicación, buscar u observar la manera en cómo dividen los problemas y los distintos datos. En esta definición están realizando una comparación entre un algoritmo secuencial que conforma una secuencia de pasos que son resueltos mediante una computadora secuencial, mientras que los algoritmos paralelos resuelven los problemas usando múltiples procesos (Montes de Oca, 2012). En otras palabras, la definición este tipo de algoritmo involucra el modo de especificar los pasos. Se debe tener en cuenta la concurrencia, la arquitectura donde se desarrolla el algoritmo, la comunicación y sincronización de las tareas, 1.5 ALGORITMOS PARALELOS
  • 10. - 10 la distribución de datos, la tolerancia a fallos y la memoria distribuida o compartida.
  • 11. - 11 Bibliografía Caceres, E. (2014). Metodologia para el reuso efectivo de patrones de requisitos en la ingenieria de software. Peru: Universidad de Piura. Giraldo, J. (2015). Academia.edu. Retrieved Diciembre 17, 2020, from Focherso y base de datos: https://www.academia.edu/13180337/Apuntestema07 Jamrich. (2013). Ssitema de procesamiento de transacciones. Retrieved Diciembre 17, 2020, from https://sanmiranda.weebly.com/sistema-de- informacioacuten/1-sistema-de-procesamiento-de-transacciones López, F. (2015). Sistemas distribuidos. México: Universidad Autónoma Metropolitana. Retrieved from http://dccd.cua.uam.mx/libros/archivos/03IXStream_sistemas_distribuido s.pdf Montes de Oca, E. (2012). Comparación del uso de GPGPU y cluster de multicore en problemas con alta demanda computacional. La Plata: Universidad Nacional de La Plata. Obtenido de https://core.ac.uk/download/pdf/296378614.pdf Naiouf, R. (2004). Procesamiento Paralelo. Balance de Carga Dinámico en algoritmo de Sorting. La Plata: Universidad Nacional de La Plata. Paiz, B. (2015). ACID en las base de datos. Guatemala: Universidad de San Carlos de Guatemala. Recuperado el 17 de 12 de 2020
  • 12. - 12 Pardines, I. (2007). Técnicas paralelas aplicadas a optimización no lineal en sistemas de memoria distribuida. Universidad Santiago de Compostela. Retrieved from https://books.google.com.ec/books?id=cSHQJuonXnUC&printsec=frontc over#v=onepage&q&f=false Reyes, R. (2015). Analsis de la concurrencia de las transacciones en un sistema de administracion de base de datos. Mexico: Universidad Autonoma del Estado de Mexico. Universidad de la República del Uruguay. (2020). Repositorio de la Universidad de la República del Uruguay. Retrieved from Programación Concurrente: https://www.fing.edu.uy/tecnoinf/mvd/cursos/so/material/teo/so07- concurrencia.pdf Vásquez, D., Medina, A., Saavedra, K., & Ramírez, S. (2019). Algoritmos Paralelos. Chimbote: Universidad Nacional del Santa. Velazquez, G. (2015). Base de datos relacionales. Mexico: Centro Universitario UAEM Atlacomulco.