sábado, 16 de abril de 2016

Examen final hoy!!!


Creacion de un blog con todo el contenido de la materia, Seminario de Tecnologia Aplicada.


http://seminariomio2016.blogspot.com/

Presentacion subida!!!!


https://docs.google.com/presentation/d/1-6QSaRI0I-Y14PhPebZoe8wrFl7PgkfnGqDxSrHlmG4/edit#slide=id.p9

Exposición final grabada del libro:


Cuestionario del libro sistemas operativos modernos entrego impreso.


Cuestionario del libro sistemas operativos modernos!!! Trabajo en grupos.

Cuestionario  11
1. El HAL lleva un registro del tiempo que comienza en 1601. Muestre un ejemplo de aplicación donde esta característica sea útil.
Esta característica tiene una aplicación útil en los drivers de un dispositivo.
2. En la sección 11.3.2 analizamos los problemas que ocasionan las aplicaciones multihilo al cerrar manejadores en un hilo mientras se siguen utilizando en otro. Una posibilidad de corregir esto sería insertar un campo de secuencia. ¿Cómo podría ser de ayuda? ¿Qué cambios se requerirían en el sistema?
Esto dependerá de sistema que se esté utilizando porque la ventaja del multihilo es precisamente que varios procesos utilicen los mismos, los cambios en el sistemas en caso de que este sea programado en c es dejarles las llamadas a las bibliotecas en cada proceso.
3. Win32 no tiene señales. Si se introdujeran, podrían ser por proceso, por hilo, de ambos tipos o de ninguno. Haga una proposición y explique por qué es una buena idea.
En las maquinas servidores tendría más sentido porque re direccionaría a los usuarios  directamente al archivo que busca y sin interrumpir un proceso por otro usuario.
4. Una alternativa al uso de DLLs es vincular de manera estática cada programa con los procedimientos de biblioteca precisos que va a llamar, ni más ni menos. Si se introdujera este sistema, ¿tendría más sentido en las máquinas clientes o en las máquinas servidores?
En las maquinas servidores tendría más sentido porque re direccionaría a los usuarios  directamente al archivo que busca y sin interrumpir un proceso por otro usuario.
5. ¿Cuáles son algunas razones por las que un hilo tiene pilas separadas para el modo de usuario y el modo de kernel en Windows?
Para que solo se ejecute cuando entra en uno de esos estados con las características ya cargadas.

