Grafikler ve metin, Linux işlemlerini ve iş parçacıklarını canlı bir şekilde açıklar

İşlem ve iş parçacığı, işletim sistemlerinin temel kavramlarıdır, ancak nispeten soyuttur ve anlaşılması kolay değildir. Son zamanlarda bir malzeme okudum ve bunları net ve kolay bir şekilde açıklayabilecek iyi bir benzetme olduğunu gördüm.

1. Bilgisayarın çekirdeği, tüm hesaplama görevlerini üstlenen CPU'dur. Sürekli çalışan bir fabrika gibidir.

2. Fabrikanın gücünün sınırlı olduğu varsayıldığında, bir seferde yalnızca bir atölye tarafından kullanılabilir. Başka bir deyişle, bir atölye başladığında diğer tüm atölyeler durmalıdır. Bunun anlamı, tek bir CPU'nun bir seferde yalnızca bir görevi çalıştırabileceğidir.

3. Süreç, bir fabrikanın atölyesi gibidir, CPU'nun üstesinden gelebileceği tek bir görevi temsil eder. Herhangi bir zamanda, CPU her zaman bir işlemi çalıştırır ve diğer işlemler çalışmaz durumdadır.

4. Bir atölyede çok sayıda işçi olabilir. Bir görevi tamamlamak için birlikte çalışırlar.

5. İplikler atölyedeki işçiler gibidir. Bir süreç birden çok iş parçacığı içerebilir.

6. Atölyedeki alan işçiler tarafından paylaşılır Örneğin, birçok odaya her işçi erişebilir. Bu, bir işlemin bellek alanının paylaşıldığını ve her iş parçacığının bu paylaşılan belleği kullanabileceğini sembolize eder.

7. Bununla birlikte, her odanın boyutu farklıdır ve bazı odalarda tuvalet gibi en fazla bir kişi kalabilir. İçeride insanlar varken başka kimse giremez. Bu, bir iş parçacığı bazı paylaşılan bellek kullandığında, bu belleği kullanmadan önce diğer iş parçacığının bitmesini beklemesi gerektiği anlamına gelir.

8. Başkalarının girmesini önlemenin basit bir yolu, kapıya bir kilit eklemektir. Önce gelenler kapıyı kilitlediler ve daha sonra gelenler kilidi görüp kapıya dizildi, içeri girmeden önce kilidin açılmasını beklediler. Buna "karşılıklı dışlama" (Mutual exclusion, kısaltılmış Mutex) adı verilir ve bu, birden fazla iş parçacığının aynı anda bir bellek alanını okumasını ve yazmasını engeller.

9. Mutfak gibi aynı anda n kişinin konaklayabileceği odalar da bulunmaktadır. Diğer bir deyişle, kişi sayısı n'den büyükse, fazladan insanlar sadece dışarıda bekleyebilir. Bu, yalnızca sabit sayıda iş parçacığı tarafından kullanılabilen bir bellek alanı gibidir.

10. Şu anda çözüm, kapıya n anahtar asmaktır. İçeri girenler bir anahtar alır ve çıktıklarında anahtarı geri asarlar. Daha sonra gelenler anahtarın boş olduğunu ve kapıda sırada beklemeleri gerektiğini biliyorlardı. Bu yaklaşıma "semafor" (Semafor) adı verilir ve birden çok iş parçacığının birbiriyle çakışmamasını sağlamak için kullanılır.

Muteksin özel bir semafor durumu olduğunu görmek zor değildir (n = 1 olduğunda). Başka bir deyişle, birincisi yerine ikincisi kullanılabilir. Bununla birlikte, muteks nispeten basit ve verimli olduğu için, bu tasarım, kaynak tekeli garanti edilmesi gerektiğinde hala kullanılmaktadır.

11. İşletim sisteminin tasarımı bu nedenle üç noktada özetlenebilir:

(1) Birden çok işlem biçiminde, birden çok görevin aynı anda çalışmasına izin verilir;

(2) Çoklu okuma biçiminde, tek bir görevin yürütülmesi için farklı bölümlere bölünmesine izin verilir;

(3) Bir yandan süreçler ve iş parçacıkları arasındaki çatışmaları önlemek için bir koordinasyon mekanizması sağlayın ve diğer yandan kaynakların süreçler ve iş parçacıkları arasında paylaşılmasına izin verin.

Makalenin iyi yazıldığını düşünüyorsan, beğenir misin? İyileştirmeye değer bir şey olduğunu düşünüyorsanız, lütfen bana bir mesaj bırakın, eksiklikleri kesinlikle kontrol edip düzelteceksiniz, teşekkür ederim.

Teknik değişim qun: 185873940

190615 Yeni Rap Takdir Konferansı'nın Açılışı, Profesyonel Yapımcı Wu "En Eğlenceli"
önceki
İksire ihtiyacın yok, sonsuza kadar yaşayabilirsin
Sonraki
Android öğrenmenin üç temel sorusu: Ne öğrenmeli? Nasıl ögrenilir? Şimdiye kadar
Huawei, üst düzey pazarda neden Apple'ı geride bırakıyor?
Android ve Flutter arasındaki iletişimi anlamak için bir makale
Wang Leehom: Ailemin en kötü çocuğuyum. Erkek kardeşim Başkan tarafından karşılandı ve küçük erkek kardeşim Massachusetts'te yüksek lisans öğrencisi.
2019 LOGO tasarımındaki trendler neler?
190615 Lu Han, Şangay Uluslararası Film Festivali'nin açılış törenine katılacak. Stüdyo, bir modelleme fotoğrafları dalgası yayınlayan ilk kişi.
Endüstriyel Tasarımın Heterojenliği: Asi Bir Tasarım Üçlemesi mi?
Huawei, üst düzey pazarda neden Apple'ı geride bırakıyor?
İsviçreliler, milyonlarca insanın hayatını değiştiren basitçe bir su arıtma cihazı olan bir pipet yaptı
5G'nin arifesinde, yenilikçi tasarımın üç boyutu: üretim faktörleri, üretim koşulları ve üretim fonksiyonları
En yenilikçi piyanoyu ve en ekstrem müziği çalın
190615 Fengfeng, yaşamın altı evresindeki oturma pozisyonu, tatlıdan bohemliğe uzanan bir "gelişim tarihi"
To Top