You are on page 1of 3

letim Sistemlerinde Proses Kavram

Kaan Aslan
21 ubat 2006

Program altrlabilen bir dosyann diskteki durumunu ya da kaynak kodu


belirtmek iin kullanlan bir terimdir. almakta olan programlara proses denir.
letim sistemi altrd programlarn kulland kaynaklar eitli tablolar
oluturarak izler. Program bellein neresine yklenmitir, hangi dosyalar
kullanmaktadr, ne kadar sredir almaktadr? Buna benzer pek ok temel
sorunun yant iletim sistemi tarafndan bilinmek zorundadr.[1]
Her iletim sistemi prosesleri izlemek iin o prosese ilikin bilgileri eitli veri
yaplarnda tutar. Biz kitabmzda iletim sistemlerinin prosesleri izlemek iin
oluturduu veri yapsna proses tablosu diyeceiz. Proses tablosu yerine deiik
sistemlerde baka isimlerin kullanldna tank olabilirsiniz. rnein baka
kaynaklarda proses tablosu yerine proses kontrol blou (process control block) ya da
process veritaban (process database) gibi isimlerle karlarsanz armaynz.
Proses tablolarnn gerek veri yaps sistemler arasnda farkllk gsterse de genel
hatlaryla birbirlerine benzer. rnein, prosesin yetkisel haklar, prosesin am
olduu dosyalara ilikin bilgiler, prosesin alma sresine ilikin istatistikler pek ok
iletim sisteminde u ya da bu biimde proses tablosunda tutulmaktadr. letim
sistemleri tm proseslerin proses tablolarn belli bir dzen ierisinde (rnein tipik
olarak bal listeler biiminde) tutar. Bylece iletim sistemi gerektiinde tm
prosesleri gzden geirebilir, herhangi bir proses zerinde ilem uygulayabilir.
POSIX sistemlerindeki ps kabuk program sistemdeki proseslere ilikin bilgileri
almakta kullanlr. Aada rnek bir ps ktsn gryorsunuz:

almakta olan bir program baka bir program altrabilir. Baka bir deyile bir
proses baka bir prosesi yaratabilir. rnein siz UNIX trevi bir sistemde ya da
Windowsda komut satrndan bir program altrdnzda aslnda altrdnz
program siz deil komut satr program (rnein UNIX trevi sistemde bash gibi bir
kabuk program, Windowsda cmd.exe) altrmaktadr. Siz yalnzca altrlacak
program belirlemektesiniz. Ya da IDE kullanarak bir program yazp altrdnz
dnn. Bu durumda da program siz deil aslnda IDE altryor durumdadr.
Bir prosesin baka bir prosesi oluturmas durumunda oluturan prosese st
proses (parent process), yeni oluturulan prosese ise alt proses (child process) denir.
rnein, disk zerinde a ve b isimli iki altrlabilir program dosyas bulunuyor
olsun. Biz kabuk zerinden a programn altralm. almakta olan a program da
1
Kaan Aslan Makale Arivi www.kaanaslan.net

b programn altryor olsun. Bu durumda a prosesi b prosesinin st prosesi, b


prosesi de a prosesinin alt prosesidir. UNIX/Linux sistemlerinde prosesler arasnda
her zaman altlk-stlk (parent-child) ilikisi vardr. a prosesini altrmakta
kullandmz kabuk da aslnda bir prosestir. Bu durumda a prosesinin st prosesi de
kabuktur. a program b programn altrdktan sonra bir de c programn altrsa b
ile c prosesleri karde prosesler olacaktr.

Kabuk prosesi ve init prosesi nasl yaratlmaktadr? Bu sorularn yantlarn


proseslerin ayrntl bir biimde incelendii 4. Blmde bulacaksnz. imdilik
proseslerin birbirlerini yaratabildiini ve init prosesi dnda her prosesin bir st
prosesi olduunu bilmeniz yeterlidir. Ayrca, UNIX/Linux sistemlerinde proseslerin
yaratlmasyla programlarn altrlmas iki ayr ilem olarak gerekletirilmektedir.
Prosesler arasndaki altlk-stlk ilikisinin anlam nedir diye merak edebilirsiniz.
Alt proses (ngilizcesiyle ocuk proses) yaratlrken , st prosesten (nglizcesiyle
ebeveyn proses) baz zellikleri almaktadr. Pek ok iletim sisteminde prosesin
eriim haklar, alma dizini (current working directory), dosya betimleyicileri, evre
deikenleri yaratm srasnda st prosesten alt prosese aktarlr. Alt proses aktarlan
zellikleri daha sonra deitirmeden kullanabilir ya da deitirebilir. Windows
sistemlerinde altlk-stlk ilikisi UNIX/Linux sistemlerinden daha zayftr. Yani greli
olarak daha az zellik alt prosese aktarlr.
Prosesler arasnda altlk ve stlk ilikisi olduuna gre kabuk prosesinin de bir
st prosesi var mdr? Yani kabuk program da baka bir program tarafndan
altrlm mdr? UNIX/Linux init denilen bir prosesten yaratlmtr. Kabuk
prosesinin st prosesi init olmasa da prosesleri bir aa biiminde gsterirsek bu
aacn en tepesinde init prosesinin bulunduunu syleyebiliriz. sistemlerinde her
proses dorudan ya da dolayl olarak init prosesinden yaratlmtr.

2
Kaan Aslan Makale Arivi www.kaanaslan.net

[1]

nglizce process terimi ile task terimi tamamen ayn anlamda kullanlmaktadr.

3
Kaan Aslan Makale Arivi www.kaanaslan.net

You might also like