Linux çekirdeği, kodunuzun parçalarını Assembler'dan C'ye değiştirir

programlama dili c

Herkes tarafından biliniyor Assembler dili en hızlısıdır bazı sorunlar için ve bu nedenle, farklı işletim sistemlerinin çekirdeğinde en çok kullanılanıdır ve aynı şey, gelişmiş elektroniklerin kullanıldığı gerçek zamanlı projeler için de geçerlidir. Sorun daha sonra, bu kodun korunması gerektiğinde ve korunmadığında ortaya çıkar ve bu nedenle Linux çekirdeği durumunda, geliştiriciler bu Assembler kodunu C'ye çevirmeyi seçtiler..

C, en temsili Linux programlama dilidir (aslında, tüm * nix platformlarından) tarafından geliştirilmiştir. Dennis Ritchie ve Ken Thompson 1972'de bir Unix PDP-11 sisteminde yapıldı ve Unix sürüm 2'nin bir parçasıydı. Yüksek performansı ve taşınabilirliği göz önüne alındığında, işletim sistemlerinin uygulanmasında giderek daha fazla kullanılmaya başlandı ve bu nedenle Linus Torvalds 1990'da Minix'e ücretsiz ve açık bir alternatif ararken projesi için kullandı.

Tabii ki, pek çok güçlü yönüne rağmen, Assembler'ın başta da bahsettiğimiz gibi C'ye göre bazı avantajları var, bu yüzden bu karar şaşırttı ama neye göre Andy Lutomirsky'nin yorumları çekirdek posta listelerinde işiniz yolunda gidiyor ve Linux çekirdeği 4.1 Bu Assembler kaynak kodunu yeniden C'ye dahil eden ilk kişi olacak. Spesifik olarak, şu anda bu iki programlama dilinden bir kod karışımından oluşan, ancak az bakım gerektirdiği için güncelleme sırasında giderek daha karmaşık hale gelen kullanıcı moduna çıkışlarla ilgili her şey.