6. Windows utiliza páginas de 4 MB debido a que mejora la efectividad del TLB, que puede tener un profundo impacto en el rendimiento. Explique por qué.
Una señal es manejado por un nuevo hilo en algún contexto proceso” . Por ejemplo,cuando la llave Quit es golpeado o incluso cuando un fallo de rosca . En realidad, no hacen ningún sentido para coger una señal en el contexto de un hilo. Realmente tiene que ser por proceso.
7. ¿Hay algún límite en cuanto al número de operaciones distintas que se pueden definir en un objeto del ejecutivo? De ser así, ¿de dónde proviene este límite? En caso contrario, ¿por qué no?
Tendría más sentido en los servidores. Las máquinas cliente tienen menos concurrente procesos. Las bibliotecas compartidas sólo tienen sentido si hay varios procesos compartirlas. De lo contrario, es más eficiente para enlazar estáticamente las bibliotecas y aceptar la duplicación. La ventaja de la vinculación estática es que sólo aquellos procedimientos que realmente se requieren cargado. Con DLL puede haber procedimientos en la memoria de que nadie está utilizando.
8. La llamada WaitForMultipleObjects de la API Win32 permite bloquear un hilo en un conjunto de objetos de sincronización, cuyos manejadores se pasan como parámetros. Tan pronto como se señala uno de ellos, se libera el hilo que hizo la llamada. ¿Es posible que el conjunto de objetos de sincronización incluya dos semáforos, un mutex y una sección crítica? ¿Por qué sí o por qué no? Sugerencia: Ésta no es una pregunta engañosa, pero hay que analizarla con cuidado.
No se puede ya que son procesos similares en lo que hacen pero diferentes en las áreas que se ejecutan.
9. Nombre tres razones por las que se podría terminar un proceso.
Un proceso puede terminar por una de estas razones:
Exitprocess ExitThread ExitFiber
10. Como vimos en la sección 11.4, hay una tabla de manejadores especiales que se utiliza para asignar IDs para los procesos e hilos. Los algoritmos para manejar tablas por lo general asignan el primer manejador disponible (y mantienen la lista libre en orden LIFO). En versiones recientes de Windows esto cambió para que la tabla de IDs siempre mantenga la lista libre en orden FIFO. ¿Cuál es el problema que puede llegar a ocasionar el orden FIFO para asignar IDs de procesos, y por qué UNIX no tiene este problema?
El problema que pueden llegar a tener es la reutilización inmediata de estos y puede haber quedado algún proceso abierto con el mismo nombre que se haya utilizado anteriormente.
11. Suponga que el quantum se establece en 20 mseg y que el hilo actual, con prioridad de 24, acaba de empezar un quantum. De repente se completa una operación de E/S y un hilo con prioridad
CAPÍTULO 11  PROBLEMAS 927
11. pasa al estado listo. ¿Cuánto tiempo aproximado tiene que esperar para poder ejecutarse en la CPU?
Se ejecutara inmediatamente ya que es el proceso que cuenta con la prioridad necesaria
12. En Windows Vista, la prioridad actual siempre es mayor o igual que la prioridad base. ¿Hay alguna circunstancia en la que tendría sentido que la prioridad actual fuera menor que la prioridad base? De ser así, muestre un ejemplo. En caso contrario, ¿por qué no?
Bajo ninguna circunstancia puede menor que la prioridad base ya que el orden es ascendente, es posible que la prioridad actual sea la prioridad base en caso de que haya un solo proceso.
13. En Windows fue fácil implementar una herramienta en donde los hilos que se ejecutan en el kernel puedan unirse de manera temporal al espacio de direcciones de un proceso distinto. ¿Por qué es tan difícil implementar esto en modo de usuario? ¿Por qué podría ser interesante hacerlo?
El Windows 2000 Profesional cuántica es de 20 ms y hay 12 hilos en las prioridades más altas que 3. Así, la primera prioridad debe esperar 3 hilo de 240 mseg hasta que se consigue un tiro.
14. Aun cuando haya mucha memoria libre disponible y el administrador de memoria no necesite recortar los conjuntos de trabajo, el sistema de paginación puede estar escribiendo con frecuencia en el disco. ¿Por qué?
En la mayoría de unos pocos microsegundos . Se antepone el subproceso actual inmediatamente. Eso es sólo una cuestión de cuánto tiempo se tarda en ejecutar el código para hacer el despachador Interruptor hilo.
15. ¿Por qué la autoasignación que se utiliza para acceder a las páginas físicas del directorio de páginas y las tablas de páginas para un proceso siempre ocupa los mismos 4 MB de direcciones virtuales del kernel (en el x86)?
Habiendo su prioridad rebajado por debajo de la prioridad de base podría ser utilizado como un castigo para el uso de tiempo de CPU excesiva u otros recursos.
16. Si una región de espacio de direcciones virtuales está reservada pero no confirmada, ¿cree usted que se crea un VAD para ella? Argumente su respuesta.
El procesador no va a permitir que las mencionadas instrucciones para ejecutar en modo de usuario y la voluntad atraparlos como errores. En principio, un filtro que lee un programa binario y sustituye todas las instrucciones de entrada y salida con llamadas a las rutinas que utilizan legal servicios del sistema operativo podrían escribirse . Alternativamente , el programa podría ser interpretado con estos.
17. ¿Cuál de las transiciones mostradas en la figura 11-36 son decisiones de directivas, en contraste a los movimientos requeridos forzados por los eventos del sistema (por ejemplo, un proceso que termina y libera sus páginas)?
Una forma es aumentar la prioridad de los procesos importantes. Una segunda manera es para dar procesos importantes cuantos más tiempo.
18. Suponga que se comparte una página en dos conjuntos de trabajo a la vez. Si se desaloja de uno de los conjuntos de trabajo, ¿a dónde va en la figura 11-36? ¿Qué ocurre cuando se desaloja del segundo conjunto de trabajo?
El problema no se puede resolver utilizando tablas de páginas . mesas Mapa de páginas entre direcciones virtuales y físicas. El problema aquí es que el procedimiento compartido está siendo colocado en diferentes direcciones virtuales . Si una instrucción en la dirección 65.536 lecturas JMP 300 , saltará a la memoria no válida ( por debajo de 64 KB ) y la trampa. Si se parcheado para leer JMP 65836 que irá hacia adelante 300 bytes, que es correcto para ese proceso. Pero si un proceso diferente tiene esta instrucción en , por ejemplo, frente a 131.072 , saltando a 65836 es erróneo. No importa en que parte memoria física de la página es . Para el segundo proceso , es la generación de la CPU una dirección virtual incorrecta. No hay ajuste de las tablas de páginas puede asignar correctamente una dirección virtual incorrecta.
19. Cuando un proceso desasigna una página de la pila de páginas limpias, realiza la transición (5) en la figura 11-36. ¿A dónde va una página de la pila de páginas sucias cuando se desasigna? ¿Por qué no hay transición a la lista de páginas modificadas cuando se desasigna una página de la pila de páginas sucias?
El Pentium tiene varios segmentos, cada uno a partir de las direcciones virtuales 0. Cada archivo .dll podría ser asignada a un segmento separado a partir de las direcciones virtuales 0 en ese segmento . Para ello , la segmentación tendría que ser apoyada por Windows 2000 .
20. Suponga que un objeto despachador que representa cierto tipo de bloqueo exclusivo (como un mutex) se marca para utilizar un evento de notificación en vez de un evento de sincronización, para anunciar que se ha liberado el bloqueo. ¿Por qué sería esto malo? ¿Cuánto dependería la respuesta de los tiempos de retención del bloqueo, la longitud del quantum y si el sistema es multiprocesador o no?
Sí. Los dispositivos de asistencia ventricular son la forma en que el administrador de memoria realiza un seguimiento de las cuales direcciones están en uso, y que son libres . Se necesita un VAD para una reservada
Región para prevenir un intento posterior de reservar o bien la de tener éxito.


