Apa itu Pemrograman Sinyal?

“Pemrograman sinyal” adalah istilah yang sering digunakan untuk merujuk pada program komputer yang berfungsi terutama sebagai respons terhadap sinyal atau peristiwa yang dihasilkan oleh beberapa perubahan keadaan, atau oleh input pengguna.Hampir semua bagian dari sistem komputer, dari perangkat periferal hinggasistem operasiitu sendiri, dapat menghasilkan sinyal yang dapat ditangkap oleh aplikasi dan kemudian diproses.Dalam banyak bentuk, pemrograman sinyal menyerupai pemrograman yang digerakkan oleh peristiwa.Beberapa penggunaan 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.

Pria memegang komputer

Sinyal dalampemrograman komputerdapat didefinisikan sebagai pesan, peristiwa atau interupsi, tergantung pada asalnya, arsitektur sistem atau bahkan preferensi programmer.Dalam istilah yang paling luas, ini adalah indikator bahwa beberapa keadaan atau bagian data telah berubah, dan terkadang disertai dengan informasi tambahan tentang perubahan yang telah terjadi.Sinyal dapat dihasilkan oleh pengguna ketika tombol ditekan, dari perangkat keras seperti monitor ketika penelusuran vertikal terjadi, atau bahkan dari sistem operasi ketika sesuatu seperti kesalahan halaman terjadi selama alokasi memori.

Dalam sebuah aplikasi, pemrograman sinyal dapat mengambil beberapa jenis arsitektur, tetapi salah satu yang paling umum adalah caral pendengar atau pengamat.Dalam metode ini, sepotong kode yang ditentukan pengguna dapat diteruskan dalam beberapa cara ke penangan sinyal, biasanya di dalam sistem operasi, yang kemudian memanggil potongan kode itu untuk memproses sinyal apa pun yang cocok dengan apa yang dicari oleh fungsi tersebut.Jenis sinyal yang dapat ditangani oleh suatu fungsi seringkali ditentukan oleh variabel yang dikenal sebagai topeng sinyal, sehingga beberapa sinyal tidak diteruskan ke rutinitas yang tidak dirancang untuk menanganinya.

Jenis kedua dari pemrograman sinyal melibatkan program yang mengimplementasikan antrian yang menerima sinyal masuk.Antrian ini disurvei di 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 muncul dalam pemrograman sinyal ketika proses bersamaan atau aplikasi multi-utas digunakan.Komplikasi dapat muncul 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 mencoba untuk membuat perubahan pada beberapa data, maka data program dapat keluar dari sinkronisasi dan tampak berbeda untuk setiap pengguna.Menggunakan antrian linier atau menerapkan metode sinkronisasi utas dapat membantu mencegah situasi ini.