Python'da İşletim Sistemi Yazmak İçin "Nerden Başlayacağım ?" Demeyeceksiniz !

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 33

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Öncelikle herkese selamın aleyküm,

Pythonda işletim sistemi yazmaya karar verdim ve 1 saat önce başladım. Daha sonra vazgeçtim ve yazdığım kodların boşa gitmemesini sağlamak için burda paylaşıyorum. Kodların ne işe yaradığı hepsi .py uzantılı dosya içinde "# xxxx" şeklinde vardır .

Bu işletim sistemini en eski grafiksiz işletim sistemleri gibi "freebsd" tarzı yapmak için başladım. Siz bunu geliştirebilir, eklemeler yapabilirsiniz.

Kod:
# -*- coding: cp1254 -*- #---------------------------------------------------------------------------------------------------------------------------------------------------------------------- print "Welcome to Python Operating System !" # Login'den önceki başlangıç yazısı. print "Person By NiyaziSmr" # Login'den önceki person by (yapan kişi) yazısı. print "" # Login'den önceki boşluk. b = raw_input("Login : ") # Login yazısı. if b == "root": # Login'e girilmesi gereken yazı.           a = raw_input("Password : ") # Password yazısı. if a == "turkmmo": # Password'a yazılacak yazı.     print "" # Login olduktan sonraki boşluk.     print "Welcome to Python Operating System V0.1" # Login olduktan sonraki sistemi belirten yazı.      print "" # Login olduktan sonraki boşluk.     c = raw_input("Name : ")# Name yazısı.     print "" # Name yazısından sonraki boşluk.     print "Hi", c, "!" # Merhaba yazısı.     print "" # Merhaba yazısından sonraki boşlul.     print "Calculator (1)" # Seçenek 1     print "Invalid (2)" # Seçenek 2     print "Invalid (3)" # Seçenek 3     print "Invalid (4)" # Seçenek 4     print "Invalid (5)" # Seçenek 5     print ""     d = raw_input("Number : ") # Hangi numarayı seçtiğimizi yazacağımız Number yazısı.     if d == "1": # Ne yazınca numara ve operatörlerin gözükeceği numara.         print "" # Number'den sonraki boşluk.         print "Numbers : 1, 2, 3, 4, 5, 6, 7, 8, 9, 0" # Sayıları belirten yazı.         print "Operators : +, -, *, /, %, (, ), x**x" # Operatörleri belirten yazı.         print "" # Operators yazısından sonraki boşluk. else: # Eğer değilse anlamındaki else kodu.     print "Password Error !" # Password error ! yazısı.     a = raw_input("Password : ")     if a == "python":         print ""         print "Welcome to Python Operating System V0.1"         print ""         c = raw_input("Name : ")         print ""         print "Hi", c, "!"         print ""         print "Calculator (1)"         print "Invalid (2)"         print "Invalid (3)"         print "Invalid (4)"         print "Invalid (5)"         print "Invalid (6)"         print ""         d = raw_input("Number : ")         if d == "1":             print ""             print "Numbers : 1, 2, 3, 4, 5, 6, 7, 8, 9, 0"             print "Operators : +, -, *, /, %, (, ), x**x"             print ""     else:         print "Access Denied !" # Access Denied ! yazısı.         print (quit) # Quit kodu. #----------------------------------------------------------------------------------------------------------------------------------------------------------------------

Kodların yanındaki "# xxxx" şeklinde yazılanları silmenize gerek yoktur. Kendinizce programı geliştirebilirsiniz. Ben kesinlikle profosyönel Python kullanıcısı değilim. Hatta ve hatta deneyimli bile değilim. Daha dün python dersi almaya başladım ve bu sabah yukarıda gördüğünüz işletim sistemini yazmaya kalkıştım. "Neden ingilizce yazdın ?" diye soracak olursanız ki haklısınız. Size şu cevabı verebilirim. Ben bu işletim sistemini yazarken tek hedefim "Python'da işletim sistemi yazılabiliyormuş." dedirtmekti. Sonradan vazgeçtim çünkü benim amacım dil öğrenip program yazmak değildi.

Hepinize hakkım helal olsun sizde bana hakkınızı helal edin. Güle güle kullanın. Allah'a emanet kardeşlerim...

Dosyanın .py halini indirmek istiyor iseniz :
VİRÜS TOTAL :
Python'da İşletim Sistemi Yazmak İçin 'Nerden Başlayacağım?' Demeyeceksiniz!


Giriş
Python ile işletim sistemi geliştirmek, hem öğrenmek hem de pratiği artırmak isteyen geliştiriciler için oldukça heyecan verici bir deneyimdir. Özellikle Metin2 gibi özel sunucuların geliştirildiği, C++ ve Python tabanlı sistemlerin yoğun olarak kullanıldığı ortamlarda, Python'un sunduğu kolaylıklar sayesinde temel işletim sistemi bileşenlerini anlamak mümkün hale gelir.

Python ile İşletim Sistemi Geliştirme Nedir?
Python, yüksek seviyeli bir programlama dili olup, özellikle hızlı prototipleme ve eğitim amaçlı projelerde tercih edilir. Gerçek zamanlı sistemler için C veya Assembly gibi diller tercih edilse de, Python ile basit işletim sistemi çekirdeklerini simüle etmek mümkündür. Bu sayede, bellek yönetimi, süreç planlaması, dosya sistemi gibi temel kavramlar daha iyi anlaşılır.

