Rumah  >  Artikel  >  Peranti teknologi  >  Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

王林
王林ke hadapan
2023-04-24 19:22:051484semak imbas

1. Perisian aplikasi

Dalam seni bina AUTOSAR, perisian aplikasi terletak di atas RTE dan terdiri daripada AUTOSAR SWC yang saling bersambung Komponen ini secara atom merangkumi pelbagai komponen kefungsian perisian aplikasi.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Rajah 1: Perisian aplikasi

AUTOSAR SWC adalah bebas perkakasan, dan oleh itu boleh diintegrasikan ke dalam mana-mana perkakasan ECU yang tersedia. Untuk memudahkan pertukaran maklumat dalam dan dalam ECU, AUTOSAR SWC hanya berkomunikasi melalui RTE.

AUTOSAR SWC mengandungi banyak fungsi dan pembolehubah yang menyediakan kefungsian dalaman. Struktur dalaman AUTOSAR SWC, iaitu pembolehubah dan panggilan fungsinya, disembunyikan daripada pandangan umum melalui fail pengepala. Hanya panggilan RTE luaran akan berkuat kuasa pada antara muka awam.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Rajah 2: SWC

AUTOSAR SWC juga mengandungi fungsi yang mesti dipanggil semasa runtime. Fungsi C ini dipanggil Runnable dalam AUTOSAR.

Runnable tidak boleh dilaksanakan dengan sendirinya; Peruntukan sedemikian boleh dilakukan dengan memasukkan panggilan fungsi Runnables ke dalam badan tugas OS.

The Runnables kemudiannya dilaksanakan dalam gelung dan/atau dipacu peristiwa dalam konteks OS-Task pemanggil. Pembahagian tugas oleh Runnables dilakukan mengikut Rajah 3 dan 4.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Rajah 3: seni bina perisian berlapis AUTOSAR - pemetaan Runnables

2. OS-Applications

Rajah 4 menunjukkan penjelasan tentang hubungan dalam Rajah 3. Menurut rajah ini, Runnable dalam AUTOSAR SWC diberikan kepada tugasan OS.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Rajah 4: SWC ke OS-Pemetaan Aplikasi

OS AUTOSAR -Aplikasi ialah koleksi objek OS (seperti tugas, ISR, jadual, kaunter dan penggera) yang membentuk unit berfungsi yang padu. Semua objek yang dimiliki oleh OS-Applications yang sama boleh mengakses satu sama lain.

Objek OS dalam OS-Applications mungkin tergolong dalam AUTOSAR SWC yang berbeza. RTE melaksanakan kawasan memori yang semua ahli OS-Applications mempunyai akses tanpa had untuk memudahkan komunikasi yang cekap antara SWC.

Terdapat dua kategori OS-Applications:

  1. Trusted OS-Applications: "Benarkan OS-Applications yang dipercayai dalam Mereka mungkin mempunyai akses tanpa had kepada memori dan API modul OS apabila berjalan dengan ciri pemantauan atau perlindungan dilumpuhkan. Aplikasi OS yang Dipercayai tidak diperlukan untuk menguatkuasakan gelagat pemasaannya pada masa jalan apabila disokong oleh pemproses Dibenarkan untuk dijalankan dalam mod istimewa
  2. Aplikasi OS Tidak Dipercayai: "Aplikasi OS Tidak Dipercayai tidak dibenarkan dijalankan dengan ciri pemantauan atau perlindungan dilumpuhkan pada masa jalan. Mereka mengehadkan akses kepada memori, menyekat akses kepada API modul OS dan menguatkuasakan tingkah laku pemasaannya semasa masa jalan. Mereka tidak dibenarkan berjalan dalam mod istimewa apabila pemproses menyokongnya.

3. Komunikasi dan perkongsian kod

Menurut Rajah 4 dan Rajah 3, satu OS-Applications boleh mengandungi berbilang AUTOSAR SWC dan Runnable yang berkaitan. Hanya Runnable dibenarkan untuk mengakses terus pembolehubah dan melakukan panggilan fungsi dalam SWC masing-masing.

