Hesaplamadaki bir süreç ( İngilizce olarak süreçler ), şu anda bir bilgisayar tarafından çalıştırılan bir programdır . Daha doğrusu şu şekilde tanımlanabilir:
Bir sürecin bir başlangıcı ve ( bazen ) bir sonu ile tamamlanması belirli bir zaman alır . Bir işlem, bir çevre birimi aracılığıyla bir kullanıcı tarafından veya başka bir işlem tarafından başlatılabilir: kullanıcı " uygulamaları ", işlem kümeleridir.
In CIM Şeması tarafından tanımlanan Ortak Bilgi Modeli , taban sınıfı CIM_Process BT süreçlerinin atanır. İşletim sistemine bağlı olarak, elde edilebilir Win32_Process içinde IBMzOS_Process veya CIM_UnixProcess .
Çok görevli bir işletim sistemine sahip bir bilgisayar , birkaç işlemi neredeyse aynı anda yürütebilir. Telekomünikasyona benzer şekilde, bu sürece çoklama denir . Birden fazla işlemci varsa, işlemlerin yürütülmesi bu işlemciler arasında eşit olarak dağıtılır.
İşletim sistemi, süreçler için gerekli kaynakları (bellekler, işlemci zamanı, girdiler / çıktılar) tahsis etmekten ve bir işlemin diğer işlemlerle çakışmamasını sağlamaktan (izolasyon) sorumludur.
Ayrıca süreçler arası iletişimi (IPC) etkinleştirmek için bir API sağlayabilir .
Donanım kaynaklarının çoğullamasının yanı sıra, sistem süreçlerin kaynaklara erişimini bir hak matrisine göre kontrol edebilir ve ayrıca süreçleri bir dizi erişim hakkının alıcıları olan kullanıcılarla ilişkilendirebilir: bir işlem, haklara sahiptir. onu başlatan kullanıcının.
Bir süreç birkaç şekilde durabilir:
Bir işlemin kapatılması normal bir kapatma olmadığında, uyarılması önemli olabilir. Bu, denetim sistemleri ile yapılabilir ( izleme olarak da adlandırılır ).
Çoğu sistemler tamamiyle birbirinden izole önsel olan süreçler, ve "arasındaki ayrımı sunuyoruz ışık süreçler " ( ipler süreçlerini oluşturan İngilizce), (her işlem için en az birine sahiptir iplik ) ve bir boşluk paylaştıkları. Hafıza (ve diğer kaynaklar) ortaktır.
Birkaç hafif işlem içeren bir işlem durumunda (veya sıklıkla kullanılan çok iş parçacıklı ifadeyi kullanmak için) her hafif işlem için ayrı bir işlemci durumu (bir yürütme bağlamı) vardır.
Bir sürecin ardışık durumları genellikle bir durum diyagramı ile temsil edilir .
Durum diyagramlarının kullanılması, bir sürecin dışarıdan, yalnızca belirli zamanlarda, özellikle kritik bölümlerin dışında tutarlı olması gerçeğinden kaynaklanmaktadır . Uygulamada bir sürecin durumunu onunla iletişim kurarak gözlemleriz; böylece tutarlı olduğunda bir cevap sağlar.
Bir örnek verelim; ya herhangi bir programa ait sözde koddaki talimatlar dizisi :
procédure empiler (v : valeur) compteur := compteur+1 vect[compteur] := vBu işlevi kullanan program, yalnızca işlev çağrısından önce veya sonra gözlemlenebilir, empiler()çünkü artırma ve atama talimatları arasında compteurtablonun sayı hücresi vect[]etkilenmez ve rastgele bir değer içerir (bellek nadiren boştur) .
Bu durumlar çoğu işletim sisteminde bulunur :
İşletim sistemlerine bağlı olarak, bu farklı durumlar da mümkün olabilir: