<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Cuestionario II Parcial S.O II by Maynor Fernandez Obregon</title>
      <link>https://padlet.com/maynorfernandezobregon/Bookmarks</link>
      <description>Hecho con un guiño y una sonrisa</description>
      <language>en-us</language>
      <pubDate>2022-04-23 20:52:36 UTC</pubDate>
      <lastBuildDate>2022-04-29 03:13:37 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>Guía de Estudio General Parte 1</title>
         <author>maynorfernandezobregon</author>
         <link>https://padlet.com/maynorfernandezobregon/Bookmarks/wish/2159747225</link>
         <description><![CDATA[<div>✓ Unidad: III.<br>✓ Tema: Procesos y procesadores en sistemas distribuidos.<br><br><strong>3.2. Hilos y multihilos</strong><br><br>Los hilos son como mini procesos:<br><br>• Cada hilo:<br><br>o Se ejecuta en forma estrictamente secuencial.<br><br>o Tiene su propio contador de programa y una pila para llevar un registro de su posición.<br><br>• Los hilos comparten la CPU de la misma forma que lo hacen los procesos:<br><br> o Secuencialmente, en tiempo compartido.<br><br>• Solo en un multiprocesador se pueden ejecutar realmente en paralelo.<br><br>• Los hilos pueden crear hilos hijos.<br><br>• Mientras un hilo está bloqueado se puede ejecutar otro hilo del mismo proceso.<br><br><strong>Uso de Hilos</strong><br><br>Los hilos permiten la combinación del paralelismo con la ejecución secuencial y el bloqueo de las llamadas al sistema.<br><br>modelo servidor / trabajador:<br><br>• Un hilo, el servidor, lee las solicitudes de trabajo en el buzón del sistema.<br><br>• Elige a un hilo trabajador inactivo (bloqueado) y le envía la solicitud, despertándolo.<br><br>• El hilo trabajador verifica si puede satisfacer la solicitud por medio del bloque caché compartido, al que tienen acceso todos los hilos.<br><br>• Si no envía un mensaje al disco para obtener el bloque necesario y se duerme esperando el fin de la operación.<br><br>modelo es el de equipo:<br><br>• Todos los hilos son iguales y cada uno obtiene y procesa sus propias solicitudes.<br><br>• No hay servidor.<br><br>• Se utiliza una cola de trabajo que contiene todos los trabajos pendientes, que son trabajos que los hilos no han podido manejar.<br><br>• Un hilo debe verificar primero la cola de trabajo antes de buscar en el buzón del sistema.<br><br>Un tercer modelo es el de entubamiento:<br><br>• El primer hilo genera ciertos datos y los transfiere al siguiente para su procesamiento.<br><br>• Los datos pasan de hilo en hilo y en cada etapa se lleva a cabo cierto procesamiento.<br><br>• Un programa diseñado adecuadamente y que utilice hilos debe funcionar bien.<br><br><strong>Aspectos del Diseño de un Paquete de Hilos<br><br></strong>En un diseño estático:<br><br>• Se elige el número de hilos al escribir el programa o durante su compilación.<br><br>• Cada uno de ellos tiene asociada una pila fija.<br><br>• Se logra simplicidad pero también inflexibilidad.<br><br>En un diseño dinámico:<br><br>• Se permite la creación y destrucción de los hilos durante la ejecución.<br><br><strong>Implantación de un Paquete de Hilos<br><br></strong>Implantación del paquete de hilos en el espacio del usuario:<br><br>• El núcleo no sabe de su existencia.<br><br>• El núcleo maneja procesos con un único hilo.<br><br>• No requiere soporte de hilos por parte del S. O.<strong><br></strong><br>Implantación del paquete de hilos en el espacio del núcleo:<br><br>• No se necesita un sistema de tiempo de ejecución.<br><br>• Para cada proceso el núcleo tiene una tabla con una entrada por cada hilo que contiene.<br><br>• Todas las llamadas que pueden bloquear un hilo se implantan como llamadas al sistema.<br><br>• Cuando un hilo se bloquea, el núcleo puede ejecutar.<br><br><strong>Un problema fundamental de los paquetes de hilos a nivel usuario es el de las llamadas al sistema con bloqueo.<br><br></strong>• No se puede permitir que el hilo realmente realice la llamada al sistema.<br><br>• Una solución es agregar código junto a la llamada al sistema para verificar si la misma no generaría bloqueo.<br><br>Otro problema de los paquetes de hilos a nivel usuario es que si un hilo comienza su ejecución no puede ejecutarse ningún otro hilo de ese proceso, salvo que el hilo entregue voluntariamente la CPU.<br><br>Un problema adicional para los hilos a nivel usuario es que generalmente los programadores desean los hilos en aplicaciones donde los hilos se bloquean a menudo.<br><br><strong>Hilos y RPC</strong><br><br> Multihilo Apropiativo<br><br>• Permite al sistema operativo determinar cuándo debe haber un cambio de contexto.<br><br>• La desventaja de esto es que el sistema puede hacer un cambio de contexto en un momento inadecuado, causando un fenómeno conocido como inversión de prioridades y otros problemas.<br><br> Multihilo Cooperativo<br><br>• Depende del mismo hilo abandonar el control cuando llega a un punto de detención, lo cual puede traer problemas cuando el hilo espera la disponibilidad de un recurso.<br><br><strong>3.3. Modelos de procesadores<br><br>Modelos de Sistemas<br><br></strong>• Modelo de estación de trabajo.<br>• Modelo de la pila de procesadores.<br>• Modelo híbrido.<br><strong><br>3.3.1. De estación de trabajo<br><br></strong>El sistema consta de estaciones de trabajo (PC) dispersas conectadas entre sí mediante una red de área local (LAN).<br><br><strong>Uso de Estaciones de Trabajo Inactivas<br><br></strong>La idea consiste en ordenar remotamente la ejecución de procesos en estaciones de trabajo inactivas.<br><strong><mark><br></mark></strong><strong>Condiciones de estación de trabajo inactivas<br><br></strong>• Nadie toca el ratón o el teclado durante varios minutos.<br><br>• No se ejecuta algún proceso iniciado por el usuario.<br><br>A<strong>lgoritmos para localizar las estaciones de trabajo<br><br></strong>• Controlados por el servidor.<br>• Controlados por el cliente.<br><br><strong>3.3.2. De pila de procesadores<br><br></strong>Se dispone de un conjunto de CPU que se pueden asignar dinámicamente a los usuarios según la demanda.<br><br><strong>3.3.3. Híbrido<br><br></strong>Los sistemas híbridos combinan una variedad de buses de instrumentación y plataformas en un sistema.<br><br><strong>Características de los Sistemas Híbridos<br></strong><br>❖ Combina las mejores características del modelo de estación de trabajo y de pila de procesadores teniendo un mejor desempeño en las búsquedas y mejor uso de los recursos.<br><br>❖ Aumento en flexibilidad, los sistemas híbridos proporcionan una longevidad mayor para el sistema de pruebas con la habilidad para usar hardware y software existente, y aún así, incorporar nuevas tecnologías con mayor desempeño y menor costo.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-04-27 04:45:34 UTC</pubDate>
         <guid>https://padlet.com/maynorfernandezobregon/Bookmarks/wish/2159747225</guid>
      </item>
      <item>
         <title>Guía de Estudio General Parte 2</title>
         <author>maynorfernandezobregon</author>
         <link>https://padlet.com/maynorfernandezobregon/Bookmarks/wish/2159807582</link>
         <description><![CDATA[<div>✓ Unidad: III.<br>✓ Tema: Procesos y procesadores en sistemas distribuidos (Continuación).<br><br><strong>3.4.1. Modelos y algoritmos con sus aspectos de diseño e implantación<br><br>Modelos de Asignación<br><br>Estrategias de asignación de procesadores<br><br>No migratorias:<br><br></strong>o Una vez colocado un proceso en una máquina permanece ahí hasta que termina.<br><strong><br>• Migratorias:<br><br></strong>o Un proceso se puede trasladar, aunque haya iniciado su ejecución.<br><br>o Permiten un mejor balance de la carga, pero son más complejas.<br><br><strong>Los algoritmos de asignación intentan optimizar algo:</strong><br><br>• Uso de las CPU.<br>• Tiempo promedio de respuesta.<br>• Tasa de respuesta.<br><br><strong>Aspectos del Diseño de Algoritmos de Asignación de Procesadores<br><br></strong>• Algoritmos deterministas vs. heurísticos.<br>• Algoritmos óptimos vs. subóptimos.<br>• Algoritmos locales vs. globales.<br>• Algoritmos iniciados por el emisor vs. iniciados por el receptor.<br><br><strong>Los algoritmos deterministas</strong> son adecuados cuando se sabe anticipadamente todo acerca del comportamiento de los procesos.<br><br><strong>Los algoritmos heurísticos </strong>son adecuados cuando la carga es impredecible.<br><br><strong>Los diseños centralizados</strong> permiten reunir toda la información en un lugar y tomar una mejor decisión.<br><br><strong>Aspectos de la Implantación de Algoritmos de Asignación de Procesadores<br><br></strong>• La medición de la carga no es tan sencilla.<br><br>•Un método consiste en contar el número de procesos (hay que considerar los procesos latentes no activos).<br><br>• Otro método consiste en contar sólo los procesos en ejecución o listos.<br><br>• También se puede medir la fracción de tiempo que la CPU está ocupada.<br><br>Otro aspecto importante es el costo excesivo en consumo de recursos para recolectar medidas y desplazar procesos.<br><br><strong>Ejemplos de Algoritmos de Asignación de Procesadores<br><br>• Un Algoritmo Determinista Según la Teoría de Gráficas<br><br>•</strong>Requerimientos de CPU y de memoria de los procesos.<br><br>• Tráfico promedio entre cada par de procesos.<br><br>• Cada nodo es un proceso.<br><br>• Cada arco es el flujo de mensajes entre dos procesos.<br><br>• Cada subgráfica es una unidad de asignación.<br><br><strong>• Un Algoritmo Centralizado</strong><br><br>Es un algoritmo heurístico que a diferencia del anterior no precisa información anticipadamente.<br><br>• Contiene una entrada por estación de trabajo inicializada en “0”.<br><br>• Cuando ocurren eventos significativos se envían al coordinador mensajes para actualizar la tabla.<br><br>• No se intenta maximizar el uso de la CPU.<br><br>• Se procura otorgar a cada usuario una parte justa del poder de cómputo.<br><br><strong>• Un Algoritmo Jerárquico</strong><br><br>El algoritmo anterior no se adapta bien a los sistemas de gran tamaño, pues el nodo central se convierte en un cuello de botella y en un único punto de fallo.<br><br><strong>• Un Algoritmo Distribuido Heurístico<br><br></strong>Al crearse un proceso:<br><br>• La máquina donde se origina envía mensajes de prueba a una máquina elegida al azar; pregunta si su carga está por debajo de cierto valor de referencia.<br><br>• Si la respuesta es positiva el proceso se envía a ese lugar.<br><br>• Si no, se elige otra máquina para la prueba.<br><br>• Luego de “n” pruebas negativas el algoritmo termina y el proceso se ejecuta en la máquina de origen.<br><strong><br>• Un Algoritmo de Remates</strong><br><br>Utiliza un modelo económico con:<br><br>• Compradores y vendedores de servicios.<br><br>• Precios establecidos por la oferta y la demanda.<br><br><strong>3.5. Coplanificación</strong><br><br>Planificación en Sistemas Distribuidos<br>Generalmente cada procesador hace su planificación local (si tiene varios procesos en ejecución) independientemente de lo que hacen los otros procesadores.<br><br><strong>3.6. Tolerancia a fallos</strong><br><br>La tolerancia a fallos es un aspecto crítico para aplicaciones a gran escala, ya que aquellas simulaciones que pueden tardar del orden de varios días o semanas para ofrecer resultados deben tener la posibilidad de manejar cierto tipo de fallos del sistema o de alguna tarea de la aplicación.<br><br><strong>3.7. Sistemas distribuidos de tiempo real</strong><br><br>Un sistema distribuido está formado por un conjunto de computadores autónomos conectados para conseguir un objetivo común.<br><br><strong>Ventajas:<br></strong><br>✓ rendimiento<br>✓ fiabilidad<br>✓ cercanía a los elementos del entorno físico<br>✓ flexibilidad.<br><br><strong>Características:<br></strong><br>1. Se activan por evento o por tiempo.<br>2. Su comportamiento debe ser predecible.<br>3. Debe ser tolerante a fallas.<br>4. La comunicación en los sistemas distribuidos de tiempo real debe de ser de alto desempeño.<br><br><strong>Clasificación:<br></strong><br>Sistema de tiempo real suave.<br>Sistema de tiempo real duro.<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-04-27 05:48:55 UTC</pubDate>
         <guid>https://padlet.com/maynorfernandezobregon/Bookmarks/wish/2159807582</guid>
      </item>
      <item>
         <title>Guía de Estudio General Parte 3</title>
         <author>maynorfernandezobregon</author>
         <link>https://padlet.com/maynorfernandezobregon/Bookmarks/wish/2160532795</link>
         <description><![CDATA[<div>✓ Asignatura: Sistemas Operativos II.<br>✓ Unidad: IV.<br><br><strong>4.1. Configuraciones de MCD:<br><br>Ventajas:<br><br></strong>• La escalabilidad.<br><br><strong>Desventajas:</strong><br><br>• El acceso remoto a memoria es lento.<br>• La programación puede ser complicada.<br><br><strong>4.1. Configuraciones de MCD:</strong><br><br><strong>Computación paralela:</strong><br>Un computador paralelo es un conjunto de procesadores capaces de cooperar en la solución de un problema.<br><br><strong>¿Por qué utilizar computación paralela?</strong><br><br>• Reducir el tiempo de procesamiento.<br><br>• Resolver problemas de gran envergadura.<br><br>• Proveer concurrencia.<br><br>• Utilizar recursos remotos de cómputo cuando los locales son escasos.<br><br>• Reducción de costos usando múltiples recursos “baratos” en lugar de costosas supercomputadoras.<br><br>• Ampliar los límites de memoria para resolver problemas grandes.<br><br><strong>4.1.1. De circuitos, basados en bus, anillo o conmutador</strong><br><br><strong>Arquitecturas de MCD<br><br>Memoria basada en circuitos:</strong> Existe una única área de memoria y cada micro tiene su propio bus de datos y direcciones (en caso de no tenerlo se vuelve un esquema centralizado).<br><br><strong>MCD basada en bus:</strong> En este esquema los micros comparten un bus de datos y direcciones por lo que es más barato de implementar, se necesita tener una memoria caché grande y sumamente rápida.<br><br><strong>MCD basada en anillos: </strong>Es más tolerante a fallos, no hay coordinador central y se privilegia el uso de la memoria más cercana.<br><br><strong>MCD basada en conmutador:</strong> Varias micros se conectan entre sí en forma de bus formando un grupo, los grupos están interconectados entre sí a través de un conmutador.<br><br><strong>4.2. Modelos de consistencia<br><br></strong>Es esencialmente en contrato entre procesos y el almacenamiento de datos.<br><br><strong>4.2.1. Estricta, causal, secuencial, débil, de liberación y de entrada.<br></strong><br><strong>Consistencia Estricta<br><br></strong>Cualquier lectura sobre un ítem de dato x retorna un valor correspondiente con la más reciente escritura sobre x.<br><br><strong>Consistencia Causal<br><br></strong>Se hace una diferenciación entre eventos que están potencialmente relacionados en forma causal y aquellos que no.<br><br><strong>Consistencia Débil</strong><br><br>Los accesos a variables de sincronización asociadas con los datos almacenados son secuencialmente consistentes.<br><br><strong>Consistencia liberación (Reléase)</strong><br><br>Se basa en el supuesto de que los accesos a variables compartidas se protegen en secciones críticas empleando primitivas de sincronización.<br><br><strong>4.3. MCD en base a páginas<br><br></strong>El Modelo basado en páginas segmenta el proceso en página y cada página tiene un tamaño definido.<br><br><strong>4.3.1. Diseño réplica, granularidad, consistencia, propietario y copias<br><br>Granularidad<br><br></strong>Se refiere a la especificidad a la que se define un nivel de detalle en una tabla.<br><br><strong>Los modelos de consistencia se presentan divididos en dos conjuntos:</strong><br><br>Modelos de consistencia centrados en los datos.<br>Modelos de consistencia centrados en el cliente.<br><br><strong>4.4. MCD en base a variables<br><br></strong>MCD en base a variables es un proceso al cual se le asigna una variable como su nombre lo indica. Esto lo hace el programador del sistema o el propio sistema.<br><br><strong>4.5. MCD en base a objetos<br></strong><br>En los MCD basados en objetos se busca el acceso a datos por medio de la encapsulación de la info.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-04-27 14:52:39 UTC</pubDate>
         <guid>https://padlet.com/maynorfernandezobregon/Bookmarks/wish/2160532795</guid>
      </item>
      <item>
         <title>Guía de Estudio General Parte 4</title>
         <author>maynorfernandezobregon</author>
         <link>https://padlet.com/maynorfernandezobregon/Bookmarks/wish/2160556090</link>
         <description><![CDATA[<div>✓ Asignatura: Sistemas Operativos II.<br>✓ Unidad: V.<br><br><strong>5.1. Estándares de administración en sistemas distribuidos</strong><br><br>Los estándares son aquellas normas usuales, los propósitos, los objetivos, a alcanzar, las metas a alcanzar y aquellos índices que integran los planes, y todo dato o cifra que pueda emplearse como medida para cumplirlas.<br><br><strong>CORBA:</strong> Es el estándar para la creación de sistemas distribuidos creado por el Object Management Group (OMG).<br><br>C<strong>aracterísticas de CORBA:</strong> Permite una total libertad a los implementadores siempre que estos respeten unos mínimos orientados a la interoperabilidad entre implementaciones.<br><br><strong>Ventajas<br></strong><br>1) Disponibilidad y Versatilidad<br>2) Eficiencia<br>3) Adaptación a Lenguajes de programación<br><br><strong>5.2. Tendencias de investigación</strong><br><br>Una tendencia reciente en los sistemas de computador es distribuir el cómputo entre varios procesadores.<br><br><strong>&nbsp;Razones para construir sistemas distribuidos<br><br></strong>Recursos compartidos<br>Computación más rápida<br>Confiabilidad<br>Comunicación<br><br><strong>Tendencias para la explotación y administración de sistemas de información que se están implantando actualmente<br></strong><br>• Nuevos requerimientos a los sistemas informáticos<br><br>• Extensión completa a las intranets y extranets<strong><br></strong><br>• Criticidad de servicios considerados de baja prioridad<br><br>• Incremento de los servicios sensibles a la seguridad<br><br>• Crecimiento de los servicios móviles y ubicuos<br><br>• Sistemas de procesamiento y almacenamiento en red<br><br>• Crecimiento de las herramientas y soluciones de gestión de aplicaciones<br><br>• Utilización de la gestión basada en web<br><br>• Gestión y administración de los flujos de trabajo (workflow)<br><br>• Plataformas de integración corporativa de la gestión (frameworks)<br><br><strong>5.3. Sistemas distribuidos y la sociedad<br><br>Algunas de estas son las siguientes aplicaciones<br><br>Aplicaciones comerciales:</strong> generalmente se llevan a cabo procesos administrativos, registros, bitácoras, nominas, etc.<br><br><strong>Aplicaciones de red de área extensa:</strong> Se concreta al intercambio de información a trevés de la red: correo electrónico, servicio de transferencia de ficheros (ftp), servicios de noticias, búsqueda de ficheros, servicio de consulta textual y por supuesto Word Wide Web (www).<br><br><strong>Aplicaciones Multimedia: </strong>son la más difíciles de instrumentar ya que imponen necesidades de hardware sobre todo en velocidad y transmisión controlada de datos.<br><br><strong>Áreas de la informática:</strong> orientadas al diseño de sistemas operativos, comunicación (hardware y software), base de datos distribuidos, servidores de ficheros y lenguaje de programación distribuida.<strong><br><br></strong><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-04-27 15:05:29 UTC</pubDate>
         <guid>https://padlet.com/maynorfernandezobregon/Bookmarks/wish/2160556090</guid>
      </item>
   </channel>
</rss>
