En Kısa İş İlk (Shortest Job First)
Yazan : Şadi Evren ŞEKER
Bir zamanlama algoritması şekli olan en kısa iş ilk (Shortest job first, SJF) algoritmasında o anda elde bulunan işler biritilmek için gereken süreye göre sıralanırlar. En kısa olan işe öncelik verilerek sırayla işler alınır.
Çalışma mantığı olarak kesintisiz (non-preemptive) bir algoritma olan bu yaklaşımda bir iş başladıktan sonra başka bir işin araya girme şansı yoktur.
Basitçe eldeki işlerin en kısasını yaparak performans artışı sağlamaya çalışır. Ancak algoritmanın bir dez avantajı kıtlık (starvation) doğurma riskidir.
Olayı şöyle düşünelim, elimizde uzunlukları 4,5,6 olan işler olsun. Algoritmamız en kısa olan 4 uzunluğundaki işten başlayacaktır. Ve diyelim ki 4 biter bitmez veya henüz bitmeden uzunluğu 3 olan başka bir iş gelsin. Algoritmamız 5 uzunluğundaki iş yerine daha kısa olan 3 uzunluğundaki işe öncelik verecektir.
Bu süreç böylece sonsuza kadar gidebilir. Yani henüz 5 ve 6 uzunluğundaki işlere sıra gelmeden hep daha kısa olan işlerin gelerek önceliği alması ve 5 ve 6 uzunluğundaki işlere hiçbir zaman sıra gelmemesi söz konusudur.
Bu algoritmanın çalışmasını aşağıdaki örnek için inceleyelim:
| İşlem | CPU Zamanı |
| A | 10 |
| B | 15 |
| C | 7 |
Yukarıda verilen işlerin aynı anda başladığını ve sıra beklediklerini düşünelim. Algoritmamız öncelikle bu işlemleri uzunluk sırasına koyacak ardından en kısa olan iş ile başlayacaktır. En kısa olan işimiz C işi ve uzunluğu 7′dir o halde çalışma sıramız aşağıdaki şekilde olur:
| Zaman | İşlem | Çalışma | Kalan |
| 0 | C | 7 | 0 |
| 7 | A | 10 | 0 |
| 17 | B | 15 | 0 |
Yukarıda görüldüğü üzere bir işlem bir kere başladıktan sonra başka işlem araya girmemektedir. Ayrıca en kısa iş her zaman en önce çalışmaktadır.
Okuyucu bu tabloyu round robin ve ilk gelen çalışır algoritmalarındaki çalışma tabloları ile karşılaştırabilir.
« İlk Gelen Çalışır (First Come First Serve, FSFC) | Kıtlık (Starvation) »
Yorumlar
Giriş yaparak yorum yazabilirsiniz.
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'En Kısa İş İlk (Shortest Job First)' isimli yazı 19 Nov 2008 tarihinde, saat: 18:22 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 100 defa okunmuştur.
Benzer yazıları işletim sistemleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Eklenen Son Yazılar
- OpenGL İsim Dizisi
- OpenGL Nesne Seçimi (Object Picking)
- Java Bean
- Türkçe Netbeans
- C ile Zaman İşlemleri
- JSP Oturumları (JSP Sessions)
- JSP Direktifleri (JSP Directives)
- JSP ve HTML
- JSP Etiketleri (JSP Tags)
- Netbeans ile JSP
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Yukarıdaki şekilde en altta bulunan...
- hercumartesi: 777/10 mod23 işleminde takıldığım...
- hercumartesi: 2P = R olarak gösterip s için (3xP^2 + a)...
- Şadi Evren ŞEKER: Toplama işlemi sonucunda mod işlemi...
- bazenvebazen: n q b b w derken n q p b w demek istedik?...
Yakın Yazılar
En Kısa İş İlk (Shortest Job First)
Kesintili Zamanlama (Preemptive Scheduling)
Bağlantılar