Python ile linux tabanlı işletim sistemi yazmak mümkün mü?

Python ile linux tabanlı işletim sistemi yazmak mümkün müdür?

Python ile işletim sistemi yapılamayacağını biliyorum ama belki linux tabanlı olursa olabilir diye düşündüm.

Görüşlerinizi ve yanıtlarınızı bekliyorum.

Evet. Yapılabilir. Yapıldı. PythonOS.

Nasıl yapılır bilmem.

PythonOS’u internette bulamadım?
Nasıl arama yaptım?
Farklı arama


Sadece os modülü çıkıyor sonuç olarak.

Açıkçası işletim sistemi yazmak çok zor ve ileri düzeyde python ve donanım bilgisi isteyen bir iş. Yine de zor iyidir diyerek bir göz atmak istedim bunlara.

Nasıl yazıldığı hakkında internette neredeyse hiç türkçe kaynak yok :frowning: .

@_Alparslan_55 teşekkür ederim, inceliyorum.

1 Beğeni

Daha önce bir işletim sistemi yazmadım. Bilgilerim sadece okuduklarımdan ibaret, bir işletim sisteminin yapısının nasıl olduğunu az çok biliyorum.

Öncelikle yukarıda bahsi geçen PythonOs, bir işletim sistemi değildir. Raspberry Pi gibi mikrobilgisayarlar için geliştirilmiş arayüz-ortam kütüphanesidir. Yani işletim sistemi üzerinde çalışır. İşletim sistemi değildir. Zaten Python ile bir işletim sistemi daha önce hiç yazılmadı. Yazılması da mümkün değildir.

Neden değildir kısmına gelirsek şöyle açıklayabiliriz. Python yorumlanan bir dildir. Yani çalışması için bir başka yardımcı program olması gerekir, yani yorumlayıcı. Bu da C ile yazılmıştır. Dolayısıyla Python, çalışmak için bir ara katmana ihtiyaç duyuyor. Bu ara katman da işletim sistemi üzerinde çalışıyor. Yani Python ile çalışan bir işletim sistemi yazmak istediğinizde, Python kodunu nasıl yorumlayacağınızı da düşünmeniz gerekir. Ancak Python’nun çalışacağı ortamı oluştursanız bile bu Python ile işletim sistemi yazdığınız anlamına gelmiyor.

Neden işletim sistem yazılamaz konusunda da, aşağıdaki linklere bakabilirsiniz.

Basit bir işletim sistemi yazmak için öncelikle kendi bilgisayarınızın işlemci mimarisi hakkında bilgi edinmeniz gerekiyor. Sonra da bu mimariye uygun bir kod yazarak kendi bilgisayarınızda çalışan bir işletim sistemi yazmış olursunuz. Linux gibi bir işletim sistemi yazmak için, birden fazla işlemci mimarisi hakkında oturup kod yazmanız gerekir, ki bu mümkün değildir. Zaten Linus Torvalds Linux’u ilk geliştirdiğinde sadece bir mimari için geliştirmişti ve sonra bunu diğer geliştiricilere sununca, diğerleri de başka mimariler için katkıda bulunmaya başladı ve böylece Linux bugün ki haline kavuştu.

İşletim sistemi nasıl yazılır konusunda Türkçe kaynak bulmanız zor. Hatta yok diye biliyorum. Ancak ingilizce birçok kaynak var. Örnek

https://wiki.osdev.org/Main_Page

İşletim sistemi geliştirmek gerçekten kompleks bir iş. Düşük seviye programlama konusunda bilgili olmanız gerekir. Sayısal tasarım, bilgisayar organizasyonu,mikroişlemciler gibi derslerin notlarına bakarak düşük seviye programlama konusunda temel edinebilirsiniz.

Dediğim gibi, bu konularda daha önce tecrübe edinmedim. Ancak PIC programlama öğrenirken, LCD ekrana bir karakter bastırmak bile zor geliyordu. Bir bilgisayarı düşününce ne kadar zor olduğunu anladım.

