Linux kodols maina jūsu koda daļas no Assembler uz C

programmēšanas valoda c

Tas ir zināms visiem Montāžas valoda ir visātrākā dažos jautājumos, un šī iemesla dēļ tas ir visizplatītākais dažādu operētājsistēmu kodolā, un tas pats notiek reāllaika projektiem, kur tiek izmantota uzlabota elektronika. Problēma rodas vēlāk, kad šis kods ir jāuztur, un tas tā nav, un tāpēc Linux kodola gadījumā izstrādātāji ir izvēlējušies tulkot šo Assembler kodu uz C.

C ir reprezentatīvākā Linux programmēšanas valoda (faktiski no visām * nix platformām) to izstrādāja Dennis Ritchie un Kens Tompsons 1972. gadā, tas tika izgatavots uz Unix PDP-11 sistēmas un bija daļa no Unix versijas 2. Ņemot vērā tā lielo veiktspēju un pārnesamību, to sāka arvien vairāk izmantot operētājsistēmu ieviešanā, tāpēc Linuss Torvalds Viņš to izmantoja savam projektam, kad vēl 1990. gadā viņš meklēja bezmaksas un atvērtu alternatīvu Minix.

Protams, neskatoties uz tik daudzajām priekšrocībām, Assembler ir dažas priekšrocības salīdzinājumā ar C, kā mēs jau minējām sākumā, tāpēc šis lēmums ir pārsteigts, bet saskaņā ar to komentē Endijs Lutomirskis kodola adresātu sarakstos jūsu darbs norit veiksmīgi un Linux kodols 4.1 būs pirmais, kurš iekļaus šo Assembler avota koda pārrakstīšanu uz C. Konkrēti, viss, kas saistīts ar iziešanu no lietotāja režīma, kas šobrīd sastāv no šo divu programmēšanas valodu kodu sajaukuma, bet, ņemot vērā tā zemo apkopi, atjaunināšanas laikā kļūst arvien sarežģītāks.

