„Linux“ branduolys keičia jūsų kodo dalis iš „Assembler“ į „C“

programavimo kalba c

Tai žinoma visiems Surinkėjų kalba yra greičiausia dėl kai kurių klausimų ir dėl šios priežasties jis yra dažniausiai naudojamas skirtingų operacinių sistemų branduolyje, ir tas pats nutinka ir realaus laiko projektams, kuriuose naudojama pažangi elektronika. Problema iškyla vėliau, kai tą kodą reikia prižiūrėti, todėl jo nėra „Linux“ branduolio atveju kūrėjai nusprendė tą „Assembler“ kodą išversti į C.

C yra reprezentatyviausia „Linux“ programavimo kalba (iš tikrųjų iš visų * nix platformų) jį sukūrė Dennis Ritchie ir Kenas Thompsonas 1972 m., jis buvo sukurtas „Unix PDP-11“ sistemoje ir buvo „Unix 2“ versijos dalis. Atsižvelgdamas į savo aukštą našumą ir perkeliamumą, jis vis dažniau buvo naudojamas diegiant operacines sistemas, todėl Linus Torvalds Jis panaudojo jį savo projektui, kai dar 1990 m. Jis ieškojo nemokamos ir atviros „Minix“ alternatyvos.

Žinoma, nepaisant tiek stipriųjų pusių, „Assembler“ turi keletą pranašumų prieš „C“, kaip minėjome pradžioje, todėl šis sprendimas nustebino, bet pagal tai komentuoja Andy Lutomirsky branduolio adresų sąrašuose jūsų darbas yra gerai vykdomas ir „Linux“ branduolys 4.1 bus pirmasis, kuris įtrauks šį „Assembler“ kodo perrašymą į C. Tiksliau sakant, viskas, kas susiję su išėjimu į vartotojo režimą, kurį šiuo metu sudaro šių dviejų programavimo kalbų kodo derinys, tačiau, atsižvelgiant į tai, kad jo priežiūra nereikalinga, atnaujinant vis sudėtingiau.

