Jaki język do Pisania OS'a i dlaczego?


(baciany) #1

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.


(Sawyer47) #2

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ę :slight_smile:

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.


(Suck) #3

Windows tez glownie C, C++ Vista tez rozne mniejsze rzeczy w C#


(mktos) #4

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.


(baciany) #5

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 :smiley:


(mktos) #6

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


(Fiołek) #7

http://binboy.sphere.pl/index.php?show=dzial&p0=146

Kursy(dwa) pisania OSa w asemblerze i C.