Vai tas ir kods Assembler Tas jau ilgu laiku nav atjaunināts, un tas nozīmē, ka jaunajiem izstrādātājiem nav pilnībā skaidrs tā darbība, un, kas ir vēl sliktāk, to nebūtu viegli atjaunināt. Tādējādi, tā vietā, lai mēģinātu veikt dažas daļējas izmaiņas, viņi ir izvēlējušies sākt mainīt visas šīs Assembler rutīnas uz C, un es personīgi domāju, ka, lai gan zināms izpildes ātrums var tikt zaudēts (kas var būt minimāls, ja kods C new ir efektīvs) vienmēr ir vēlams jauns un skaidrs kods, nevis novecojis un gandrīz bez atjaunināšanas iespējām jo nav labi saprotams, kā tas tika īstenots.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Migels Majols Tūrs teica

    Pirmkārt, tas ir ENSAMBLADOR, spāņu valodā.

    Otrkārt, visa valoda ir jāsastāda (vai jāinterpretē), tāpēc rezultāta labestība ir atkarīga no SASTĀDĪTĀJA (vai tulka)

    Tā kā C kompilators ir daudz uzlabojis un montētājs ļoti maz (jo tas jau bija ļoti labs), mūsdienās C sastādītas kompilētas programmas atšķirība no tās pašas, kas rakstīta montāžā, ir niecīga vai tās vispār nav (pirms tam nebija).
    Arī atšķirība starp kompilētajām (C un citām) un interpretētajām (Java un citām) programmām arī ir ievērojami samazināta.

    Tā kā daudz vieglāk uzturēt C nekā montētājs, ir ļoti pamatots lēmums veikt šīs izmaiņas kodolā, veicot izmaksu un ieguvumu analīzi, vājās vietas, draudus, stiprās puses un iespējas, vai jebkuru citu, kas darbojas.
    lēmumu pieņemšanai.

    1.    Chiguire Bipolārais teica

      Migelam Majolam Turam: Pirmkārt, katrs programmētājs, kurš lepojas ar to, ka ir viens, runā SALIKTĀJS un saprot angļu valodu. Pārējie izmanto Visual Basic un sauc sevi par programmētājiem. Kāda neraža. Un, otrkārt, montētājs NESASTĀDA. Programmas, kas to apstrādā, tieši pārveido mnemotehniku ​​uz baitiem. Programmēšana programmā Assembler ir saruna ar mašīnu tajā pašā valodā, taču, lai to padarītu mazliet vieglāku, tiek izmantoti mnemotoniķi, nevis tieši uzrakstīti attiecīgie baiti. Asemblerā ir savstarpēja atbilstība starp baitu kopu un instrukciju. Bet to, protams, zina tikai īsts programmētājs, viens no tiem, kas saka ASSEMBLER. Līdz ar to "pārveidotājā" nav uzlabojumu no montētāja līdz opkodam, jo ​​programmētājs ir atbildīgs par šī uzlabojuma veikšanu. C kompilatori (un citas valodas) tulko instrukcijas iepriekš izveidotos montētāja (vai mašīnkoda) makro attēlojumos, un uzlabojumus nodrošina tas, kā notiek šie reklāmguvumi.
      Kāpēc lietot C? Tāpēc, ka ir vieglāk pārskatīt un uzturēt to, kas ir lasāmāks. Lielākā daļa cilvēku tieši nesaprot montētāja opkodus vai mnemotehniku. Tik vienkārši.
      Es pat neuztraucos runāt par Java, kuru, lai gan tas jau sen tika uzlikts kā standarts, tagad riebjas tie, kas saprot kodu.
      Bet neticiet man, pajautājiet Google, vai tas, ko es šeit teicu, ir nepatiess.
      Sveicieni

      1.    eriugihc teica

        Sveiks, Chigüire, manas acis krīt nost no manas sejas, domājot, ka tu nespēj rakstīt spāniski, neizmantojot anglosakšu izcelsmes terminus: teikts «montētājs».
        Protams, vienā ziņā es jums piekrītu, labāk nerunāt par java, jo, lai teiktu blēņas, labāk to atstāt. Man bija draugs, kurš bija līdzīgs jums, bet galdnieks (nevis eksperts programmētājs), un viņš teica, ka labākais ir rokas zāģis un citi labākie instrumenti, nemaz nerunājot par to, ka viņš ar to pat pievilka skrūves. Kāds piemērs jāseko!

  2.   Luiss Džerardo Marins teica

    Angļu valoda vienmēr ir visu skaitļošanas terminu pamatā. Tā tas ir, pat ja mēs, spāņu valodā runājošie, to nevēlamies. Pievienojiet tam, ka ir tādi termini, kurus nevar tulkot kā "bits", "baits", "unix", "linux", "DOS" un daudzi citi. Ir daži, kurus VARētu tulkot, taču nav tādas lietas kā "CMOS", "CSS", "RAM", jo ir daži iniciāļi, kuriem nav nekāda sakara ar tehnoloģijām, un to papildina tie pat nepastāv Google. Nav jēgas tulkot, ja izveidotais ziņojums nav lasāms. Secinājums: tehniskos vai skaitļošanas jautājumos vēlams tehniskos terminus lietot angļu valodā. Tā paša iemesla dēļ: es gribētu rakstīt, ka es izmantoju “Windows”, lai teiktu, ka izmantoju operētājsistēmu “Windows”. Es gribētu runāt par CSS un to, ka es izmantoju type = »text / css, nekā mēģinu teikt, ka es izmantoju« stila lapu lapas, kuru tips ir vienāds ar diagonālām teksta stila lapām ». Veselība.

  3.   Roberto Gomess teica

    Asamblejas valodā rakstītās programmas vienmēr tiek sastādītas, nekad netiek interpretētas. Tomēr nav nekā slikta, ja Spanglish vietā lieto spāņu valodu. Īpašvārdi nekad netiek tulkoti, bet tehniskie termini ir tad, ja tie nav populāri akronīmi. Jebkurā gadījumā ikviens var runāt pēc saviem ieskatiem, kamēr mēs vēl varam saprast.