Ar tai yra kodas „Assembler“ Jis ilgą laiką nebuvo atnaujinamas ir tai reiškia, kad naujiems kūrėjams nėra visiškai aišku apie jo veikimą, o kas dar blogiau - jį atnaujinti nebūtų lengva. Taigi, užuot bandę atlikti dalinius pakeitimus, jie nusprendė pradėti keisti visas „Assembler“ įprastas procedūras į „C“, ir aš asmeniškai manau, kad nors tam tikras vykdymo greitis gali būti prarastas (o tai gali būti minimalu, jei „C“ naujas kodas yra efektyvus) visuomet geriau rinktis naują ir aiškų kodą, o ne pasenusį ir beveik be atnaujinimo galimybių nes nėra gerai suprantama, kaip tai buvo įgyvendinta.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Migelis Mayol Tur sakė

    Pirmiausia tai yra „ENSAMBLADOR“ ispanų kalba.

    Antra, visa kalba turi būti sudaryta (arba aiškinama), todėl rezultato gerumas priklauso nuo RENGĖJO (arba vertėjo)

    Kadangi C kompiliatorius labai patobulėjo, o asamblėja - labai mažai (nes tai jau buvo labai gerai), šiais laikais C parašytos kompiliuojamos programos skirtumas nuo tos pačios, parašytos montuotoju, yra nereikšmingas arba jo nėra (prieš tai nebuvo).
    Net skirtumas tarp sudarytų (C ir kitų) ir interpretuotų („Java“ ir kitų) programų taip pat buvo labai sumažintas.

    Taigi daug lengviau išlaikyti C nei montuotoją yra labai pagrįstas sprendimas atlikti šiuos pakeitimus branduolyje, atliekant sąnaudų ir naudos analizę, silpnybes, grėsmes, stipriąsias ir galimybes ar bet kurias kitas veikiančias funkcijas.
    sprendimams priimti.

    1.    „Chigüire Bipolar“ sakė

      Migueliui Mayolui Turui: Visų pirma, kiekvienas programuotojas, kuris teigia esąs vienas, kalba MONTAVĖJU ir supranta angliškai. Kiti naudoja „Visual Basic“ ir vadina save programuotojais. Kokia gėda. Antra, Surinkėjas NESUDARO. Tai, ką daro programos, tai tiesiogiai konvertuoja mnemoniką į baitus. Programavimas programoje „Assembler“ yra kalbėjimas su mašina ta pačia kalba, tačiau tam, kad būtų šiek tiek lengviau, naudojama mnemotika, o ne tiesiogiai rašomi atitinkami baitai. „Assembler“ baitų rinkinys ir instrukcija yra „vienas su vienu“. Bet tai, žinoma, žino tik tikras programuotojas, vienas iš tų, kurie sako ASSEMBLER. Vadinasi, „keitiklis“ nėra tobulinamas nuo surinkėjo iki „opcodes“, nes programuotojas yra atsakingas už to tobulinimą. C (ir kitų kalbų) kompiliatoriai instrukcijas paverčia iš anksto nustatytomis maklerio „assembler“ (arba mašininio kodo) atvaizdais, o patobulinimai suteikiami pagal tai, kaip vyksta šios konversijos.
      Kodėl naudoti C? Nes lengviau peržiūrėti ir išlaikyti tai, kas yra lengviau skaitoma. Daugelis žmonių tiesiogiai nesupranta surinkėjų opkodų ar mnemotikos. Taip paprasta.
      Net nesivarginsiu kalbėti apie „Java“, kurią, nors ji jau seniai buvo įvesta kaip standartas, dabar kenkia tie, kurie supranta kodą.
      Bet netikėkite, paklauskite „Google“, ar tai, ką čia pasakiau, yra melaginga.
      saludos

      1.    eriugihc sakė

        Sveiki, Chigüire, akys krinta nuo veido, manant, kad jūs negalite rašyti ispaniškai nenaudodami anglosaksų kilmės terminų: sakoma „surinkėjas“.
        Žinoma, vienu dalyku aš sutinku su jumis, geriau nekalbėkite apie java, nes sakyti nesąmonę geriau palikti. Turėjau draugą, kuris buvo panašus į tave, bet stalius (ne ekspertas programuotojas), ir jis pasakė, kad geriausias dalykas yra rankinis pjūklas ir kiti geresni įrankiai, jau nekalbant apie tai, kad jis net priveržė juo varžtus. Koks pavyzdys, kurį reikia sekti!

  2.   Luisas Gerardo Marinas sakė

    Anglų kalba visada yra visų skaičiavimo terminų pagrindas. Taip yra, net jei mes, ispanakalbiai, to nenorime. Pridėkite tai, kad yra terminų, kurių negalima išversti kaip „bitai“, „baitai“, „unix“, „linux“, „DOS“ ir daugelis kitų. Yra keletas, kuriuos GALI būti išversta, tačiau nėra tokių atvejų kaip „CMOS“, „CSS“, „RAM“, nes yra keletas inicialų, kurie neturi nieko bendro su technologijomis, ir, be to, jų net nėra „Google“ . Nėra prasmės versti, kai sukurtas pranešimas yra neįskaitomas. Išvada: pageidautina, kad techniniai ar skaičiavimo klausimai naudotų techninius terminus anglų kalba. Dėl tos pačios priežasties: aš norėčiau parašyti, kad naudoju „Windows“, norėdamas pasakyti, kad naudoju operacinę sistemą „Windows“. Man labiau patinka kalbėti apie CSS ir kad aš naudoju type = »text / css, nei bandau pasakyti, kad aš naudoju« stiliaus lapų lapus, kurių tipas lygus įstrižiems teksto stiliaus lapams ». Sveikata.

  3.   Roberto Gomezas sakė

    Asamblėjos kalba parašytos programos visada sudaromos, niekada nėra interpretuojamos. Tačiau nėra nieko blogo, jei vietoj „Spanglish“ vartojama ispanų kalba. Tikriniai vardai niekada neverčiami, tačiau techniniai terminai yra tada, kai jie nėra populiarūs akronimai. Šiaip ar taip, visi gali kalbėti taip, kaip jiems patinka, o mes dar galime suprasti.