W jakim języku programowania zazwyczaj pisane są systemy operacyjne (Windows, Linux. Mac-OS, MS-DOS i inne)
I dlaczego akurat w tym a nie w innym.
W jakim języku programowania zazwyczaj pisane są systemy operacyjne (Windows, Linux. Mac-OS, MS-DOS i inne)
I dlaczego akurat w tym a nie w innym.
Co do jądra Linuksa to C i wstawki w assemblerze. Dlaczego? C jest naprawdę szybki, wtedy kiedy powstawał Linux (1991) był najodpowiedniejszy, bo Minix również był napisany w większości w C, a Linus wzorował się nieco na Miniksie. Minix jest, podobnie jak Linux, uniksopodobnym, Wolnym systemem. A wszystko i tak zaczęło się od Uniksa w 1969. Wtedy pisany jeszcze pod dziadków PC - PDP, z wiki wyczytałem, że Unix początkowo był pisany w assemblerze właśnie pod te komputery. Coś też było robione LISP’-ie, ale to raczej nie Unix… Cytuję z Wikipedii : “1973 – Unix Fourth Edition, pierwsza napisana w C, co zaowocowało przenośnością systemu”.
Jak widzisz C jest szybki i przenośny, po prostu nadaje się do pisania niskopoziomowych aplikacji - sterowników do sprzętu (w połączeniu z assemblerem). Jednym słowem: trzeba znać historię
A Mac OS X jest spokrewniony w pewien sposób z Mach i BSD, a przez to z Uniksem. Ogółem bardzo duża liczba systemów to Uniksopodobne - Linux, BSD, Mac OS, Minix, QNX, Solaris,… te systemy wywodzą się z Uniksa lub były pisane aby go ‘zastąpić’, przez co są podobne do niego.
Więcej np. tutaj.
Windows tez glownie C, C++ Vista tez rozne mniejsze rzeczy w C#
System operacyjny da się napisać prawie w każdym języku. Aczkolwiek assembler + C są najczęściej wykorzystywane.
Znane są jednak projekty systemów napisanych w całości w assemblerze (MenuetOS), w C# i assemblerze (Singularity), w Javie i assemblerze (nawet kilka), widziałem krótki gotowiec na temat tworzenia jądra w Pascalu. I assemblerze.
Mówisz : “widziałem krótki gotowiec na temat tworzenia jądra w Pascalu. I assemblerze” - czy podałbyś linka do tego. Zobaczyłbym sobie
Niestety, to było dawno i gdzieś mi się zgubiło, więc nie dam linka.
Ale tak w sumie to warto na ten temat poczytać to:
http://4programmers.net/Z_pogranicza/Pi … zeczywisty (i dalsze części)
i można spojrzeć na przykład na to: http://idyllaos.org/w/index.php/Main_Page