Ядрото на Linux променя части от вашия код от Assembler на C

език за програмиране c

Известно от всички е това Езикът на асемблера е най-бърз по някои проблеми и поради тази причина той е най-използваният в ядрото на различните операционни системи и същото се случва за проекти в реално време, където се използва усъвършенствана електроника. Проблемът идва по-късно, когато този код трябва да се поддържа и той не е, и следователно в случая на ядрото на Linux разработчиците са избрали да преведат този код на Assembler в C.

C е най-представителният език за програмиране на Linux (всъщност от всички * nix платформи) той е разработен от Денис Ричи и Кен Томпсън през 1972 г., той е направен на Unix PDP-11 система и е част от Unix версия 2. Предвид високата си производителност и преносимост, той започва да се използва все повече и повече при внедряването на операционни системи и следователно Линус Торвалдс Той го използва за своя проект, когато през 1990 г. търси безплатна и отворена алтернатива на Minix.

Разбира се, въпреки толкова много силни страни, Assembler има някои предимства пред C, както споменахме в началото, така че това решение изненада, но според това, което коментира Анди Лутомирски в пощенските списъци на ядрото вашата работа е в ход и Ядро на Linux 4.1 ще бъде първият, който ще включи този презапис на изходния код на Assembler в C. По-конкретно, всичко, свързано с излизане от потребителски режим, който в момента се състои от смес от код от тези два езика за програмиране, но което, поради ниската си поддръжка, е все по-сложно при актуализиране.

Това ли е код в Асемблер Той не е актуализиран отдавна и това означава, че новите разработчици не са напълно ясни за неговата работа и, което е по-лошо, не би било лесно да го актуализирате. По този начин, вместо да опитат някаква частична промяна, те са избрали да започнат да променят всички тези подпрограми на Assembler на C и лично аз мисля, че въпреки че може да се загуби известна скорост на изпълнение (което може да е минимално, ако кодът C нов е ефективен) нов и ясен код винаги е за предпочитане пред неговото остаряване и с почти нулеви възможности за актуализиране защото не е добре разбрано как е приложено.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Мигел Майол Тур каза той

    На първо място това е ENSAMBLADOR, на испански.

    На второ място, всички езици трябва да бъдат СЪСТАВЕНИ (или тълкувани), така че добротата на резултата зависи от СЪСТАВИТЕЛЯ (или преводача)

    Тъй като компилаторът C се е подобрил много, а асемблерът - много малко (тъй като вече беше много добър), в днешно време разликата в компилирана програма, написана на C, в сравнение със същата, написана в асемблер, е незначителна или не съществува (преди нея не беше).
    Дори разликата между компилираните (C и други) и интерпретираните (Java и други) програми също е значително намалена.

    Тъй като е много по-лесно да се поддържа C, отколкото асемблер, много разумно решение е да направите тези промени в ядрото, когато правите анализ на разходите и ползите, слабости, заплахи, силни страни и възможности или други, които работят.
    за вземане на решения.

    1.    Chigüire биполярно каза той

      На Мигел Майол Тур: На първо място, всеки програмист, който твърди, че е такъв, говори ASSEMBLER и разбира английски. Останалите използват Visual Basic и се наричат ​​програмисти. Какъв срам. И второ Асемблерът НЕ СЕ СЪСТАВЯ. Това, което правят програмите, които се занимават с това, е да преобразуват мнемоника в байтове директно. Програмирането в Assembler говори на машината на същия език, но за да бъде малко по-лесно се използват мнемоника, вместо директно записване на съответните байтове. Съществува индивидуална кореспонденция между набор от байтове и инструкция в Assembler. Но това, разбира се, знае само истински програмист, един от онези, които казват ASSEMBLER. Следователно няма подобрения в "конвертора" от асемблер към кодове за работа, защото програмистът е отговорен за това подобрение. C компилаторите (и други езици) превеждат инструкциите в предварително установени макропредставления на асемблер (или машинен код) и подобренията се дават от това как са тези преобразувания.
      Защо да използвам C? Защото е по-лесно да прегледате и поддържате нещо, което е по-четливо. Повечето хора не разбират директно асемблерни операционни кодове или мнемоника. Толкова просто.
      Дори няма да си направя труда да говоря за Java, която, въпреки че беше наложена като стандарт преди много време, сега е омразна от тези, които разбират кода.
      Но не ми вярвайте, попитайте Google дали това, което казах тук, е невярно.
      поздрави

      1.    eriugihc каза той

        Здравейте Chigüire, очите ми падат от лицето ми, мислейки, че не сте способни да пишете на испански, без да използвате термини от англосаксонски произход: казва се «асемблер».
        Разбира се, в едно нещо съм съгласен с теб, по-добре не говори за Java, защото за да кажеш глупости, по-добре го остави. Имах приятел, който беше като теб, но дърводелец (а не експерт програмист) и той каза, че най-хубавото е ръчната триона и другите по-добри инструменти, да не говорим, че дори затегна винтовете с нея. Какъв пример за подражание!

  2.   Луис Херардо Марин каза той

    Английският език винаги е в основата на всички изчислителни термини. Така е, дори ако ние, испаноезичните, не го искаме. Добавете към това, че има термини, които не могат да бъдат преведени като "бит", "байт", "unix", "linux", "DOS" и много други. И има някои, които МОГАТ да бъдат преведени, но няма случай като "CMOS", "CSS", "RAM", защото има някои инициали, които нямат нищо общо с технологията и в допълнение, те дори не съществуват в Google . Няма смисъл да се превежда, когато произведеното съобщение е нечетливо. Заключение: За предпочитане е технически или изчислителни проблеми да се използват технически термини на английски език. По същата причина: предпочитам да напиша, че използвам "windows", за да кажа, че използвам операционната система "windows". И предпочитам да говоря за CSS и че използвам type = »text / css, отколкото да се опитвам да кажа, че използвам« таблици със стилове с тип, равен на диагонални текстови таблици със стилове ». Здраве.

  3.   Роберто Гомес каза той

    Програмите, написани на асемблерен език, винаги се компилират, никога не се интерпретират. Както и да е, няма нищо лошо в използването на испански вместо испански. Собствените имена никога не се превеждат, но техническите термини са, когато не са популярни съкращения. Както и да е, всеки може да говори както си иска, докато все още можем да разберем.