home

Las actividades para el próximo jueves elaborar un mapa conceptual colaborativo sobre Entradas y salida
Boscán Jorge Carrasco Gregory Morillo Daniel

=﻿ EXPOSICIÓN MONITORES=

media type="youtube" key="Y98OL82EnrM?hl=es" height="344" width="425" align="center"

media type="youtube" key="0sz5OCNHAqo?hl=es" height="344" width="425" align="center"

media type="youtube" key="2JsO1imbuXU?hl=es" height="344" width="425" align="center"

Boscán Jorge Carrasco Gregory Morillo Daniel __**............................................................................................................................................................................................................................................**__ Profe buenas noches he estado revisando el wiki y por lo que he visto no ha montado nada cualquier cosa avisenos por este medio y si no pues FELIZ NAVIDAD Y FELIZ AÑOOOO NUEVOOO!!! =D Eduard Ramirez __**............................................................................................................................................................................................................................................**__ __**GIOVANNA FREITEZ 16.748.675**__ __**HILOS:**__

==== Un hilo de ejecución, en Sistemas Operativos, es similar a un proceso en que ambos representan una secuencia simple de instrucciones ejecutada en paralelo con otras secuencias. Los hilos permiten dividir un programa en dos o más tareas que corren simultáneamente, por medio de la multiprogramación. En realidad, este método permite incrementar el rendimiento de un procesador de manera considerable. En todos los sistemas hoy en día los hilos son utilizados para simplificar la estructura de un programa que lleva a cabo diferentes funciones. Todos los hilos de un proceso comparten los recursos del proceso. Residen en el mismo espacio de direcciones y tienen acceso a los mismos datos. Cuando un hilo modifica un dato en la memoria, los otros hilos utilizan el resultado cuando acceden al dato. Cada hilo tiene su propio estado, su propio contador, su propia pila y su propia copia de los registros de la CPU. Los valores comunes se guardan en el bloque de control de proceso (PCB -Process Control Block o Task Struct), y los valores propios en el bloque de control de hilo (TCB -threads Control Block). ====

__**EJEMPLO DE LA UTILIZACION DE LOS HILOS:**__

====Un ejemplo de la utilización de hilos es tener un hilo atento a la interfaz gráfica (iconos, botones, ventanas), mientras otro hilo hace una larga operación internamente. De esta manera el programa responde más ágilmente a la interacción con el usuario. __**DIFERENCIAS ENTRE HILOS Y PROCESOS**__:==== ====Los hilos se distinguen de los tradicionales procesos en que los procesos son generalmente independientes, llevan bastante información de estados e interactúan sólo a través de mecanismos de comunicación dados por el sistema. Por otra parte, muchos hilos generalmente comparten otros recursos directamente. En sistemas operativos que proveen facilidades para los hilos, es más rápido cambiar de un hilo a otro dentro del mismo proceso, que cambiar de un proceso a otro. Este fenómeno se debe a que los hilos comparten datos y espacios de direcciones, mientras que los procesos al ser independientes no lo hacen. Al cambiar de un proceso a otro el sistema operativo (mediante el dispatcher) genera lo que se conoce como overhead, que es tiempo desperdiciado por el procesador para realizar un cambio de modo (mode switch), en este caso pasar del estado de Running al estado de Waiting o Bloqueado y colocar el nuevo proceso en Running.====

Buenas tardes! aquí les dejo mis archivos con respecto a concepto de Hilo y ULT, además de las conclusiones... Gregory José Carrasco Giler C.I.: 19104283

