Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Tertanam

Mengapa pengembang bare-metal pindah ke sistem operasi

Melihat kembali 'Usia Bare-Metal'

Pertama kali saya tahu tentang perangkat lunak tertanam adalah sekitar tahun 2008, saya adalah seorang mahasiswa tahun kedua dan mulai belajar tentang pemrograman pada chip 51. Karena saya mengambil jurusan ilmu komputer, sebagian besar program saya dijalankan di PC. Itu adalah pengalaman yang sama sekali berbeda untuk melihat program berjalan di atas papan bare-metal, dan saya masih dapat mengingat kegembiraan ketika program lampu sepeda pertama saya berjalan dengan sukses. Namun, semakin banyak program bare-metal yang saya tulis, semakin banyak masalah yang saya temui. Saya merangkumnya sebagai berikut: 

Konkurensi

Untuk program bare-metal, pasti ada loop 'sementara (1)' yang sangat besar, yang berisi hampir semua logika transaksi dari keseluruhan proyek. Setiap transaksi memanggil satu atau lebih fungsi penundaan dan mereka dieksekusi secara serial ketika CPU menjalankan fungsi penundaan, sisa transaksi harus menunggu. Dengan cara ini, banyak waktu CPU yang terbuang pada loop kosong, yang menyebabkan konkurensi yang cukup rendah.

Modularitas

Dari perspektif proyek perangkat lunak, prinsip kohesi tinggi dan kopling rendah selalu ditekankan selama proses pengembangan. Namun, modul dalam perangkat lunak bare-metal biasanya sangat bergantung satu sama lain, tidak nyaman untuk merancang perangkat lunak dengan kopling rendah, yang menyulitkan pengembangan proyek besar pada papan bare-metal. Misalnya:

Ekosistem

Banyak komponen perangkat lunak tingkat lanjut harus bergantung pada implementasi sistem operasi tingkat bawah. Misalnya:

Waktu-Nyata

Kemampuan real-time diperlukan untuk beberapa bidang aplikasi. Dalam situasi ini, beberapa langkah penting dari perangkat lunak harus dipicu pada waktu tertentu. Untuk kontrol industri, perangkat mekanis harus menyelesaikan tindakan dalam urutan dan waktu yang telah ditentukan sebelumnya. Jika kemampuan real-time tidak dapat dipastikan, akan menyebabkan malfungsi, yang dapat membahayakan nyawa pekerja. Pada platform bare-metal, ketika semua fungsi di-jam menjadi satu loop besar 'sementara (1)', mustahil untuk mempertahankan kemampuan real-time.

Dapat digunakan kembali

Reusability tergantung pada modularitas secara langsung. Saya yakin tidak ada orang yang ingin melakukan pekerjaan yang sama berulang kali, terutama saat menulis kode. Tetapi pada berbagai platform perangkat keras dengan chip yang berbeda, fungsi yang sama harus disesuaikan dengan perangkat keras yang berbeda, yang implementasinya sangat bergantung pada perangkat keras tingkat rendah. Tidak dapat dihindari untuk membangun kembali roda.

Kelebihan sistem operasi

Itu sekitar tahun 2010 ketika saya pertama kali menggunakan sistem operasi. Rangkaian MCU STM32 mulai populer. Dengan fitur-fitur canggih, banyak orang menjalankan sistem operasi pada mereka. Saya kemudian menggunakan sistem operasi RT-Thread yang tersedia banyak komponen siap pakai. Dibandingkan dengan sistem operasi lain, saya merasa lebih nyaman dan telah mengembangkannya selama 10 tahun.

Berdasarkan pemahaman saya, saya ingin membahas kelebihan sistem operasi:

Modularitas

Dengan sistem operasi, seluruh perangkat lunak dapat dibagi menjadi beberapa tugas (dikenal sebagai utas), setiap utas memiliki ruang eksekusi independennya sendiri. Mereka independen satu sama lain, yang meningkatkan modularitas.

