C jazyk

Sekcia: Programovanie 12.04.2013 | 22:49
Rozengrac   Návštevník
Na vikipedii sa pise nieco v tom zmysle, ze jazyk C je jazyk tzv. "strednej" urovne. A ze je "prenositelny assembler.". Kedze sa v assemblery pisu prevazne jadra OS, ovladace atd. bolo by mozne napisat cely OS (operacny system) len v C? Bez pouzitia assembleru?
    • Re: C jazyk 13.04.2013 | 12:31
      Avatar bedňa antiX, Devuan, LegacyIce  Administrátor
      Odpoveď nájdeš na https://www.kernel.org/
      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
    • Re: C jazyk 14.04.2013 | 18:38
      Avatar Miroslav Bendík Gentoo  Administrátor
      Nedávno som si kúpil malú ARM hračku s Cortexom. Pravdu povediac aj keby som chcel tak bez assembleru nič nespustím. Okrem párriadkového kódu ktorý nastaví vektory prerušenia a spustí hlavný kód jadra však assembler nie je potrebný a jadro je možné okrem tohto "výhonku" napísať prakticky v ľubovoľnom kompilovanom jazyku (C, C++, Pascal ...).
      • Re: C jazyk 15.04.2013 | 20:51
        Avatar Grawp   Používateľ
        Aby som to doplnil, okrem startup kodu je este maly kus asm zvacsa potrebny aj v samotnom jadre, pri context switch (teda v dispatcheri), avsak moze ist napr len o 5 riadkov. Zvacsa to zahrnuje nejake specialne instrukcie, ktore kompilator sam negeneruje.

        Tychto par riadkov ale moze byt napisanych v inline asm. Osobne som videl napisane cele preemptivne jadro pre Cortex-M* napisane len v C++ a inline asm. Teda v projekte neexistovali ziadne s subory, as nebolo volane, len g++.