Sistemas operativos modernos

programador en jefe, en el que una mente controla el diseño arquitectónico (por ejemplo, Linus Torvalds para el kemel de Linux y Richard Stallman para el compilador GNU C). 12.5.3 E! papel de la experiencia Contar con diseñadores experimentados es crucial para el éxito de un proyecto de sistemas operativos. Brooks señala que la mayoría de los errores no está en el código, sino en el dise­ ño. Los programadores hicieron en forma correcta lo que se les pidió hacer. Sin embargo, que se les pidió hacer estuvo equivocado. No existe software de prueba que detecte especificacio­ nes indebidas. La solución de Brooks consiste en abandonar el modelo clásico de desarrollo de la figura 12-lOa y usar el modelo de la figura 12-lOb. La idea aquí es escribir primero un programa prin­ cipal que se limita a invocar a ios procedimientos de nivel más alto, que en un principio son sólo instrumentales (falsos). Desde el primer día del proyecto, el sistema podrá compilarse y ejecutarse, aunque no haga nada. Conforme pasa el fiempo, se van insertando módulos en to­ do el sistema. El resultado de este método es que las pruebas de integración del sistema se efec­ túan de manera confinua, y los errores en el diseño se hacen evidentes más pronto. En efecto, el proceso de aprendizaje debido a malas decisiones de diseño se inicia en una fase mucho más temprana del ciclo. Figura 12-10. a) El diseño tradicional de software avanza en etapas, b) El diseño al­ terno produce un sistema operante (que no hace nada) desde el día 1. Un conocimiento limitado es algo peligroso. Brooks observó lo que llamó efecto de se­ gundo sistema. Es común que el primer producto creado por un equipo de diseño sea mínimo porque los diseñadores temen que no vaya a funcionar. Por ello, dudan en incluir muchas fun­ ciones. Si el proyecto tiene éxito, construyen un sistema sucesor. Impresionados por su propio éxito, los diseñadores incluyen ahora todos los adornos que de manera intencional omifieron la primera vez. El resultado es que el segundo sistema es obeso y fiene un desempeño pobre. La

RkJQdWJsaXNoZXIy MjI4NDcx