มีระบบปฏิบัติการใดที่ง่ายพอสำหรับการเรียนรู้? [ปิด]


19

ฉันอยากจะเข้าใจว่าระบบปฏิบัติการทำงานอย่างไรเบื้องหลัง อย่างไรก็ตามฉันคิดว่าเคอร์เนลของระบบปฏิบัติการโอเพ่นซอร์สส่วนใหญ่นั้นซับซ้อนเกินไปสำหรับวัตถุประสงค์ในการเรียนรู้แม้สำหรับโปรแกรมเมอร์เต็มเวลาที่จะเรียนรู้ มี OS แบบ "ง่าย" ที่สร้างขึ้นเพื่อวัตถุประสงค์ในการเรียนรู้เฉพาะที่นั่นหรือไม่?




ฉันพบสิ่งนี้ในการค้นหาของฉันไม่เคยลอง pdos.csail.mit.edu/6.828/2012/xv6.htmlเห็นได้ชัดว่ามันถูกเขียนขึ้นเพื่อแทนที่ Unix v6 เป็นเครื่องมือการเรียนรู้
ctrl-alt-delor

คำตอบ:


28

แอนดรูว์ Tanenbaum ของMinix (ดูการออกแบบระบบปฏิบัติการและการนำไปปฏิบัติ ) มีจุดประสงค์เพื่อจุดประสงค์นี้อย่างแน่นอน ความเป็นไปได้อีกอย่างหนึ่ง (แม้ว่าจะค่อนข้างเก่า) ก็คือการอ่านหนังสือของ Lionซึ่งครอบคลุม Unix V6 (Unix เต็มรูปแบบ แต่เป็นรุ่นที่เก่าพอที่มันยังง่ายพอสำหรับการศึกษาที่ค่อนข้างง่าย) ข้อเสียที่ชัดเจนของหลังคือ C ที่ใช้ค่อนข้างล้าสมัยดังนั้นแม้โปรแกรมเมอร์ C ที่มีประสบการณ์ค่อนข้างจะพบว่าบางส่วนอ่านยากและคุณไม่สามารถวางแผนในคอมไพเลอร์สมัยใหม่ที่ย่อยรหัสได้


7
MINIX 3 ไม่ใช่เครื่องมือการเรียนการสอนและ MINIX 3 microkernel นั้นไม่ใช่เรื่องง่ายที่จะเข้าใจ ตาม Tanenbaum มีเพียง MINIX 1 เท่านั้นที่เป็นเครื่องมือในการสอน
sakisk

10

คุณควรพิจารณาระบบปฏิบัติการ Xv6แบบ Unix-a-like ที่ทันสมัยซึ่งใช้ในหลักสูตรระบบปฏิบัติการที่ MIT ดูเหมือนว่าจะมีเนื้อหาหลักสูตรที่เกี่ยวข้องกับมันเช่นกัน

มันทำงานทั้งในเครื่องเลียนแบบ Bochs และ Qemu x86 ฉันทำส่วนนั้น มันสนุก.


7

Minix เป็นตัวเลือกที่ยอดเยี่ยมและอธิบายไว้ในคำตอบข้ออื่น

Xinu

พิจารณา XINU - XINU Is Not Unix ด้วย

คือยังสะกด UNIX ย้อนหลัง

มีหนังสือจาก Douglas Comer ที่ฉันคิดว่าเขียนดีมีภาพประกอบและมีขอบเขตดี

มี Xinu แบบฝังและเว็บไซต์เกี่ยวกับการสอนกับ Xinu

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

FreeRTOS

อีกระบบปฏิบัติการขนาดเล็กที่ได้รับความรักมากมายในวันนี้คือ FreeRTOS มันทำงานได้เกือบทุกอย่าง หากคุณมาจากดาวอังคารและมีหน่วยประมวลผลกลางหรือตัวประมวลผลที่ไม่ทำงานคุณสามารถอ่านเอกสารได้ประมาณ 10 หน้าแก้ไขไฟล์เกี่ยวกับการขัดจังหวะตัวจับเวลาและ UART ได้ประมาณห้าไฟล์

http://www.freertos.org/

พวกเขาอ้างว่ามันรองรับสถาปัตยกรรม 31 แห่งและโซ่เครื่องมือ 18 แห่ง ประสบการณ์ของฉันในช่วงปลายปี 2009 เป็นสิ่งที่ดีและฉันได้ยินมาว่ามันพัฒนาขึ้นมากตั้งแต่นั้นมา

ลิงค์อื่น ๆ

คำถามที่คล้ายกันซึ่งอาจมีข้อมูลที่เป็นประโยชน์สำหรับคุณอยู่ที่นี่:

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

Linux และการออกแบบระบบปฏิบัติการอื่น ๆ จำนวนมากได้รับอิทธิพลจาก UNIX ดังนั้นวิดีโอนี้ที่นักออกแบบดั้งเดิม (Kernigan, Richie และ Thompson และอื่น ๆ ) เป็นผู้ให้ข้อมูลและได้รับแนวคิดการออกแบบจากแหล่งที่มา

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

