Zastanawiałem się tylko, kto wie, z jakich języków programowania składają się Windows, Mac OS X i Linux oraz jakie języki są używane w każdej części systemu operacyjnego (tj. Jądro, architektura wtyczek, komponenty GUI itp.).
Zakładam, że dla każdego istnieje wiele języków i oczywiście wiem, że jądro Linuksa jest napisane w C.
Zgaduję, że Mac OS X zawiera dużo kodu Objective-C, ponieważ jest to język Apple pochodzący z NeXT.
Windows, słyszałem, że zawiera C, C ++ i Intel Assembly. Czy Linux lub Mac OS zawiera kod asemblera?
Ponadto, czy istnieją języki skryptowe, takie jak Ruby, Python itp., Używane przez programistów systemu operacyjnego do tworzenia skryptów części systemu operacyjnego? Jakie części systemu operacyjnego zostałyby napisane w każdym języku?
źródło
Odpowiedzi:
Wszystkie jądra będą również korzystać z kodu asemblera.
źródło
Linux: C. Niektóre części w zespole.
Mac OS X: Kakao głównie w Objective-C. Jądro napisane w C, niektóre części w zespole.
Windows: C, C ++, C #. Niektóre części w asemblerze.
Unix: C. Niektóre części w zespole. (Źródło)
źródło
Mac OS X używa dużych ilości C ++ w niektórych bibliotekach, ale nie jest narażony, ponieważ boją się złamania ABI.
źródło
IOKit
,WebKit
iGLKit
. Rzuć też okiem nadyld
. Są bardzo ciężkie w C ++.Rozumiem, że to stary post, ale Windows zdecydowanie nie jest napisany w C ++. Jest w nim dużo C ++, ale to, co technicznie określamy jako system operacyjny, nie jest w C ++. Windows API, jądro systemu Windows (oba są w istocie tym, czym jest system operacyjny) są napisane w C. Przed laty dostałem wyciek kodu dla Windows 2000 i Windows XP. Kod nie był wystarczająco kompletny, aby skompilować jądro lub API, ale byliśmy w stanie skompilować poszczególne programy i usługi. Na przykład udało nam się skompilować Notepad.exe, mspaint.exe i usługę spoolsv.exe (bufor wydruku). Wszystkie napisane w C. Nie szukałem ponownie, ale jestem pewien, że wyciek kodu nadal istnieje, ponieważ pliki torrent, które mogą być nadal dostępne.
źródło
Windows: głównie C i C ++, niektóre C #
źródło
źródło
Łał!!! 9 lat pytania, ale właśnie natknąłem się na serię wewnętrznych artykułów na temat historii wiersza poleceń systemu Windows i myślę, że część z nich może być istotna z punktu widzenia Windows:
źródło
Masz rację MacOSX ma Objective-C w rdzeniu.
Windows C ++
Linux C
Jeśli chodzi o języki skryptowe, nie, mają one dość wysoki poziom.
źródło
Czytałem lub słyszałem, że Mac OS X jest napisany głównie w Objective-C z niektórymi częściami niższego poziomu, takimi jak jądro i sterowniki urządzeń sprzętowych napisanymi w C. Wierzę, że Apple „je (s) własne pożywienie dla psów ”, co oznacza, że piszą Mac OS X przy użyciu własnych narzędzi programistycznych Xcode . GCC (GNU Compiler Collection) kompilator, linker jest narzędziem wiersza poleceń systemu UNIX, że Xcode używana przez większość jego kompilacji i / lub łączenie plików wykonywalnych. Wśród innych możliwych języków wiem, że GCC kompiluje kod źródłowy z języków C, Objective-C, C ++ i Objective-C ++.
źródło
Jądro Linux jest głównie napisane w C (i trochę w języku asemblera, wyobrażam sobie), ale niektóre z ważnych narzędzi (programów) w przestrzeni użytkownika to skrypty powłoki napisane w języku skryptowym Bash. Poza tym trudno jest zdefiniować „Linuksa”, ponieważ w zasadzie budujesz system Linux, wybierając odpowiednie części i łącząc je, a zależnie od tego, czego chce pojedynczy użytkownik Linuksa, możesz zaangażować praktycznie każdy język. (Jak powiedział Paul, Python i C ++ odgrywają ważną rolę)
źródło
Jako dodatek do rdzenia Mac OS X, Finder nie został napisany w Objective-C przed Snow Leopard. W Snow Leopard został napisany w Cocoa, Objective-C
źródło
Zobacz pod nagłówkiem Jeden system operacyjny działający na wielu platformach, gdzie stwierdza:
źródło
Windows oczywiście nie jest napisany w C # (!)
Po prostu zobacz kod źródłowy systemu Windows, a zobaczysz ...
źródło