Panggilan fungsi dalaman dan pembolehubah SWC tidak boleh diakses secara terbuka oleh SWC lain kerana takrifannya tidak disediakan oleh fail pengepala antara muka luaran, jadi komunikasi terus melalui pembolehubah dan pelaksanaan SWC lain tidak boleh dirancang.

Dalam Rajah 5, contoh perkongsian kod menggambarkan ini Perkongsian kod hanya dibenarkan dalam SWC dan tidak dibenarkan dikongsi antara SWC bagi Aplikasi OS. Komunikasi dengan SWC lain harus dilakukan melalui RTE. Runnable4 mungkin tidak dapat melaksanakan fungsi kepunyaan SWC2.2.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Rajah 5: Perkongsian kod dalam OS-Applications

4. Pembahagian memori dalam perisian aplikasi

Perisian aplikasi dalam AUTOSAR ECU boleh terdiri daripada SWC yang berkaitan dengan keselamatan dan SWC yang tidak berkaitan dengan keselamatan. Kebebasan gangguan antara SWC dengan tahap ASIL yang berbeza hendaklah dipastikan mengikut keperluan ISO26262.

OS AUTOSAR kebal terhadap kegagalan berkaitan memori dengan meletakkan OS-Applications ke dalam kawasan memori eksklusif. Mekanisme ini dipanggil pembahagian memori. OS-Applications dilindungi daripada satu sama lain kerana kod yang dilaksanakan dalam partition memori satu OS-Application tidak boleh mengubah suai kawasan memori lain. Keperluan yang sepadan dalam spesifikasi OS AUTOSAR ditunjukkan dalam Jadual 1.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Jadual 1: Pembahagian memori AUTOSAR OS- OS-Applications

Perisian aplikasi boleh terdiri daripada SWC dengan tahap ASIL yang berbeza. Walau bagaimanapun, SWC dengan penilaian ASIL yang berbeza tidak boleh diberikan kepada Aplikasi OS yang sama. Pembahagian memori tidak memberikan imuniti gangguan antara SWC yang diberikan kepada OS-Applications yang sama. OS hanya menghalang OS-Applications lain daripada melakukan akses yang salah. Tidak menghalang SWC yang rosak daripada mengubah suai kawasan memori SWC lain dalam OS-Applications yang sama.

Nota: Lihat pembahagian seterusnya untuk butiran tentang pembahagian peringkat tugas.

5 Pembahagian memori dalam SWC

SWC ASIL Campuran mungkin terdiri daripada Runnables dengan rating ASIL yang berbeza, jadi sokongan diperlukan yang tidak mengganggu antara persekitaran pelaksanaan Runnables ini . Ia tidak mungkin untuk melaksanakan Runnable yang berbeza bagi SWC dalam partition memori yang berbeza atas sebab berikut:

Partition memori dilaksanakan pada tahap OS-Applications. Seperti yang ditunjukkan dalam Rajah 3 dan Rajah 4, SWC hanya boleh diperuntukkan kepada satu OS-Applications, jadi hanya terdapat satu partition memori. Selain itu, SWC Runnables hanya boleh dipanggil oleh tugasan OS-Applications.

Seperti yang ditunjukkan dalam Rajah 6, SWC Runnables tidak boleh diedarkan kepada tugas berbilang OS-Applications.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Rajah 6: SWC dan partition

Partition memori tidak boleh digunakan Asingkan Runnables dalam SWC yang sama. Jika SWC perlu mengandungi Runnables dengan ASIL yang berbeza, dan Runnables ini perlu dilaksanakan secara bebas tanpa gangguan, maka pembahagian memori pada peringkat OS-Applications tidak mencukupi, pembahagian memori mesti dilakukan pada peringkat tugas. Kaedah ditunjukkan dalam Rajah 7.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Rajah 7: Pembahagian peringkat tugas

dan peringkat tugas memori Keperluan berkaitan partition disenaraikan dalam Jadual 2 spesifikasi AUTOSAR OS. Penggunaan perkataan lemah "mungkin" menunjukkan bahawa pelaksanaan pembahagian peringkat tugas adalah pilihan untuk AUTOSAR OS. Oleh itu, bukan setiap pelaksanaan OS AUTOSAR menyokong pembahagian memori peringkat tugas.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Jadual 2: Keperluan OS AUTOSAR – pembahagian memori peringkat tugas