21. Un archivo tiene la siguiente asignación. Muestre las entradas de las ejecuciones en la MFT.
Desplazamiento 0 1 2 3 4 5 6 7 8 9 10 Dirección de disco 50 51 52 22 24 25 26 53 54 – 60
1- es una decisión política acerca de cuándo y cómo recortar un conjunto de trabajo.
2 y  3  son requeridos.
4  Es una decisión política sobre la agresividad con la que escribir sucia páginas en el disco.
5 y 6 son obligatorios.
7 no es realmente una cuestión de política o requerido; el sistema nunca tiene que cero páginas , pero si el sistema es de otra manera inactivo , la reducción a cero páginas es siempre mejor que sólo la ejecución de un bucle vacío .
22. Considere el registro de la MFT de la figura 11-43. Suponga que creció el archivo y se asignó un décimo bloque al final del mismo. El número de este bloque es 66. ¿Cómo se vería ahora el registro de la MFT?
No se mueve en absoluto. Una página sólo va en una de las listas cuando no es
Presente en cualquier conjunto de trabajo. Si todavía se encuentra en un conjunto de trabajo, que no se enciende cualquiera de las listas libres.
23. En la figura 11-46(b), las primeras dos ejecuciones tienen una longitud de 8 bloques cada una. ¿Es sólo un accidente el que sean iguales o tiene esto que ver con la forma en que funciona la compresión? Explique su respuesta.
No puede ir en la lista modificada, ya que contiene las páginas que siguen siendo mapeado y podría ser criticado de nuevo. Una página sin asignar no está en esa categoría. Ciertamente, no se puede ir directamente a la lista libre porque esas páginas pueden ser abandonadas a voluntad. Una página sucia no se puede abandonar a voluntad. Por consiguiente, primero se debe volver a escribir en el disco, entonces se puede ir en la lista libre.
24. Suponga que desea crear Windows Vista Lite. ¿Qué campos de la figura 11-47 se podrían eliminar sin debilitar la seguridad del sistema?
Copia de una palabra requiere una lectura y una escritura, para un total de 20 nseg para mover 4 bytes . Esto viene a 5 ns por byte copia. Una pantalla XGA tiene 1024 × 768 × 3 bytes, que toma alrededor de 11,8 mseg para copiar en el mejor de los casos (Suponiendo que el programa se ejecuta por completo fuera de la caché L1 ).
25. Un modelo de extensión que utilizan muchos programas (navegadores Web, Office, servidores COM) implica el hospedaje de DLLs para enganchar y extender su funcionalidad subyacente. ¿Es éste un modelo razonable para usar un servicio basado en RPC siempre y cuando tenga cuidado en hacerse pasar por los clientes antes de cargar el DLL? ¿Por qué no?
Hay dos registros. Los campos son los siguientes. Los valores antes de los dos puntos son los campos de cabecera : Registro 1 = 0 , 8 : ( 3 , 50 ) , ( 1 , 22 ) , ( 3 , 24 ) , ( 2 , 53 ) Ficha 2 = 10 , 10: ( 1 , 60 )
26. Al ejecutarse en una máquina NUMA, cada vez que el administrador de memoria de Windows necesita asignar una página física para manejar un fallo de página, trata de usar una página del nodo NUMA para el procesador ideal del hilo actual. ¿Por qué? ¿Qué pasa si el hilo se ejecuta actualmente en un procesador distinto?
El hecho de que el bloque 66 es contigua con una carrera existente no ayuda a que la bloques no están en orden lógico del fichero . En otras palabras , usando el bloque 66 como la nueva bloque no es mejor que utilizando el bloque 90. Las entradas de la MFT son : 0 , 8 : ( 4 , 20 ) , ( 2 , 64 ) , ( 3 , 80 ) , ( 1 , 66 )
27. Muestre un par de ejemplos en donde una aplicación se podría recuperar con facilidad de un respaldo basado en la copia sombra de un volumen, en vez de usar el estado del disco después de un fallo del sistema.
Es un accidente. Los 16 bloques aparentemente comprimen en 8 bloques. Podria han sido 9 o 11 con la misma facilidad.
28. En la sección 11.9, la provisión de nueva memoria al montículo del proceso se mencionó como uno de los casos que requieren un suministro de páginas en ceros para poder satisfacer los requerimientos de seguridad. Muestre uno o más ejemplos de operaciones de memoria virtual que requieran páginas en ceros.
Todos excepto el usuario SID puede ser eliminado sin afectar la fuerza de la seguridad
29. El comando regedit se puede utilizar para exportar una parte o todo el registro a un archivo de texto, en todas las versiones actuales de Windows. Guarde el registro varias veces durante una sesión de trabajo y vea qué es lo que cambia. Si tiene acceso a una computadora con Windows en la que pueda instalar software o hardware, descubra qué es lo que cambia cuando se agrega o elimina un programa o dispositivo.
Cambian los registros en c aunque quedan algunos archivos que no se eliman en caso de que el usuario decida reinstalar, se cargara la información que deja la desintalacio.
30. Escriba un programa de UNIX que simule la escritura de un archivo NTFS con varios flujos. Debería aceptar una lista de uno o más archivos como argumentos y escribir un archivo de salida que contenga un flujo con los atributos de todos los argumentos, y flujos adicionales con el contenido de cada uno de los argumentos. Ahora escriba un segundo programa para reportar los atributos y flujos, y extraer todos los componentes.

Trabajamos el libro por temas y se hicieron exposición!!!