• ssgnin her fırsatta linux ve diğer unix türevlerinin moduler kernela sahip olmadığını iddiasından hareketle, çok merak ettiğim konu.
  • tanenbaum'un teorize ettigi ve minix ile realize ettigi i$letim sistemi modeli zaten moduler olmak zorundadir.. ideal i$letim sistemi modulerdir..

    gunumuzde bir cok posix compliant i$letim sistemi icin ba$ucu kaynagi olan eseri operating systems design and implementation incelenirse burada moduler bir i$letim sisteminin nasil olmasi gerektigi alternatiflerine gore ustunlukleriyle beraber madde madde anlatilmaktadir.

    linux'un minix'ten turetilmesine ragmen implementasyonu zor diye modulerlikten kactigi muhtelif dokumanlarda bulunabilir. bunlardan akla gelen ilk ornek, minix'te kernel mode cali$an device driver'lar ile kernel arasindaki ileti$imin messaging ile yapilmasina ragmen linux'ta static system call'larin kullanilmasidir.

    minix'te file system ve keyboard driver'a kadar her$ey ayri bir process'tir ve bu process'ler aralarinda deadlock'i engelleyecek $ekilde messaging ve queuing mekanizmalariyla cali$irlar. modulerlikten bir$ey anla$ilacaksa minix'te keyboard driver'ini replace etmek icin cp komutunu kullanmak olarak anla$ilsin.

    linux'ta ise device driver kodlari linux koduna link olan ayri object file'lar olmak di$inda hic bir modulerlik ta$imamaktadirlar buna modulerlik deniyor ise bir visual basic programcisinin yazdigi her muhasebe programi da sapina kadar modulerdir.

    sonucta linux'ta ortaya yekpare tek bir kernel image cikmakta ve elinizde gcc ve c bilgisi olmadigi surece kernel component'larini arrange etmeniz mumkun olmamaktadir.

    shared object'lerin linux'ta device driver olarak kullanimi ise aslinda bir runtime linking'den ba$ka bir$ey olmadigindan kernel version'lari arasinda binary incompatible'lardir. bu kadar her$eyin kolayina kacilmi$ bir i$letim sisteminin moduler olarak implemente edilmesi elbette mumkun degildir.
hesabın var mı? giriş yap