Kernel Linux mengubah bahagian kod anda dari Assembler menjadi C

bahasa pengaturcaraan c

Yang diketahui oleh semua itu Bahasa penghimpun adalah yang terpantas untuk beberapa masalah dan untuk sebab ini ia adalah yang paling banyak digunakan dalam kernel sistem operasi yang berbeza dan perkara yang sama berlaku untuk projek masa nyata di mana elektronik canggih digunakan. Masalahnya muncul kemudian, apabila kod itu perlu dipelihara dan tidak, dan oleh itu Dalam kes kernel Linux, para pembangun telah memilih untuk menerjemahkan kod Assembler ke C.

C adalah bahasa pengaturcaraan Linux yang paling mewakili (sebenarnya, dari semua platform * nix), ia dibangunkan oleh Dennis Ritchie dan Ken Thompson pada tahun 1972, ia dibuat pada sistem Unix PDP-11 dan merupakan sebahagian daripada Unix versi 2. Memandangkan prestasi dan mudah alihnya yang tinggi, ia mula digunakan semakin banyak dalam pelaksanaan sistem operasi dan oleh itu Linus Torvalds Dia menggunakannya untuk projeknya ketika kembali pada tahun 1990 dia mencari alternatif bebas dan terbuka untuk Minix.

Sudah tentu, walaupun terdapat banyak kekuatan, Assembler memiliki beberapa kelebihan berbanding C seperti yang kami sebutkan di awal, jadi keputusan ini mengejutkan tetapi menurut apa komen Andy Lutomirsky pada senarai kernel mel kerja anda sedang berjalan lancar dan Kernel Linux 4.1 akan menjadi yang pertama memasukkan penulisan semula kod sumber Assembler ini ke C. Khususnya, semua yang berkaitan dengan jalan keluar ke mod pengguna, yang pada masa ini terdiri daripada campuran kod dari kedua bahasa pengaturcaraan ini tetapi yang, memandangkan penyelenggaraannya yang rendah, semakin rumit ketika mengemas kini.

