İş Denetimi Kavramları
Önceki XXVII. Oylum - İş Denetimi Sonraki
İş Denetimi Kavramları
Bir etkileşimli kabuğun temel amacı kullanıcının uçbiriminden komutları okumak ve bu komutlarla belirtilen yazılımları çalıştırarak süreçler oluşturmaktır. Kabuk bunu fork (Bir Sürecin Oluşturulması) ve exec (Bir Dosyanın Çalıştırılması) işlevlerini kullanarak yapabilir.
Tek bir komut sadece bir süreci çalıştırmalı gibi düşünülebilir ama çoğunlukla bir komut çeşitli süreçleri kullanır. Bir kabuk komutunda | işlecini kullanarak, doğrudan kendi süreçleri içinde çeşitli uygulamaları çalıştırabilirsiniz. Ama sadece tek bir uygulamayı çalıştırmak istemiş olsanız bile bu uygulama dahili olarak çok sayıda süreci kullanabilir. Örneğin, cc -c foo.c gibi tek bir komut (normalde iki olmasına rağmen) genellikle dört süreç gerektirir. Hele bir make komutunu vardır ki, onun işi ayrı süreçler halinde başka uygulamaları çalıştırmaktır.
Tek bir komuta bağlı olarak çalışan süreçlere süreç grubu ya da denir. Bu hepsinin aynı anda çalışmasından dolayıdır. Örneğin, C-c tuşlayıp SIGINT sinyali göndererek önalan süreç grubundaki tüm süreçleri sonlandırabilirsiniz.
Bir oturum geniş bir süreçler grubudur. Normalde tüm süreçler tek bir oturum açılışında aynı oturuma ait olarak oluşturulurlar.
Her süreç bir süreç grubuna aittir. Bir süreç oluşturulduğu zaman, onun ata süreci ile aynı süreç grubunun ve oturumun bir üyesi haline gelir. Onu aynı oturuma ait bir süreç grubu olan başka bir süreç grubuna setpgid işlevini kullanarak koyabilirsiniz.
Bir süreci başka bir oturuma yerleştirmenin tek çaresi onu yeni bir oturumun ilk süreci ya da setsid işlevini kullanarak bir oturum lideri yapmaktır. Bu işlem ayrıca oturum liderini yeni bir süreç grubuna yerleştirir ve artık onu bu süreç grubundan tekrar dışarı taşıyamazsınız.
Çoğunlukla, yeni oturumları sistemin login komutu oluşturur ve oturum lideri kullanıcının oturum açma kabuğunu çalıştıran süreç olur.
İş denetimi desteği olan bir kabuk, her an uçbirimi kullanabilecek işi denetleyecek düzenlemeyi yapmalıdır. Aksi takdirde uçbirimden okumayı deneyen çok sayıda iş olabilir ve kullanıcı tarafından yazılan girdileri hangi sürecin alacağı konusunda karışıklık çıkar. Bundan kaçınmak için kabuk, bu oylumda bahsedilen protokolü kullanarak uçbirim sürücüsü ile işbirliği yapmalıdır.
Kabuk, bir defada sadece bir sürece denetim uçbiriminde sınırsız erişim verebilir. Denetim uçbirimine sınırsız erişim yapabilen sürece önalan işi denir. Kabuk tarafından yönetilen ve uçbirime bu tür bir erişimi olmayan diğer süreç gruplarına ise artalan işleri denir.
Eğer artalan işlerinden biri denetim uçbiriminden okuma yapmak ihtiyacı duyarsa, uçbirim sürücüsü tarafından durdurulur; eğer TOSTOP kipi etkinse, yazmak istediğinde de durdurulur. Bir önalan işini bir kullanıcı SUSP karakterini kullanarak durdurabileceği gibi bir süreç de bir SIGSTOP sinyali göndererek durdurabilir. İşler durduğunda uyarmak, bunlar hakkında kullanıcıyı uyarmak ve durdurulan işlerin kullanıcı ile etkileşimli olarak sürdürülmesini ve artalan işleri ile önalan işi arasında geçişi mümkün kılmak için mekanizmalar sağlamak kabuğun sorumluluğudur.
Denetim uçbiriminde G/Ç işlemleri hakkında daha fazla bilgi edinmek için Denetim Uçbirimine Erişim bölümüne bakınız.
Önceki Üst Ana Başlık Sonraki
XXVII. Oylum - İş Denetimi Başlangıç İş Denetimi İsteğe Bağlıdır
Bir Linux Kitaplığı Sayfası