Procesor 2 rdzeniowy, lekie wytlumaczenie

@MantisGhost: Strzeliłeś jak kulą w płot.

Zupełnie zbędna rzecz? A to gdzie programy (oraz system) mają zapisywać swoje ustawienia? W plikach tekstowych, na wzór Uniksów (/etc)? Podejście to również ma wady! Oczywiście Rejestr Windows jest wielki, przeładowany i mało modularny, do tego pełen tajemniczych GUID-ów, ale bez przesady - nie jest zbędny. Istnieją owszem aplikacje, które trzymają swoje ustawienia w plikach INI/XML/YAML czy jakichkolwiek innych, ale w świecie Windows jest to rzadkość. Programiści Windows wybrali podejście ze scentralizowaną bazą ustawień - nikt nie jest pewny, czy usunięcie tego spowodowałoby znaczące ulepszenie pracy systemu - a jeżeli nie wiadomo, to nie ma sensu się na to porywać, bo nas blokuje ogromna zaleta (i wada jednocześnie) Windows - kompatybilność wsteczna. Od razu oczywiście w głowie może pojawić się pomysł warstwy pośredniej, translacji wywołań zapisu do Rejestru, które by były przepisywane do plików, ale to od razu by spowodowało lawinę informacji, że coś działa wolniej, że coś nie działa, itp… Łatwo nam mówić: “wyrzucić Rejestr, Windows będzie lepszy!”, ale to nie jest takie proste, jak by się mogło wydawać.

Oglądałeś źródła Windows? Ba, oglądałeś nawet dokumentację? Zero generowania. Jądro systemu, oraz mechanizmy WinAPI, nie są pisane w języku najwyższego poziomu - są napisane w C. System nie jest pisany z użyciem żadnego generatora, tak jak i aplikacje można pisać bezpośrednio w WinAPI, bez generatorów, klikania i rzeźbiąc ręcznie każdy przycisk (nie dosłownie, jest funkcja która tworzy przycisk - oczywiście wiesz, że np. przycisk jest oknem?).

Czy jest tam mnóstwo syfu? Możliwe, wśród tych milionów linii kodu na pewno znajduje się sporo rzeczy, które są niekoniecznie potrzebne, łącznie z “hackami” na pewne aplikacje, które nie działają jak powinny i robią coś po swojemu - łącznie z zaszłościami z Windows NT w wersji 3.

MinWin bynajmniej nie oznaczał “czystego kodu” (a co to w ogóle za określenie?), a nawet nie oznaczał nowego jądra.

Ależ to nieprawda, oczywiście, ze fragmentacja JEST. Aczkolwiek system plików robi dużo pracy, by ją zminimalizować - prealokacja, alokacja z opóźnieniem w ext4/HFS+/ZFS i tym podobne techniki. NTFS również robi dużo, by nie dochodziło do fragmentacji, w odróżnieniu od systemu plików FAT, który nie robi niczego - ale za to jest prosty jak łopata.

Możesz rozwinąć więcej, gdzie oprócz fragmentacji NTFS jest spierdzielony?

hmmm no ciekawe co piszesz widocznie moje informacje są błędne no cóż człowiek uczy się całe życie :smiley: zwracam honor twórcom windowsa (co nie zmienia faktu że mogli postarać się bardziej, a nie wychodzić z podejściem że liczy się tylko kasa). Chodziło mi o NT przepraszam za błąd z tego co wiem to microsoft przejął tą technologie i niestety zepsuł nie pamiętam szczegółów bo dawno czytałem (no chyba że tutaj też się mylę). Ale weśmy np instalacje sterowników musisz mi przyznać rację, że przy instalowaniu jest funkcja wyszukiwania sterowników w internecie co było bublem aż do visty. Zresztą skończmy ten temat bo się off topic robi (w sumie z mojej winy :/)

To jednak nadmierne uproszczenie… zakładając że przebieg trasy będzie instrukcjami wykonywanymi przez dany rdzeń/samochód, a na samochody będzie działała tylko siła oporu powietrza i ich moc będzie określona jako wystarczająca do osiągnięcia 100km/h przy założonym oporze aerodynamicznym pojedyńczego auta to wtedy robi się to w miarę precyzyjna metafora. Jeśli program potrafi dobrze wykorzystywać wiele rdzeni to możemy sobie wyobrazić że drugie auto będzie jechało “na zderzaku” pierwszego, sumaryczny opór aerodynamiczny obu aut nie będzie stanowił 2 krotności jednego tylko powiedzmy… 1,1 krotność, a to oznacza że przy tej samej mocy osiągnęły by znacznie większą prędkość… zakładając że siła oporu aerodynamicznego rośnie linniowo wraz z prędkością (co nie jest prawdą ale przybliża nieco zagadnienie mocy obliczeniowej) byłoby to powiedzmy ok. 180km/h i tak właśnie mniej lub bardziej zależnie od aplikacji i architektury skalują się kolejne rdzenie przy obliczeniach wielowątkowych… zależy to głównie właśnie od ilości sekcji krytycznych w aplikacji których nie da się rozdzielić na kilka rdzeni, a inne operacje muszą czekać na ich wyniki.

np przy testach i7 cinebench’em rdzenie skalowały się właściwie bezstratnie i w takim przypadku można powiedzieć że 4 rdzeniowy 3ghz procesor dla takiej aplikacji ma moc obliczeniową równą teoretynemu 1 rdzeniowemu 12ghz’owemu procesorowi, ale tak jak wspominałem to bardzo wyjątkowa sytuacja, a większość oprogramowania nie wykorzystuje potencjału procesorów wielordzeniowych, a nawet jeśli to często kiepsko się skalują.

może inaczej , prościej .

jeśli masz w samochodzie 2 silniki po 200KM to nie znaczy że masz 400KM

To akurat zupełnie nietrafione bo wtedy faktycznie masz 400KM :]