buenas aqui mi aporte sobre Hilos En [|sistemas operativos], un **hilo de ejecución** o subproceso es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente. Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea. Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un [|proceso]. El hecho de que los hilos de ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar éstos. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato modificado inmediatamente. **Hilos a nivel de usuario (ULT) ** En una aplicación ULT pura, todo el trabajo de gestión de hilos lo realiza la aplicación y el núcleo o kernel no es consciente de la existencia de hilos. Es posible programar una aplicación como multihilo mediante una biblioteca de hilos. La misma contiene el código para crear y destruir hilos, intercambiar mensajes y datos entre hilos, para planificar la ejecución de hilos y para salvar y restaurar el contexto de los hilos. Todas las operaciones descritas se llevan a cabo en el espacio de usuario de un mismo proceso. El kernel continua planificando el proceso como una unidad y asignándole un único estado (Listo, bloqueado, etc.). **Ventajas de los ULT ** **Desventajas de los ULT ** Una solución al bloqueo mediante a llamadas al sistema es usando la técnica de [|jacketing], que es convertir una llamada bloqueante en no bloqueante. Yohana Alejo:17330614
 * Hilos **
 * El intercambio de los hilos no necesita los privilegios del modo kernel, porque todas las estructuras de datos están en el espacio de direcciones de usuario de un mismo proceso. Por lo tanto, el proceso no debe cambiar a modo kernel para gestionar hilos. Se evita la sobrecarga de cambio de modo y con esto el sobrecoste u [|overhead].
 * Se puede realizar una planificación específica. Dependiendo de que aplicación sea, se puede decidir por una u otra planificación según sus ventajas.
 * Los ULT pueden ejecutar en cualquier sistema operativo. La biblioteca de hilos es un conjunto compartido.
 * En la mayoría de los sistemas operativos las llamadas al sistema (System calls) son bloqueantes. Cuando un hilo realiza una llamada al sistema, se bloquea el mismo y también el resto de los hilos del proceso.
 * En una estrategia ULT pura, una aplicación multihilo no puede aprovechar las ventajas de los multiprocesadores. El núcleo asigna un solo proceso a un solo procesador, ya que como el núcleo no interviene, ve al conjunto de hilos como un solo proceso.

Buenas noches aqui les dejo mi aporte sobre Hilos

**Hilos a nivel de núcleo (KLT) ** En una aplicación KLT pura, todo el trabajo de gestión de hilos lo realiza el kernel. En el área de la aplicación no hay código de gestión de hilos, únicamente un [|API] (interfaz de programas de aplicación) para la gestión de hilos en el núcleo. [|Windows 2000], [|Linux] y [|OS/2] utilizan este método. Linux utiliza un método muy particular en que no hace diferencia entre procesos e hilos, para linux si varios procesos creados con la llamada al sistema "clone" comparten el mismo espacio de direcciones virtuales el sistema operativo los trata como hilos y lógicamente son manejados por el kernel. **Ventajas de los KLT ** **Desventajas de los KLT ** **Combinaciones ULT y KLT ** <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: normal; margin: 0cm 0cm 10pt;">Algunos sistemas operativos ofrecen la combinación de ULT y KLT, como [|Solaris]. <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: normal; margin: 0cm 0cm 10pt;">La creación de hilos, así como la mayor parte de la planificación y sincronización de los hilos de una aplicación se realiza por completo en el espacio de usuario. Los múltiples ULT de una sola aplicación se asocian con varios KLT. El programador puede ajustar el número de KLT para cada aplicación y máquina para obtener el mejor resultado global. <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: normal; margin: 0cm 0cm 10pt;">En un método combinado, los múltiples hilos de una aplicación se pueden ejecutar en paralelo en múltiples procesadores y las llamadas al sistema bloqueadoras no necesitan bloquear todo el proceso.
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: normal; margin: 0cm 0cm 10pt;">El kernel puede planificar simultáneamente múltiples hilos del mismo proceso en múltiples procesadores.
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: normal; margin: 0cm 0cm 10pt;">Si se bloquea un hilo, puede planificar otro del mismo proceso.
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: normal; margin: 0cm 0cm 10pt;">Las propias funciones del kernel pueden ser multihilo
 * <span style="font-family: 'Times New Roman','serif'; font-size: 12pt; line-height: normal; margin: 0cm 0cm 10pt;">El paso de control de un hilo a otro precisa de un cambio de modo..

