Sistemas operativos modernos

retomo tardan 1 ms, y la máquina puede copiar una palabra de 32 bits en 50 ns. Los segmentos de texto se comparten. 9. Ahora que los programas de megabytes son comunes, el tiempo que se dedica a ejecutar la llamada al sistema fork ha aumentado de manera proporcional. Peor aún, casi todo este tiempo se desperdicia, pues la mayoría de los programas invoca a exec poco después de bifurcarse. Para mejorar el desempeño, Ber­ keley inventó una nueva llamada al sistema, vfork, en la que el hijo comparte el espacio de direcciones del padre, en yez de recibir su propia copia. Describa una situación en la que un hijo mal comportado pueda hacer algo que haga que la semántica de vfork sea fundamentalmente diferente de la de fork. 10. Si un proceso UNIX tiene un valor de consumojOPU de 20, ¿cuántos intervalos A7 tarda ese valor en bajar a Osi el proceso no se calendariza durante un buen rato? Utilice el sencillo algoritmo de de­ caimiento que se da en el texto. 11. ¿Tiene sentido quitarle a un proceso su memoria cuando entra en el estado zombi? ¿Por qué sí o por qué no? 12. ¿Con qué concepto de hardware está íntimamente relacionada una señal? Dé dos ejemplos del uso de señales. 13. ¿Por qué cree que los diseñadores de UNIX hicieron que fuera imposible para un proceso enviar una señal a otro que no pertenece a su grupo de procesos? 14. Las llamadas al sistema por lo regular se implementan empleando una instmcción de interrupción en software (interrupción de sistema). ¿Podría usarse del mismo modo una llamada a procedimiento ordi­ naria en el hardware de Pentium? Si es así, ¿en qué condiciones y cómo? Si no es posible explique la razón. 15. En general, ¿cree usted que los demonios tienen prioridad más alta o más baja que los procesos in­ teractivos? ¿Por qué? 16. Cuando se bifurca un nuevo proceso, se le debe asignar un entero único como PID. ¿Bastará con te­ ner en el kem el un contador que se incremente cada vez que se crea un proceso, empleando el valor del contador como nuevo PID? Comente su respuesta. 17. En la entrada de cada proceso en la tabla de procesos se guarda el PID del padre del proceso. ¿Por qué? 18. ¿Qué combinación de los bits indicadores_compart empleados por el comando clone de Linux co­ rresponden a una llamada fork convencional de UNIX? ¿Y a la creación de un subproceso conven­ cional en UNIX? 19. El calendarizador de Linux calcula la bondad de los procesos de tiempo real sumando la prioridad a 1000. ¿Podría haberse escogido una constante distinta sin que cambiaran las decisiones tomadas por el algoritmo? 20. Al arrancar UNIX (o casi cualquier otro sistema operativo), el cargador de autoarranque que está en el sector O del disco carga un programa de arranque, que a su vez carga el sistema operativo. ¿Por qué se requiere ese paso adicional? ¿No sería más sencillo hacer que el cargador de autoarranque del sector Ocargue en forma directa el sistema operativo? 21. Cierto editor tiene 100 KB de texto de programa, 30 KB de datos inicializados y 50 KB de BSS. La pila inicial ocupa 10 KB. Supongamos que se inician tres copias de este editor de manera simultá­ nea. ¿Cuánta memoria física se requiere si a) se usa texto compartido, y b) si no se usa?

RkJQdWJsaXNoZXIy MjI4NDcx