| işletim sistemi çok zor bir olay , ama imkansız degil.Başarılar |
| N.A. |
|
İşletim sistemini tanıtmam için büyük bir fırsat verdiniz, sorularınız için teşekkürler. GCC ile cross / çapraz derleme olayına bir açıklık getireyim. GCC varsayılan ayarlarında (genellikle) üzerinde çalıştığı işletim sistemine ait bir uygulama türünde çıkış verir. İşletim sistemi için kullandığım GRUB varsayılan yapılandırmada yalnızca 32 bit (i686) ELF türünde çekirdek yükleyebiliyor. Bu yüzden GCC'nin derleme ayarlarını i686-elf hedefine göre değiştirip tüm derleyiciyi yeniden derlemek gerekiyor. Ubuntu üzerinde i686-elf-gcc derleyici kullandığımı birkaç yerde belirtmiş olmam gerek. Derleyici derlendikten sonra bu farklı hedefte dosya üreten derleyiciye cross / çapraz derleyici deniyor. Bu terime mantıklı bir Türkçe karşılık bulamadığım (diğer birçok çekirdek geliştirme terimi gibi) için cross derleme yazıyorum. Windows üzerinde zaten GCC olsa da bahsettiğiniz MinGW ya da TDM-GCC (ki o da MinGW tabanlı) gibi derleyiciler i686-pe türünde çıkış veriyor. Bunu GRUB'a tanıtmak için birkaç değişiklik gerekiyor. Dahası MinGW Windows API'lerini hedef alan bir derleyici. Bununla çekirdek yazmak ne kadar stabil olur tartışılır, OSDev forumlarında da bu durum belirtilmişti. Cygwin dediğiniz gibi bir UNIX emülatörü. GCC de UNIX üzerinde gayet rahat bir şekilde derleniyor, ve bu şekilde aynı Linux üzerindeymiş gibi rahatça çalışılabiliyor. Cygwin üzerinde i686-elf-gcc kısa bir süreliğine benim geliştirme ortamım oldu, sonra Cygwin'de yaşadığım yavaşlık, grub2'nin bazı önemli fonksiyonlarının çalışmaması (özellikle grub-mkrescue) beni yeniden Linux üzerinde çalışmaya itti. Visual Studio entegrasyonuna gelince, Cosmos (C# Open Source Managed Operating System) adlı proje derin bir Visual Studio entegrasyonuna sahip. Bkz:https://github.com/CosmosOS/Cosmos IL2CPU ile C# derleyicisi tarafından üretilen IL formattaki çıktıyı makine koduna çeviriyor. Bu sayede başlatılabilir bir işletim sistemi yapılabiliyor. Cosmos yıllardır var ve epey yol katetmiş durumda. Evet, Mac OS X'te sanal bellek yönetiminin olup olmadığını bilmediğimi söyledim. Hayatımda en fazla bir-iki kez gördüğüm ve hiç kullanmadığım bir işletim sistemi hakkında emin yorum yapmak istemedim. Ancak multitasking destekli 32 bit modern tüm işletim sistemlerinde sanal bellek yönetiminin olduğunu da belirtmiş olmam lazım. Multitasking çok çok farklı yollardan yapılmadığı sürece her yazılım kendine ait bir stack, bellek alanı, vb.'ye ihtiyaç duyacağı için sanal bellek yönetimi bir şart oluyor. Bug tracker, Wiki gibi yardımcı olabilecek şeyleri eklemeyi düşündüm, bunun için agola.org alan adını da aldım. Sonra siteyle uğraşmayınca öyle kaldı, onunla da biran önce uğraşsam iyi olur tabii. İşletim sistemimde Cosmos kullanmıyorum fakat IL2CPU'nun eski sürümlerini kullanarak C++'da yazılmış çekirdekle C#'da yazılmış sürücüleri birleştirmek istedim. Halen başarılı olmadı, bu yüzden Visual Studio entegrasyonuyla uğraşmayı bıraktım. Hem Github hem de lokal dosyaları kazara sildiğim doğrudur. (ne büyük sakarlık) İlerleyen yorumlarda kurtarma yazılımlarıyla kaynak kodlarının %60-80 civarını kurtardığımı söylemiştim. Sonra da eksiklikleri tamamlayıp o zamanlar C olan sistemi C++ ile derlenecek şekilde port etmiştim (pek de uzun sürmedi, i686-elf-g++ ile derlenmesi için pek fazla değişiklik gerekmedi) Sistemi Github'a yüklememe sebebim ise aslında Git tecrübemin olmaması. Kendi imkanlarımla yüklemeyi başarmıştım, fakat her ufak kod değişikliğinde yeni bir commit eklemek dağınıklığa yol açtı. Değişikliğin tamamlayıp yeni bir commit eklemeyi de beceremedim, sanırım Visual Studio Code'un Git özelliğini kullanmayı beceremedim. Kaynak kodlarını görme imkanınız var kısacası, Github'dan anladığınızı tahmin ettiğimden yardımcı olursanız sevinirim. Visual Studio Code güzel bir kod editörü bu arada. |
| N.A. |
|
Evet, MinGW ile de bahsettiğiniz derleme mümkün. OSDev forumlarında önerilmediğini görünce ve bahsettiğim GRUB2 sorunlarından da kurtulamayınca Windows işini bıraktım. Cross derleme ile alakalı o parametreleri cevabımda belirtmiş oldum. Cosmos'un verimli olmadığı doğru, fakat sorun bence IL2CPU'dan kaynaklanıyor. IL2CPU güzel bir şekilde optimize edildiğinde gayet hızlı olmalı. Kod her zaman Assembly olarak derleniyor fakat son derece dağınık ve verimsiz bir kod çıkıyor, IL2CPU geliştiricileri bunu çözseler tadından yenmez hani Github konusunda yardım istediğimi belirttim, Visual Studio Code ile düzgün bir şekilde nasıl repo yönetirim? |
|
Github - Visual Studio Code entegrasyonuna birşey diyemem cunku ikisini bir arada hiç kullanmadım. Ancak github projelerimi nasıl aktardığımı iletebilirim. Github'ın Mac GUI uygulaması ile halletmiştim. Projeyi ise masaüstümde Emacs ile yapmıştım. Git le ilgili açık-kaynak bir kitap var Pro Git book, written by Scott Chacon and Ben Straub kitabı Markdown formatında indirip şablon/template ayarlamak şartıyla istenilen formatta (pdf, epub) ebook yapmak mümkün. Sonuç olarak VS Code ile çalışıyor olsam, kendime uygun bir Github aracı herhalde kurmuş olurdum tabi ki Google'a bayağı bakarak .) |
| cvs derneği ile paylaşabilirsin kaan aslan belki beğenir reis. |
| Hocam Tebrik ediyorum seni umarım başarırsın başarıların devam eder inşallah senin gibi kişilerin azınlığından dolayı yaptığın iş gerçekten takdir edilesi başarılar takipteyim. |
| Kolay gelsin |
Hocam baya geç bir cevap ama kullandığımız çoğu işletim sisteminin çekirdeği zaten C ile yazıldı. Yani kesinlikle mümkündür. Ayrıca C dilinde de nesne tabanlı programlama yapılıyor. |
|
TempleOS geldi aklıma konuyu okuyunca. https://motherboard.vice.com/en_us/article/wnj43x/gods-lonely-programmer |
| Öncelikle Tebrik ederim dostum. Böyle isletim sistemi yaomaya calisan baska kisiler de varsi bazilari bir sorunda o ladar ugrasmasina arastirmasina ragmen bulamayinca cozumu yarida kaldı. Bazılari destek görmedi. Senin Projen İcin Bem sana destek olacağim discors kulubumuze gel dm den goruselim dostum. Her türlü yardımcı olacagim. Ve Sana bir ekip ayarlayacagim. Özel kanal açacagim detaylari discordan goruselim... |
hocam discord ile sponsorluk sözleşmen mi var içinde discord geçmeyen mesajın yok |
| Kolay gelsin, başarılar dilerim, görsel olarak bakınca her işletim sisteminden derleme yapılmış gibi birbirine benzemesin diye farklı bir şey çıkmış ortaya.. :) |
| Son durum nedir acaba? |
| Konu neydi ki favlamışım çalışma sonlanmış? |
http://www.thelinuxdaily.com/2010/04/the-first-linux-announcement-from-linus-torvalds/
< Bu ileti mobil sürüm kullanılarak atıldı >