Carlis Roman:21.126.129

............................................................................................................................................................................................................................... buenos dias profesora aqui esta el mapa sobre el manejo de entradas y salidas. se lo tuve q enviar asi xq nopude enviarselo de la otra forma.. **GIOVANNA FREITEZ 16.748.675**



**Procesos.** Se puede decir q es un programa de ejecución, formalmente se define como la entidad que puede ser asignada a un procesador y ejecutada por él. Una forma fácil e intuitiva de entender el concepto del proceso es considerar un sistema cada cierto tiempo compartido. En estos sistemas cada cierto tiempo el sistema operativo tiene que parar el proceso y arrancar otro de forma que cada proceso tenga asignado el procesador durante un intervalo de tiempo prefijado. El proceso que sé a detenido anteriormente se dice que se ha suspendido y será arrancado posteriormente en el mismo estado en el cual se suspendido. La información sobre cada proceso se almacena en una talla de procesos construida y mantenida por el propio sistema operativo. Cada entrada a la tabla incluye un puntero en la ubicación del bloque de memoria que contiene el proceso, también puede contener parte o todo el contexto de ejecución del proceso.

**Gestión y planificación de los recursos.** Entre las tareas claves de un sistema operativo está la de gestionar los diferentes recursos que disponga el sistema (Procesadores, memoria, periféricos, etc.) y planificar la utilización de los mismos de la forma más eficiente por los procesos de ejecución. La política de planificación y de asignación de recursos tiene que ser justa y eficiente, esto supone que todos los procesos que compiten por la utilización de un determinado recurso deben disponer de él de una forma equitativa, esto se debe cumplir sobretodo en trabajos de la misma clase que poseen la misma prioridad. Por otro lado hay situaciones en la que es necesario distinguir entre diferentes clases de trabajos, con diferentes exigencias de servicios. El sistema operativo debe intentar hacer la planificación y la asignación considerando el total de los requerimientos. Estas decisiones se hacen dinámicamente, por ejemplo: si un proceso está esperando para utilizar un periférico, el sistema operativo debe planificar su ejecución deforma que lo libere lo antes posible, para poder satisfacer peticiones posteriores de otros procesos.

Eduard Ramirez CI: 18527175





HILBERT CRESPO
C.I.: 15.444.911

= ANIMO RECUERDEN QUE ESTOY REVISANDO SU PARTICIPAestan atrasados en sus actividades = =**BUENAS NOCHES PROFESORA AQUI LE ENVIE MI APORTE SOBRE EL TEMA DE LOS RECURSOS**...

=Manejo de recursos del computador=

