Sistemas operativos modernos
El sistema deberá estructurarse bien, empleando una de varias técnicas conocidas, como la de capas o la de cliente-servidor. Los componentes internos deberán ser mutuamente ortogo nales y separar con claridad las políticas del mecanismo. Deben considerarse bien cuestiones como el uso de estructuras de datos estáticas o dinámicas, la asignación de nombres, el tiem po de enlace y el orden de implementación de los módulos. El desempeño es importante, pero deben escogerse con cuidado las optimizaciones para que no arruinen la estructura del sistema. En muchos casos conviene sacrificar espacio para mejorar la rapidez, o rapidez para ahorrar espacio, usar cachés y sugerencias, aprovechar la localidad y optimizar el caso común. Escribir un sistema con dos o tres personas es diferente a producir un sistema grande con 300 personas. En el segundo caso, la estructura del equipo de trabajo y la administración del proyecto desempeñan un papel crucial en el éxito o el fracaso. Por úlfimo, los sistemas operafivos tendrán que cambiar en ios años por venir para seguir las nuevas tendencias y enfrentar los nuevos retos. Esto podría incluir espacio de direcciones de 64 bits, conectividad masiva y una variedad enorme de sistemas incrustados. El futuro cer cano será una época interesante para los diseñadores de sistemas operativos. PROBLEMAS 1. La ley de Moore describe un fenómeno de crecimiento exponencial similar al crecimiento de la pobla ción de una especie animal introducida en un entomo nuevo con abundancia de alimentos y ningún enemigo natural. En la naturaleza, es probable que una curva de crecimiento exponencial tarde o tem prano se convierta en una curva sigmoidea con un límite asintótico, cuando el abasto de alimentos co mience a ser limitante o los depredadores aprendan a aprovechar las nuevas presas. Comente algunos factores que podrían llegar a fimitar la rapidez con que mejora el hardware de cómputo. 2. En la figura 12-1 se muestran dos paradigmas, el algorítmico y el controlado por eventos. Indique qué paradigma puede ser más fácil de usar para cada uno de los tipos de programas siguientes: a) Un compilador b) Un programa para editar fotografías c) Un programa de nómina 3. En algunas de las primeras Apple Macintosh, el código de la GUI estaba en ROM. ¿Por qué? 4. Los nombres de archivo jerárquicos siempre principian en la parte más alta del árbol. Considere, por ejemplo, el nombre de archivo /usr/ast/libros/som2/cap-12 en vez de cap-12/somlAibros/ast/usr. En contraste, los nombres DNS parten de la base del árbol y suben. ¿Existe alguna razón fundamental pa ra esta diferencia? 5. El precepto de Corbató es que el sistema debe proporcionar el mínimo de mecanismo. He aquí una lis ta de llamadas POSIX que también estaban presentes en 5aversión 7 de UNIX. ¿Cuáles son redundan tes, es decir, cuáles podrían eliminarse sin pérdida de funcionalidad porque combinaciones sencillas de otras podrían realizar la misma tarea con un desempeño similar? Access, alarm, chdir, chmod, chown, chroot, close, creat, dup, exec, exit, fcnti, fork, fstat, iocti, kill, iink, Iseek, mkdir, mknod, open, pause, pipe, read, stat, time, times, umask, unlink, utime, wait y write.
RkJQdWJsaXNoZXIy MjI4NDcx