İçeriğe atla

İşlem yönetimi

İşlem yönetimi günümüz işletim sistemlerinin önemli bir parçasıdır. İşletim sisteminin işlemlere yer alması, aralarında haberleşmeyi sağlaması onun önemli görevlerindendir. İşletim sistemi kaynakları işlemlere göre ayırmalı, işlemleri veri aktarımı ve paylaşımına uygun hale getirmeli, her işlemin kaynağını diğer işlemlerden korumalı ve işlemler arası senkronizyonu sağlamalıdır. Bunları yapabilmek için işletim sistemi her işlem için o işlemin mevkisini ve sahipibi tanımlayan ve işletim sistemini her veriği üzerinde kontrol uyguladığı bir veri yapısı sağlamalıdır.

Çok aşamalı programlama

Çoğu modern işletim sistemlerinde, aynı anda bir programın bellekte yüklü birden fazla aşaması olabilir; örnek verirsek birden fazla kullanıcı çalıştırıyor olabilir, her kullanıcı programın belleğe yüklü ayrı kopyalarına sahip olur. Bazı programlara, bellekte sadece bir kopyasına sahip olmak mümkün olabilmektedir, birkaç kullanıcının paylaşılmış erişimi olabilir, böylece her biri aynı program kodunu kullanabilir. Böyle bir programa "evresel" denebilir. Her aşamadaki işlemci sadece bir programdan gelen direktifi çalıştırıyor olabilir ancak birkaç işlem bir süre boyunca her işlemi işlemciye aralıklara atayarak geriye kalanlar geçici olarak pasif olursa sürdürülebilir. İşlemlerin sayısı bir süre boyunca sürdürelibir, aynı zamanda eş zamanlı olarak da yürütülebilir.

Çok aşamalı programlama ya da çok aşamalı görevlendirme yapan işletim sistemi eşzamanlı olarak bir sürü işlemi sürdüren bir sistemdir. Çok aşamalı programlama, işlemcinin her işlemi bir süre için tahsis etmesi ve uygun anda ayırmasını gerektirir. Eğer işlemci bir işlemin sürdürülmesi sırasında ayırmışsa, tekrar başlatılması mümkün olduğunca kolay olacak şekilde yapılmalıdır.

İşletim sisteminin bir programın sürdürülmesi için tahsis ya da ayırma sırasında işlemcinin kontrolünü yeniden almasın için iki mümkün yol vardır:

  1. İşlem bir sistem çağrısı yapar(yazılım kesilmesi olarak da bilinir); örnek olarak sabit diskteki bir dosyaya erişme talebi sırasında bir I/O talebi oluşur.
  2. Donanım kesilmesi meydana gelir; örnek olarak klavyede bir tuşa basılır ya da bir zamanlayıcının süresi biter(baraj çok aşamalı görevlendirmesinde kullanılır)

Bir işlemin durması ve başka bir işlemin başlaması bağlam değişimi olarak adlandırılır. Çoğu modern işletim sisteminde işlemler birçok alt işlem oluşturabilir. Bu iş parçacıkları kavramına girer. Bir iş parcağı alt işlem olarak görüntülenir yani bir ayırma, bir işlemin kodunun içinde sürdürülen bağımsız dizidir. İş parçacıklarının önemi dağıtılmış ya da istemci-sunucu sistemlerin dizaynında ve bir yazılımın paralel hesaplama sisteminde çalışmasında önemi artar.

Çok aşamalı programlama verimi nasıl artırır?

Çoğu bilgisayar programıyla ilişkili işlemlerin arasında ortak özelliklerinin gözlenmesidir yani işlemci devirleriyle giriş/çıkış devirlerinin yer değiştirmesidir. İşlemci devirleri için gereken sürede; işlem yürütülür yani; işlemciyi meşgul eder. Giriş çıkış için gereken sürede işlem, işlemciyi kullanmaz. Bunun yerine ya giriş çıkışı gerçekleştirmek beklenecek ya da giriş çıkış yapılacaktır. Bunun bir örneği, diskteki bir veriyi okumak ya da yazmaktır. Çok aşamalı programlamanın gelişinden önce, bilgisayarlar tek kullanıcı sistemiyle işletilirdi. Bu tür sistemlerin kullanıcıları bilgisayarın bir kullanıcıya tahsis ettiğine ve işlemcinin kullanıcı veri girdiğinde ya da hata ayıklarken boşta olduğunun farkına çabuk vardılar. Bilgisayar mühendisleri makinenin tüm performansının farklı işlemlerin işlemciyi başka bir işlem giriş çıkış için beklerken kullanmasıyla artırılabileceğinin farkına vardılar. Bir birleşik programlama sisteminde; N kullanıcıları programları t1, t2, ..., tN, ardından toplam zaman tuni bireysel yürütme zamanlarıyla N işlemine servis etmek için(ardışık biçimde) bütün N kullanıcıları böyle olacaktı:

