Jedro Linuxa spremeni dele kode iz Assembler v C

programski jezik c

Vsem je znano to Jezik sestavljavca je najhitrejši zaradi nekaterih težav je zato najbolj uporabljena v jedru različnih operacijskih sistemov, enako pa se dogaja pri projektih v realnem času, kjer se uporablja napredna elektronika. Težava se pojavi pozneje, ko je treba to kodo vzdrževati in je ni, zato V primeru jedra Linuxa so se razvijalci odločili, da to kodo Assembler prevedejo v jezik C.

C je najbolj reprezentativen programski jezik Linux (pravzaprav je od vseh * nix platform) razvil Dennis Ritchie in Ken Thompson leta 1972, izdelan je bil na sistemu Unix PDP-11 in je bil del različice Unix 2. Zaradi visoke zmogljivosti in prenosljivosti se je začel vedno bolj uporabljati pri izvajanju operacijskih sistemov in zato Linus Torvalds Uporabil ga je za svoj projekt, ko je leta 1990 iskal brezplačno in odprto alternativo Minixu.

Seveda ima Assembler kljub toliko prednosti nekaj prednosti pred C, kot smo omenili na začetku, zato je ta odločitev presenetila, vendar glede na to, kaj komentira Andy Lutomirsky na poštnih seznamih jedra je vaše delo že v teku in Jedro Linuxa 4.1 bo prvi vključil to prepisovanje izvorne kode Assemblerja na C. Natančneje, vse, kar je povezano z izhodi v uporabniški način, ki je trenutno sestavljen iz mešanice kode iz teh dveh programskih jezikov, vendar je zaradi njegovega nizkega vzdrževanja pri posodabljanju vse bolj zapleteno.

Je to tisto koda v Assembler Dolgo časa ni bil posodobljen, kar pomeni, da novi razvijalci niso povsem jasni glede njegovega delovanja, in kar je še huje, posodobitve ne bi bilo lahko. Namesto da bi poskusili delno spremeniti, so se odločili, da začnejo vse te assemblerjeve rutine spremeniti v C, in osebno mislim, da čeprav se lahko izgubi nekaj hitrosti izvajanja (ki je lahko minimalna, če je koda C nova učinkovita) nova in jasna koda je vedno boljša od zastarele in s skoraj ničelnimi možnostmi posodobitve ker ni dobro razumljeno, kako je bila izvedena.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Miguel Mayol Tur je dejal

    Na prvem mestu je ENSAMBLADOR, v španščini.

    Drugič, ves jezik mora biti SESTAVLJEN (ali tolmačen), zato je dobrota rezultata odvisna od PRIPRAVNIKA (ali tolmača)

    Ker se je prevajalnik C zelo izboljšal, sestavljalec pa zelo malo (ker je bil že zelo dober), je danes razlika sestavljenega programa, napisanega v jeziku C, v primerjavi z istim, napisanim v zbirniku, zanemarljiva ali pa ga sploh ni (ni bilo prej ne).
    Tudi razlika med prevedenimi (C in drugimi) in interpretiranimi (Java in drugimi) programi je prav tako močno zmanjšana.

    Ker je veliko lažje vzdrževati C kot asembler, je zelo smiselno sprejeti te spremembe v jedru, kadar izvajamo analizo stroškov in koristi, slabosti, grožnje, prednosti in priložnosti ali katero koli drugo, ki deluje.
    za odločanje.

    1.    Chigüire bipolarni je dejal

      Miguelu Mayolu Turu: Prvič, vsak programer, ki trdi, da je, govori ASSEMBLER in razume angleško. Ostali uporabljajo Visual Basic in se imenujejo programerji. Kakšna škoda. In drugič, Monter NE PRIPRAVI. Programi, ki to rešujejo, neposredno pretvorijo mnemotehnike v bajte. Programiranje v programu Assembler govori s strojem v istem jeziku, toda za lažje olajšanje se namesto neposrednega zapisovanja ustreznih bajtov uporabljajo mnemotehnika. Med nizom bajtov in navodilom v Assemblerju obstaja ena na ena korespondenca. A to seveda ve samo pravi programer, eden tistih, ki pravi ASSEMBLER. Posledično ni nobenih izboljšav "pretvornika" od sestavljavca do opcode, ker je za to izboljšanje odgovoren programer. Prevajalniki C (in drugih jezikov) prevedejo navodila v vnaprej uveljavljene makro predstavitve sestavljavca (ali strojne kode), izboljšave pa so podane glede na to, kako so te pretvorbe.
      Zakaj uporabljati C? Ker je lažje pregledati in vzdrževati nekaj, kar je bolj berljivo. Večina ljudi ne razume neposredno kode opomnikov ali mnemotehnike. Tako enostavno.
      Niti jaz se ne bom trudil govoriti o Javi, ki pa so jo, čeprav je bila že zdavnaj uvedena kot standard, prezirali tisti, ki razumejo kodo.
      Ampak ne verjemite mi, vprašajte Google, ali je to, kar sem rekel tukaj, napačno.
      pozdrav

      1.    eriugihc je dejal

        Pozdravljeni Chigüire, moje oči padajo z mojega obraza in mislijo, da ne morete pisati v španščini, ne da bi uporabili izraze anglosaškega izvora: rečeno je »monter«.
        Seveda se v eni stvari strinjam s tabo, raje ne govori o javi, ker če rečem neumnosti, raje pusti. Imel sem prijatelja, ki je bil takšen kot ti, vendar mizar (ne strokovnjak, programer), in rekel je, da je najboljša žaga in drugo orodje, da ne omenjam, da je z njo celo privijal vijake. Kakšen zgled za sledenje!

  2.   Luis Gerardo Marin je dejal

    Angleški jezik je vedno osnova vseh računskih izrazov. Tako je, četudi si ga govorci španščine ne želimo. K temu dodajte, da obstajajo izrazi, ki jih ni mogoče prevesti kot "bit", "byte", "unix", "linux", "DOS" in mnogi drugi. In obstajajo nekateri, ki bi jih bilo mogoče prevesti, vendar ni "CMOS", "CSS", "RAM", ker obstaja nekaj začetnic, ki nimajo nič skupnega s tehnologijo in za povrh sploh ne obstajajo v Google. Ni smisla prevajati, kadar je proizvedeno sporočilo neberljivo. Zaključek: Pri tehničnih ali računskih vprašanjih je bolje uporabiti tehnične izraze v angleščini. Iz istega razloga: raje pišem, da uporabljam "windows", da rečem, da uporabljam "windows" operacijskega sistema. In raje govorim o CSS-ju in da uporabljam type = »text / css, kot pa da bi rekel, da uporabljam« liste s slogi s tipom, enakim diagonalnim stilskim listom ». Zdravje.

  3.   Roberto Gomez je dejal

    Programi, napisani v zbirnem jeziku, so vedno zbrani, nikoli interpretirani. Vendar ni nič narobe z uporabo španščine namesto španščine. Lastna imena se nikoli ne prevajajo, tehnični izrazi pa so, kadar niso priljubljena okrajšava. Kakor koli že, lahko govori vsak, ko hoče, medtem ko mi še razumemo.