Linuxové jádro mění části vašeho kódu z Assembleru na C.

programovací jazyk c

Je všeobecně známo, že Assembler je nejrychlejší jazyk pro určité úlohy, a proto je nejpoužívanější v jádrech různých operačních systémů, a totéž platí pro projekty v reálném čase využívající pokročilou elektroniku. Problém nastává později, když je tento kód potřeba udržovat, ale není, a proto se v případě linuxového jádra vývojáři rozhodli přeložit tento kód Assembler do jazyka C.

Jazyk C je nejreprezentativnějším programovacím jazykem Linuxu ( ve skutečnosti ze všech platforem *nix). Vyvinuli ho Dennis Ritchie a Ken Thompson v roce 1972 na unixovém systému PDP-11 a byl součástí Unixu verze 2. Vzhledem k jeho vysokému výkonu a přenositelnosti se začal stále více používat při implementaci operačních systémů, a proto jej Linus Torvalds použil pro svůj projekt, když v roce 1990 hledal bezplatnou a otevřenou alternativu k Minixu.

Samozřejmě, navzdory mnoha silným stránkám má Assembler oproti jazyku C určité výhody, jak jsme zmínili na začátku. Toto rozhodnutí bylo proto překvapivé, ale podle komentářů Andyho Lutomirského na mailing listech pro kernel je jeho práce již v plném proudu a jádro Linuxu 4.1 bude první, které toto přepsání zdrojového kódu Assembleru do jazyka C začlení. Konkrétně se to týká všeho, co souvisí s výstupy v uživatelském režimu, které v současné době sestávají ze směsi kódu z těchto dvou programovacích jazyků, ale vzhledem k nedostatečné údržbě jsou aktualizace stále obtížnější.

Problém je v tom, že kód v Assembleru nebyl dlouho aktualizován, což znamená, že noví vývojáři plně nechápou, jak funguje, a co je horší, jeho aktualizace by nebyla snadná. Takže místo částečných změn se rozhodli začít převádět všechny ty rutiny v Assembleru do jazyka C. Osobně si myslím, že i když dojde k mírné ztrátě rychlosti provádění (která může být minimální, pokud je nový kód v C efektivní), je vždy lepší mít nový, přehledný kód než zastaralý kód, který téměř nemá šanci na aktualizaci kvůli nejasné implementaci.


Přidat jako preferovaný zdroj v Googlu