Kısaca, Python ile herşey yapılamaz. Bu yüzden biraz fanatikliğinden vazgeçin :slight_smile: Eğer düşük seviye programlamayı merak ediyorsanız, merak ettiğiniz şeyi araştırın. Bunu Python ile nasıl yapacağınızı değil.

İyi forumlar, yanlışım varsa kusura bakmayın.

5 Beğeni

Böyle bir şeyin yardımı olur mu acaba ?

1 Beğeni

Olabilir tabi ama, adamın anlattığı işlemlerin mantığını anlayacak kadar temel varsa daha iyi olabilir. Yoksa videoyu izlerken “niye verileri oradan oraya taşıyoruz? register nedir?” gibi soruları çok sorarız.

Python ile yazmayı denemek yerine o kadar ugraş içinde c öğrenmek bence çok daha mantıklı olacaktır hemde gerçekten bilgisayar mimarisini çok iyi bilmeniz gerekecektir o dediğimiz linux tabanlı işletim sistemleri bile ne kadar uzun sürüyor

1 Beğeni

:frowning: linux üzerinde Python yorumlayıcısı yok mudur ki?

Yoksa cython iş görmez mi?

Linux üzerinde Python yorumlayıcısı var, ancak o da Linux üzerinde çalışan bir programdır nihayetinde. Tümleşik değil.

Cython ise ayrı bir konu.

1 Beğeni

Sadece C ile mi işletim sistemi yazılıyor?

Java’yı da düşündüm de, onun da bir yorumlayıcısı (jvm) olduğu için onunla da yazılmaz…

Uygun programlama dili ile yazılıp derlenmiş bir yazılım, herhangi bir işletim sistemine ihtiyaç duymaksızın çalışabilir mi?

EFI sistem yazılımı benim bilgisayarda 512 mb’lık bir bölümde barınıyor, bu bölümde ise birçok .efi dosyası var. Bu dosyalarla yukarıdaki sorumun bir alakası var mı? Ayrıca Ubuntu kurulum dosyalarının içinde de bu dosyalar vardı.

Programin dili degil, kullandigi sistemler onemli. Cogu programin cogu kismi isletim sisteminden bagimsiz calisiyor zaten.

merhabalar kardeşim. Öncelikle

arkadaşımın yazdıklarına katılıyorum. Ayrıca Linux tabanlı yazmak istiyorsan yalnızca Python kullanman imkansız. Bir şekilde yaparsan tabi sistemde Güvenlik açıkları ve ya baçka türlü buglar olucakır. Kerneli C dilinde yazmalısın. örn Linuxta C# kullanılmadığı için windows yazılımları desteklenmiyor. Anladığın İmkansız.

1 Beğeni

Hangi dilde yazılırsa yazılısın güvenlik açığı bulunur. Bunun python ile İlgisi yok. Konu farklı, konu güvenlik değil.

1 Beğeni
  • Linux’ta C# kullaniliyor
  • Linux’ta Windows yazilimlari calisabiliyor
  • Linux’un yazilim “desteklemesi” yazilimin yazildigi dile bagli degil
  • C# ile Windows’un bir alakasi yok. Hatta C#'ta Windows programi yazilamiyor.
2 Beğeni

Burası çok önemli. Herkes C#'ı çıkaran Microsoft’un Windows’da bu dili kullandığını sanıyor.

Bir dakika…

Şimdi Python ne ile yazıld, C ile. C kodunu derlersek işletim sistemi olmadan çalışabilecek. O zaman Python’u uygun şekilde kaynağından derleyip işletim sistemi olmadan Python çalıştırırım?

1 Beğeni

Python’a spesifik olarak da, C’ye genel olarak da yanlis bir varsayim.

Python’in zaten kaynagindan derlenmis halini kullaniyoruz.

1 Beğeni