Monolitik bir OS yazıyorum (Bu bir işletim sistemi olarak adlandırılan bir şakadır, ancak çok az, okul düzeyinde işlevsellik var). Monolitik dediğimde, tek bir ikili blob olarak derlenmiş ve dosya sistemi için desteklenmemişti. Şu anda sadece döngüsel olarak sonsuz olan basit bir kullanıcı alanı var.Bellek ayırması olmayan bir işletim sistemindeki uygulamadan çıkma
İşletim sistemimi biraz daha kullanışlı hale getirmeyi ve düzenli uygulamalar gibi son kullanıcılara son verebilecek kullanıcı uygulamaları yazmayı planlıyorum.
Glibc veya eşdeğeri yok. Mevcut alandaki kullanıcı kütüphanem, yazdığım koddur. Artık benim sorunum, kullanıcı uzay uygulamaları için bir çerçeve ekleme ve bu sayede bir düzeltme noktasında sonlandırmalarıdır.
Programların düzenli sistemlerde nasıl derlendiğini ve bir program sona erdiğinde ne olacağını biliyorum. Ancak, benim durumumda, kütüphanelere karşı programları derlemek için bir lüksüm yok ve eğer bir program sona ererse, o zaman talimat göstericim sadece bir vahşi sapma gider.
Şu anda tüm uygulamaların bir "iade çağrısı" yapmasını sağlıyorum ve uygulama yığınını bir düzeltme adresiyle (başlatma sırasında) önceden dolduruyorum. Sorunu çözmenin daha iyi bir yolu var mı?
Cevabın yanı sıra, bazı işletim sistemi kavramlarına açıklık getirmek için çok mutlu olurdum.
x86 öykünücü platformunda çalışıyorum ve ikili adım adım statik olarak derledim. (Sanal bellek desteğim var)
Oldukça erken Linux sürümünün bir şakaydı. Kendi kendine kullanımdan kalkma o kadar çabuk olmayın :-) – paxdiablo
Uygulama yığınıyla ilgili özel bir sorun mu soruyorsunuz, yoksa başka bir şey mi soruyorsunuz? – jxh
Sabit bir adreste uygulama sonlandırma çözümlerini soruyorum. Şu anda her uygulamanın yığına yerleştirdiğim sabit bir dönüş adresine sahip olduğu bir rota aldım. Şimdi daha iyi bir çözüm arıyorum. –