Чи є ОС, які досить прості для навчання? [зачинено]


19

Мені дуже хотілося б зрозуміти, як працює операційна система за кадром. Однак я думаю, що ядро ​​більшості ОС з відкритим кодом там занадто складне для навчальних цілей, навіть для програміста, який працює повний робочий день. Чи є якісь "прості" ОС, створені лише для навчальних цілей?




Я знайшов це під час пошуку, ніколи не пробував. pdos.csail.mit.edu/6.828/2012/xv6.html очевидно, було написано замінити Unix v6 як інструмент навчання.
ctrl-alt-delor

Відповіді:


28

Minix Ендрю Таненбаума (див. Проектування та впровадження операційних систем ) призначений саме для цього. Інша (хоча і досить датова) можливість - це прочитати книгу Лева , яка охоплює Unix V6 (повний Unix, але достатньо стара версія, що вона все ще досить проста для досить легкого вивчення). Очевидними недоліками останнього є те, що C, який він використовує, є досить застарілим, тому навіть досить досвідчені програмісти на C можуть виявити частини, які важко читати, і ви не можете планувати сучасний компілятор, який засвоює код.


7
MINIX 3 не є навчальним інструментом, і мікроядер MINIX 3, безумовно, не просто зрозуміти. За словами Таненбаума, лише MINIX 1 був навчальним інструментом.
sakisk

10

Вам слід розглянути сучасну Unix-подібну операційну систему Xv6, що використовується в курсі ОС на MIT. Здається, з цим пов'язаний і якийсь навчальний матеріал.

Він працює як в емуляторах Bochs, так і в Qemu x86. Я зробив цю частину. Це було весело.


7

Minix - чудовий вибір і описаний в одній з інших відповідей.

Сину

Також врахуйте XINU - XINU не є Unix.

Є також UNIX написано назад.

Є книга Дугласа Комера, яку я вважав добре написаною, добре проілюстрованою та добре промальованою.

Є вбудована Xinu та веб-сайт про навчання з Xinu.

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

FreeRTOS

Ще одна невелика ОС, яка в цей час отримує велику любов - FreeRTOS. Він працює майже на всьому. Якщо ви приїхали з Марса і у вас був процесор або плат eval, де він не працює, ви можете прочитати приблизно 10 сторінок документації, змінити близько п'яти файлів, пов’язаних з перериваннями, таймерами та UART, і ви б працювали.

http://www.freertos.org/

Вони стверджують, що він підтримує 31 архітектуру та 18 ланцюгів інструментів. Мій досвід наприкінці 2009 року був хорошим, і я чую, що відтоді він значно покращився.

Інші посилання

Подібні запитання, які можуть мати корисну для вас інформацію, розміщені тут:

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

На Linux та багато інших дизайнів операційної системи впливає UNIX, тому це відео, де оригінальні дизайнери (Керніган, Річі, та Томпсон та інші) є інформаційним та отримує ідеї дизайну прямо з джерела.

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). Обидві - це операційні системи, призначені для навчання внутрішніх систем ОС. KOS є "батьком" SOS, і був побудований на основі досвіду, накопиченого від KOS.

Ці проекти були покладені в основу багатьох навчальних статей у Linux Magazine France.

На веб-сайті KOS ви також можете знайти сторінку, де можна завантажити джерела інших простих ОС.


0

Якщо ви належите до сімейства технологій .NET, ви можете перевірити особливість . Він не оновлювався з 2008 року, але його можна завантажити у вихідному та ISO-форматі з CodePlex тут .


Конкретна причина спуску, нивотера ? Посилання ще живі, і це проста ОС, написана мовою високого рівня.
Джессі К. Слікер

0

Люди можуть зрозуміти всі версії CP / M та ранні версії DOS. Після цього речі вийшли з-під контролю і вже ніхто нічого не знає. Вони не були призначені для навчання , як працює ОС , але багато людей дійсно дізнаються , що з цих ОС.


1
Спробуйте додати деякі посилання або додаткові анекдотичні докази, щоб підкріпити свою відповідь. Або додайте додаткову деталь, щоб вказати, чому версія X легше зрозуміти, ніж версія Y.

-1

Почитайте книгу про програмування в асемблері. Вам не доведеться бути вдосконаленим, але це навчить вас багато чого з внутрішнього функціонування комп'ютера.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.