Process yani İşlem, bilgisayar da çalışan bir programdır diyebiliriz. RAM de yaşıyor olması şarttır. CPU da çalışmaya da bilir. Peki process’in yapısı nasıldır? Şimdi bunun üzerinde duralım.
Process Yapısı
- Text : Program kodlarıdır.
- Program Counter : O an ki yapılan işlemin tutulduğu indextir.
- Stack : Geçici verinin tutulduğu yerdir.
- Data Section : Global değişkenler bu kapsama girer.
- Heap : Çalışma zamanında dinamik olarak hafızaya erişim yapılabilen alandır. Dinamik bellek diyebiliriz.
Process State
- new : Process’in oluşturulduğu durumdur.
- running : Process’in çalıştığı durumdur.
- waiting : Process’in bazı meydana gelen olaylardan ötürü beklediği durumdur.
- ready : Processin işlemciye aktarılmak üzere beklediği durumdur.
- terminated : Process’in başarıyla işlenip sona erdiği durumdur.
Üstteki resimden de inceleyebilirsiniz.
Process Control Block (PCB) Nedir?
Herhangi bir process ile ilişkilendirilen bilgilerin yer aldığı kısım olarak açıklayabiliriz.
- Process State : Running, waiting, ready, terminated, new durumları
- Process Number : Şu an ki hangi process de çalıştığını gösterir
- Program Counter : Sonraki işlenecek olan satırı tutar
- Registers : Process ile ilgili tutulan bilgilerdir. (CPU’da)
- Memory Limits : Kullanılacak bellek miktarı, sınır diyebiliriz
- List of open files : Kullanılan dosyaların listesi. Kimlerin eriştiği tutulur.
Process Scheduling
İşlemiciyi maksimum düzeyde kullanma işlemine diyebiliriz. İşlemlerin hızlı bir şekilde CPU’da yer değiştirmesi olayıdır.
Bu olayı anlayabilmek için aşağıdaki terimleri öğrenmemiz gerekiyor.
- Job queue : Sistem içindeki tüm işlemler
- Ready queque : Hazırda bekleyen işlemler
- Device queque : Giriş çıkış cihazlarını bekleyen işlemler olarak açıklayabiliriz.
- İşlemler(Process) kuyruklar arasındaki geçişleri kullanırlar.
İkiye ayrılır.
- Short-term Scheduler : (CPU) : Anlık işlemler olarak açıklayabiliriz. Direk olarak CPU ile ilişkilidir. Kısa zamanlıdır. Aynı anda yüzlerce işlem çalıştırılabilir. Küçük küçük alanlar kaplamaktadır her işlem.
- Long-term Scheduler : (Job) : Uzun süreli yapılan işlemlerdir. Görev olarak da düşünülebilir. CPU ile ilişkidir. Örneğin oldukça sistemi kullanan bir oyun oynadığımızı varsayın.
- Medium-term Scheduler : Swapping işlemlerinin yapıldığı, diskin bir bölümünün RAM olarak kullanıldığı yapılardır.
Evet… Umarım bu yapıyı anlamışsınızdır. Çünkü işletim sisteminin en önemli kavramlarından biridir. Bu konuyu anlamanız önemli. Bir sonraki konuda threadleri de göreceğiz. Thread olması için process şarttır fakat her process de thread olmayabilir. Process kolsa, thread parmaklardır. Aklınızda bu şekilde tutabilirsiniz.