Linux-kärnan ändrar delar av din kod från Assembler till C

programmeringsspråk c

Känd av alla är det Monteringsspråk är det snabbaste av vissa problem och av den anledningen är det den som används mest i kärnan i de olika operativsystemen och detsamma sker för realtidsprojekt där avancerad elektronik används. Problemet kommer senare, när den koden måste behållas och den inte är det, och därför När det gäller Linux-kärnan har utvecklarna valt att översätta den Assembler-koden till C.

C är det mest representativa Linux-programmeringsspråket (faktiskt, av alla * nix-plattformar), utvecklades den av Dennis Ritchie och Ken Thompson 1972 tillverkades den på ett Unix PDP-11-system och var en del av Unix version 2. Med tanke på dess höga prestanda och bärbarhet började den användas mer och mer vid implementering av operativsystem och därför Linus Torvalds Han använde det för sitt projekt när han 1990 letade efter ett gratis och öppet alternativ till Minix.

Trots så många styrkor har Assembler naturligtvis några fördelar jämfört med C som vi nämnde i början, så detta beslut har förvånat men enligt vad kommenterar Andy Lutomirsky på kärnutskicklistorna är ditt arbete väl på gång och Linux-kärna 4.1 kommer att vara den första som införlivar denna Assembler-källkod som skrivs om till C. Specifikt går allt som rör utgång till användarläge, som för närvarande består av en blandning av kod från dessa två programmeringsspråk men som med tanke på dess låga underhåll blir alltmer komplicerat vid uppdatering.

Är det den kod i Assembler Det har inte uppdaterats på länge och det betyder att nya utvecklare inte är helt klara om dess funktion, och vad som är värre, det skulle inte vara lätt att uppdatera det. Istället för att försöka göra en deländring har de valt att börja ändra alla dessa Assembler-rutiner till C, och personligen tror jag att även om viss körningshastighet kan gå förlorad (vilket kan vara minimalt om koden C new är effektiv) ny och tydlig kod är alltid att föredra framför att ha den föråldrad och med nästan noll uppdateringsmöjligheter eftersom det inte är väl förstått hur det implementerades.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Miguel Mayol Tur sade

    För det första är det ENSAMBLADOR, på spanska.

    För det andra måste allt språk KOMPILERAS (eller tolkas), så resultatets godhet beror på COMPILER (eller tolk)

    Eftersom C-kompilatorn har förbättrats mycket och monteraren en mycket liten (eftersom den redan var mycket bra) är skillnaden i ett sammanställt program skrivet i C jämfört med samma som skrivits i assembler idag försumbar eller obefintlig (innan den var inte).
    Även skillnaden mellan kompilerade (C och andra) och tolkade (Java och andra) program har också minimerats mycket.

    Så det är mycket lättare att underhålla C än assembler, det är ett mycket bra beslut att göra dessa förändringar i kärnan, när man gör en kostnadsnyttoanalys, svagheter, hot, styrkor och möjligheter eller något annat som fungerar
    för beslutsfattande.

    1.    Chigüire bipolär sade

      Till Miguel Mayol Tur: Först och främst talar varje programmerare som påstår sig vara en MONTERING och förstår engelska. De andra använder Visual Basic och kallar sig programmerare. Vilken skam. Och för det andra kompilerar inte monteraren. Vad programmen som hanterar det gör är att konvertera mnemonics till byte direkt. Programmering i Assembler talar till maskinen på samma språk, men för att göra det lite enklare används minnesmärken istället för att direkt skriva motsvarande byte. Det finns en en-till-en-korrespondens mellan en uppsättning byte och en instruktion i Assembler. Men det här vet naturligtvis bara en riktig programmerare, en av dem som säger MONTERING. Följaktligen finns det inga förbättringar av "konverteraren" från sammansättare till opkoder eftersom programmeraren är den som ansvarar för att göra den förbättringen. C-kompilatorer (och andra språk) översätter instruktioner till förinställda makrorepresentationer av samlare (eller maskinkod) och förbättringarna ges av hur dessa omvandlingar är.
      Varför använda C? Eftersom det är lättare att granska och underhålla något som är mer läsbart. De flesta människor förstår inte direkt sammansättningskoder eller minnesmärken. Enkelt som det.
      Inte ens jag kommer att bry mig om att prata om Java, som även om det infördes som standard för länge sedan nu avskyds av dem som förstår kod.
      Men tro mig inte, fråga Google om det jag sa här är falskt.
      hälsningar

      1.    eriugihc sade

        Hej Chigüire, mina ögon faller från mitt ansikte och tänker att du inte kan skriva på spanska utan att använda termer av angelsaxiskt ursprung: det sägs «assembler».
        Naturligtvis, på en sak som jag håller med dig, är det bättre att inte prata om java, för att säga nonsens är det bättre att lämna det. Jag hade en vän som var som du men en snickare (inte en expert programmerare) och han sa att det bästa var sågen och de andra verktygen, för att inte tala om, han spände till och med skruvarna med den. Vilket exempel att följa!

  2.   Luis Gerardo Marín sade

    Det engelska språket är alltid roten till alla beräkningsvillkor. Så är det, även om vi spansktalande inte vill ha det. Lägg till detta att det finns termer som inte kan översättas som "bit", "byte", "unix", "linux", "DOS" och många andra. Och det finns några som KAN översättas men det finns inget fall som "CMOS", "CSS", "RAM" eftersom det finns några initialer som inte har något att göra med teknik och för att komplettera det finns de inte ens i Google . Det är ingen mening att översätta när meddelandet som produceras är oläsligt. Slutsats: Det är att föredra att tekniska eller beräkningsfrågor använder tekniska termer på engelska. Av samma anledning: Jag föredrar att skriva att jag använder "windows" för att säga att jag använder operativsystemet "windows". Och jag föredrar att prata om CSS och att jag använder typ = »text / css än att försöka säga att jag använder« stilark med typ lika med diagonala textformatark ». Hälsa.

  3.   Roberto Gomez sade

    Program skrivna på ett monteringsspråk sammanställs alltid, tolkas aldrig. Det är dock inget fel med att använda spanska istället för Spanglish. Egennamn översätts aldrig, men tekniska termer är när de inte är populära förkortningar. Hur som helst, alla kan prata som de vill medan vi fortfarande kan förstå.