tuni = t1 + t2 + ... + tN.

Bununla birlikte, her işlem hem G/Ç hem işlemci devirlerini tüketeceğinden, her işlemin işlemciyi kullandığı zaman tüm işlem yürütme zamanlarının küçük bir bölümü olacaktı. Bu yüzden i işlemi için:

ti (işlemci)ti (yürütme)

olursa

ti (işlemci) i işleminin işlemciyi kullandığı zaman ve
ti (yürütme) ise işlem için toplam yürütme zamanı yani işlemci devirleri + giriş çıkış devirleri işlemin tamamlanmasından önce yapılacak.

Aslında, genelde bütün işlemci zamanının toplamı, N işlemi tarafından kullanılan, zamanın küçük bir bölümünü nadiren aşan zamandan yürütmeye herhangi bir işlem;

İşlemin başlaması

Bir işlem şu şekillerde çalışmaya başlayabilir:

  • Sistemi çalışmaya başlaması
  • Kullanıcının yeni bir iş başlatması
  • İşlem yaratma sistem çağrısının kullanılması

Üç durumlu işlem modeli

Bir aşağıdaki 3 durumdan birindedir.

  • ÇALIŞIYOR: İşlem işleniyor.
  • HAZIR: İşlem, eğer MİB'de yer bulursa çalışmaya hazır.
  • ASKIDA: İşlem, bir olayın olmasını (örneğin bir girdiyi) bekliyor.

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

Bellek bilgisayarı oluşturan 3 ana bileşenden biridir.. İşlemcinin çalıştırdığı programı, lar ve programa ait bilgiler bellek üzerinde saklanır. Bellek geçici bir depolama alanıdır. Bellek üzerindeki bilgiler güç kesildiği anda kaybolurlar. Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur.

<span class="mw-page-title-main">Bellek yönetimi</span>

Ana belleğin işlemler arasında paylaştırılmasına ana bellek yönetimi ya da bellek yönetimi adı verilir. İşletim sisteminin bu amaçla oluşturulan kesimine de bellek yöneticisi adı verilir.

Paralel hesaplama ya da Koşut hesaplama, aynı görevin, sonuçları daha hızlı elde etmek için çoklu işlemcilerde eş zamanlı olarak işletilmesidir. Bu fikir, problemlerin çözümünün ufak görev parçalarına bölünmesi ve bunların eş zamanlı olarak koordine edilmesine dayanır. Paralel hesaplama ile performans artar, büyük sorunlar daha az sürede çözülür ve bilimdeki gelişmeler paralel hesaplamaya gereksinim duyar.

<span class="mw-page-title-main">İş parçacığı</span>

İş parçacığı, bilgisayar biliminde, bir işin eş zamanlı olarak işlenen her bir bölümüdür. İş parçacığı ve işlem arasındaki fark bir işletim sisteminden diğerine değişmekle birlikte genel olarak iş parçacığının oluşturuluşu ve kaynakların paylaşılmasıdır. İşlemler, birçok iş parçacığı oluşturup sonlandırabilir, iş parçacıkları da ortak bellek kullanabilirler. Çoğu durumda iş parçacıkları işlemlerin içinde yer alır, onları oluştururlar. Çoklu iş parçacıkları paralel olarak pek çok bilgisayar sisteminde uygulanabilir. Tek işlemci kullanıldığında çok iş parçacıklı uygulama, zaman dilimlemesiyle gerçekleştirilir; tek işlemci, farklı iş parçacıkları arasında çok hızlı geçiş yapar ve bu durumda işlemler gerçekte olmasa da eş zamanlı çalışıyormuş gibi görünür. Çok işlemcili sistemlerde farklı iş parçacıkları, farklı işlemciler üzerinde eş zamanlı olarak çalışabilir.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

<span class="mw-page-title-main">BIOS</span> EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan yazılım

BIOS,. EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan bir tür yazılımdır. Bilgisayar açıldığı anda işlemciye tüm diğer donanımları sırasıyla tanıtır. Donanımların temel iletişim protokollerini belirler. İşletim sisteminin başlangıç öğelerinin herhangi bir sürücüden yüklenmesini sağlar. İşletim sistemi çalışırken donanım ve işletim sistemi arasındaki ilişkileri düzenler.

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir. Ana belleğin, diskin (ikincil saklama) önbelleği (cache) gibi davranmasıyla; yani disk yüzeyini belleğin bir uzantısıymış gibi kullanmasıyla gerçekleştirilir. Ancak gerçekte, yalnızca o anda ihtiyaç duyulan veri tekerden ana belleğe aktarılıyor olabilir. Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, kelime işlemcileri, tablolama uygulamaları gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır.

