Skip to main content

Apa itu pemrograman sinyal?

Pemrograman sinyal adalah istilah yang sering digunakan untuk merujuk ke program komputer yang berfungsi terutama sebagai respons terhadap sinyal atau peristiwa yang dihasilkan oleh beberapa perubahan dalam keadaan, atau oleh input pengguna.Hampir setiap bagian dari sistem komputer, dari perangkat periferal ke sistem operasi itu sendiri, dapat menghasilkan sinyal yang dapat ditangkap oleh aplikasi dan kemudian diproses.Dalam banyak bentuk, pemrograman sinyal menyerupai pemrograman yang digerakkan oleh peristiwa.Beberapa kegunaan yang paling umum untuk pemrograman sinyal adalah dengan antarmuka pengguna grafis yang menanggapi input pengguna, komunikasi jaringan dan program tingkat rendah yang menangkap dan menangani sinyal sistem tertentu.

Sinyal dalam pemrograman komputer dapat didefinisikan sebagai pesan, sebuahacara atau interupsi, tergantung pada asalnya, arsitektur sistem atau bahkan preferensi programmer.Dalam istilah luas, ini merupakan indikator bahwa beberapa status atau bagian data telah berubah, dan kadang -kadang disertai dengan informasi tambahan tentang perubahan yang telah terjadi.Sinyal dapat dihasilkan oleh pengguna ketika tombol ditekan, dari perangkat keras seperti monitor ketika retrace vertikal terjadi, atau bahkan dari sistem operasi ketika sesuatu seperti kesalahan halaman terjadi selama alokasi memori.

dalam suatu aplikasi,Pemrograman sinyal dapat mengambil beberapa jenis arsitektur, tetapi salah satu yang paling umum adalah model pendengar atau pengamat.Dalam metode ini, sepotong kode yang ditentukan pengguna dapat diteruskan dalam beberapa cara ke penangan sinyal, biasanya dalam sistem operasi, yang kemudian memanggil sepotong kode itu untuk memproses sinyal yang sesuai dengan apa yang dicari fungsi tersebut.Jenis sinyal yang dapat ditangani fungsi sering ditentukan oleh variabel yang dikenal sebagai mask sinyal, sehingga beberapa sinyal tidak diteruskan ke rutin yang tidak dirancang untuk menanganinya.

Jenis pemrograman sinyal kedua melibatkan memiliki program yang mengimplementasikan antrianItu menerima sinyal yang masuk.Antrian ini disurvei dalam loop eksekusi utama program dan program bereaksi begitu sinyal memasuki antrian.Setiap sinyal kemudian dapat diurutkan secara logis, ditangani, diabaikan atau diteruskan ke proses lain.

Beberapa kesulitan dapat timbul dalam pemrograman sinyal ketika proses bersamaan atau aplikasi multi-threaded digunakan.Komplikasi dapat timbul jika, misalnya, dua utas terpisah mendengarkan sinyal yang dihasilkan oleh dua perangkat input pengguna yang terpisah, atau dari dua soket jaringan.Jika dua pengguna secara bersamaan berusaha untuk melakukan perubahan pada beberapa data, maka data program dapat keluar dari sinkronisasi dan muncul secara berbeda untuk setiap pengguna.Menggunakan antrian linier atau menerapkan metode sinkronisasi utas dapat membantu mencegah situasi ini.