Öğrenmek için yeterince basit herhangi bir işletim sistemi var mı? [kapalı]


19

Bir işletim sisteminin perde arkasında nasıl çalıştığını gerçekten anlamak istiyorum. Ancak, açık kaynak işletim sistemlerinin çoğunun çekirdeğinin, tam zamanlı bir programcının öğrenmesi için bile öğrenme amaçları için çok karmaşık olduğunu düşünüyorum. Sadece orada öğrenme amacıyla yapılmış "basit" işletim sistemleri var mı?




Bunu aramamda buldum, hiç denemedim. Görünüşe göre, bir öğrenme aracı olarak Unix v6'nın yerini almak için yazılmıştır.
ctrl-alt-delor

Yanıtlar:


28

Andrew Tanenbaum en Minix (bkz İşletim Sistemleri Tasarımı ve Uygulaması ) amaç tam olarak bu tür içindir. Bir başka (oldukça tarihli olsa da) olasılık Unix V6'yı (tam Unix'i, ancak oldukça kolay çalışma için hala yeterince basit olan yeterince eski bir sürümü) kapsayan Lion's Book'u okumaktır . İkincisinin bariz dezavantajları, kullandığı C'nin oldukça eski olmasıdır, bu yüzden oldukça deneyimli C programcıları bile parçaları okumak biraz zor bulabilir ve kodu sindiren modern bir derleyiciyi planlayamazsınız.


7
MINIX 3 bir öğretim aracı değildir ve MINIX 3 mikro çekirdeğinin anlaşılması kesinlikle kolay değildir. Tanenbaum'a göre sadece MINIX 1 bir öğretim aracıydı.
sakisk


7

Minix mükemmel bir seçimdir ve diğer yanıtlardan birinde açıklanmıştır.

Xinu

Ayrıca XINU - XINU Is Unix'i düşünün.

Aynı zamanda UNIX geriye doğru yazılmıştır.

Douglas Comer'ın iyi yazılmış, iyi resimlendirilmiş ve kapsamlı bir şekilde ele alındığını düşündüğüm bir kitabı var.

Gömülü bir Xinu ve Xinu ile öğretim hakkında bir web sitesi var.

http://xinu.mscs.mu.edu/Teaching_With_Xinu

freertos

Bugünlerde çok sevilen bir diğer ufacık işletim sistemi FreeRTOS. Neredeyse her şey üzerinde çalışır. Mars'tan geldiyseniz ve çalışmadığı bir işlemci veya değerlendirme kartınız varsa, yaklaşık 10 sayfa belgeyi okuyabilir, kesintiler, zamanlayıcılar ve UART'larla ilgili yaklaşık beş dosyayı değiştirebilir ve çalışırsınız.

http://www.freertos.org/

31 mimariyi ve 18 takım zincirini desteklediğini iddia ediyorlar. 2009 yılının sonundaki deneyimim iyiydi ve o zamandan beri çok geliştiğini duydum.

Diğer Bağlantılar

Sizin için yararlı bilgilere sahip olabilecek benzer bir soru burada bulunmaktadır:

/programming/254149/how-do-you-write-a-basic-operating-system

Linux ve diğer birçok işletim sistemi tasarımı UNIX'ten etkileniyor, bu yüzden orijinal tasarımcıların (Kernigan, Richie ve Thompson ve diğerleri) hem bilgilendirici hem de tasarım fikirlerini kaynağından alıyor.

http://techchannel.att.com/play-video.cfm/2012/2/22/AT&T-Archives-The-UNIX-System

Klasik ancak sıklıkla revize edilen işletim sistemleri ders kitabı vardır:

Silberschatz, Galvin, Gagne: İşletim Sistemi Kavramları, 7. Baskı

Daha yeni sürümler de olabilir. Bir kitap satıcısı aracılığıyla nadiren bir kitaba bağlantı veriyorum, ancak önizleme çok cömert, bu yüzden işletim sistemleri hakkında daha fazla bilgi edinmek için lütfen göz atın:

http://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720


3

Üniversitemde NachOS'u öğrendik . Öğrenmek için harika bir açık kaynaklı işletim sistemi. Ayrıca NachOS ile ilgili birçok üniversite öğrenimi de bulabilirsiniz.

Nachos, lisans ve potansiyel olarak yüksek lisans düzeyinde işletim sistemleri dersleri vermek için kullanılan bir öğretim yazılımıdır. Nachos dağılımı:

  • Bir genel bakış belgesi
  • Çalışan bir işletim sistemi için basit temel kod
  • Genel kişisel bilgisayar / iş istasyonu örnek atamaları için simülatör
  • Bir C ++ primeri (Nachos, öğrenmesi kolay bir C ++ alt kümesinde yazılır ve primer, C programcılarına alt kümemizi öğretmeye yardımcı olur)

Ödevler, iş parçacıkları ve eşzamanlılık, çoklu programlama, sistem çağrıları, sanal bellek, yazılım yüklü TLB'ler, dosya sistemleri, ağ protokolleri, uzaktan yordam çağrısı ve dağıtılmış sistemler dahil olmak üzere modern işletim sistemlerinin tüm alanlarını gösterir ve araştırır.


0

KOS (Kid OD) ve SOS'a (Basit İşletim Sistemi) bir göz atın . Her ikisi de bir işletim sisteminin iç kısımlarını öğretmek için tasarlanmış İşletim Sistemleri'dir. KOS, SOS'un "babası" dır ve KOS'tan edinilen deneyime dayanılarak inşa edilmiştir.

Bu projeler, Linux Magazine France'daki birçok eğitim makalesinin temelini oluşturuyordu.

KOS web sitesinde, diğer basit işletim sistemlerinin kaynaklarını indirebileceğiniz bir sayfa da bulabilirsiniz .


0

.NET teknolojileri ailesindeyseniz, Singularity'ye göz atabilirsiniz . 2008'den beri güncellenmemiştir, ancak burada CodePlex'ten kaynak ve ISO biçiminde indirilebilir .


Downvote için özel neden, downvoter ? Bağlantılar hala yayında ve üst düzey bir dilde yazılmış basit bir işletim sistemi.
Jesse C. Slicer

0

İnsanlar tüm CP / M ve erken DOS sürümlerini anlayabilirler. Bundan sonra işler kontrolden çıktı ve artık kimse her şeyi bilmiyor. Bir işletim sisteminin nasıl çalıştığını öğrenmek için tasarlanmamışlardır, ancak birçok kişi bunu bu işletim sisteminden öğrenmiştir.


1
Cevabınızı yedeklemek için bazı referanslar veya ek anekdot kanıtlar ekleyin. Veya X sürümünün neden Y sürümünden daha kolay anlaşıldığını belirtmek için ek ayrıntılar ekleyin.

-1

Montajcıda programlama hakkında bir kitap okuyun. Bu konuda uzman olmanıza gerek yok, ama bu size bir bilgisayarın iç işleyişini öğretecek.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.