Este documento presenta información sobre sistemas operativos y transacciones en bases de datos. Explica conceptos clave como atomicidad, granularidad, secciones críticas y transacciones. También define propiedades ACID y describe cómo se implementa la atomicidad en bases de datos mediante mecanismos como registro de transacciones y páginas de sombra. Finalmente, introduce algoritmos paralelos y su relación con la resolución de problemas computacionales en máquinas paralelas.
Un modelo de arquitectura de dos capas distribuye una aplicación web entre dos componentes lógicos: una capa de presentación que interactúa con los usuarios y una capa de datos que almacena y gestiona la información de forma persistente. Existen tres variantes principales de esta arquitectura dependiendo de cómo se distribuyen estas capas y la lógica de negocio entre el cliente y el servidor.
El documento describe dos algoritmos de programación concurrente para exclusión mutua: el algoritmo de Dekker y el algoritmo de Peterson. El algoritmo de Dekker, desarrollado originalmente por Edsger Dijkstra, permite a dos procesos acceder a un recurso compartido de forma exclusiva. Existen cinco versiones del algoritmo de Dekker, siendo la versión 5 la más eficiente. El algoritmo de Peterson, desarrollado por Glenn Peterson en 1981, es una simplificación del algoritmo de Dekker para dos procesos y posteriormente fue generalizado para N procesos
El documento describe las funciones de los sistemas operativos para controlar los dispositivos de entrada/salida y la comunicación con periféricos. Explica que el SO controla los dispositivos de E/S para facilitar su manejo, optimizar la E/S, proveer dispositivos virtuales y permitir la conexión de nuevos dispositivos de forma automática.
Este documento describe los algoritmos de control de concurrencia en bases de datos. Explica que la concurrencia ocurre cuando múltiples transacciones acceden a una base de datos al mismo tiempo y puede causar problemas si no se controla adecuadamente. Describe dos algoritmos principales para controlar la concurrencia: bloqueos y protocolos de dos fases. El algoritmo de bloqueo de dos fases usa bloqueos de lectura y escritura para prevenir conflictos entre operaciones concurrentes de transacciones.
Este documento describe los archivos virtuales y reales. Los archivos virtuales son archivos temporales creados durante la ejecución de un sistema y utilizados para almacenar información de manera temporal, siendo borrados una vez finalizada la ejecución. Los archivos con extensión .tmp son un ejemplo común de archivos virtuales. Por otro lado, los archivos reales contienen programas, datos u otros elementos, mostrando el espacio real que ocupan en un disco duro.
Este documento describe las diferentes arquitecturas paralelas según la taxonomía de Flynn. Explica las cuatro categorías principales (SISD, SIMD, MISD, MIMD) según el flujo de instrucciones y datos. También cubre las computadoras de memoria compartida como UMA, NUMA y COMA, indicando que comparten el mismo espacio de direcciones de memoria principal.
Este documento describe diferentes distribuciones de probabilidad como la distribución de Poisson y la distribución binomial. La distribución de Poisson expresa la probabilidad de que ocurra un número determinado de eventos durante un período de tiempo, basándose en una frecuencia media de ocurrencia. La distribución binomial se aplica cuando hay dos posibles resultados y un número fijo de pruebas. El documento también proporciona ejemplos y fórmulas para estas distribuciones.
La labor del administrador de la memoria consiste en 1) llevar el registro de las partes de memoria que se están utilizando y las que no para asignar espacio a los procesos cuando lo necesiten y liberarlo cuando terminen, y 2) administrar el intercambio entre la memoria principal y el disco cuando la memoria principal no puede albergar todos los procesos.
Un modelo de arquitectura de dos capas distribuye una aplicación web entre dos componentes lógicos: una capa de presentación que interactúa con los usuarios y una capa de datos que almacena y gestiona la información de forma persistente. Existen tres variantes principales de esta arquitectura dependiendo de cómo se distribuyen estas capas y la lógica de negocio entre el cliente y el servidor.
El documento describe dos algoritmos de programación concurrente para exclusión mutua: el algoritmo de Dekker y el algoritmo de Peterson. El algoritmo de Dekker, desarrollado originalmente por Edsger Dijkstra, permite a dos procesos acceder a un recurso compartido de forma exclusiva. Existen cinco versiones del algoritmo de Dekker, siendo la versión 5 la más eficiente. El algoritmo de Peterson, desarrollado por Glenn Peterson en 1981, es una simplificación del algoritmo de Dekker para dos procesos y posteriormente fue generalizado para N procesos
El documento describe las funciones de los sistemas operativos para controlar los dispositivos de entrada/salida y la comunicación con periféricos. Explica que el SO controla los dispositivos de E/S para facilitar su manejo, optimizar la E/S, proveer dispositivos virtuales y permitir la conexión de nuevos dispositivos de forma automática.
Este documento describe los algoritmos de control de concurrencia en bases de datos. Explica que la concurrencia ocurre cuando múltiples transacciones acceden a una base de datos al mismo tiempo y puede causar problemas si no se controla adecuadamente. Describe dos algoritmos principales para controlar la concurrencia: bloqueos y protocolos de dos fases. El algoritmo de bloqueo de dos fases usa bloqueos de lectura y escritura para prevenir conflictos entre operaciones concurrentes de transacciones.
Este documento describe los archivos virtuales y reales. Los archivos virtuales son archivos temporales creados durante la ejecución de un sistema y utilizados para almacenar información de manera temporal, siendo borrados una vez finalizada la ejecución. Los archivos con extensión .tmp son un ejemplo común de archivos virtuales. Por otro lado, los archivos reales contienen programas, datos u otros elementos, mostrando el espacio real que ocupan en un disco duro.
Este documento describe las diferentes arquitecturas paralelas según la taxonomía de Flynn. Explica las cuatro categorías principales (SISD, SIMD, MISD, MIMD) según el flujo de instrucciones y datos. También cubre las computadoras de memoria compartida como UMA, NUMA y COMA, indicando que comparten el mismo espacio de direcciones de memoria principal.
Este documento describe diferentes distribuciones de probabilidad como la distribución de Poisson y la distribución binomial. La distribución de Poisson expresa la probabilidad de que ocurra un número determinado de eventos durante un período de tiempo, basándose en una frecuencia media de ocurrencia. La distribución binomial se aplica cuando hay dos posibles resultados y un número fijo de pruebas. El documento también proporciona ejemplos y fórmulas para estas distribuciones.
La labor del administrador de la memoria consiste en 1) llevar el registro de las partes de memoria que se están utilizando y las que no para asignar espacio a los procesos cuando lo necesiten y liberarlo cuando terminen, y 2) administrar el intercambio entre la memoria principal y el disco cuando la memoria principal no puede albergar todos los procesos.
El modelo de cinco estados y seis transiciones describe las etapas por las que pasa un proceso en un sistema operativo, incluyendo los estados de Listo, Ejecución, Bloqueado, Nuevo y Terminado, así como las transiciones entre estos estados como cuando un proceso pasa de Listo a Ejecución, cuando termina o cuando espera un evento externo.
La administración de memoria se refiere a los métodos y operaciones que organizan los procesos y programas en ejecución para aprovechar al máximo el espacio de memoria disponible. La memoria virtual permite que el sistema cuente con una memoria más extensa que la memoria física real mediante el traslado de información entre la memoria principal y la secundaria. El administrador de memoria es el encargado de permitir que varios procesos compartan la memoria principal de forma dinámica y protegida.
Bases de datos distribuidas heterogéneasJuan Anaya
Este documento describe las características de las bases de datos distribuidas heterogéneas, incluyendo que usan diferentes gestores de bases de datos y esquemas en cada sitio de manera autónoma. Explica los tipos de heterogeneidad que pueden existir debido a diferencias en los sistemas de gestión de bases de datos o en la semántica de los datos. También cubre los retos de procesar consultas y transacciones entre bases de datos heterogéneas de manera distribuida.
La segmentación de instrucciones es una técnica que permite a la CPU ejecutar más de una instrucción simultáneamente descomponiendo el proceso de ejecución en etapas paralelas. Se basa en explotar el paralelismo entre instrucciones de un flujo secuencial. Aunque supone que todas las etapas pueden realizarse en paralelo y que las instrucciones pasan por todas ellas, en realidad no todas las instrucciones requieren todas las etapas ni estas pueden llevarse a cabo simultáneamente, lo que puede
Un gestor de almacenamiento es una parte de la base de datos que proporciona una interfaz entre los datos almacenados en el disco y los programas de aplicación. Se encarga de interactuar con los datos almacenados en el disco y está compuesto por gestores de autorización e integridad, gestor de transacciones, gestor de archivos y gestor de memoria intermedia.
El documento describe el modelo de desarrollo de software basado en componentes (CBSE), en el que los sistemas se definen e implementan como componentes débilmente acoplados. Explica que CBSE se ha convertido en un importante enfoque debido a que los sistemas son cada vez más grandes y complejos, y los clientes demandan software más rápido y fiable. También describe que los componentes son piezas de código reutilizables que encapsulan funcionalidad a través de interfaces estándar, y que el paradigma CBSE consiste en ensamblar estos
Este documento resume la unidad 3 sobre procedimientos y macros. Explica que los procedimientos son conjuntos de instrucciones que ejecutan tareas específicas, mientras que las macros permiten codificar instrucciones repetitivas una sola vez y reutilizarlas. También describe la sintaxis y tipos de procedimientos y macros, así como sus diferencias y ventajas.
Este documento describe las amenazas y vulnerabilidades más comunes a los sistemas de información. Explica que las amenazas incluyen factores humanos, hardware, software, redes y desastres naturales. Las vulnerabilidades más frecuentes son contraseñas predeterminadas, llaves compartidas predeterminadas, suplantación de IP, interceptación pasiva, vulnerabilidades de servicios y aplicaciones. También describe técnicas de cifrado como simétrico, asimétrico e híbrido, y explica que los mecanismos de protección controlan el
Modelos y capas de la ingenieria de softwarejhonatanalex
El documento discute varios temas relacionados con la ingeniería de software, incluyendo modelos de desarrollo como el modelo en cascada, modelo en espiral y modelo iterativo. También describe las capas de la ingeniería de software como herramientas, métodos, procesos y un enfoque de calidad. Además, analiza los desafíos asociados con el desarrollo de software debido a la naturaleza intangible de los productos de software.
Este documento describe los conceptos de procesos y estados de procesos en sistemas operativos. Explica que un proceso es una entidad activa que compite por recursos como la CPU, y que el sistema operativo administra los procesos y su ejecución. También describe los cinco estados típicos de un proceso: nuevo, listo, en ejecución, bloqueado y terminado.
Este documento presenta las tareas fundamentales de la ingeniería de requisitos para el desarrollo de software. Estas incluyen iniciar el proyecto, obtener requisitos del cliente, elaborar un modelo de análisis, negociar requisitos, especificar requisitos de forma precisa, validar la especificación, y gestionar los requisitos a lo largo del proyecto mediante tablas de rastreabilidad. El objetivo principal es entender completamente las necesidades del cliente y desarrollar un sistema de software que las satisfaga.
La integridad de datos en una base de datos se refiere a la corrección y completitud de la información almacenada y consiste en tres categorías: integridad de entidad, integridad de dominio e integridad referencial. La integridad de entidad define cada fila como única, la integridad de dominio restringe los tipos y valores de datos permitidos por columna, e integridad referencial mantiene la coherencia entre las tablas relacionadas.
El lenguaje ensamblador es un lenguaje de bajo nivel que permite escribir instrucciones usando abreviaturas como ADD, SUB y DIV. Es traducible al lenguaje máquina y derivó todos los demás lenguajes. Un programa en lenguaje ensamblador consiste en una secuencia de sentencias con cuatro campos opcionales: etiqueta, operación, operando y comentarios.
Procesos Ligeros: Hilos o Hebras
Un proceso ligero es una unidad básica de utilización de la CPU consistente en un juego de registros y un espacio de pila.
Comparte datos, código y registros con sus hebras pares.
Una tarea o proceso pesado esta conformado por una o mas hebras.
Una hebra solo puede pertenecer a una sola tarea.
1. El documento presenta conceptos clave de ingeniería de software como modelo de negocios, procesos de negocio, roles, casos de uso de negocio y diagramas para modelar el negocio. 2. Explica que el modelo de negocios estudia la organización identificando procesos, roles y su interacción para lograr objetivos. 3. Se describen elementos para modelar el negocio como actores, roles, casos de uso, flujos de trabajo y decisiones usando diagramas de casos de uso, secuencias, actividades.
Una aplicación distribuida consta de componentes independientes que se ejecutan en diferentes entornos conectados a través de una red, como el correo electrónico y la navegación web. La distribución implica dividir el software en partes asignadas a responsabilidades específicas. Las aplicaciones distribuidas permiten el trabajo remoto, compartir información y proporcionar accesibilidad e independencia de ubicación, además de mejorar la seguridad al particionar bases de datos.
El documento describe conceptos básicos del modelo relacional de bases de datos, incluyendo relaciones, tuplas, atributos, dominios, claves, restricciones de integridad y esquemas de bases de datos relacionales. Explica que un esquema de BD relacional consta de un conjunto de esquemas de relaciones y restricciones de integridad.
Este documento describe los diagramas de comportamiento en UML, incluyendo diagramas de casos de uso, secuencia y estados. Los diagramas de casos de uso muestran las interacciones entre actores y el sistema, mientras que los diagramas de secuencia y estados ilustran el flujo y cambios de estados de los objetos a lo largo del tiempo.
Inv 1 algoritmos de control de concurrenciasJuan Anaya
Este documento describe los conceptos clave de control de concurrencia en bases de datos. Explica que la concurrencia se refiere a que múltiples transacciones pueden acceder a una base de datos al mismo tiempo y que es necesario controlar la concurrencia para evitar interferencias. Describe problemas como la actualización perdida que pueden ocurrir sin control de concurrencia y métodos como bloqueos y marcas de tiempo para controlar la concurrencia de manera que se garantice la consistencia de la información.
Este documento describe los conceptos de procesos, hilos, concurrencia, exclusión mutua, sincronización y planificación en sistemas operativos. Explica que los procesos son unidades de ejecución y los hilos son unidades más pequeñas que pueden ser planificadas. También describe técnicas como semáforos, monitores y problemas como el interbloqueo. Finalmente, cubre objetivos de planificación como ser justa, maximizar la capacidad de ejecución y evitar la postergación indefinida.
El modelo de cinco estados y seis transiciones describe las etapas por las que pasa un proceso en un sistema operativo, incluyendo los estados de Listo, Ejecución, Bloqueado, Nuevo y Terminado, así como las transiciones entre estos estados como cuando un proceso pasa de Listo a Ejecución, cuando termina o cuando espera un evento externo.
La administración de memoria se refiere a los métodos y operaciones que organizan los procesos y programas en ejecución para aprovechar al máximo el espacio de memoria disponible. La memoria virtual permite que el sistema cuente con una memoria más extensa que la memoria física real mediante el traslado de información entre la memoria principal y la secundaria. El administrador de memoria es el encargado de permitir que varios procesos compartan la memoria principal de forma dinámica y protegida.
Bases de datos distribuidas heterogéneasJuan Anaya
Este documento describe las características de las bases de datos distribuidas heterogéneas, incluyendo que usan diferentes gestores de bases de datos y esquemas en cada sitio de manera autónoma. Explica los tipos de heterogeneidad que pueden existir debido a diferencias en los sistemas de gestión de bases de datos o en la semántica de los datos. También cubre los retos de procesar consultas y transacciones entre bases de datos heterogéneas de manera distribuida.
La segmentación de instrucciones es una técnica que permite a la CPU ejecutar más de una instrucción simultáneamente descomponiendo el proceso de ejecución en etapas paralelas. Se basa en explotar el paralelismo entre instrucciones de un flujo secuencial. Aunque supone que todas las etapas pueden realizarse en paralelo y que las instrucciones pasan por todas ellas, en realidad no todas las instrucciones requieren todas las etapas ni estas pueden llevarse a cabo simultáneamente, lo que puede
Un gestor de almacenamiento es una parte de la base de datos que proporciona una interfaz entre los datos almacenados en el disco y los programas de aplicación. Se encarga de interactuar con los datos almacenados en el disco y está compuesto por gestores de autorización e integridad, gestor de transacciones, gestor de archivos y gestor de memoria intermedia.
El documento describe el modelo de desarrollo de software basado en componentes (CBSE), en el que los sistemas se definen e implementan como componentes débilmente acoplados. Explica que CBSE se ha convertido en un importante enfoque debido a que los sistemas son cada vez más grandes y complejos, y los clientes demandan software más rápido y fiable. También describe que los componentes son piezas de código reutilizables que encapsulan funcionalidad a través de interfaces estándar, y que el paradigma CBSE consiste en ensamblar estos
Este documento resume la unidad 3 sobre procedimientos y macros. Explica que los procedimientos son conjuntos de instrucciones que ejecutan tareas específicas, mientras que las macros permiten codificar instrucciones repetitivas una sola vez y reutilizarlas. También describe la sintaxis y tipos de procedimientos y macros, así como sus diferencias y ventajas.
Este documento describe las amenazas y vulnerabilidades más comunes a los sistemas de información. Explica que las amenazas incluyen factores humanos, hardware, software, redes y desastres naturales. Las vulnerabilidades más frecuentes son contraseñas predeterminadas, llaves compartidas predeterminadas, suplantación de IP, interceptación pasiva, vulnerabilidades de servicios y aplicaciones. También describe técnicas de cifrado como simétrico, asimétrico e híbrido, y explica que los mecanismos de protección controlan el
Modelos y capas de la ingenieria de softwarejhonatanalex
El documento discute varios temas relacionados con la ingeniería de software, incluyendo modelos de desarrollo como el modelo en cascada, modelo en espiral y modelo iterativo. También describe las capas de la ingeniería de software como herramientas, métodos, procesos y un enfoque de calidad. Además, analiza los desafíos asociados con el desarrollo de software debido a la naturaleza intangible de los productos de software.
Este documento describe los conceptos de procesos y estados de procesos en sistemas operativos. Explica que un proceso es una entidad activa que compite por recursos como la CPU, y que el sistema operativo administra los procesos y su ejecución. También describe los cinco estados típicos de un proceso: nuevo, listo, en ejecución, bloqueado y terminado.
Este documento presenta las tareas fundamentales de la ingeniería de requisitos para el desarrollo de software. Estas incluyen iniciar el proyecto, obtener requisitos del cliente, elaborar un modelo de análisis, negociar requisitos, especificar requisitos de forma precisa, validar la especificación, y gestionar los requisitos a lo largo del proyecto mediante tablas de rastreabilidad. El objetivo principal es entender completamente las necesidades del cliente y desarrollar un sistema de software que las satisfaga.
La integridad de datos en una base de datos se refiere a la corrección y completitud de la información almacenada y consiste en tres categorías: integridad de entidad, integridad de dominio e integridad referencial. La integridad de entidad define cada fila como única, la integridad de dominio restringe los tipos y valores de datos permitidos por columna, e integridad referencial mantiene la coherencia entre las tablas relacionadas.
El lenguaje ensamblador es un lenguaje de bajo nivel que permite escribir instrucciones usando abreviaturas como ADD, SUB y DIV. Es traducible al lenguaje máquina y derivó todos los demás lenguajes. Un programa en lenguaje ensamblador consiste en una secuencia de sentencias con cuatro campos opcionales: etiqueta, operación, operando y comentarios.
Procesos Ligeros: Hilos o Hebras
Un proceso ligero es una unidad básica de utilización de la CPU consistente en un juego de registros y un espacio de pila.
Comparte datos, código y registros con sus hebras pares.
Una tarea o proceso pesado esta conformado por una o mas hebras.
Una hebra solo puede pertenecer a una sola tarea.
1. El documento presenta conceptos clave de ingeniería de software como modelo de negocios, procesos de negocio, roles, casos de uso de negocio y diagramas para modelar el negocio. 2. Explica que el modelo de negocios estudia la organización identificando procesos, roles y su interacción para lograr objetivos. 3. Se describen elementos para modelar el negocio como actores, roles, casos de uso, flujos de trabajo y decisiones usando diagramas de casos de uso, secuencias, actividades.
Una aplicación distribuida consta de componentes independientes que se ejecutan en diferentes entornos conectados a través de una red, como el correo electrónico y la navegación web. La distribución implica dividir el software en partes asignadas a responsabilidades específicas. Las aplicaciones distribuidas permiten el trabajo remoto, compartir información y proporcionar accesibilidad e independencia de ubicación, además de mejorar la seguridad al particionar bases de datos.
El documento describe conceptos básicos del modelo relacional de bases de datos, incluyendo relaciones, tuplas, atributos, dominios, claves, restricciones de integridad y esquemas de bases de datos relacionales. Explica que un esquema de BD relacional consta de un conjunto de esquemas de relaciones y restricciones de integridad.
Este documento describe los diagramas de comportamiento en UML, incluyendo diagramas de casos de uso, secuencia y estados. Los diagramas de casos de uso muestran las interacciones entre actores y el sistema, mientras que los diagramas de secuencia y estados ilustran el flujo y cambios de estados de los objetos a lo largo del tiempo.
Inv 1 algoritmos de control de concurrenciasJuan Anaya
Este documento describe los conceptos clave de control de concurrencia en bases de datos. Explica que la concurrencia se refiere a que múltiples transacciones pueden acceder a una base de datos al mismo tiempo y que es necesario controlar la concurrencia para evitar interferencias. Describe problemas como la actualización perdida que pueden ocurrir sin control de concurrencia y métodos como bloqueos y marcas de tiempo para controlar la concurrencia de manera que se garantice la consistencia de la información.
Este documento describe los conceptos de procesos, hilos, concurrencia, exclusión mutua, sincronización y planificación en sistemas operativos. Explica que los procesos son unidades de ejecución y los hilos son unidades más pequeñas que pueden ser planificadas. También describe técnicas como semáforos, monitores y problemas como el interbloqueo. Finalmente, cubre objetivos de planificación como ser justa, maximizar la capacidad de ejecución y evitar la postergación indefinida.
El documento describe la estructura jerárquica de los sistemas operativos, la cual se divide en capas. Cada capa ofrece servicios a la capa superior y utiliza servicios de la capa inferior. La capa 0 se encarga de la asignación del procesador y la multiprogramación, la capa 1 administra la memoria, la capa 2 controla la comunicación entre procesos, la capa 3 gestiona los dispositivos de entrada y salida, la capa 4 contiene los programas de usuario y la capa 5 es la interfaz de usuario.
El documento describe las bases de datos distribuidas, las cuales consisten en múltiples bases de datos lógicamente relacionadas que se encuentran distribuidas entre diferentes sitios interconectados por una red. Un sistema de bases de datos distribuida permite que los usuarios accedan los datos en cualquier parte de la red como si estuvieran accediendo localmente. Las bases de datos distribuidas evolucionaron para satisfacer las necesidades de empresas descentralizadas geográficamente y aprovechar el poder de las computadoras personales.
Este documento describe las bases de datos distribuidas, las cuales consisten en múltiples bases de datos lógicamente relacionadas que se encuentran distribuidas entre diferentes sitios interconectados por una red. Un sistema de bases de datos distribuidas permite que los usuarios accedan los datos de cualquier parte de la red como si estuvieran accediendo localmente. Los principales factores que distinguen un sistema distribuido son que hay múltiples computadoras comunicadas a través de una red para transmitir datos y órdenes.
Este documento describe los conceptos de proceso y procesamiento paralelo. Un proceso consiste en las instrucciones de un programa, su estado de ejecución y memoria de trabajo. El procesamiento paralelo divide un programa en trozos que se ejecutan simultáneamente en múltiples procesadores para acelerar la ejecución. Los procesos pueden interbloquearse si compiten por recursos limitados. Los sistemas operativos usan modelos de procesos con diferentes estados como ejecutando, listo y bloqueado.
Este documento trata sobre la sincronización entre procesos concurrentes en sistemas operativos. Explica que los procesos deben sincronizarse cuando van a utilizar recursos compartidos para evitar problemas de concurrencia. Luego describe diferentes formas en que los procesos pueden interactuar y sincronizarse, incluyendo el uso de secciones críticas, variables compartidas, semáforos, monitores y mensajes. Finalmente, menciona que también es posible implementar la exclusión mutua directamente usando funciones de hardware como habilitar y deshabilitar
Comunicación y sicronización entre procesosglocom15
El documento trata sobre la sincronización entre procesos concurrentes en sistemas operativos. Explica que los procesos deben sincronizarse cuando van a utilizar recursos compartidos para evitar problemas de concurrencia. Describe varias formas en que los procesos pueden interactuar y mecanismos para la sincronización como secciones críticas, monitores, semáforos, mensajes y habilitación/deshabilitación de interrupciones. Finalmente, define interbloqueo como una situación donde ningún proceso puede avanzar.
Este documento trata sobre procesos ligeros (hilos) y concurrencia y secuencialidad en sistemas operativos. Explica que los procesos ligeros comparten la memoria e información de ejecución con otros procesos ligeros dentro de un mismo proceso. Luego describe mecanismos para la concurrencia como semáforos y monitores, y conceptos como secuencialidad y serialización para evitar problemas al acceder recursos compartidos de forma concurrente.
Este documento describe las funciones básicas de los sistemas operativos, incluyendo la comunicación con usuarios, la ejecución de múltiples programas y el manejo de recursos compartidos. También explica diferentes modos de explotación como procesos por lotes y en tiempo real. Finalmente, discute conceptos como la seguridad, la compartimentación de memoria, la exclusión mutua y el uso de semáforos para coordinar el acceso a los recursos compartidos entre procesos concurrentes.
Este documento trata sobre sistemas operativos y conceptos relacionados con procesos como estados de procesos, procesos ligeros, concurrencia, exclusión mutua de secciones críticas, sincronización de procesos, semáforos, monitores e interbloqueo. Explica estos conceptos de manera detallada con ejemplos.
La programación concurrente permite la ejecución simultánea de múltiples tareas a través de procesos o hilos. La comunicación y sincronización entre tareas concurrentes es clave, ya que los recursos pueden ser compartidos. Existen diferentes técnicas para lograr la exclusión mutua de recursos como algoritmos, semáforos, monitores y paso de mensajes. El sistema operativo gestiona la concurrencia asignando tiempo de CPU y recursos a los procesos.
La programación concurrente permite la ejecución simultánea de múltiples tareas a través de procesos o hilos. Requiere coordinar el acceso a recursos compartidos y sincronizar la interacción entre tareas. Algunas técnicas son la multiprogramación, que ejecuta varios programas en memoria principal, y la multitarea, que gestiona el tiempo del procesador entre procesos.
El documento describe los conceptos básicos de los procesos y la concurrencia en sistemas operativos. Explica que un proceso es una instancia de ejecución de un programa que puede encontrarse en diferentes estados como ejecución, espera o terminado. También describe mecanismos para la comunicación entre procesos como semáforos, monitores y paso de mensajes, así como problemas relacionados con la concurrencia como el interbloqueo.
El documento describe los conceptos básicos de los procesos y la concurrencia en sistemas operativos. Explica que un proceso es una instancia de ejecución de un programa que puede encontrarse en diferentes estados como ejecución, espera o terminado. También describe mecanismos para la comunicación entre procesos como semáforos, monitores y paso de mensajes, así como problemas relacionados con la concurrencia como el interbloqueo.
Este documento presenta las tareas y fechas límite de entrega para una unidad sobre sistemas de gestión de bases de datos. Los estudiantes deben completar una investigación, instalar y comparar diferentes SGBD, y publicar un manual de instalación. Las tareas incluyen informes, cuadros comparativos y presentaciones que se entregarán en las próximas dos semanas.
Este documento compara bases de datos de código abierto y cerrado, analizando puntos como soporte, rendimiento, funcionalidad y seguridad. Esto permite a gerentes y desarrolladores elegir el motor de base de datos más adecuado para su proyecto según sus necesidades y presupuesto. También destaca la importancia de considerar herramientas de código abierto en la evaluación de software.
El documento describe conceptos básicos sobre procesos y sistemas operativos, incluyendo las definiciones de proceso, estados de procesos, control de procesos, hilos, y principios de concurrencia. Explica que un proceso es una instancia de ejecución de un programa y puede estar en estados como activo, preparado, bloqueado o suspendido. También cubre temas como la creación de jerarquías de procesos, la protección del sistema operativo a través de modos de privilegio, y los desafíos de la concurrencia al
Este documento discute conceptos clave relacionados con la virtualización y los hilos en sistemas distribuidos. Explica que los hilos permiten ocultar la latencia de comunicación a través de redes al permitir llamadas de bloqueo sin bloquear todo el proceso. También describe cómo la virtualización permite ejecutar múltiples sistemas operativos de forma concurrente en una misma plataforma y cómo la migración de código puede mejorar el rendimiento al mover procesos entre máquinas.
Este documento describe conceptos clave de la programación concurrente como multitarea, multiprogramación y multiprocesos. Explica que la programación concurrente permite ejecutar múltiples tareas de forma simultánea a través de procesos o hilos. También cubre temas como la comunicación y sincronización entre procesos, algoritmos para exclusión mutua como Dekker y Peterson, y herramientas para la sincronización como semáforos y monitores.
El documento describe conceptos relacionados con sistemas operativos distribuidos como el modelo cliente-servidor, arquitecturas multinúcleo, procesos y hilos, tareas en paralelo y procesamiento paralelo. Explica que el modelo cliente-servidor permite la distribución de tareas entre servidores y clientes, y que las arquitecturas multinúcleo combinan varios núcleos de procesamiento para mejorar el rendimiento. También define procesos, hilos, tareas en paralelo y procesamiento paralelo, señal
El documento trata sobre el tema del paralelismo. Define el paralelismo como la realización de varias tareas de forma simultánea por agentes o procesadores diferentes con el objetivo de aumentar la velocidad computacional. Explica los diferentes niveles de paralelismo como a nivel de trabajo, tarea y hilo. También distingue el paralelismo de la concurrencia y sus objetivos.
Pandora utiliza un modelo de negocios "freemium", donde ofrece servicios gratuitos para atraer a una gran cantidad de usuarios, con la esperanza de que un pequeño porcentaje pague por versiones premium. Aunque Pandora ha tenido dificultades para convertir usuarios gratuitos en suscriptores de pago, genera ingresos a través de publicidad. Factores como la capacidad de Pandora para innovar e incorporar comentarios de los usuarios, así como depender de múltiples fuentes de ingresos más allá de las suscripciones, han contribuido
CASO FACEBOOK "ADMINISTRACION DE PRIVACIDAD"Alumic S.A
Este documento presenta un taller sobre el caso de Facebook y la administración de la privacidad. Se describen los conceptos ilustrados como las políticas de privacidad y el modelo de ingresos de Facebook a través de publicidad. También se señalan las debilidades de las políticas de privacidad de Facebook y opciones para equilibrar la privacidad y rentabilidad, como permitir al usuario decidir qué información recopila Facebook. Finalmente, se cree que Facebook tendrá éxito generando ingresos a través de la publicidad debido a su gran tráfico,
Este documento presenta un caso sobre Twitter. Contiene cuatro preguntas relacionadas con el modelo de negocios de Twitter. La primera pregunta caracteriza el modelo como uno basado en ofrecer búsqueda e información en tiempo real. La segunda pregunta sugiere que el modelo de ingresos por publicidad funcionaría bien debido a la gran cantidad de usuarios. La tercera pregunta identifica la distribución de noticias, videos e imágenes como un activo importante que Twitter podría monetizar permitiendo la descarga paga de estos archivos. La cuarta pregunta detalla los
Facebook recopila información personal como nombre, correo electrónico y contenido publicado por los usuarios. Las aplicaciones de terceros pueden acceder a esta información con el permiso del usuario. Facebook notifica al usuario cuando una aplicación de terceros solicita acceso a su información. La política de privacidad no es clara sobre los riesgos de compartir información personal y debería describir mejor las opciones legales de los usuarios.
El documento describe un taller sobre el desarrollo de un sitio web para promover el turismo en la isla de Columbiana. Se discuten las formas en que un sitio web podría ayudar a aumentar el turismo, recomendándose un modelo de negocio de portal/agente de transacciones que proporcione información, realice ventas en línea y pague transacciones. También se enumeran las funciones clave que debería tener el sitio, como ofrecer información sobre atracciones, mostrar productos locales y permitir compras y reservas en línea.
Este documento compara los modelos de negocio de comercio electrónico de Amazon y Walmart. Explica que ambas empresas han tenido éxito debido a la innovación tecnológica, grandes almacenes y variedad de productos. Sin embargo, Walmart es considerado más fuerte porque obtuvo mayores ganancias que Amazon y es una marca más grande y reconocida.
El documento describe el sistema de gestión de la cadena de suministro (SCM), incluyendo qué es SCM, para qué sirve, sus componentes y tipos. También cubre la implementación de SCM en una empresa, incluyendo costos y ejemplos. SCM optimiza los procesos de producción y logística en toda la cadena de suministro para mejorar la rentabilidad de una empresa.
Amazon comenzó en 1994 como una librería online fundada por Jeff Bezos y se ha diversificado a la venta de una amplia variedad de productos. Ha tenido mucho éxito gracias a su enfoque en la excelencia del servicio al cliente a través de la entrega rápida, devoluciones fáciles y su programa Prime. Amazon continúa innovando con nuevas tecnologías como machine learning, realidad aumentada y tiendas físicas para ofrecer nuevas formas de comprar.
El documento contiene preguntas de repaso sobre inteligencia de negocios, OLAP, bases de datos dimensionales, procesamiento analítico en línea, administración de conocimientos, redes de conocimientos de empleados, herramientas de extracción de conocimientos de la Web, y desafíos de derivar conocimientos de la Web. Se definen conceptos clave y se explican sus ventajas y propósitos.
Este documento presenta 5 preguntas de análisis sobre el uso de software de red de conocimientos de empleados, inteligencia de negocios, motores de búsqueda gratuitos y sistemas para guardar conocimientos de empleados. Un estudiante responde que se sentiría cómodo con el monitoreo de su trabajo, que la inteligencia de negocios puede usarse en diferentes ámbitos de negocios, y que las empresas pueden usar motores de búsqueda gratuitos para tomar mejores decisiones.
El documento describe el caso de DeBoerFarms, una granja que usa agricultura de precisión. Se analizan los sistemas implementados y problemas enfrentados. Se proponen soluciones a preocupaciones sobre obsolescencia tecnológica y se recomienda investigar el software a comprar. También se explica cómo usar minería de datos para determinar qué decisiones y técnicas tuvieron más éxito y se mencionan usos actuales y posibles de sistemas de administración de conocimientos en granjas.
Este documento analiza los conceptos y beneficios de la gestión del conocimiento, así como cómo las tecnologías de información apoyan la captura y almacenamiento del conocimiento tácito y explícito de las personas para mejorar la productividad de una organización. Explica que la gestión del conocimiento implica adquirir, analizar, preservar y usar el conocimiento a través de herramientas tecnológicas como sistemas de gestión documental y ERP.
El documento describe dos software de apoyo a la toma de decisiones: IBM Cognos y MicroStrategy. IBM Cognos permite análisis de datos, informes dinámicos, cuadros de mando y simulación de escenarios. MicroStrategy ofrece mayor velocidad, rendimiento y facilidad de uso para análisis de negocios e inteligencia empresarial. Ambos software son utilizados por empresas para mejorar el proceso de toma de decisiones y optimizar el rendimiento organizacional.
El documento describe un caso en el que una compañía desea crear un almacén de datos unificado para integrar la información sobre ventas almacenada en dos sistemas diferentes (Unix y mainframe IBM). Esto permitiría identificar mejores productos y clientes, así como tendencias de ventas. Sin embargo, consolidar los datos presenta retos como datos duplicados, baja performance y falta de normalización. Los especialistas de bases de datos deben resolver estos problemas mediante la creación de un formato estándar único, aunque la autoridad final la tiene el gerente general.
El documento presenta preguntas sobre un caso de estudio de un sistema de soporte a la decisión (DSS) utilizado por un banco para evaluar solicitudes de crédito. El DSS brinda ventajas como apoyo a ejecutivos, genera índices financieros y escenarios de decisión para minimizar riesgos. El sistema apoya a los involucrados al proporcionar información que les permite tomar decisiones rápidas. Algunos indicadores relevantes para evaluar una empresa solicitante incluyen su estado legal, registro mercantil, estabilidad laboral, liquide
Este documento presenta una introducción a las normas APA y describe las diferencias entre citas basadas en el texto y el autor, así como los formatos para citas textuales menores y mayores a 40 palabras, citas parafraseadas y los cinco niveles de títulos y subtítulos.
El documento presenta 6 ejercicios de subnetting con diferentes direcciones IP y máscaras de subred. En el primer ejercicio se divide una red clase B en 8 subredes con 1000 hosts cada una. En el segundo ejercicio se divide una red clase A en 64 subredes con 262142 hosts cada una. Los ejercicios 3 al 6 resuelven problemas de direcciones de subred, broadcast y cantidad de subredes y hosts para diferentes escenarios de direccionamiento IP.
El documento describe un problema de programación lineal para una compañía de sombreros Wild West. La compañía produce dos tipos de sombreros y busca maximizar sus ganancias sujeto a restricciones de capacidad de producción y demanda. El modelo encuentra que la solución óptima es producir 100 sombreros tipo 1 y 200 sombreros tipo 2, generando $1800 en ganancias diarias. El análisis de sensibilidad muestra cómo cambios en los coeficientes y disponibilidad de recursos afectarían la solución.
Business Plan -rAIces - Agro Business Techjohnyamg20
Innovación y transparencia se unen en un nuevo modelo de negocio para transformar la economia popular agraria en una agroindustria. Facilitamos el acceso a recursos crediticios, mejoramos la calidad de los productos y cultivamos un futuro agrícola eficiente y sostenible con tecnología inteligente.
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .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.