Tiempo de compilación del sistema operativo
-
03-07-2019 - |
Pregunta
Esta es solo una pregunta general: estaba sentado y esperando que se compilara un poco de software (usamos Incredibuild aquí pero todavía puede tomar 10/15 minutos) y me hizo preguntarme, ¿alguien sabe cuánto tiempo tardó en llegar? compilar Windows XP o Vista?
Busqué en Google pero realmente no encontré ninguna información útil
Solución
OP pregunta sobre Windows :
" No hay otros proyectos de software así, " Lucovsky dijo, " pero el una cosa que se mantuvo constante [a lo largo de los años] es cuánto tiempo lleva para construir [Windows]. No importa cuál generación del producto, lleva 12 horas para compilar y vincular el sistema. " Incluso con el aumento en el procesamiento caballos de fuerza a lo largo de los años, Windows tiene crecido para que coincida, y el desarrollo el proceso se ha vuelto mucho más sofisticado, para que Microsoft haga más análisis de código como parte de la construcción diaria. " Las CPU en la compilación laboratorio están vinculados constantemente por 12 horas, " él dijo. " Hemos adaptado el proceso desde Windows 2000. Ahora, nosotros descomponer el árbol fuente [código] en árboles fuente independientes, y usan un Entorno de nueva construcción. Es un entorno de múltiples máquinas que nos permite gire la manivela más rápido. Pero a causa de todo el nuevo análisis de código, todavía tarda 12 horas. "
También vea Mark Lucovsky classic presentación sobre el desarrollo Windows NT / 2000.
No trabajo en Microsoft, así que no estoy seguro ...
Otros consejos
La información de terceros que tengo es que se tarda aproximadamente un día en completar una compilación de Windows. Lo que está más o menos en línea con el intento de construir su sistema operativo OSS favorito desde cero.
Construir un sistema operativo moderno es una tarea compleja y difícil. La única razón por la que no lleva más tiempo es porque compañías como Microsoft tienen entornos de construcción configurados para ayudar a automatizar las pruebas de integración. Por lo tanto, pueden construir un sistema con menos esfuerzo manual que el que está involucrado en la mayoría de las compilaciones de OSS.
Si desea tener una idea de lo que se necesita para construir un sistema operativo, ¿puedo recomendar el libro electrónico gratuito: Linux desde cero
Para una compilación más automatizada, intente Gentoo . Ambas opciones deberían darle una mejor idea del proceso de compilación del sistema operativo.
Bueno, pruébalo tú mismo: toma una distribución Gentoo (u otra Linux) o prueba el proyecto Singularity de Microsoft Research. Otra alternativa interesante es el proyecto ReactOS. Compilar el núcleo solo toma (dependiendo de la máquina) alrededor de los 15 minutos que ha esperado su programa. ¡Compilar todo el sistema lleva considerablemente más tiempo!
Ales Holecek , vicepresidente de desarrollo en el equipo de Windows dijo que lleva aproximadamente 16 horas construir Windows 10. Y que se construye automáticamente cada día durante la noche.
No está construido usando una sola máquina, por supuesto, sino más bien usando alguna granja de construcción.
Recuerdo haber oído que Vista tardó más de un día en construirse (aunque ahora no puedo encontrar una referencia, argh). Tiene algún lugar en el vecindario de 50 millones de líneas de código a ella.
Cuánto tiempo tomará realmente dependerá de la configuración de la compilación, realmente dudo que los ingenieros de Vista necesiten un día para compilar el código, incluso si tomaría un día en una sola máquina.
Trabajo en un proyecto de una escala similar y hasta hace poco las compilaciones podían demorar hasta 12 horas en un servidor solar multiprocesador compartido. Dado que nos hemos cambiado a una granja de compilación basada en Linux, puede producirse una compilación limpia en menos de una hora y reconstruirse en pocos minutos.
Sería interesante saber qué configuración están utilizando los chicos de Vista, las granjas de compilación basadas en Linux parecen poco probables ... tal vez las granjas de compilación basadas en Windows entonces :)
No sé cuánto tiempo lleva compilar XP, pero 10/15 minutos no es tan grande. Nuestro proyecto que incluye el kernel de Linux como uno de los componentes (no el más grande) tardó aproximadamente una hora en compilarse. Mejoramos esto usando ccache y ahora solo lleva unos minutos.
No es exactamente la respuesta a su pregunta, pero creo que puede ser relevante / útil.
Las respuestas que dicen 12 horas a toda la noche son casi siempre correctas.
Hace mucho tiempo, cuando estaba en Microsoft y cada vez que lo escucho, construyen 'todas las noches'. (Solía ??cargar las compilaciones diarias de NT con bastante regularidad. IIRC hicieron una "compilación comprobada" semanalmente o algo así).
Esos números al final de la versión son (o al menos ESTÁN) estos incrementos diarios de construcción:
Mis ventanas 8.1:
C: \ WINDOWS \ system32 > ver
Microsoft Windows [Versión 6.3. 9600 ]
Dividir 9600 por 365 proporciona aproximadamente 26 años de compilaciones diarias, o retroceder desde 2013 cuando se lanzó 8.1 / 2012-R2, llega aproximadamente a 1987 para el inicio del desarrollo en NT con Windows NT 3.1 lanzado en 1993.