Windows, Linux, FreeBSD, Solaris - niezwykłe porównanie jąder

Windows, Linux, FreeBSD, Solaris - niezwykłe porównanie jąder17.05.2008 12:00
Windows, Linux, FreeBSD, Solaris - niezwykłe porównanie jąder
Źródło zdjęć: © Jupiterimages

W trakcie 30. Międzynarodowej Konferencji dotyczącej Inżynierii Oprogramowania grecki badacz Diomidis Spinellis zaprezentował fascynujące wyniki powstałe podczas badania jąder Linuksa, FreeBSD, ( Open )Solarisa i Windows. Okazało się, że nie istnieje obecnie kernel idealny, a każdy system ma swoje wady i zalety.

Spinellis porównywał głównie jądra przeznaczone dla procesorów 64-bitowych. Choć Microsoft nie udostępnia systemu Windows na licencji open source, ze większością kodu wykorzystywanego do zbudowania jego kernela można zapoznać się w celach badawczych ( Windows Research Kernel 1.2 ).

Opisywane w raporcie jądro Windows było najmniejsze, nie znalazły się w nim bowiem sterowniki do urządzeń, fragmenty odpowiedzialne za obsługę PnP czy zarządzanie energią. I tak:
-- jądro FreeBSD miało 2 599 000 linii i składało się z 4 479 plików,
-- jądro Linuksa miało 4 150 000 linii i składało się z 8 372 plików,
-- jądro Solarisa miało 3 000 000 linii i składało się z 3 851 plików,
-- jądro WRK 1.2 miało 829 000 linii i składało się z 653 plików.

Jednocześnie Windows ( WRK 1.2 ) miał najdłuższe pliki nagłówkowe, co utrudnia zarządzanie kodem. Podano nawet przykład pliku winerror.h zawierającego 27 tysięcy ( ! ) linii, w którym umieszczono komunikaty o błędach - większość z nich w ogóle nie dotyczyła jądra Windows.

Kod Microsoftu ma również najwyższy poziom złożoności ( badany za pomocą metod Halsteada ), ale jego dużą zaletą jest niewielki rozrzut wśród styli kodowania ( wcięcia, nazewnictwo itp. )

Warto zajrzeć: "A Tale of Four Kernels" ( w języku angielskim )

Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Udostępnij:
Wybrane dla Ciebie
Komentarze (2)