Keserentakan (sains komputer)

Daripada Wikipedia, ensiklopedia bebas.
"Ahli-ahli Falsafah Makan Malam", sebuah masalah klasik yang melibatkan sumber-sumber keserentakan dan kongsi.

Dalam sains komputer, keserentakan (bahasa Inggeris: concurrency) merupakan satu sifat sistem yang waktu membuat pengiraan-pengiraan bertindih, dan yang membenarkan sumber-sumber yang sama dikongsi antara pengiraan-pengiraan yang bertindih itu. Atau mengikut kata-kata Edsger Dijkstra, "Keserentakan berlaku apabila dua atau lebih aliran pelaksanaan dapat dilakukan dengan serentak." Penggunaan sumber-sumber kongsi dengan serentak merupakan sumber untuk banyak kesulitan. Syarat-syarat lumba yang melibatkan sumber-sumber kongsi boleh mengakibatkan tingkah laku sistem yang tidak dapat diramalkan. Pengenalan ekslusi bersaling boleh mencegah syarat-syarat lumba, tetapi juga boleh mengakibatkan masalah-masalah seperti kebuntuan dan kebuluran sumber. Perekaan bentuk sistem-sistem keserentakan seringnya melibatkan mencari-cari teknik-teknik yang boleh dipercayai untuk menyeleraskan pelaksanaan, pertukaran data, peruntukan ingatan, dan penjadualan pelaksanaan supaya dapat mengurangkan masa gerak balas dan memaksimumkan truput.


Teori[sunting | sunting sumber]

Teori keserentakan merupakan bidang penyelidikan yang aktif dalam sains komputer teori sejak penerbitan karya Carl Adam Petri yang sangat besar pengaruhnya mengenai jaring Petri pada awal dekad 1960-an. Sejak dari masa itu, berbagai-bagai model teori, logik, dan alat-alat untuk memahami sistem-sistem serentak telah dikembangkan.

Model[sunting | sunting sumber]

Berbagai-bagai formalisme untuk memodelkan dan memahami sistem-sistem serentak yang telah diperkembangkan, termasuk:

Sesetengah model keserentakan khususnya bertujuan untuk membantu pertimbangan dan spesifikasi, sedangkan yang lain boleh digunakan untuk seluruh kitaran pembangunan, termasuk reka bentuk, pelaksanaan, pembuktian, pengujian, serta penyelakuan sistem-sistem serentak.

Logik[sunting | sunting sumber]

Berbagai-bagai jenis logik masa boleh digunakan untuk membantu pertimbangan tentang sistem-sistem serentak. Sesetengah logik itu, seperti logik masa linear dan logik pokok pengiraan, membenarkan kenyataan dibuat tentang urutan-urutan keadaan yang dialami oleh sebuah sistem serentak. Yang lain seperti logik masa tindakan oleh Lamport, logik Hennessy-Milner, dan logik pokok pengiraan tindakan mendasarkan kenyataan-kenyataannya pada jujukan-jujukan tindakan (perubahan dalam keadaan). Kegunaan utama kesemua logik ini adalah untuk menulis spesifikasi-spesifikasi sistem serentak.

Amalan[sunting | sunting sumber]

Pengaturcaraan serentak merangkumi bahasa-bahasa pengaturcaraan dan algoritma-algoritma yang digunakan untuk melaksanakan sistem-sistem serentak. Pengaturcaraan serentak biasanya dianggap lebih umum, berbanding dengan pengaturcaraan selari kerana ia melibatkan pola-pola komunikasi dan saling tindak yang sembarangan dan dinamik. Sebaliknya, sistem-sistem selari umumnya mempunyai pola-pola komunikasi yang pratertakrif serta berstruktur rapi. Matlamat-matlamat asas pengaturcaraan serentak termasuk ketepatan, prestasi, serta keteguhan. Sistem-sistem selari seperti sistem-sistem pengendalian umumnya direka bentuk untuk beroperasi tak terhingga dan tidak terhenti tanpa dijangka. Sesetengah sistem serentak melaksanakan sejenis keserentakan nyata yang entiti-entiti pengiraan serentak akan bersaing dan berkongsi satu sumber tunggal, tetapi kerumitan-kerumitan persaingan dan pengongsian ini dilindungi daripada pengaturcara.

Oleh sebab sistem-sistem serentak menggunakan sumber-sumber kongsi, sistem-sistem itu biasanya memerlukan penggunaan sejenis pengantara (sering di dalam perkakasannya) dalam pelaksanaannya untuk mengawal capaian sumber-sumber tersebut. Penggunaan pengantara memungkinkan keputusan-keputusan ketaktentuan tak terbatas yang boleh menjejaskan ketepatan dan prestasi sistem serentak.

Lihat juga[sunting | sunting sumber]

Pautan luar[sunting | sunting sumber]