Arka plan süreci - Background process

Bir arka plan süreci bir bilgisayar süreci bu çalışır kamera ARKASI (yani arka planda) ve kullanıcı müdahalesi olmadan.[1] Bu süreçler için tipik görevler arasında günlük kaydı, sistem izleme, programlama,[2] ve kullanıcı bildirimi.[3] Arka plan süreci genellikle bir bilgi işlem görevini işlemek için bir kontrol süreci tarafından oluşturulan bir alt süreçtir. Oluşturulduktan sonra, alt süreç kendi başına çalışacak, görevi kontrol sürecinden bağımsız olarak yerine getirecek ve bu görevi yerine getirme kontrol sürecini serbest bırakacaktır.[kaynak belirtilmeli ]

Bir pencereler sistem, arka plan süreci ya bir bilgisayar programı bu bir yaratmaz Kullanıcı arayüzü veya a Windows hizmeti. İlki, diğer herhangi bir program başlatıldığında, örn. Başlangıç ​​menüsü. Windows hizmetleri ise Servis Kontrol Müdürü. İçinde Windows Vista ve sonra onlar ayrı bir oturumda çalıştırılır. Bir sistem hizmetinin veya arka plan işleminin sistem kaynaklarını ne kadar kullanabileceği konusunda bir sınır yoktur. Gerçekten de Windows Server Microsoft işletim sistemleri ailesinde, arka plan işlemlerinin sistem kaynaklarının başlıca tüketicileri olması beklenir.[kaynak belirtilmeli ]

