Kerneli Linux ndryshon pjesë të kodit tuaj nga Assembler në C

gjuhë programimi c

Dihet nga të gjithë është se Gjuha e mbledhësit është më e shpejta për disa çështje dhe për këtë arsye është më e përdorura në bërthamë të sistemeve të ndryshme operative dhe e njëjta gjë ndodh për projekte në kohë reale ku përdoren elektronikë të përparuar. Problemi vjen më vonë, kur ai kod duhet të mirëmbahet dhe nuk është kështu, dhe për këtë arsye Në rastin e kernelit Linux, zhvilluesit kanë zgjedhur ta përkthejnë atë kod Assembler në C.

C është gjuha më përfaqësuese e programimit Linux (në të vërtetë, nga të gjitha platformat * nix), është zhvilluar nga Dennis Ritchie dhe Ken Thompson në 1972, u bë në një sistem Unix PDP-11 dhe ishte pjesë e versionit Unix 2. Duke pasur parasysh performancën dhe transportueshmërinë e tij të lartë, ai filloi të përdoret gjithnjë e më shumë në zbatimin e sistemeve operative dhe për këtë arsye Linus Torvalds Ai e përdori atë për projektin e tij kur në vitin 1990 ai po kërkonte një alternativë falas dhe të hapur ndaj Minix.

Sigurisht, përkundër kaq shumë pikave të forta, Assembler ka disa përparësi ndaj C siç përmendëm në fillim, kështu që ky vendim ka befasuar, por sipas asaj që komenton Andy Lutomirsky në listat e postave të kernelit puna juaj është duke u zhvilluar dhe Kerneli Linux 4.1 do të jetë i pari që do të përfshijë këtë kod burimor të Assembler që rishkruhet në C. Në mënyrë të veçantë, gjithçka që lidhet me daljet në modalitetin e përdoruesit, e cila aktualisht përbëhet nga një përzierje e kodit nga këto dy gjuhë programimi, por që, duke pasur parasysh mirëmbajtjen e tij të ulët, është gjithnjë e më e komplikuar kur azhurnohet.