มีตำราเรียนระบบปฏิบัติการคลาสสิค แต่มักแก้ไข:

Silberschatz, Galvin, Gagne: แนวคิดระบบปฏิบัติการรุ่นที่ 7

อาจมีรุ่นที่ใหม่กว่าด้วย ฉันไม่ค่อยเชื่อมโยงกับหนังสือผ่านผู้ขายหนังสือ แต่หน้าตัวอย่างมีความเอื้อเฟื้อดังนั้นหากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับระบบปฏิบัติการโปรดตรวจสอบ:

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


3

ในมหาวิทยาลัยของฉันเราได้เรียนรู้Nachos มันเป็นระบบปฏิบัติการโอเพ่นซอร์สที่ยอดเยี่ยมสำหรับการเรียนรู้ นอกจากนี้คุณยังสามารถหาแบบฝึกหัดของมหาวิทยาลัยหลายแห่งใน NachOS เพื่อการเรียน

Nachos เป็นซอฟต์แวร์การเรียนการสอนสำหรับการสอนระดับปริญญาตรีและหลักสูตรระดับบัณฑิตศึกษาที่อาจเกิดขึ้น การกระจาย Nachos มาพร้อมกับ:

  • กระดาษภาพรวม
  • รหัสพื้นฐานง่าย ๆ สำหรับระบบปฏิบัติการที่ใช้งานได้
  • เครื่องจำลองสำหรับการกำหนดตัวอย่างคอมพิวเตอร์ / เวิร์กสเตชันส่วนบุคคลทั่วไป
  • ไพรเมอร์ C ++ (Nachos เขียนในเซตย่อยที่ง่ายต่อการเรียนรู้ของ C ++ และไพรเมอร์ช่วยสอนโปรแกรมเมอร์ C ให้กับเซตย่อยของเรา)

การมอบหมายแสดงตัวอย่างและสำรวจพื้นที่ทั้งหมดของระบบปฏิบัติการที่ทันสมัยรวมถึงเธรดและการทำงานพร้อมกัน, การโปรแกรมหลายโปรแกรม, การเรียกระบบ, หน่วยความจำเสมือน, TLB ที่โหลดโดยซอฟต์แวร์, ระบบไฟล์, โปรโตคอลเครือข่าย, การเรียกขั้นตอนระยะไกลและระบบกระจาย


0

ดูKOS (Kid OD) และSOS (Simple OS) ทั้งสองเป็นระบบปฏิบัติการที่ออกแบบมาเพื่อสอน internals ของระบบปฏิบัติการ KOS คือ "บิดา" ของ SOS และถูกสร้างขึ้นจากประสบการณ์ที่ได้รับจาก KOS

โครงการเหล่านี้เป็นพื้นฐานของบทความทางการศึกษามากมายใน Linux Magazine France

บนเว็บไซต์ KOS คุณสามารถค้นหาเพจที่คุณสามารถดาวน์โหลดแหล่งที่มาของระบบปฏิบัติการจำลองอื่น ๆ


0

หากคุณเป็นครอบครัว .NET ของเทคโนโลยีที่คุณสามารถตรวจสอบออกเป็นเอกเทศ มันยังไม่ได้รับการปรับปรุงตั้งแต่ปี 2008 แต่สามารถดาวน์โหลดได้ในแหล่งที่มาและรูปแบบ ISO จาก CodePlex ที่นี่


เหตุผลเฉพาะสำหรับ downvote, downvoter ? ลิงก์ยังคงใช้งานได้และเป็นระบบปฏิบัติการที่เรียบง่ายซึ่งเขียนด้วยภาษาระดับสูง
Jesse C. Slicer

0

ผู้คนสามารถเข้าใจ CP / M และ DOS ทุกรุ่นได้ หลังจากนั้นสิ่งต่าง ๆ ก็ไม่สามารถควบคุมได้และไม่มีใครรู้ทุกอย่างอีกแล้ว พวกเขาไม่ได้ออกแบบมาสำหรับการเรียนรู้วิธีการทำงานระบบปฏิบัติการ แต่หลายคนไม่ได้เรียนรู้ว่ามาจากระบบปฏิบัติการเหล่านั้น


1
ลองเพิ่มการอ้างอิงบางอย่างหรือหลักฐานเพิ่มเติมเพื่อสำรองคำตอบของคุณ หรือเพิ่มรายละเอียดเพิ่มเติมเพื่อระบุว่าทำไมรุ่น X จึงเข้าใจได้ง่ายกว่ารุ่น Y

-1

ไปอ่านหนังสือเกี่ยวกับการเขียนโปรแกรมในแอสเซมเบลอร์ คุณไม่จำเป็นต้องเป็นผู้เชี่ยวชาญ แต่มันจะสอนคุณถึงการทำงานภายในของคอมพิวเตอร์มากมาย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.