Bir "iş" ile "süreç" arasındaki fark nedir?
Bir "iş" ile "süreç" arasındaki fark nedir?
Yanıtlar:
İşlem, kendi adres alanına sahip çalışan bir programdır.
İş, kabuk tarafından kullanılan bir kavramdır - etkileşimli olarak başlattığınız herhangi bir programın (yani bir arka plan programı değil) işten çıkarılmasıdır. Etkileşimli bir program çalıştırıyorsanız, CtrlZaskıya almak için tuşuna basabilirsiniz . Ardından ön planda (kullanarak fg
) veya arka planda (kullanarak ) başlayabilirsiniz bg
.
Program askıya alınmış veya arka planda çalışırken, başka bir program başlatabilirsiniz - daha sonra çalışan iki işiniz olur. Ayrıca, bir "&" Böyle ekleyerek arka planda bir program çalışmasını başlatabilir: program &
. Bu program arka plan işi olacaktı. Çalıştığınız tüm işleri listelemek için kullanabilirsiniz jobs
.
İşler hakkında daha fazla bilgi için , bash man sayfasının bu bölümüne bakın.
ls | sort
bir iştir, ancak her komut farklı bir alt kabuk işleminin alt süreci olarak çalışır. Bu, çoklu işlemlerden oluşan bir iş örneğidir. Bir iş tanımınız bir işin birden fazla süreçten oluşabileceğini nasıl açıklayabilir?
UNIX'in "işlem", "işlem grubu" ve "oturum" gibi farklı kavramları vardır.
Giriş yaptığınız her kabuk kendi yeni oturumunun ve süreç grubunun lideri olur ve terminalin kontrol süreci grubunu kendisine ayarlar.
Kabuk, geçerli oturum içinde başlattığı her "iş" için bir işlem grubu oluşturur ve başlattığı her işlemi uygun işlem grubuna yerleştirir. Örneğin ls | head
, kabuğun tek bir iş olarak gördüğü ve yeni ve tek bir süreç grubuna ait olacağı iki işlemden oluşan bir boru hattıdır.
Bir işlem, (ve) adres dizisi ve dosya tanımlayıcı tablosu gibi diğer bağlamların yürütme iş parçacığıdır. Bir işlem başka işlemlere başlayabilir; bu yeni işlemler, başka bir işlem yapılmazsa, ebeveyn ile aynı işlem grubuna ait olacaktır. Her işlem aynı zamanda ebeveyni ile aynı şekilde başlayan bir "kontrol terminaline" sahip olabilir.
Kabuk "ön plan" işleri ve "arka plan" işleri kavramına sahiptir. Ön plan işleri, terminalin kontrolünü içeren işlem gruplarıdır ve arka plan işleri, terminalin kontrolünü içermeyen işlem gruplarıdır.
Her terminalin bir ön plan işlem grubu vardır. Bir işi ön plana getirirken, kabuk terminalin ön plan grubu olarak ayarlar; İşi arka plana koyarken, kabuk terminalin ön plan işlem grubunu başka bir işlem grubuna veya kendisine ayarlar.
İşlemler, ön plan işlem grubundaysa, terminallerini okuyup yazabilirler. Aksi takdirde bunlar, alma SIGTTIN
ve SIGTTOU
girişimleri üzerinde sinyaller sırasıyla gelen ve yazma terminali okuyun. Varsayılan olarak, bu sinyaller işlemi durdurur, ancak çoğu kabuk maskelidir, SIGTTOU
böylece bir arkaplan işi kesintisiz olarak terminale yazabilir.
Hesaplamada, İş bir iş birimi veya yürütme birimidir (söz konusu işi yapan). Bir işin bir bileşenine (iş birimi olarak) görev veya adım adı verilir (sıralıysa, bir iş akışında olduğu gibi). Bir yürütme birimi olarak, bir iş tek bir işlemle somut bir şekilde tanımlanabilir; bu da alt işlemlere (alt süreçler; işin ana sürecine karşılık gelen süreç) gerçekleştiren görevleri veya adımları içeren tek bir süreçle somut olarak tanımlanabilir. iş; veya bir işlem grubuyla; veya Unix iş kontrolünde olduğu gibi bir süreç veya süreç grubuna soyut bir referans ile.
Tanımların üstünde çok teknikler var, ancak belki de operasyon uzmanı günden güne açıklığa kavuşturmak istedi. Bir işin zamanlanmış bir süreç olduğunu düşünüyorum. Genel olarak süreçlerle uğraşırken mutlaka zamanlama kavramı olmaz, ama "iş" kelimesini kullandığımızda her zaman programlanmış veya bir döngü gibi tekrarlanan anlamına gelir, bir işçi gibi.