Kernel Linux mengubah bagian kode Anda dari Assembler ke C

bahasa pemrograman c

Diketahui oleh semua itu Bahasa Assembler adalah yang tercepat untuk beberapa masalah dan untuk alasan ini, ini adalah yang paling banyak digunakan di kernel dari sistem operasi yang berbeda dan hal yang sama terjadi untuk proyek waktu nyata di mana elektronik canggih digunakan. Masalahnya datang kemudian, ketika kode itu perlu dipertahankan dan ternyata tidak, dan oleh karena itu dalam kasus kernel Linux, pengembang telah memilih untuk menerjemahkan kode Assembler ini ke C.

C adalah bahasa pemrograman Linux yang paling representatif (sebenarnya, dari semua platform * nix), itu dikembangkan oleh Dennis Ritchie dan Ken Thompson pada tahun 1972, itu dibuat pada sistem Unix PDP-11 dan merupakan bagian dari Unix versi 2. Mengingat kinerja dan portabilitasnya yang tinggi, itu mulai lebih banyak digunakan dalam implementasi sistem operasi dan oleh karena itu Linus Torvalds Dia menggunakannya untuk proyeknya ketika pada tahun 1990 dia mencari alternatif yang gratis dan terbuka untuk Minix.

Tentu saja, meski memiliki banyak kekuatan, Assembler memiliki beberapa keunggulan dibandingkan C seperti yang kami sebutkan di awal, jadi keputusan ini mengejutkan tetapi menurut apa komentar Andy Lutomirsky di milis kernel, pekerjaan Anda sedang berjalan dan Kernel Linux 4.1 akan menjadi orang pertama yang menggabungkan penulisan ulang kode sumber Assembler ini ke C. Secara khusus, segala sesuatu yang terkait dengan keluar ke mode pengguna, yang saat ini terdiri dari campuran kode dari dua bahasa pemrograman ini, tetapi karena pemeliharaannya yang rendah, semakin rumit saat memperbarui.

