Rumah  >  Artikel  >  Mata ujian frekuensi tinggi temu duga sistem pengendalian

Mata ujian frekuensi tinggi temu duga sistem pengendalian

嵌入式Linux充电站
嵌入式Linux充电站ke hadapan
2023-07-31 16:23:071227semak imbas
Mata ujian frekuensi tinggi temu duga sistem pengendalian

1. Perbezaan antara proses dan utas

  • Sesuatu proses ialah unit terkecil peruntukan sumber, dan utas ialah unit asas penjadualan CPU.
  • Proses ini mempunyai ruang alamat bebas, dan utas tidak mempunyai ruang alamat bebas, tetapi ia mempunyai tindanan bebas dan pembolehubah setempat.
  • Dalam berbilang proses dan berbilang benang, berbilang proses lebih mantap daripada berbilang benang. Memandangkan proses tersebut mempunyai ruang alamat bebas, apabila proses berakhir secara tidak normal, ia tidak akan menjejaskan proses lain tidak mempunyai ruang alamat bebas, dan apabila utas berakhir secara tidak normal, ia mungkin menjejaskan rangkaian lain.
  • Kos mencipta proses adalah lebih besar daripada kos mencipta benang;

2. Apakah kaedah komunikasi antara proses

  • Pipeline: (1) Paip tanpa nama: digunakan untuk komunikasi antara proses dengan pertalian. (2) Paip terkenal: Ia memecahkan sempadan perhubungan romantis dan membolehkan dua proses yang tidak berkaitan untuk berkomunikasi melalui paip dalam bentuk aliran bait.
  • Baris Gilir Mesej: Data dihantar dalam blok, tetapi menyalin data dari ruang pengguna ke ruang kernel adalah mahal.
  • Ingat bersama: Ada masalah persaingan sumber
  • Isyarat: Komunikasi tak segerak
  • :Semaforon
    Komunikasi soket
  • : Pelaksanaan Dua bilik komputer komunikasi. 3. Algoritma Penjadualan Proses ujian Penjadualan Kerja Pertama Algoritma
  • ; Utamakan proses dengan masa berjalan terpendek untuk dijalankan
  • Algoritma penjadualan keutamaan nisbah tindak balas yang tinggi
, mula-mula mengira keutamaan nisbah tindak balas, dan kemudian pilih proses dengan keutamaan nisbah tindak balas tertinggi kepada run

time slice Algoritma penjadualan round robin

; Masa yang setiap proses boleh dijalankan adalah sama, dan proses berjalan mengikut hirisan masa
  • Algoritma penjadualan keutamaan tertinggi
    ; dengan keutamaan tertinggi
  • Algoritma penjadualan baris gilir maklum balas berbilang peringkat
    ; 4. Apa itu proses yatim
  • (1) Proses ibu bapa tamat sebelum proses anak Pada masa ini, proses anak Proses itu menjadi proses yatim.

    (2) Peraturan sistem Linux: Semua proses anak yatim menjadi proses kanak-kanak daripada proses khas (proses 1, iaitu proses init).

    5. Apakah mekanisme penyegerakan berbilang benang? kod sistem dan data

    • Kawasan tindanan
      : Menyimpan pembolehubah tempatan, nilai parameter fungsi, dsb., kawasan ini Dikawal oleh sistem pengendalian
    • Perpustakaan dinamik/kawasan pemetaan memori dikongsi
    • : Pustaka dinamik yang bergantung pada program boleh laku dimuatkan di kawasan ini; memori kongsi yang dipetakan oleh mmap juga berada di kawasan ini
    • Kawasan timbunan
      : Disediakan kawasan memori untuk pengaturcara beroperasi sendiri/percuma dan baharu/padam beroperasi pada memori ini
    • kawasan data boleh dibaca dan boleh ditulis
    :

(1).bss bahagian: Menyimpan pembolehubah global yang tidak dimulakan dan pembolehubah statik yang dimulakan kepada 0. .bss段:存储未初始化的、初始化为0的全局变量和静态变量。

(2).data

(2).data bahagian: Simpan pembolehubah global, pembolehubah statik dan pemalar const yang tidak dimulakan kepada 0.
  • Kawasan data baca sahaja
    : Simpan kod binari, beberapa pembolehubah diubah suai const, pemalar rentetan, dll.

Pengaturcara menggunakan malloc dalam program untuk memohon memori secara dinamik daripada ruang timbunan memori maya, dan menggunakan percuma untuk melepaskan memori. Jika program mempunyai sejumlah besar operasi malloc/bebas dan berjalan untuk masa yang lama, ruang timbunan memori maya terdedah kepada pemecahan memori Apakah memori pemecahan, tetapi tidak dapat memenuhi permintaan peruntukan malloc. Pemecahan memori terbahagi kepada pemecahan luaran dan pemecahan dalaman. Angka berikut menerangkan peruntukan memori sebahagian daripada ruang timbunan terbahagi kepada banyak blok peruntukan dalam unit 4 bait Bongkah putih mewakili memori bebas, dan blok biru muda dan biru gelap mewakili memori yang diperuntukkan. Andaikan bahawa unit terkecil peruntukan memori ialah blok peruntukan (4 bait).
  1. Pecahan luaran: Memandangkan tiada memori percuma (blok putih) 4 saiz blok peruntukan berturut-turut dalam ruang timbunan, terdapat banyak ingatan bebas diskret yang lebih kecil daripada 4 saiz blok peruntukan. Jadi apabila malloc(16) memohon untuk 16 bait, peruntukan akan gagal Sebabnya ialah tiada memori percuma untuk 4 blok peruntukan berturut-turut, tetapi terdapat memori percuma untuk kurang daripada 4 blok peruntukan ini dipanggil serpihan luaran
  2. Pecahan dalaman: Memandangkan unit terkecil memori yang diperuntukkan ialah blok peruntukan (4 bait), apabila malloc(5) digunakan untuk 5 bait, ruang timbunan diperuntukkan dua blok percuma berjumlah 8 bait, tetapi program sahaja memerlukan 5 bait , baki 3 bait (biru tua) tidak digunakan, 3 bait memori ini dipanggil pemecahan dalaman
Mata ujian frekuensi tinggi temu duga sistem pengendalian

8. Apakah perbezaan antara timbunan dan timbunan?

  • Kaedah peruntukan berbeza
Timbunan: Diperuntukkan secara automatik oleh sistem

Timbunan: Digunakan secara manual oleh pengaturcara

Timbunan: Saiz memori daripada kawasan tindanan adalah Tetap, selagi memori yang diminta adalah kurang daripada baki memori dalam kawasan tindanan, peruntukan boleh berjaya, jika tidak tindanan akan melimpah.

Timbunan: Saiz memori kawasan timbunan ditentukan oleh ingatan maya komputer,

9. Perbezaan antara kunci mutex dan semaphore

(1) Semaphore digunakan untuk penyegerakan benang, dan kunci mutex digunakan untuk pengecualian bersama benang.

(2) Semaphore boleh menjadi integer bukan negatif, yang boleh merealisasikan penyegerakan berbilang benang bagi berbilang sumber yang serupa;

(3) Semaphore boleh dilepaskan oleh satu utas dan diperolehi oleh utas lain; penguncian dan pembuka kunci mutex masing-masing mesti digunakan oleh benang yang sama, dan berbilang benang mesti memberi perhatian kepada susunan bersatu apabila menggunakan berbilang mutex, jika tidak Boleh menyebabkan kebuntuan.

10. : A memanggil B , tidak perlu menunggu B selesai memproses, A boleh terus melaksanakan, dan selepas B selesai memproses, memberitahu A melalui panggilan balik, dsb.

  • 11. Deadlock
  • Apakah kebuntuan? Apakah yang menyebabkan kebuntuan?
    (1) Kebuntuan merujuk kepada kebuntuan (menunggu satu sama lain) yang disebabkan oleh pelbagai proses yang bersaing untuk mendapatkan sumber Tanpa kuasa luaran, proses ini tidak akan dapat bergerak ke hadapan.
(2) Sebab: ①

Sumber sistem tidak mencukupi. ② Peruntukan sumber yang tidak betul. ③Tertib kemajuan proses tidak sesuai.

Apakah empat syarat yang diperlukan untuk kebuntuan?

(1)Syarat pengecualian bersama: Sumber hanya boleh digunakan oleh satu proses pada satu masa dan proses lain hanya boleh menunggu.

(2) REQUEST dan HOLD syarat -syarat : Proses telah memperoleh sekurang -kurangnya satu sumber, tetapi telah membuat permintaan sumber baru, dan sumbernya telah diduduki oleh proses lain. sumber yang diperolehi masih Tahan.

(3)Indeprivable condition: Sumber yang diperoleh melalui proses tidak boleh dilucutkan oleh proses lain dan hanya boleh dikeluarkan dengan sendirinya.

(4)Keadaan menunggu gelung: Beberapa proses membentuk hubungan menunggu sumber dari hujung ke hujung dalam gelung.

Nota: Empat syarat di atas amat diperlukan.

Bagaimana untuk menangani kebuntuan?

(1) Cegah kebuntuan: Dengan menetapkan beberapa sekatan, musnahkan keadaan yang diperlukan untuk kebuntuan.

(2) Elakkan kebuntuan: Semasa proses pengagihan sumber, gunakan beberapa kaedah untuk menghalang sistem daripada memasuki keadaan tidak selamat, dengan itu mengelakkan kebuntuan.

(3) Kesan dan alih keluar kebuntuan: Benarkan kebuntuan berlaku, tetapi selepas melepasi pengesanan sistem, ambil beberapa langkah untuk mengosongkan kebuntuan.

Bagaimana untuk mengelakkan kebuntuan?

(1) "Syarat Minta dan Tahan" yang rosak:

①Peruntukan statik, iaitu, setiap proses digunakan untuk semua sumber yang diperlukan apabila ia mula melaksanakan:

②Peruntukan dinamik, iaitu, setiap proses tidak menduduki sumber sistem apabila ia memohon untuk sumber yang diperlukan. . sumber.

(3)Hancurkan "keadaan menunggu kitaran": Gunakan peruntukan sumber yang teratur dan bilangankan semua sumber Sumber yang terhad menggunakan nombor yang lebih besar nombor. sumber bernombor

Atas ialah kandungan terperinci Mata ujian frekuensi tinggi temu duga sistem pengendalian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:嵌入式Linux充电站. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Apakah ciri-ciri bahasa go?Artikel seterusnya:Apakah ciri-ciri bahasa go?