Bir Unix veya Unix benzeri sistem, bir arka plan süreci veya iş ayrıca süreç grubu Kimlik, terminal grup kimliğinden (TGID) farklıdır. (Bir sürecin TGID'si, tipik olarak oturum açma kabuğu olan, uçbirimi açan işlem grubu liderinin işlem kimliğidir. TGID, işlem grubunun kontrol terminalini tanımlar.) Bu tür bir işlem, klavye sinyallerini alamaz. onun ana terminali ve tipik olarak bu terminale çıktı göndermez.[4] Bu daha teknik tanım, sürecin kullanıcı müdahalesini alıp alamayacağını ayırt etmez. Arka plan süreçleri tipik olarak birkaç kaynağa ihtiyaç duyan amaçlar için kullanılsa da, herhangi bir süreç arka planda çalıştırılabilir ve bu tür bir süreç, yukarıda verilen istisnalar dışında herhangi bir süreç gibi davranacaktır.[1]

Windows hizmetleri

İçinde Windows NT ailesinin işletim sistemleri, bir Windows hizmeti özel bir arka plan işlemidir.[5] Bir Windows hizmeti, cihazın arayüz kurallarına ve protokollerine uymalıdır. Servis Kontrol Müdürü, Windows hizmetlerini yönetmekten sorumlu bileşen.[6]

Windows hizmetleri, işletim sistemi başladığında başlayacak ve Windows çalıştığı sürece arka planda çalışacak şekilde yapılandırılabilir. Alternatif olarak, manuel olarak veya bir olayla başlatılabilirler. Windows NT işletim sistemleri çok sayıda hizmet içerir üç bağlamda çalışan Kullanıcı hesapları: Sistemi, Ağ Hizmeti ve Yerel servis. Bu Windows bileşenleri genellikle Windows Hizmetleri için Ana Bilgisayar İşlemi ile ilişkilendirilir: svchost.exe. Windows hizmetleri kendi adanmış kullanıcı hesapları bağlamında çalıştığından, bir kullanıcı oturum açmadığında çalışabilir.

Önce Windows Vista "etkileşimli hizmetler" olarak yüklenen hizmetler Windows ile etkileşim kurabilir masaüstü ve göster grafiksel kullanıcı arayüzü. Ancak Windows Vista ile etkileşimli hizmetler kullanımdan kaldırıldı ve bir sonucu olarak düzgün çalışmayı bıraktı Windows Hizmet Sağlamlaştırma.[7][8]

Windows hizmetlerini yönetmenin üç ana yolu şunlardır:

  1. İçin hizmetler eklentisi Microsoft Yönetim Konsolu
  2. sc.exe
  3. Windows PowerShell

Daemon

Bir arka plan programı, arka planda sürekli olarak çalışmak üzere tasarlanmış, olay (lar) ın veya koşulların karşılanmasını bekleyen bir arka plan süreci türüdür.[9] Bu işlemler tipik olarak minimum sistem kaynaklarını kullanır ve kullanıcıdan çok az girdi gerektiren veya hiç gerektirmeyen görevleri gerçekleştirir. İle başlatıldığında arka plan programı işlev, arka plan yordamları ana terminallerinden ayrılır.[10]

Unix'te başlatma ve devam ettirme

Bir Unix komut satırından, "&" operatörü kullanılarak bir arka plan işlemi başlatılabilir. bg yardımcı program askıya alınan bir işi devam ettirebilir (gönderme SIGCONT ), arka planda çalıştırıyor. Kullanmak fg yardımcı program ayrıca standart girişi ana terminaline yeniden bağlayarak onu ön plana getirir. Meslekler yardımcı program, geçerli terminalle ilişkili tüm işlemleri listeler ve arka plan işlemlerini ön plana getirmek için kullanılabilir.[4][11]

Zaman oturum açma açık oturum kapatma veya ağ bağlantısının kesilmesi yoluyla sona erdiğinde, arka plan işlemleri de dahil olmak üzere tüm işlemler varsayılan olarak sona erdirilir. yetim süreçler. Somut olarak, kullanıcı başlatan kabuk işleminden çıktığında, kapatmanın bir parçası olarak bir telefonu kapatmak sinyal (SIGHUP ) hepsine Meslekler, ilgili tüm süreçleri sonlandırmak için süreç grubu. İşlemlerin çalışmaya devam etmesini sağlamak için kişi ya oturumu sonlandıramaz ya da süreçleri sonlandırmadan oturumu sonlandırabilir. Bir terminal çoklayıcı bir oturumu çalışır durumda bırakmak, ancak sanal bir terminali ondan ayırmak, süreçleri oturumun alt süreçleri olarak çalışır durumda bırakmak için kullanılabilir; kullanıcı daha sonra oturumu yeniden ekleyebilir. Veya işlemin başlatılmasıyla fesih önlenebilir. nohup komut (işleme SIGHUP'ı yok saymasını söyleyerek) veya daha sonra çalıştırarak reddetmek işi iş listesinden tamamen kaldıran veya sadece SIGHUP'ın gönderilmesini engelleyen iş kimliği ile. İkinci durumda, oturum sona erdiğinde, alt süreçler, ya SIGHUP gönderilmedikleri için ya da görmezden geldikleri için sonlandırılmaz ve böylece öksüz süreçler haline gelirler ve daha sonra içinde süreç (çekirdek, init sürecini ebeveyn olarak ayarlar) ve bir oturum olmadan çalışmaya devam ederler, şimdi adı cinler.

Misal

Bu örnekte devam ediyor Unix, uyku yardımcı program arka planda başlatıldı. Daha sonra ps aracı, aşağıdaki metni çıktıladığı ön planda çalıştırıldı. Her ikisi de kabuktan fırlatıldı.[12]

  PID TT STAT ZAMAN KOMUTU54659 10  S 0: 00.06 su (zsh)54703 10  İÇİNDE 0: 00.00 - uyku 100054852 10  R + 0: 00.00 - ps -U botty -axd

Akıllı telefonlar

Birçok yeni sürümü akıllı telefon ve PDA işletim sistemleri artık arka plan işlemlerini başlatma özelliğini içerir. Donanım sınırlamaları nedeniyle, mobil işletim sistemlerindeki arka plan işlemleri genellikle belirli görevler veya tüketim seviyeleriyle sınırlıdır. Açık Android, Arka plan işlemleri için CPU kullanımı% 5 - 10 ile sınırlandırılmıştır.[13] Apple'ın üçüncü taraf uygulamaları iOS arka planda çalışırken bir işlev alt kümesiyle sınırlıdır.[3] Hem iOS hem de Android'de, çok fazla bellek kullanıyorlarsa arka plan işlemleri sistem tarafından sonlandırılabilir.[3][13]

Ayrıca bakınız

Referanslar

  1. ^ a b "İşletim Sistemi Nedir ?, Süreçler". Linux Eğitimi. Alındı 14 Kasım 2010.
  2. ^ Michele Cyran (Aralık 1993). Oracle Database Concepts, 10g Sürüm 1. Oracle Corporation. B10743-01. Alındı 12 Kasım 2010.
  3. ^ a b c Jesus Diaz (8 Nisan 2010). "Yeni iPhone OS 4.0'da Çoklu Görev Nasıl Çalışır?". Gizmodo. Arşivlendi 2 Kasım 2010'daki orjinalinden. Alındı 14 Kasım 2010.
  4. ^ a b GNU Bash Referans Kılavuzu, Sürüm 4.1, İş Kontrolünün Temelleri. Free Software Foundation, Inc. 23 Aralık 2009. Arşivlendi 3 Aralık 2010'daki orjinalinden. Alındı 10 Kasım 2010.
  5. ^ "Servislere genel bakış". Microsoft TechNet. Microsoft. Alındı 29 Mart 2013.
  6. ^ "Hizmetler". Microsoft Geliştirici Ağı. Microsoft. Alındı 29 Mart 2013.
  7. ^ "Windows Vista için Yeni Elevation PowerToys". TechNet Dergisi. Microsoft. Haziran 2008. Alındı 21 Haziran 2013. CmdAsSystem hizmeti, desteği kullanımdan kaldırılan etkileşimli olarak yapılandırılmıştır. Hizmet düzgün çalışmayabilir. Sorun, bu komut dosyasının etkileşimli bir hizmet oluşturmaya ve başlatmaya çalışmasıdır. Windows Vista'daki Oturum 0 İzolasyonu nedeniyle etkileşimli hizmetler düzgün çalışmayacaktır.
  8. ^ "Windows'ta Hizmetler". MSDN. Microsoft. 18 Ekim 2010. Alındı 21 Haziran 2013.
  9. ^ Eric S. Raymond (1 Ekim 2004). Jargon Dosyası, sürüm 4.4.8, "arka plan programı". Arşivlendi 3 Kasım 2010'daki orjinalinden. Alındı 10 Kasım 2010.
  10. ^ raf (12 Haziran 2010). Linux Kullanıcı Kılavuzu, "daemon". Arşivlendi 21 Ekim 2010'daki orjinalinden. Alındı 10 Kasım 2010.
  11. ^ Åke Nordlund (7 Şubat 2007). "Unix / Linux'ta Arka Plan İşlemleri". Arşivlenen orijinal 13 Şubat 2012'de. Alındı 10 Kasım 2010.
  12. ^ "POSIX" ps"". IEEE Std 1003.1, 2004 Sürümü.
  13. ^ a b Matt Buchanan (2010-04-29). "Giz Açıklıyor: Telefonda Çoklu Görev Nasıl Çalışır?". Gizmodo. Arşivlendi 17 Ekim 2010 tarihinde orjinalinden. Alındı 14 Kasım 2010.