Bu mu Assembler'da kod Uzun zamandır güncellenmedi ve bu, yeni geliştiricilerin çalışması hakkında tamamen net olmadığı ve daha da kötüsü, güncellemenin kolay olmayacağı anlamına geliyor. Bu nedenle, bazı kısmi değişiklikleri denemek yerine, tüm bu Assembler rutinlerini C olarak değiştirmeye başlamayı seçtiler ve şahsen, bazı yürütme hızlarının kaybedilebileceğini düşünüyorum (bu, C new kodu verimli ise minimum olabilir) Yeni ve açık kod, her zaman güncelliğini yitirmiş ve neredeyse sıfır güncelleme olasılığı yerine tercih edilir çünkü nasıl uygulandığı tam olarak anlaşılamamıştır.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Miguel Mayol Tur dijo

    Birincisi, İspanyolca ENSAMBLADOR.

    İkinci olarak, tüm dil DERLENMELİ (veya yorumlanmış) olmalıdır, bu nedenle sonucun iyiliği DERLEYİCİYE (veya tercümana) bağlıdır.

    C derleyicisi çok geliştiğinden ve assembler çok az geliştirdiğinden (çünkü zaten çok iyiydi), günümüzde C ile yazılmış derlenmiş bir programın, assembler'da yazılanla karşılaştırıldığında farkı önemsizdir veya yoktur (değildi) t önce).
    Derlenmiş (C ve diğerleri) ve yorumlanan (Java ve diğerleri) programlar arasındaki fark bile büyük ölçüde azaltılmıştır.

    Dolayısıyla, C'yi sürdürmek assembler'dan çok daha kolay olduğundan, bu değişiklikleri çekirdekte, bir maliyet-fayda analizi, zayıf yönler, tehditler, güçlü yönler ve fırsatlar veya işe yarayan başka herhangi bir şey yaparken yapmak çok sağlam bir karardır.
    karar vermek için.

    1.    Bipolar Kapibara dijo

      Miguel Mayol Tur'a: Öncelikle, olduğunu iddia eden her programcı ASSEMBLER konuşuyor ve İngilizce'yi anlıyor. Diğerleri Visual Basic kullanıyor ve kendilerine programcı diyorlar. Ne utanç. Ve ikinci olarak, Assembler DERLEME YAPMAZ. Bununla ilgilenen programların yaptığı şey, anımsatıcıları doğrudan bayta dönüştürmektir. Assembler'da programlama, makineyle aynı dilde konuşmaktır, ancak biraz daha kolay hale getirmek için, doğrudan karşılık gelen baytları yazmak yerine anımsatıcılar kullanılır. Bir bayt kümesi ile Assembler'daki bir talimat arasında bire bir yazışma vardır. Ama bunu tabii ki sadece gerçek bir programcı bilir, ASSEMBLER diyenlerden biri. Sonuç olarak, derleyiciden işlem kodlarına "dönüştürücü" için hiçbir iyileştirme yoktur, çünkü programcı bu geliştirmeyi yapmaktan sorumludur. C derleyicileri (ve diğer diller) talimatları, assembler'ın (veya makine kodunun) önceden belirlenmiş makro gösterimlerine çevirir ve iyileştirmeler, bu dönüşümlerin nasıl olduğuna göre verilir.
      Neden C kullanıyorsunuz? Çünkü daha okunaklı bir şeyi gözden geçirmek ve sürdürmek daha kolaydır. Çoğu insan assembler işlem kodlarını veya anımsatıcıları doğrudan anlamaz. Bu kadar basit.
      Uzun zaman önce bir standart olarak empoze edilmesine rağmen, şimdi kodu anlayanlar tarafından tiksindirilen Java hakkında konuşmaya bile zahmet etmeyeceğim.
      Ama bana inanmayın, Google'a burada söylediklerimin yanlış olup olmadığını sorun.
      selamlar

      1.    eriugihc dijo

        Merhaba Chigüire, Anglo-Sakson kökenli terimler kullanmadan İspanyolca yazamayacağınızı düşünerek gözlerim yüzümden düşüyor: "assembler" deniyor.
        Tabii ki, bir konuda sana katılıyorum, java hakkında konuşmasan iyi olur çünkü saçma sapan demek için onu bırakmak daha iyidir. Senin gibi ama bir marangoz olan (uzman bir programcı olmayan) bir arkadaşım vardı ve en iyi şeyin testere ve diğer aletler olduğunu söyledi, bahsetmeye gerek yok, vidaları bile sıktı. İzlenecek ne örnek!

  2.   Luis Gerardo Marín dijo

    İngilizce dili her zaman tüm hesaplama terimlerinin temelini oluşturur. Biz İspanyolca konuşanlar istemesek bile böyledir. Buna, "bit", "bayt", "unix", "linux", "DOS" ve diğerleri olarak çevrilemeyen terimler olduğunu da ekleyin. Ve çevrilebilecek bazı şeyler var ama "CMOS", "CSS", "RAM" gibi durumlar yok çünkü teknolojiyle hiçbir ilgisi olmayan bazı baş harfler var ve üstelik Google'da bile yok . Üretilen mesaj okunamadığında tercüme etmenin bir anlamı yoktur. Sonuç: Teknik veya sayısal konularda İngilizce teknik terimlerin kullanılması tercih edilir. Aynı sebepten dolayı: İşletim sistemi "windows" u kullandığımı söylemek için "windows" kullandığımı yazmayı tercih ederim. Ve CSS hakkında konuşmayı tercih ederim ve "diyagonal metin stil sayfalarına eşit tipte stil sayfası sayfaları" kullandığımı söylemektense yazım = »text / css kullanmayı tercih ederim. Sağlık.

  3.   Roberto Gomez dijo

    Bir assembly dilinde yazılmış programlar her zaman derlenir, asla yorumlanmaz. Ancak, Spanglish yerine İspanyolca kullanmanın yanlış bir tarafı yoktur. Uygun isimler asla tercüme edilmez, ancak teknik terimler popüler kısaltmalar olmadıkları zamandır. Her neyse, biz hala anlayabiliyorken herkes istediği gibi konuşabilir.