Adakah itu kod dalam Assembler Itu belum lama dikemas kini dan itu bermaksud bahawa pembangun baru tidak begitu jelas mengenai operasinya, dan yang lebih buruk lagi, tidak mudah untuk memperbaruinya. Oleh itu, daripada mencuba perubahan separa, mereka telah memilih untuk mula mengubah semua rutin Assembler menjadi C, dan secara peribadi saya berpendapat bahawa walaupun beberapa kelajuan pelaksanaan mungkin hilang (yang mungkin minimum jika kod C baru cekap) kod baru dan jelas selalu lebih baik jika ia sudah usang dan dengan kemungkinan hampir tidak ada kemas kini kerana tidak difahami dengan baik bagaimana ia dilaksanakan.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Miguel Mayol Tur kata

    Di tempat pertama adalah ENSAMBLADOR, dalam bahasa Sepanyol.

    Kedua, semua bahasa mesti DIPERTANDINGKAN (atau ditafsirkan), jadi kebaikan hasilnya bergantung pada KOMPILER (atau jurubahasa)

    Oleh kerana penyusun C telah bertambah banyak dan penyusunnya sangat sedikit (kerana sudah sangat baik), sekarang ini perbezaan program yang disusun ditulis dalam C berbanding yang sama yang ditulis dalam assembler diabaikan atau tidak ada (sebelum itu tidak).
    Bahkan perbezaan antara program yang disusun (C dan lain-lain) dan yang ditafsirkan (Java dan lain-lain) juga telah diminimumkan.

    Oleh itu, menjadi lebih mudah untuk mengekalkan C daripada assembler, adalah keputusan yang sangat tepat untuk membuat perubahan dalam kernel ini, ketika melakukan analisis keuntungan, kelemahan, ancaman, kekuatan dan peluang atau apa-apa yang berfungsi.
    untuk membuat keputusan.

    1.    Kapibara bipolar kata

      Kepada Miguel Mayol Tur: Pertama sekali, setiap pengaturcara yang mengaku dirinya bertutur BERSATU dan memahami Bahasa Inggeris. Yang lain menggunakan Visual Basic dan menggelar diri mereka sebagai pengaturcara. Memalukan. Dan kedua, Assembler TIDAK BERGANDA. Apa yang dilakukan oleh program yang menanganinya ialah menukar mnemonik menjadi bait secara langsung. Pengaturcaraan dalam Assembler berbicara dengan mesin dalam bahasa yang sama, tetapi untuk membuatnya lebih mudah, mnemonik digunakan dan bukannya secara langsung menulis bait yang sesuai. Terdapat korespondensi satu lawan satu antara satu set bait dan arahan dalam Assembler. Tetapi ini, tentu saja, hanya pengaturcara sebenar yang tahu, salah satu daripada mereka yang mengatakan BERSATU. Akibatnya, tidak ada penambahbaikan pada "converter" dari assembler ke opcodes kerana pengaturcara bertanggungjawab untuk melakukan peningkatan tersebut. Penyusun C (dan bahasa lain) menerjemahkan arahan ke dalam representasi makro assembler (atau kod mesin) yang telah ditetapkan dan penambahbaikan diberikan oleh bagaimana penukaran tersebut.
      Mengapa menggunakan C? Kerana lebih senang mengkaji dan mengekalkan sesuatu yang lebih mudah dibaca. Sebilangan besar orang tidak memahami secara langsung opcode dan mnemonics assembler. Semudah itu.
      Saya tidak akan repot-repot membicarakan tentang Java, yang walaupun sudah lama diberlakukan sebagai standar, kini dibenci oleh mereka yang memahami kod.
      Tetapi jangan percaya, tanya Google jika apa yang saya katakan di sini adalah salah.
      salam

      1.    eriugihc kata

        Halo Chigüire, mata saya jatuh dari wajah saya memikirkan bahawa anda tidak dapat menulis dalam bahasa Sepanyol tanpa menggunakan istilah asal Anglo-Saxon: dikatakan «assembler».
        Sudah tentu, dalam satu perkara saya setuju dengan anda, lebih baik tidak membicarakan java kerana mengatakan omong kosong adalah lebih baik meninggalkannya. Saya mempunyai rakan yang seperti anda tetapi tukang kayu (bukan pengaturcara pakar) dan dia mengatakan bahawa yang terbaik adalah gergaji tangan dan alat lain, apatah lagi, dia malah mengetatkan skru dengannya. Apa contoh yang perlu diikuti!

  2.   Luis Gerardo Marín kata

    Bahasa Inggeris selalu menjadi asas kepada semua istilah pengiraan. Begitulah keadaannya, walaupun kita penutur bahasa Sepanyol tidak menginginkannya. Tambahkan ini bahawa ada istilah yang tidak dapat diterjemahkan sebagai "bit", "byte", "unix", "linux", "DOS" dan banyak lagi. Dan ada beberapa yang BOLEH diterjemahkan tetapi tidak ada perkara seperti "CMOS", "CSS", "RAM" kerana ada beberapa inisial yang tidak ada kaitan dengan teknologi dan untuk menyelesaikannya mereka bahkan tidak ada di Google. Tidak ada gunanya menerjemahkan apabila mesej yang dihasilkan tidak dapat dibaca. Kesimpulan: Sebaiknya masalah teknikal atau komputasi menggunakan istilah teknikal dalam bahasa Inggeris. Atas sebab yang sama: Saya lebih suka menulis bahawa saya menggunakan "windows" untuk mengatakan bahawa saya menggunakan "windows" sistem operasi. Dan saya lebih suka bercakap mengenai CSS dan saya menggunakan type = »text / css daripada cuba mengatakan bahawa saya menggunakan« style sheet sheet dengan jenis yang sama dengan pepenjuru gaya teks ». Kesihatan.

  3.   Roberto Gomez kata

    Program yang ditulis dalam bahasa perhimpunan selalu disusun, tidak pernah ditafsirkan. Namun, tidak ada salahnya menggunakan bahasa Sepanyol dan bukannya Spanglish. Nama yang betul tidak pernah diterjemahkan, tetapi istilah teknikal adalah apabila nama tersebut bukan akronim yang popular. Bagaimanapun, semua orang boleh bercakap sesuka hati sementara kita masih dapat memahami.