=
Un tema que al parecer produce un gran interés y en algunos casos preocupación es el uso de recursos que un determinado sistema operativo o programa pueda hacer. Es habitual escuchar que un determinado sistema //consume// muchos recursos. Lo primero que habría que especificar es que los recursos de un ordenador no se //consumen//, en todo caso se //utilizan//. Bien, aclarado este punto, vamos a ver hasta qué punto es preocupante el que un SO utilice más o menos recursos. Y aquí lo primero que habría que diferenciar es lo que es realmente el sistema operativo por un lado y por otro los complementos que pueda tener dicho sistema. Un sistema operativo es un programa que gestiona los recursos del ordenador (memoria, disco duro, pantalla, teclado, ratón, etc.) y facilita la ejecución de otros programas. Todo lo demás son utilidades y complementos. Bajo esta definición, el uso de recursos que hace un sistema operativo suele ser muy bajo (para que se hagan una idea exacta de esto, en MS-DOS lo que es realmente el sistema operativo son tan sólo tres archivos, **IO.SYS**, **BIOS.SYS** y **COMMAND.COM**. Pero esto, con la introducción de sistemas operativos cada vez más complejos, visuales, y a los que además cada vez se les exige más ha hecho que el número de archivos que realmente forman el sistema operativo haya ido creciendo, aunque hay que seguir teniendo clara una cuestión, no todo lo que conforma lo que llamamos **sistema operativo** lo es realmente, tan sólo los archivos necesarios para que el ordenador funcione y se puedan ejecutar los programas. Para entendernos mejor, cuando instalamos Windows Vista, por ejemplo, ni el Explorador de Internet, ni el Windows Media Players, ni herramientas tales como el desfragmentador de discos, y muchísimo menos los efectos visuales o gadgets (como Sidebar) son partes integrantes del sistema operativo propiamente dicho, son complementos de éste. Lo que diferencia a las distintas versiones de Vista no es el sistema operativo en sí, que es el mismo en todas, sino los diferentes complementos que incorpora dependiendo de la versión (y hay que dejar bien claro que esto es **exactamente igual** en todos los sistemas operativos actuales). Pero nadie duda de la utilidad de estos complementos (¿alguien se imagina a estas alturas un sistema operativo sin complementos tales como un reproductor multimedia, un navegador de Internet, un sistema de comunicaciones de redes, un visor de imágenes...?). Y son precisamente estos complementos los que sí que hacen un alto uso de recursos del sistema, sobre todo de memoria RAM, de memoria virtual y de espacio en el disco duro. Realmente, si queremos hacer uso de estos complementos vamos a necesitar tener los recursos suficientes en nuestro equipo para ello, pero tengamos clara una cuestión, esto va a ser así estén estos complementos integrados en el sistema operativo o no lo estén. Vale que, centrándonos en el caso de Windows, si no tenemos el Windows Media Players vamos a necesitar menos recursos para Windows, pero en el momento en que ejecutemos cualquier aplicación para escuchar nuestra música favorita o para ver una película **ya vamos a necesitar esos recursos**. Por otra parte, si tenemos recursos a nuestra disposición (una gran cantidad de RAM, un procesador muy potente, un disco duro de gran capacidad) es precisamente para eso, para usarlos. Si no los queremos usar y ver lo bonito que queda nuestro ordenador con 3GB de RAM libres a lo mejor deberíamos plantearnos una inversión menor y no desperdiciar esa cantidad de recursos. Desde luego al menos nuestra economía lo agradecería. El problema real no es que un sistema necesite (o use) más recursos o menos, el problema real es la eficacia con que haga uso de esos recursos, y ya estaríamos hablando en términos de eficacia. En este aspecto, Linux es más eficaz en cuanto a la gestión de recursos que Windows, aunque no nos llamemos a engaño, a igualdad de complementos y uso de los mismos la diferencia en los recursos disponibles necesarios tampoco es que sea demasiada. Una distro de Linux con la misma interfaz de usuario que Windows (me refiero a elementos en la interfaz, no a que sean iguales), con el mismo tipo de complementos cargados y ejecutándose y con las mismas prestaciones no requiere muchos menos recursos que una versión de Windows equivalente. Pero es que esto también se da dentro del propio Windows. Bajo este aspecto, una de las versiones que hace un uso menos eficaz de los recursos no es precisamente Windows Vista, como algunos creen al ver los requerimientos mínimos, sino Windows XP, y esto ha sido así siempre, no es nada nuevo que Windows XP hace un aprovechamiento bastante pobre de los recursos a su disposición, y esto se nota más conforme vamos subiendo las características de nuestro equipo. El aprovechamiento de recursos que hace XP en un ordenador con un procesador Quad, 4GB de RAM y una gráfica de alta gama es bastante pobre si lo comparamos con el que hace en este mismo caso Windows Vista o Linux. Es de destacar en este punto el más que excelente comportamiento con procesadores de este tipo de las distro Suse y Red Hat en sus versiones para servidores (de pago en ambos casos). En uno de los puntos que más he observado que falla Windows es en el proceso de liberar memoria una vez que hemos dejado de usar una aplicación (y eso que Vista ha mejorado bastante en este aspecto con respecto a XP). Libera memoria, pero en demasiadas ocasiones no termina de liberar totalmente toda la utilizada en ese proceso. Otro punto en el que no se puede decir que sea muy eficiente es en el manejo de los archivos temporales. Una vez cerrada la sesión de trabajo, estos deberían eliminarse, pero no siempre ocurre esto, por lo que nos juntamos con una buena cantidad de archivos temporales totalmente inútiles, pero que están ocupando un espacio en nuestro disco... y a veces incluso siendo un //almacenamiento extra de malware//, de ahí la importancia de eliminar manualmente estos temporales de vez en cuando. Este punto también ha mejorado algo en Vista, pero siguen quedando un número excesivo de archivos temporales sin eliminar de forma automática, como debería ser. En definitiva hay tres puntos que tenemos que tener claros: - Uno es que los recursos de un sistema están para ser usados. - Otro es que cuanto más le pidamos en cualquier aspecto a nuestro sistema más recursos va a usar. - El tercer punto es que hay que diferenciar entre lo que es uso de recursos en sí y la eficacia con la que se gestione este uso de recursos. Por poner un ejemplo de esto, no es lo mismo dos coches que, en ambos casos, consumen 7 lts de gasolina cada 100 km... pero el primero lo hace a 90 km/h y el segundo lo hace a 120 km/h El consumo es el mismo en ambos casos, pero la eficacia es muy superior en el segundo. Otra cuestión es que en muchas ocasiones desperdiciamos nosotros mismos recursos de una forma bastante grande. Me explico, queda claro que el uso de cualquier programa necesita una serie de recursos, pero... ¿es necesario que estos programas se ejecuten nada más encender nuestro ordenador? Si, por poner un ejemplo, el Messenger lo usamos sólo por la tarde, y dentro de un determinado horario... ¿para qué queremos que esté ejecutándose desde que iniciamos nuestra sesión? Y lo mismo podríamos decir de una buena cantidad de programas, que si bien es cierto que necesitan tener en ejecución una parte de los mismos de forma residente, también lo es que esa parte no nos va a servir de nada hasta que no ejecutemos dicho programa. ¿Que es más cómodo que se cargue al inicio de Windows? Pues sí, pero entonces no vale eso de quejarse de que usa recursos. Estos recursos se están usando (y desperdiciando, por cierto) **únicamente por nuestra comodidad**. Esto implica además un mayor tiempo en el inicio de Windows, ya que evidentemente todos estos programas tienen que iniciarse, y este tiempo extra puede llegar a ser realmente grande, dependiendo de la cantidad de programas que se tengan que cargar en el inicio. Un tapiz de escritorio personalizado (una fotografía con una alta resolución) también supone un uso extra de recursos, así como mantener una excesiva cantidad de iconos en el escritorio, cuando la mayoría de ellos o no los usamos nunca o lo hacemos tan sólo de tarde en tarde (¿es que cuesta tanto ir a Inicio - Todos los programas?). Los recursos están para usarse, pero seamos conscientes de ello. No nos podemos quejar de que nuestro sistema usa muchos recursos cuando somos nosotros los que estamos haciendo que el sistema los use.====== =HILBERT CRESPO= C.I.15.444.911 =