6. Pelaksanaan Pembahagian Memori

Pelbagai konsep keselamatan teknikal boleh dilaksanakan pada peringkat sistem dan perisian menggunakan mekanisme pembahagian memori.

Rajah 8 menunjukkan pelaksanaan yang mungkin, manakala semua modul perisian asas dilaksanakan dalam partition memori mod yang dipercayai/dipantau (diserlahkan dengan warna merah dalam Rajah 8). Sesetengah SWC dikumpulkan secara logik dan diletakkan dalam partition memori tidak dipercayai/mod pengguna yang berasingan (diserlahkan dalam warna hijau). Modul perisian yang dipilih tergolong dalam partition memori mod dipercayai/terurus yang sama seperti modul perisian asas (lihat SWC keempat yang diserlahkan dengan warna merah dalam Rajah 8). Mungkin terdapat berbilang partition yang tidak dipercayai/mod pengguna, setiap satu mengandungi satu atau lebih SWC.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Pelaksanaan SWC dalam partition memori tidak dipercayai/mod pengguna adalah terhad dan tidak boleh mengubah suai kawasan memori lain, manakala pelaksanaan SWC dalam partition memori dipercayai/monitor tidak terhad.

Mikropengawal moden yang digunakan untuk aplikasi berkaitan keselamatan menyokong pembahagian memori melalui perkakasan khusus (Memory Protection Unit (MPU)).

Nota: Diandaikan bahawa penghirisan memori akan dilaksanakan pada mikropengawal dengan MPU atau keupayaan perkakasan yang serupa.

Menggunakan pelaksanaan MPU biasa, aplikasi yang tidak dipercayai boleh dibenarkan untuk mengakses berbilang partition ruang alamat mikropengawal. Kawalan capaian ditakrifkan sebagai gabungan akses baca, tulis dan laksana. Konfigurasi MPU hanya dibenarkan dalam mod monitor.

Nota: Dalam sesetengah pelaksanaan mikropengawal, MPU disepadukan ke dalam teras pemproses. Oleh itu, MPU hanya mengawal akses kepada teras yang berkaitan. Induk bas lain (seperti pengawal DMA dan teras lain) tidak dikawal oleh tika MPU tersegmen ini.

Jadual dan kes penggunaan di bawah menggambarkan satu set senario yang mungkin apabila konfigurasi unit perlindungan memori diperoleh daripada keperluan sistem. NOTA: Jadual ini mungkin tidak lengkap untuk keupayaan peranti perkakasan tertentu yang digunakan.

Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan

Jadual 3: Skim konfigurasi perlindungan memori

Perihalan ikon:

🎜>Nota: Dari perspektif prestasi, mungkin terdapat kesan sampingan akibat perbalahan bas, timbang tara antara muka, dsb.

Kes Penggunaan 1: SWC berada dalam partition yang sama.

SWC dalam partition yang sama boleh mengakses kawasan RAM masing-masing dan oleh itu berpotensi merosakkan kandungan memori masing-masing.

Secara takrifan, SWC tidak boleh mengakses persisian kerana mereka tidak sepatutnya mengetahui tentang seni bina mikropengawal asas. Apabila SWC dibenarkan akses terus ke peranti persisian, sistem yang tidak selamat boleh dibuat.