Konkurensi

Ketika sebuah utas memanggil fungsi penundaan, itu akan secara otomatis menghasilkan CPU ke utas lain yang membutuhkan, yang meningkatkan pemanfaatan seluruh CPU dan akhirnya konkurensi.

Waktu-Nyata

Sebuah RTOS dirancang dengan kemampuan real-time. Setiap utas diberi prioritas tertentu. Utas yang lebih penting diatur ke prioritas yang lebih tinggi, utas yang kurang penting diatur ke yang lebih rendah. Dengan cara ini, kinerja seluruh perangkat lunak secara real-time dijamin.

Efisiensi Pengembangan

Sistem operasi menyediakan lapisan antarmuka abstrak terpadu, yang memfasilitasi akumulasi komponen yang dapat digunakan kembali dan meningkatkan efisiensi pengembangan.

Sistem operasi adalah produk dari kebijaksanaan sekelompok geeks perangkat lunak. Banyak fungsi perangkat lunak yang umum, seperti semaphore, notifikasi acara, kotak surat, penyangga cincin, daftar rantai satu arah / daftar dua arah, dan sebagainya, dienkapsulasi dan diabstraksikan untuk membuat fungsi-fungsi ini siap digunakan.

Sistem operasi seperti Linux dan RT-Thread mengimplementasikan seperangkat standar antarmuka perangkat keras untuk perangkat keras yang terfragmentasi, yang dikenal sebagai kerangka kerja driver perangkat. Oleh karena itu, insinyur perangkat lunak hanya perlu fokus pada pengembangan dan tidak perlu lagi mengkhawatirkan perangkat keras yang mendasarinya, atau untuk membangun kembali roda.

Ekosistem Perangkat Lunak

Kekayaan ekosistem membawa proses perubahan kuantitatif menjadi kualitatif.

Peningkatan modularitas dan penggunaan kembali dengan sistem operasi memungkinkan kami untuk merangkum komponen berbasis sistem operasi yang dapat digunakan kembali yang ramah-embedded, yang tidak hanya dapat digunakan dalam proyek kami tetapi juga dapat dibagikan dengan lebih banyak pengembang tertanam yang membutuhkan—memaksimalkan nilai perangkat lunak.

Saya seorang geek open-source dan saya telah open source beberapa perangkat lunak tertanam di GitHub. Sebelum membuat perangkat lunak sumber terbuka, saya jarang berbicara dengan orang lain tentang proyek saya karena saya menganggap bahwa karena orang menggunakan chip atau platform perangkat keras yang berbeda, kode saya hampir tidak dapat berjalan di perangkat keras mereka. Dengan sistem operasi, penggunaan kembali perangkat lunak sangat meningkat, banyak ahli dapat berkomunikasi satu sama lain tentang proyek yang sama. Mereka bahkan berasal dari negara yang berbeda. Hal ini mendorong semakin banyak orang untuk berbagi dan membicarakan proyek mereka.


Tertanam

  1. Sistem Penomoran
  2. Sistem Sinyal Saat Ini
  3. Pelacakan kontak di industri:Mengapa kami membutuhkan sistem penentuan posisi lokal berbasis Wi-Fi yang sangat presisi
  4. Mengapa kita masih bertahan dengan waktu henti pemadaman listrik?
  5. Mengapa keamanan siber penting untuk keamanan fisik ketenangan pikiran
  6. 3 Alasan Mengapa Sistem Konveyor Pneumatik Unggul
  7. Mengapa I.T. Sistem Adalah Kunci untuk Evolusi Rantai Pasokan Global
  8. Mengapa Rantai Pasokan Farmasi Harus Menjadi Digital:Enam Pertanyaan untuk Dipertimbangkan
  9. Prosedur Pengoperasian yang Aman untuk Sistem Udara Terkompresi
  10. Mengapa Ketertelusuran adalah Landasan Penting untuk Sistem Manufaktur yang Diaktifkan IIoT