=

__**RECURSOS**__
 * __ADMINISTRACION DE RECURSOS__:**
 * MEDIANTE ESTA FUCION EL SISTEMA OPERATIVO ESTA EN CAPACIDAD DE DISTRIBUIR EN FORMA ADECUADA Y EN EL M OMENTO OPORTUNO,LOS DIFERENTESA RECURSOS (MEMORIA, DISPOSITIVOS, ECTC)**
 * A) ENTRE LA GESTON Y PLANIFIACION DELOS RECURSOS LAS TAREAS CLAVES DE UN SISTEMA OPERATIVO ESTA LA DE GESTIONAR LOS DIFERENTES RECURSOS QUE DISPONGA EL SITEMA (PROCESADORES, MEMORIA, PERIFERICO).**


 * B) LA POLITICA DE PLANIFICACION Y DE ASIGNACION DE RECURSOS TIENE QUE SER JUSTA Y EFICIENTE,ESTO SUPONE QUE TODOS LOS PROCESOS QUE COMPITEN POR LA UTILIZACION DE UN DETERMINADO RECURSO EN EL CUAL DEBEN DISPONER DE EL DE UNA FORMA EQUITATIVA...**
 * _LA ADMINISTRAION DE LOS RECUSOS INCLUYE LA MULTIPLEXACION DE LOS RECURSOS DE 2 FORMAS: EN EL TIEMPO Y EN EL ESPACIO..CUANDO UN RECRSO SE MULTIPLEXA EN EL TIEMPO, ESO SIGNIFICA QUE VARIOS PROGRAMAS O USUARIOS SE TURNAN PARA USARLO.EN EL OTRO TIPO DE MULTIPLEXACIÓN ES EN EL ESPACIO, EN LUGAR DE QUE LOS CLIENTES SE TURNEN, CADA UNO RECIBE UNA PARTE DEL RECURSO**...