Temel Bileşenler
1. Çekirdek (Kernel): İşletim sisteminin merkezi parçasıdır. Donanım ile yazılım arasında köprü kurar. Python'da bu yapıyı simülasyonla oluşturabiliriz.
2. Bellek Yönetimi: RAM üzerinde çalışan süreçlerin bellek alanlarını yönetir. Python’da bir bellek bloğu simülasyonu yapmak mümkündür.
3. Süreç Yönetimi: Çalışan programların zaman paylaşımı ile çalışmasını sağlar. Python’un threading modülü ile bu yapıya benzer senaryolar yazılabilir.
4. Dosya Sistemi: Verilerin kalıcı olarak saklandığı alandır. Basit bir dosya sistemi Python ile listeler ve sözlüklerle simüle edilebilir.

Python ile Nereden Başlanmalı?
Adım 1: Temel Bilgiler
Python dilini ve temel veri yapılarını iyi bilmek gerekir. Öncelikle sınıflar, modüller, fonksiyonlar gibi temelleri sağlamlaştırmalısınız.

Adım 2: Sanal Ortam Kurulumu
PyCharm, VSCode gibi IDE'lerde bir sanal ortam oluşturarak güvenli bir geliştirme süreci başlatın. Bu sayede dış bağımlılıklarla karışıklık yaşamazsınız.

Adım 3: Kernel Simülasyonu
İlk olarak küçük bir kernel simülasyonu yaparak başlayın. Konsol üzerinde komut alabilen, basit görevleri yürüten bir yapı oluşturabilirsiniz.

Adım 4: Bellek ve Süreç Yönetimi
Python’un threading ve queue modüllerini kullanarak süreç yönetimini simüle edin. Her sürecin kendi bellek bloğunu temsil ettiği bir yapı kurabilirsiniz.

Metin2 ile Bağlantı
Metin2 özel sunucularında, oyunun temel sistemi C++ ile yazılmıştır. Ancak bazı eklentiler, GUI'ler, scriptler ve sunucu yönetim araçları Python ile geliştirilebilir. Özellikle Py ROOT ve UIscript gibi yapılar, Python ile yazılmış oyun içi arayüzlerdir. Bu yapılar sayesinde oyunun kullanıcı deneyimi artırılır.

Python ile geliştirilen sistemler, Metin2 sunucularında otomasyon, veritabanı işlemleri, sunucu izleme ve log analizi gibi konularda da kullanılabilir. Bu nedenle işletim sistemi geliştirme bilgisi, Metin2 geliştiricileri için değerli bir beceri haline gelebilir.

Kaynak Kod Paylaşımı
Python ile geliştirilen örnek işletim sistemi projeleri GitHub gibi platformlarda bulunabilir. Bu projeleri incelemek ve kendi sistemlerinize adapte etmek, öğrenme sürecini hızlandırır. Özellikle C++ sistem bilgisi olan geliştiriciler, Python ile bu sistemleri daha da geliştirebilirler.

Sonuç
Python ile işletim sistemi geliştirmek, hem akademik hem de pratik açıdan çok değerlidir. Özellikle Metin2 özel sunucularında kullanılan sistemlerde Python bilgisi, geliştiricilere büyük avantaj sağlar. Artık Python ile işletim sistemi yazmaya başlamak için 'nerden başlayacağım?' demeyeceksiniz!


You Won't Say 'Where Do I Start?' When Developing an OS in Python!


Introduction
Developing an operating system with Python is an exciting experience for developers who want to learn and enhance their skills. Especially in environments where private servers like Metin2 are developed and systems based on C++ and Python are heavily used, the conveniences offered by Python make understanding fundamental OS components possible.

What Is Operating System Development with Python?
Python is a high-level programming language often preferred for rapid prototyping and educational projects. Although languages such as C or Assembly are preferred for real-time systems, simulating basic OS kernels with Python is possible. This helps better understand fundamental concepts such as memory management, process scheduling, and file systems.

Basic Components
1. Kernel: The central part of the OS. It bridges hardware and software. In Python, this structure can be simulated.
2. Memory Management: Manages memory areas of processes running in RAM. A memory block simulation can be created in Python.
3. Process Management: Ensures programs run by sharing time. Similar scenarios can be written in Python using its threading module.
4. File Systems: The area where data is permanently stored. A simple file system can be simulated in Python using lists and dictionaries.

Where Should You Start with Python?
Step 1: Basic Knowledge
It’s essential to know Python well and understand basic data structures. First, strengthen your foundations such as classes, modules, and functions.

Step 2: Virtual Environment Setup
Set up a virtual environment in IDEs like PyCharm or VSCode to initiate a secure development process. This prevents confusion with external dependencies.

Step 3: Kernel Simulation
Start with a small kernel simulation. You can create a structure that accepts commands from the console and executes basic tasks.

Step 4: Memory and Process Management
Simulate process management using Python's threading and queue modules. You can build a structure where each process represents its own memory block.

Connection with Metin2
In Metin2 private servers, the core game system is written in C++. However, some extensions, GUIs, scripts, and server management tools can be developed in Python. Specifically, structures like Py ROOT and UIscript are in-game interfaces written in Python. These structures improve user experience in the game.

Systems developed in Python can also be used in Metin2 servers for automation, database operations, server monitoring, and log analysis. Therefore, OS development knowledge can become a valuable skill for Metin2 developers.

Source Code Sharing
Sample OS development projects in Python can be found on platforms like GitHub. Examining these projects and adapting them to your own systems accelerates the learning process. Developers familiar with C++ systems can further enhance these systems using Python.

Conclusion
Developing an operating system with Python is highly valuable both academically and practically. Knowledge of Python is especially beneficial for developers working on systems used in Metin2 private servers. Now you won't have to ask 'where do I start?' when beginning to develop an OS with Python!
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt