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

linux

#1

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.


#2

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

Nasıl yapılır bilmem.


#3

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


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


#4

#5

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.


#7

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.


#8

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


#9

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.


#10

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


#11

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

Yoksa cython iş görmez mi?


#12

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.


#13

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…