Kes Guna 2: SWC dalam partition berbeza.
  • SWC dalam partition berbeza tidak boleh mengakses kawasan RAM antara satu sama lain dan oleh itu tidak boleh merosakkan kandungan memori masing-masing.

  • Secara takrifan, SWC tidak boleh mengakses persisian kerana mereka tidak sepatutnya mengetahui tentang seni bina mikropengawal asas. Apabila SWC diberikan akses terus kepada peranti persisian, sistem yang berpotensi tidak selamat boleh dibuat.
    Kes Penggunaan 3: Pemacu MCAL
  • Pemacu MCAL ialah koleksi fungsi, seperti baca/tulis/penginisialisasi. Ia mesti dilaksanakan oleh entiti lain, seperti BSW atau CDD. Lihat Rajah 8 untuk butiran.

  • Pemandu MCAL memerlukan akses baca/tulis ke ruang persisian modul perkakasan persisian yang sepadan. Bergantung pada seni bina perkakasan, mod monitor pemproses juga mungkin diperlukan.
  • 2.1.3 Pengesanan dan Tindak Balas
  • Mekanisme keselamatan fungsional Pembahagian memori menyediakan perlindungan dengan mengehadkan akses kepada memori dan perkakasan dipetakan memori. Kod yang dilaksanakan dalam satu partition tidak boleh mengubah suai memori partition yang lain. Pembahagian memori boleh melindungi segmen memori baca sahaja, serta melindungi perkakasan dipetakan memori. Selain itu, SWC yang dilaksanakan dalam mod pengguna telah mengehadkan akses kepada arahan CPU, seperti konfigurasi semula.
Mekanisme pembahagian memori boleh dilaksanakan dengan sokongan perkakasan mikropengawal (seperti unit perlindungan memori atau unit pengurusan memori). Perkakasan mikropengawal mesti dikonfigurasikan dengan betul oleh OS untuk mengesan dan mencegah capaian memori yang salah. Kemudian pantau pelaksanaan SWC dalam partition memori yang tidak dipercayai/mod pengguna.

Jika terdapat pelanggaran akses memori atau konflik arahan CPU dalam partition tidak dipercayai/mod pengguna, akses yang salah akan disekat dan perkakasan mikropengawal akan mengeluarkan pengecualian. OS dan RTE menghapuskan partition perisian yang salah dengan melakukan penutupan partition atau memulakan semula semua partition perisian partition ini.

Nota: Respons sebenar OS boleh dikonfigurasikan melalui pelaksanaan cangkuk perlindungan. Lihat dokumentasi OS SWS[i] untuk butiran lanjut.

Nota: Dokumen AUTOSAR "Arahan Pengendalian Ralat Peringkat Aplikasi"[ii] menyediakan maklumat tambahan tentang pengendalian ralat. Dalam dokumentasi, diterangkan bagaimana pengendalian ralat dilakukan dan dari mana data yang diperlukan (cth. nilai gantian) boleh diperolehi. Selain itu, dokumen ini menyediakan arahan terperinci (Manual Pengguna) tentang cara melakukan penamatan Aplikasi/Pembahagian OS dan mulakan semula dalam AUTOSAR.

2.1.4 Had

1.

Piawaian ISO26262 memerlukan imuniti antara SWC tahap ASIL yang berbeza [iii]. Walau bagaimanapun, piawaian ini tidak memerlukan imuniti gangguan antara SWC dengan penarafan ASIL yang sama.

Membenarkan penggunaan OS-Applications yang terdiri daripada sejumlah besar SWC. Jika satu SWC menyebabkan konflik yang menyebabkan keseluruhan partition memori ditutup atau but semula, semua SWC lain yang berfungsi untuk partition memori ini juga akan terjejas.

2. Pembahagian memori tidak tersedia untuk Aplikasi OS yang dipercayai.

Pelaksanaan partition memori mod dipercayai/dipantau tidak dikawal oleh OS dan beberapa pelaksanaan perkakasan MMU/MPU.

3. Tahap tugasan tidak menyokong pembahagian memori.

Pelaksanaan pembahagian peringkat tugasan tidak diperlukan untuk pelaksanaan AUTOSAR OS. Oleh itu, imuniti gangguan dalam OS-Applications mungkin tidak disokong.

4. Kehilangan prestasi akibat pembahagian memori.

Bergantung pada seni bina perisian aplikasi dan pelaksanaan perkakasan mikropengawal dan OS, menggunakan partition memori boleh mengurangkan prestasi. Penalti ini meningkat dengan bilangan suis konteks yang dilakukan setiap unit masa.

5. Tiada partition perisian asas.

Spesifikasi semasa untuk perisian asas tidak menyatakan pembahagian memori untuk SWC asas dengan tahap ASIL yang berbeza daripada vendor yang berbeza.

Atas ialah kandungan terperinci Pembahagian memori dan mekanisme keselamatan berfungsi yang dilaksanakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam