Jak powstaje Windows?
Zapewne jesteś użytkownikiem systemu Windows. Czy nie zadawałeś sobie nigdy pytania jak profesjonalni programiści tworzą system Billa Gates’a. Ten artykuł pokrótce przybliży Ci sposób tworzenia Windows. Przygotowanie Windows trwa wiele lat. Produkcja podzielona jest na 5 etapów. Gdy produkcja systemu zbliża się do finału, rozpoczynają się prace nad jego następcą (tak wiec prace nad następcą Visty, Fidżi już się zaczęły). Najważniejszymi etapami tworzenia systemu Windows są „Milestones” oraz „Alpha”. Na tych etapach tworzone są: jądro systemu, podstawowe narzędzia i procedury. Kod pisze klika zespołów programistów, w sumie klika tysięcy osób. Z powodu opóźnień z systemem Vista, Microsoft przeprowadził w 2003 roku reorganizację firmy.
Utworzono Core Operating System Division (COSD), który odpowiada za funkcjonowanie najważniejszych elementów systemu. Do końca nie wiadomo ile osób pracuje w tym dziale, gdyż Microsoft odmawia udzielenia odpowiedzi na ten temat. Wiadomo jednak że pracuję tam grono doświadczonych programistów z całego świata, którzy wcześniej mieli możliwość pracy nad klienckimi i serwerowymi wersjami Windows. COSD jest podzielony na cztery działy:
- core group: tworzą jądro systemu
- researches group : kontrolują jakość kodu jądra i eliminują z niego błędy
- build-process team : łączą poszczególne narzędzia
- architecture team : 6 osobowa grupa osób której zadaniem jest analizowanie architektury systemu oraz jej usprawnianie.
Według Microsoft’u po wprowadzeniu COSD zauważono poprawę jakości i bezpieczeństwa systemów.
Kod poszczególnych narzędzi i procedur systemu trafia 2 działów. Windows Client Division (WCD) oraz Windows Server Division (WSD). Zadaniem programistów pracujących w tych działach jest przygotowanie klienckiej i serwerowej wersji systemu. Są odpowiedzialni również za tworzenie wersji Alpha i Beta, czyli muszą połączyć kod poszczególnych narzędzi w działający system operacyjny.
W tworzenie Windows zaangażowane są również mniejsze zespoły programistów, których zadaniem jest tworzenie konkretnych produktów np. Internet Explorer Team odpowiedzialny jest za przygotowywanie nowych wersji przeglądarki. Windows User Experience odpowiedzialny jest za stworzenie wygodnego, funkcjonalnego i przyjaznego użytkownikowi interfejsu. Nie wspomniałem jeszcze o Microsoft Research (MSR) – grupie ludzi, której zadaniem jest prowadzenie badań nad nowymi rozwiązaniami np. sterowanie komputera głosem, projekt cyfrowego domu. Projekty wymyślone przez MSR są możliwe do wprowadzenia w produktach firmy Microsoft w ciągu 10 lat. Ich zadaniem jest również opracowanie nowych funkcji i rozwiązań, które należy wprowadzi do systemu Windows.
Programiści Windows zazwyczaj sami piszą sobie narzędzia dla środowiska Visual Studio, w którym pisany jest Windows. Dysponują również specjalnym środowiskiem, w którym mogą uruchamiać częściowo funkcjonalne wersje systemu. Kompilatory dzięki którym mogą skompilować swoje projekty, piszą sami.
Opóźnienie Visty wynika również ze złej koordynacji między zespołami programistów. Po reorganizacji prac nad systemem, praca nad kodem podzielona została na wiele krótkich etapów. Wszystkie zespoły programistów muszą zrealizować swoje zadania według harmonogramu, w przypadku gdy nie zostaną spełnione założenia harmonogramu pozostałe zespoły nie mogą kontynuować pracy. Przygotowana partia kodu musi być bowiem sprawdzona czy nie zawiera błędów, połączona z pozostałymi elementami i ponownie przetestowana. W głównej siedzibie Microsoft, w Redmond, pracuje 30 000 pracowników, zespoły rozrzucone są po całym kompleksie budynków i współpracują ze sobą przez sieć.
Aby wszystkie zespoły dobrze współpracowały Microsoft stworzył specjalne środowisko Visual Studio Team Editio. Umożliwia ono gromadzenie skompilowanego kodu, bibliotek oraz komponentów na głównym serwerze. Dzięki temu wszystkie zespoły mogą korzystać z tych zasobów mimo iż pracują w oddalonych od siebie miejscach.
Spis treści: Jak powstaje Windows?