**GIOVANNA FREITEZ 16.748.675**
=

Buenas tardes profesora espero que esté bien, mi aporte al mapa conceptual sobre manejadores de entrada y salida, se lo voy a enviar a su correo porque me da error cuando cargo el archivo y no lo puedo publicar por eso. Gregory José Carrasco Giler C.I.: 19.104.283.



Buenas tardes profesora, ya le subí el archivo de la parte de los procesos y lo del mapa conceptual de entradas y salidas que por fin lo pude subir, ambos se encuentran en la parte de archivos...saludos

GREGORY CARRASCO C.I.:1910428

[|mapa conceptua] MARIANGEL PAEZ CI 19615030 aqui esta el mapa conceptual y lo de proceso asi fue que lo pude montar en el wiki por medio de un link

<span style="display: block; font-family: Calibri; font-size: 22pt; line-height: 115%; margin: 0cm 0cm 10pt; text-align: center;">Recursos de los sistemas operativos

Mediante está función el sistema operativo esta en capacidad de distribuir en forma adecuada y en el momento oportuno los diferentes recursos (memoria, dispositivos, etc.,...) entre los diversos programas que se encuentran en proceso, para esto, lleva un registro que le permite conocer que recursos están disponibles y cuales están siendo utilizados, por cuanto tiempo y por quien, etc.

· **CONTROL DE OPERACIONES DE ENTRADA Y SALIDA:** Mediante esta actividad el sistema operativo decide que proceso hará uso del recurso, durante cuánto tiempo y en que momento. · **ADMINISTRACION DE LA MEMORIA:** Supervisa que áreas de memoria están en uso y cual están libre, determina cuanta memoria asignará a un proceso y en que momento, además libera la memoria cuando ya no es requerida para el proceso. · **RECUPERACION DE ERRORES:** El sistema operativo contiene rutinas que intentan evitar perder el control de una tarea cuando se suscitan errores en la trasferencia de información hacia y desde los dispositivos de entrada / salida. · **PROGRAMAS DE PROCESO:** El sistema operativo contiene programas de servicios que sirven de apoyo al procesamiento de los trabajos, se conocen también como utilerías y se pueden clasificar en tres tipos: ** A) UTILERIAS DEL SISTEMA ** Se ejecutan bajo el control del sistema operativo y se utilizan para preparar algunos recursos usados por el sistema. Son de uso interno.  ** B) UTILERIAS PARA ARCHIVOS ** Manejan información de los archivos tales como imprimir, clasificar, copiar, etc. ** C) UTILERIAS INDEPENDIENTES **  Realizar funciones que se relacionan con la iniciación de dispositivos de Entrada/Salida, carga del sistema operativo, etc.

Carlis Román: 2112612