ModulXIV ( empat belas) TopikKonkurensi Sub TopikKasus Konkurensi MateriUnix Semaphore TujuanMahasiswa mengenal penyelesaian Mutex n-Proses Mata kuliahSISTEM OPERASI II ( 3 sks ) SemesterV Kelas PKK Gabungan ex SMU – D3 Kampus Menteng DosenIr. Nixon Erzed, MT MODUL KULIAH JURUSAN TEKNIK INFORMATIKA PROGRAM KELAS KARYAWAN UNIVERSITAS MERCU BUANA Pertemuan : XV (lima belas)Waktu: Sabtu, 26 Januari 2008
Parameter konfigurasi sistem operasi SEMMSL pada umumnya menetapkan nomor yang maksimum dari semafor-semafor per set. Tetapan parameter ini untuk minimal 100. Beberapa sistem operasi memerlukan pengaturan suatu total nomor yang maksimum dari semafor-semafor yang tersedia, yang mana pada umumnya parameter konfigurasi ditetapkan oleh sistem operasi SEMMNS. Semafor-semafor di dalam Sistem V UNIX Dua operasi yang dapat digambarkan di semafor yaitu operasi P dan V. 1. Operasi V peningkatan nilai dari semval oleh Operasi P berkurang nilai dari semval oleh 1 ketika nilai yang hasilnya akan menjadi tidak negatif. Penyelesaian Kedua Operasi Kedua operasi V dan P harus atomis dalam pengertian bahwa ketika beberapa proses beroperasi di semafor yang sama, maka masing-masing operasi diselesaikan sebelum masuk ke proses selanjutnya. Operasi V pada sistem operasi UNIX memperkenalkan semafor-semafor di antara fasilitas-fasilitas yang lain untuk Inter-Process Communication (IPC) Semafor berisikan satu set atau lebih dari suatu nilai. Pembuatan suatu semafor tidak terikat pada initialisasinya.. Suatu semafor harus dihancurkan ketika sumber daya yang dibagi bersama sudah tidak lagi perlu, karena nomor systemwide total dari semafor dibatasi. Suatu semafor diciptakan oleh semget(3) system call, yaitu: #include int semget(key_t key, int nsems, int flag);
Rumus untuk mengkalkulasikan total nomor yang diperlukan dari masing-masing semafor : SEMMNS = init_vps + added_vps + (2 * shmem_users) + concurrent_utils init_vps adalah banyaknya VPs yang bersifat initialized dengan server database. Nomor ini termasuk di dalamnya CPU, PIO, LIO, AIO, SHM, TLI, SOC, dan ADM VPs. Nilai minimumnya adalah 15. added_vps adalah banyaknya VPs untuk penambahan secara dinamis. shmem_users adalah banyaknya koneksi-koneksi memori yang dibagi bersama dari server database. concurrent_utils adalah banyaknya server databasr yang masuk kedalam sambungan ini. Anda harus mempertimbangkan sedikitnya enam koneksi kegunaan: dua untuk ON- Archive atau ON-Bar dan empat untuk kegunaan-kegunaan yang lain seperti ON-Monitor (pada UNIX), onstat, dan oncheck. Jika anda menggunakan paket software maka anda akan memerlukan semafor- semafor sebagai tambahan yang diperlukan oleh server database, parameter konfigurasi SEMMNI harus memasukkan di dalamnya total nomor dari semafor ditetapkan dan diperlukan oleh serrver database dan paket software. Anda harus menetapkan parameter konfigurasi SEMMSL kepada nomor yang paling besar dari semafor-semafor per set yang diperlukan dari semua paket software. Karena sistem memerlukan parameter konfigurasi SEMMNS, SEMMNI mengalikan nilai dari SEMMSL untuk mengkalkulasi satu nilai yang bisa diterima. Semafor, Antrian Pesan dan Pembagian Bersama Memori Kita akan memperhatikan satu set Interprocess Communiction Facilities yang introducted di dalam AT&T System V2 dari UNIX. Notasi-notasi isyarat pada Semafor: