Algoritma penjadualan cakera termasuk: 1. Algoritma first come, first serve, yang menjadualkan mengikut susunan proses meminta akses kepada cakera 2. Algoritma pertama masa carian terpendek, yang memilih trek untuk penjadualan pemprosesan berdasarkan jarak dari trek di mana kepala semasa terletak Trek terdekat untuk meminimumkan setiap masa carian 3. Algoritma pengimbasan, pilih permintaan yang paling hampir dengan trek di mana kepala semasa terletak dalam arah pergerakan semasa magnet; kepala sebagai objek perkhidmatan seterusnya; 4. Algoritma pengimbasan gelung, dalam algoritma pengimbasan Atas dasar menetapkan bahawa kepala magnet bergerak ke satu arah untuk menyediakan perkhidmatan, apabila kembali, ia bergerak terus ke hujung permulaan dengan cepat tanpa melayani sebarang permintaan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, komputer Dell G3.
Penjadualan Cakera Dalam sistem komputer berbilang program, setiap proses boleh terus membuat permintaan yang berbeza untuk operasi baca/tulis pada cakera. Kerana kadangkala proses ini boleh menghantar permintaan lebih cepat daripada cakera boleh bertindak balas, adalah perlu untuk membuat baris gilir menunggu untuk setiap peranti cakera.
Algoritma penjadualan cakera yang biasa digunakan
Algoritma si dia tiba dahulu
Berasaskan algoritma FCFS atas permintaan proses Penjadualan dilakukan mengikut susunan cakera diakses Ini adalah algoritma penjadualan yang paling mudah. Kelebihan algoritma ini adalah keadilannya. Jika hanya sebilangan kecil proses memerlukan akses, dan kebanyakan permintaan mengakses sektor fail berkelompok, prestasi yang baik dijangkakan tetapi jika terdapat sejumlah besar proses yang bersaing untuk penggunaan cakera, prestasi algoritma ini selalunya hampir dengan penjadualan rawak. Oleh itu, beberapa algoritma penjadualan yang lebih kompleks dipertimbangkan dalam penjadualan cakera sebenar.
Idea algoritma: sediakan permintaan akses mengikut susunan ia tiba.
Kelebihan: Mudah dan adil.
Kelemahan: Ketidakcekapan tidak tinggi. Dua permintaan bersebelahan boleh menyebabkan silinder mencari dari paling dalam ke paling luar, menyebabkan kepala magnet bergerak berulang kali, meningkatkan masa servis dan juga menjejaskan. jentera yang tidak menguntungkan.
Algoritma masa cari terpendek dahulu
Algoritma SSTF memilih trek untuk pemprosesan penjadualan yang paling hampir dengan trek di mana kepala semasa berada , supaya setiap Masa carian adalah yang paling singkat. Sudah tentu, sentiasa memilih masa carian minimum tidak menjamin purata masa carian minimum, tetapi ia boleh memberikan prestasi yang lebih baik daripada algoritma FCFS. Algoritma ini akan menghasilkan fenomena "kebuluran".
Idea algoritma: Utamakan permintaan akses yang paling hampir dengan ketua semasa untuk perkhidmatan, terutamanya mempertimbangkan untuk mendapatkan keutamaan.
Kelebihan: Masa servis purata cakera yang dipertingkatkan.
Kelemahan: menyebabkan beberapa permintaan akses menunggu lama dan tidak dilayan.
Algoritma imbasan (juga dikenali sebagai algoritma lif)
Algoritma SCAN memilih permintaan yang paling hampir dengan trek di mana kepala semasa berada arah pergerakan semasa kepala sebagai objek perkhidmatan seterusnya. Oleh kerana corak pergerakan kepala adalah serupa dengan lif, ia juga dipanggil algoritma penjadualan lif. Algoritma SCAN tidak adil untuk kawasan yang diimbas baru-baru ini, oleh itu, ia tidak sebaik algoritma FCFS dan algoritma SSTF dari segi lokaliti akses.
Idea algoritma: Apabila peranti tidak mempunyai permintaan akses, kepala magnet tidak bergerak apabila terdapat permintaan akses, kepala magnet bergerak ke satu arah, melayani permintaan akses yang ditemui semasa pergerakan [2] , dan kemudian Tentukan sama ada masih terdapat permintaan akses ke arah ini, dan jika ya, teruskan imbasan jika tidak, tukar arah pergerakan dan sediakan permintaan akses berlalu, dan seterusnya. Seperti yang ditunjukkan dalam rajah di bawah:
Trajektori pergerakan kepala bagi algoritma pengimbasan (algoritma lif)
Kelebihan: Mengatasi terpendek cari dahulu Kelemahan kaedah mengambil kira jarak dan arah.
Algoritma pengimbasan kitaran
Berdasarkan algoritma pengimbasan, ia menetapkan bahawa kepala magnet bergerak ke satu arah untuk menyediakan perkhidmatan, dan apabila kembali , ia bergerak terus ke penghujung permulaan tanpa menyampaikan sebarang permintaan. Memandangkan algoritma SCAN lebih suka memproses permintaan akses dekat dengan trek paling dalam atau paling luar, algoritma C-SCAN yang dipertingkat digunakan untuk mengelakkan masalah ini.
Apabila menggunakan algoritma SCAN dan algoritma C-SCAN, kepala magnet sentiasa mengikuti pergerakan dari satu hujung cakera ke hujung yang lain Jelas sekali, ia boleh diperbaiki dalam penggunaan sebenar, iaitu pergerakan kepala magnet hanya perlu mencapai hujung yang paling jauh Satu permintaan boleh dikembalikan tanpa mencapai titik akhir cakera. Bentuk algoritma SCAN dan algoritma C-SCAN ini dipanggil penjadualan LOOK dan C-LOOK. Ini kerana mereka menyemak sama ada terdapat permintaan sebelum bergerak ke arah tertentu. Ambil perhatian bahawa melainkan dinyatakan sebaliknya, algoritma SCAN dan algoritma C-SCAN juga boleh dijadualkan sebagai LOOK dan C-LOOK secara lalai.
Tambahan: Perbandingan pelbagai algoritma
Kelebihan |
Kelemahan |
|
---|---|---|
Algoritma FCFS |
Adil dan mudah |
Purata jarak carian adalah besar dan hanya boleh digunakan dalam situasi dengan kurang cakera I/O |
Algoritma SSTF |
Prestasi lebih baik daripada "dahulu datang, dahulu dilayan" |
Tidak dapat menjamin masa pencarian purata terpendek, fenomena "kebuluran" mungkin berlaku |
Algoritma SCAN |
Prestasi seek lebih baik dan boleh mengelakkan fenomena "kebuluran" |
Tiada Kondusif untuk mengakses permintaan jauh dari hujung kepala cakera |
Algoritma C-SCAN |
Menghapuskan ketidakkonsistenan permintaan trek di kedua-dua hujung Adil |
-- |
Untuk lebih banyak pengetahuan berkaitan, sila lawati lajur Soalan Lazim!
Atas ialah kandungan terperinci Apakah algoritma penjadualan cakera?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!