Apakah itu kode di Assembler Itu belum diperbarui untuk waktu yang lama dan itu berarti bahwa pengembang baru tidak sepenuhnya jelas tentang operasinya, dan yang lebih buruk, tidak akan mudah untuk memperbaruinya. Jadi, alih-alih mencoba beberapa perubahan parsial, mereka memilih untuk mulai mengubah semua rutinitas Assembler ke C, dan secara pribadi saya berpikir bahwa meskipun beberapa kecepatan eksekusi mungkin hilang (yang mungkin minimal jika kode C baru efisien) kode baru dan jelas selalu lebih disukai daripada yang sudah kadaluwarsa dan dengan hampir nol kemungkinan pembaruan karena tidak dipahami dengan baik bagaimana penerapannya.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

      Miguel Mayol Tur dijo

    Pertama-tama adalah ENSAMBLADOR, dalam bahasa Spanyol.

    Kedua, semua bahasa harus DIISI (atau diinterpretasikan), jadi kebaikan hasil tergantung pada PENYUSUN (atau juru bahasa)

    Karena kompiler C telah berkembang pesat dan assembler sangat sedikit (karena sudah sangat bagus), saat ini perbedaan program yang dikompilasi yang ditulis dalam C dibandingkan dengan program yang sama yang ditulis dalam assembler dapat diabaikan atau tidak ada (sebelumnya tidak).
    Bahkan perbedaan antara program yang dikompilasi (C dan lainnya) dan ditafsirkan (Java dan lainnya) juga telah sangat diminimalkan.

    Jadi lebih mudah untuk mempertahankan C daripada assembler, itu adalah keputusan yang sangat baik untuk membuat perubahan ini di kernel, ketika melakukan analisis manfaat biaya, kelemahan, ancaman, kekuatan dan peluang atau lainnya yang berhasil.
    untuk pengambilan keputusan.

         Kapibara Bipolar dijo

      Kepada Miguel Mayol Tur: Pertama-tama, setiap programmer yang mengaku sebagai salah satunya berbicara ASSEMBLER dan mengerti bahasa Inggris. Yang lain menggunakan Visual Basic dan menyebut diri mereka programmer. Sayang sekali. Dan kedua, Assembler TIDAK SELESAI. Apa program yang menanganinya lakukan adalah mengubah mnemonik menjadi byte secara langsung. Pemrograman di Assembler berbicara ke mesin dalam bahasa yang sama, tetapi untuk membuatnya lebih mudah, digunakan mnemonik daripada langsung menulis byte yang sesuai. Ada korespondensi satu-ke-satu antara satu set byte dan instruksi di Assembler. Tapi ini, tentu saja, hanya programmer sungguhan yang tahu, salah satunya yang mengatakan ASSEMBLER. Akibatnya, tidak ada perbaikan pada "converter" dari assembler ke opcode karena programmer yang bertugas melakukan perbaikan tersebut. Kompiler C (dan bahasa lain) menerjemahkan instruksi ke dalam representasi makro yang telah ditetapkan sebelumnya dari assembler (atau kode mesin) dan peningkatan diberikan oleh bagaimana konversi tersebut.
      Mengapa menggunakan C? Karena lebih mudah mereview dan memelihara sesuatu yang lebih mudah dibaca. Kebanyakan orang tidak secara langsung memahami opcode atau mnemonik assembler. Sederhana seperti itu.
      Saya bahkan tidak akan repot-repot berbicara tentang Java, yang meskipun sudah lama diberlakukan sebagai standar, sekarang dibenci oleh mereka yang mengerti kode.
      Tapi jangan percaya saya, tanya Google apakah yang saya katakan di sini salah.
      salam

           eriugihc dijo

        Halo Chigüire, mata saya jatuh dari wajah saya berpikir bahwa Anda tidak dapat menulis dalam bahasa Spanyol tanpa menggunakan istilah-istilah yang berasal dari Anglo-Saxon: dikatakan "assembler".
        Tentu saja, dalam satu hal saya setuju dengan Anda, lebih baik tidak berbicara tentang java karena untuk mengatakan omong kosong lebih baik biarkan saja. Saya memiliki seorang teman yang seperti Anda tetapi seorang tukang kayu (bukan pemrogram ahli) dan dia mengatakan bahwa yang terbaik adalah gergaji tangan dan alat-alat lainnya, belum lagi, dia bahkan mengencangkan sekrup dengan itu. Benar-benar teladan yang harus diikuti!

      Luis Gerardo Marina dijo

    Bahasa Inggris selalu menjadi akar dari semua istilah komputasi. Begitulah adanya, bahkan jika kita penutur bahasa Spanyol tidak menginginkannya. Tambahkan ke ini bahwa ada istilah yang tidak dapat diterjemahkan sebagai "bit", "byte", "unix", "linux", "DOS" dan banyak lainnya. Dan ada beberapa yang DAPAT diterjemahkan tetapi tidak ada kasus seperti "CMOS", "CSS", "RAM" karena ada beberapa inisial yang tidak ada hubungannya dengan teknologi dan terlebih lagi mereka bahkan tidak ada di Google . Tidak ada gunanya menerjemahkan ketika pesan yang dihasilkan tidak dapat dibaca. Kesimpulan: Lebih baik untuk masalah teknis atau komputasi menggunakan istilah teknis dalam bahasa Inggris. Untuk alasan yang sama: Saya lebih suka menulis bahwa saya menggunakan "windows" untuk mengatakan bahwa saya menggunakan sistem operasi "windows". Dan saya lebih suka berbicara tentang CSS dan yang saya gunakan type = »text / css daripada mencoba mengatakan bahwa saya menggunakan« style sheet sheets dengan tipe yang sama dengan style sheets teks diagonal ». Kesehatan.

      Roberto Gomez dijo

    Program yang ditulis dalam bahasa assembly selalu dikompilasi, tidak pernah diinterpretasikan. Namun, tidak ada salahnya menggunakan bahasa Spanyol daripada Spanglish. Nama yang tepat tidak pernah diterjemahkan, tetapi istilah teknis adalah akronim yang tidak populer. Bagaimanapun, semua orang bisa berbicara sesuka mereka sementara kita masih bisa mengerti.