Sayfalama ya da bellek adresleme, durgun sanal bellek sayfalarının ikincil bellekte (teker) saklanarak daha sonra ihtiyaç duyulduğunda ana belleğe yüklenmesi işlemini içerir. Bir diğer anlamı, adres uzayının belli oranlarda bloklara ayrılmasıdır. Sayfalama, bellek mahallerine ulaşımı ve adreslemeyi kolaylaştırır. 6502 mikroişlemcili bir sistemde 65536'lık adres uzayı 256 adet 256 Baytlık hayalı sayfalara ayrılır. Genelde 6502 işlemcili sitemlerde 1. sayfa yığın olarak ayrılırken 0. sayfaya bakış tabloları veya veri blokları yerleştirilir.

Çok çekirdekli işlemci, ikiden fazla işlemciden (çekirdek) oluşan bir hesaplama birimi. Bilgisayarlarda temel komut kümesi işlemlerini gerçekleştirir.

<span class="mw-page-title-main">İşlem (bilgisayar)</span>

Bilgisayar bilimlerinde işlem (process) terimi, belleğe yüklenmiş ve işlemcide (CPU) yürütülmekte olan bir program olarak tanımlanmaktadır. Uygulamalar diskte çalışmaz halde bulunurken ise program olarak tanımlanır. Bir program kendi başına pasif komut yığınıdır ve işlem ise bu komutların aktif olarak yürütülmesidir.

Giriş/çıkış, bilgi işlem sistemin değişik fonksiyonel birimleri arasındaki iletişimi veya bu arayüzlere doğrudan bilgi sinyallerini göndermeyi sağlar.

<span class="mw-page-title-main">QNX</span>

QNX, gömülü sistemler pazarına yönelik Unix benzeri, gerçek zamanlı işletim sistemidir.

<span class="mw-page-title-main">Önyükleme</span> CPUya ilk elektrik verildiğinde bilgisayarın çalışabilmesi için uygulamaya konulan işlemler bütünü ve çalışan uygulamalar

Bilgisayar biliminde önyükleme, bir donanım veya bir yazılım komutu ile elektrik verilen bilgisayarı başlatma işlemidir. Açıldıktan sonra, bir bilgisayarın merkezî işlem biriminin (CPU) ana belleğinde yazılım yoktur, bu nedenle bazı işlemlerin yürütülebilmesi için yazılımı belleğe yüklemesi gerekir. Bu, CPU'daki donanım veya bellenim veya bilgisayar sistemindeki ayrı bir işlemci tarafından yapılabilir. İşletim sistemi ve bazı uygulamalar elde başlatıldığında, önyükleme tamamlanır.

<span class="mw-page-title-main">Anaçatı bilgisayar</span>

Bir anaçatı bilgisayar milyonlarca kullanıcıya eş zamanlı olarak farklı hizmetler verebilen, büyük, güçlü ve pahalı bir bilgisayardır. Anaçatı bilgisayarların gücü şu nedenlerden kaynaklanmaktadır:

<span class="mw-page-title-main">Gömülü sistem</span> Belli bir fonksiyonu yapmaya yönelik bilgisayar sistemi

Gömülü sistem, bilgisayarın kendisini kontrol eden cihaz tarafından içerildiği özel amaçlı bir sistemdir. Genel maksatlı, örneğin kişisel bilgisayar gibi bir bilgisayardan farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi uygunlaştırabilirler. Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir.

<span class="mw-page-title-main">Windows NT mimarisi</span>

Microsoft tarafından üretilen ve satılan bir işletim sistemi satırı olan Windows NT'nin mimarisi, kullanıcı modu ve çekirdek modu olmak üzere iki ana bileşenden oluşan katmanlı bir tasarımdır. Tek işlemcili ve simetrik çok işlemcili (SMP) tabanlı bilgisayarlarla çalışmak üzere tasarlanmış, önleyici, yeniden gelen bir işletim sistemidir. Giriş/çıkış isteklerini işlemek için, I / O istek paketlerini (IRP'ler) ve zaman uyumsuz G / Ç'yi kullanan paket odaklı G / Ç kullanırlar. Windows XP'den başlayarak, Microsoft Windows'un 64 bit sürümleri hazırlanmaya başladı; Bundan önce, bu işletim sistemleri yalnızca 32-bit sürümlerde mevcuttu.

Bilgi teknolojisi ve bilgisayar biliminde eğer önceki olayları veya kullanıcı etkileşimlerini hatırlamak için tasarlandıysa biliminde bir sistem durumsal olarak ifade edilmiştir, hatırlanan bilgiye ise sistemin durumu denir.