A është kjo kodi në Assembler Nuk është azhurnuar për një kohë të gjatë dhe kjo do të thotë që zhvilluesit e rinj nuk janë plotësisht të qartë për funksionimin e tij, dhe çka është më keq, nuk do të ishte e lehtë për ta azhurnuar atë. Kështu, në vend që të provojnë disa ndryshime të pjesshme, ata kanë zgjedhur të fillojnë të ndryshojnë të gjitha ato rutinat e Assembler në C, dhe personalisht mendoj se megjithëse mund të humbet ndonjë shpejtësi ekzekutimi (e cila mund të jetë minimale nëse kodi C i ri është efikas) kodi i ri dhe i qartë është gjithmonë i preferuar për ta pasur atë të vjetëruar dhe me pothuajse asnjë mundësi azhurnimi sepse nuk kuptohet mirë se si është zbatuar.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Miguel Mayol Tur dijo

    Në radhë të parë është ENSAMBLADOR, në spanjisht.

    Së dyti, e gjithë gjuha duhet të përpilohet (ose interpretohet), kështu që mirësia e rezultatit varet nga PILRBERRSI (ose interpretuesi)

    Meqenëse përpiluesi C është përmirësuar shumë dhe montuesi një shumë pak (sepse tashmë ishte shumë i mirë), në ditët e sotme ndryshimi i një programi të përpiluar të shkruar në C krahasuar me të njëjtin i shkruar në montues është i papërfillshëm ose inekzistent (para tij nuk ishte)
    Edhe ndryshimi midis programeve të përpiluar (C dhe të tjerët) dhe të interpretuar (Java dhe të tjerët) gjithashtu është minimizuar shumë.

    Pra, duke qenë shumë më e lehtë për të ruajtur C sesa montuesi, është një vendim shumë i shëndoshë për të bërë këto ndryshime në bërthamë, kur bëni një analizë të përfitimit të kostos, dobësitë, kërcënimet, pikat e forta dhe mundësitë, ose ndonjë tjetër që funksionon.
    për vendimmarrje.

    1.    Chigüire Bipolare dijo

      Për Miguel Mayol Tur: Para së gjithash, çdo programues që mburret se është një i tillë, flet ASSEMBLER dhe kupton anglisht. Të tjerët përdorin Visual Basic dhe e quajnë veten programues. Sa turp. Dhe së dyti Assembler NUK KOMPILOHET. Ajo që bëjnë programet që e trajtojnë është të shndërrojë menemonikën në bajt direkt. Programimi në Assembler po flet me makinerinë në të njëjtën gjuhë, por për ta bërë atë pak më të lehtë, përdoren mnemonikët në vend që të shkruajnë direkt bajtet përkatëse. Ekziston një korrespondencë një me një midis një grupi bajtesh dhe një udhëzimi në Assembler. Por këtë, natyrisht, e di vetëm një programues i vërtetë, një nga ata që thonë ASSEMBLER. Si pasojë, nuk ka përmirësime në "konvertuesin" nga montuesi në opcodes sepse programuesi është përgjegjës për ta bërë atë përmirësim. Përpiluesit C (dhe gjuhë të tjera) përkthejnë udhëzimet në përfaqësime makro të paracaktuara të asemblerit (ose kodi i makinës) dhe përmirësimet jepen nga mënyra se si janë ato shndërrime.
      Pse të përdorim C? Sepse është më lehtë të rishikosh dhe të mirëmbahe diçka që është më e lexueshme. Shumica e njerëzve nuk i kuptojnë drejtpërsëdrejti kodet ose memonikën e mbledhësit. Aq e thjeshtë sa ajo.
      Unë nuk do të shqetësohem të flas për Java, e cila edhe pse u vendos si standard shumë kohë më parë, tani urrehet nga ata që e kuptojnë kodin.
      Por mos më besoni, pyesni Google nëse ato që thashë këtu janë të rreme.
      të fala

      1.    eriugihc dijo

        Përshëndetje Chigüire, sytë më bien nga fytyra duke menduar se nuk je në gjendje të shkruash në spanjisht pa përdorur terma me origjinë anglo-saksone: thuhet «assembler».
        Sigurisht, në një gjë jam dakord me ty, më mirë të mos flasësh për java sepse të thuash marrëzira është më mirë ta lësh. Unë kisha një mik i cili ishte si ti por një marangoz (jo një programues ekspert) dhe ai tha se gjëja më e mirë ishte sharrë dore dhe mjetet e tjera më të mira për të mos përmendur ai madje shtrëngoi vida me të. Çfarë shembulli për të ndjekur!

  2.   Luis Gerardo Marín dijo

    Gjuha angleze është gjithmonë në rrënjën e të gjitha termave llogaritës. Kështu është, edhe nëse spanjishtfolësit nuk e duam. Shtoji kësaj se ka terma që nuk mund të përkthehen si "bit", "byte", "unix", "linux", "DOS" dhe shumë të tjerë. Dhe ka disa që mund të përkthehen, por nuk ka asnjë rast si "CMOS", "CSS", "RAM" sepse ka disa iniciale që nuk kanë asnjë lidhje me teknologjinë dhe për ta përmbushur ato nuk ekzistojnë as në Google . Nuk ka kuptim të përkthehet kur mesazhi i prodhuar është i palexueshëm. Përfundim: issuesshtë e preferueshme që çështjet teknike ose llogaritëse të përdorin terma teknikë në anglisht. Për të njëjtën arsye: Unë preferoj të shkruaj se përdor "windows" për të thënë që përdor "windows" të sistemit operativ. Dhe preferoj të flas për CSS dhe që përdor type = »text / css sesa të përpiqem të them se përdor« fletë stili me tip të barabartë me fletët e stilit diagonal të tekstit ». Shëndeti

  3.   Roberto Gomez dijo

    Programet e shkruara në një gjuhë asamble hartohen gjithmonë, dhe nuk interpretohen kurrë. Sidoqoftë, nuk ka asgjë të keqe në përdorimin e Spanjishtes në vend të Spanglish. Emrat e duhur nuk përkthehen kurrë, por termat teknikë janë kur nuk janë shkurtesa të njohura. Gjithsesi, të gjithë mund të flasin si të duan, ndërsa ne ende mund ta kuptojmë.