Welcome
This is my blog
Jangan lupa subscribe dan jadikan saya femes dengan anda menjadi follower saya.
Link Kedua
ini post kedua
Saturday, 27 October 2018
Critical Section , Semaphore , Hardware Support
Pengecualian Bersama - "Satu demi satu."
Sekiranya proses Pi dilaksanakan dalam bahagian kritikal, maka tidak ada proses lain yang boleh dilaksanakan di bahagian kritikal mereka.
"Tidak ada dua benang secara serentak boleh melaksanakan kod mereka dalam seksyen kritikal"
Kemajuan - "tidak ada yang tidak perlu menunggu." - liveness
Sekiranya tiada proses melaksanakan dalam seksyen kritikal dan terdapat beberapa proses yang ingin memasukkan seksyen kritikal, maka pemilihan proses yang akan memasuki bahagian kritis seterusnya tidak dapat ditangguhkan selama-lamanya
"Tiada benang yang berjalan di luar bahagian kritikalnya boleh menyekat benang lain."
Pembuktian: untuk dua proses P0 dan P1: Jika P1 tidak menunggu untuk memasuki CS, P0 boleh masuk sebanyak yang ia inginkan
Bounded Waiting - "tidak ada kelaparan." - keadilan
Terikat harus ada pada bilangan kali proses-proses lain dibenarkan memasukkan bahagian kritis mereka setelah suatu proses telah membuat permintaan untuk memasuki bahagian kritisnya dan sebelum permintaan itu diberikan
"Tiada benang mesti menunggu selama-lamanya untuk memasuki bahagian pentingnya."
Pengujian: untuk dua proses P0 dan P1: jika P1 tunggu untuk memasukkan CS, PO boleh masuk hanya sekali, sehingga P1 dapat masuk selanjutnya
Anggapkan bahawa setiap proses dijalankan pada kelajuan nonzero
Tiada anggapan mengenai kelajuan relatif proses N
(Kita mesti mengandaikan bahawa setiap proses dijalankan pada kelajuan tidak sifar, tetapi tidak membuat andaian tentang kelajuan relatif proses)
polling VS intterupt
CPU laksana polling (busy waitng) @ speedlock
Algorym
analogi
Innterupt lagi efisyen sebab CPU boleh mempelbagaikan tugas.
selagi bukan giliran saya : tunggu
bila sampai giliran saya : say amasuk
atomic operation : komputer x akan benarkan apa sahaja gangguan sehingga tugasan selesai.
P, proberen
V, verhogen
S-- : decrement
S++ : acrement
wait : decrement / flag angkat / keretapi x leh masuk
signal : icrement
binary semapphore ; 1 sahaja iaitu mutex
counting semaphore ada 2 iaitu 0 dan 1
berapa jenis semaphore ?
jawapan : 3
Dalam sistem uniprocessor, sebab utama kesukaran ialah pemproses boleh menghantar proses yang berlainan untuk berjalan dari semasa ke semasa.
Dan penukaran kawalan berlaku kerana beberapa jenis gangguan, seperti gangguan waktu dalam persekitaran masa perkongsian, gangguan operasi I / O mengganggu, dll.
Berdasarkan pemerhatian ini, jika kita dapat mengelakkan konkurensi sementara pelaksanaan seksyen kritikal sedang berjalan, masalah pengecualian bersama akan diselesaikan secara semula jadi.
Mujurlah, keupayaan melumpuhkan dan membolehkan gangguan biasanya disediakan dalam semua jenis sistem komputer dalam bentuk primitif.
Kelemahan:
Menghapuskan persaingan antara proses yang tidak relevan dan dengan itu kecekapan boleh terasa terdegradasi
Pendekatan ini tidak berfungsi dalam seni bina pelbagai guna
satu proses boleh didahului dalam satu baris satu bahasa peringkat tinggi
kerana setiap baris bahasa tingkat tinggi sebenarnya lebih daripada 1 baris kod mesin
kita tidak boleh mendahului di tengah-tengah arahan mesin.
Oleh itu, Jika kita mempunyai arahan mesin tunggal yang memeriksa nilai pembolehubah dan menetapkan secara atom, kita boleh menggunakannya untuk kelebihan kita.
atom = tidak terganggu
Banyak sistem menyediakan sokongan perkakasan untuk kod seksyen kritikal
Mesin moden menyediakan arahan perkakasan atom khas
Uji perkataan memori dan Tetapkan nilai - ts atau tas
Kandungan swap dua kata ingatan - swap
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment