Esistono sistemi operativi abbastanza semplici per l'apprendimento? [chiuso]

19

Mi piacerebbe davvero capire come funziona un sistema operativo dietro le quinte. Tuttavia, penso che il kernel della maggior parte dei sistemi operativi open source disponibili sia troppo complesso per scopi di apprendimento, anche per un programmatore a tempo pieno da apprendere. Esistono sistemi operativi "semplici" creati per scopi di apprendimento solo là fuori?

    
posta DotNetStudent 04.11.2011 - 23:48
fonte

8 risposte

28

Minix di Andrew Tanenbaum (vedi Progettazione e implementazione dei sistemi operativi ) è destinato esattamente a questo tipo di scopo. Un'altra possibilità (anche se abbastanza datata) è quella di leggere attraverso Lion's Book , che copre Unix V6 (full Unix, ma una versione abbastanza vecchia che è ancora abbastanza semplice per uno studio abbastanza semplice). Gli ovvi svantaggi di quest'ultimo sono che la C che usa è abbastanza obsoleta, quindi anche i programmatori C con esperienza abbastanza buona potrebbero trovare parti in qualche modo difficili da leggere, e non è possibile pianificare un compilatore moderno che digerisca il codice .

    
risposta data 04.11.2011 - 23:57
fonte
10

Dovresti considerare un moderno Unix-a-like, il sistema operativo Xv6, usato in un corso OS al MIT. Sembra che ci sia anche del materiale didattico associato.

Funziona con emulatori Boch e Qemu x86. Ho fatto quella parte. E 'stato divertente.

    
risposta data 05.11.2011 - 00:15
fonte
7

Minix è un'ottima scelta ed è descritto in una delle altre risposte.

Xinu

Considera anche XINU - XINU non è Unix.

È anche scritto UNIX indietro.

C'è un libro di Douglas Comer che ho pensato fosse ben scritto, ben illustrato e ben definito.

C'è un Xinu incorporato e un sito web sull'insegnamento con Xinu.

link

FreeRTOS

Un altro sistema operativo piccolo che ottiene molto amore in questi giorni è FreeRTOS. Funziona su quasi tutto. Se venissi da Marte e avessi un processore o una scheda di valutazione dove non funziona, potresti leggere circa 10 pagine di documentazione, modificare circa cinque file relativi a interrupt, timer e UART e verrai eseguito.

link

Affermano che supporta 31 architetture e 18 catene di strumenti. La mia esperienza alla fine del 2009 è stata buona, e ho sentito che da allora è stato migliorato molto.

Altri link

Una domanda simile potrebbe avere informazioni utili per te che si trova qui:

link

Linux e molti altri design di sistemi operativi sono influenzati da UNIX, quindi questo video in cui i designer originali (Kernigan, Richie e Thompson e altri) è sia informativo che ottiene le idee di progettazione direttamente dalla fonte.

link

C'è un libro dei sistemi operativi classico ma spesso rivisto:

Silberschatz, Galvin, Gagne: Concetti relativi ai sistemi operativi, 7a edizione

Potrebbero esserci anche nuove versioni. Raramente mi collego ad un libro tramite un venditore di libri, ma l'anteprima è molto generosa, quindi per saperne di più sui sistemi operativi, controlla:

link

    
risposta data 04.09.2012 - 05:40
fonte
3

Nella mia università abbiamo appreso NachOS . È un ottimo sistema operativo open source per l'apprendimento. Puoi anche trovare molti esercizi universitari su NachOS per l'apprendimento.

Nachos is instructional software for teaching undergraduate, and potentially graduate, level operating systems courses. The Nachos distribution comes with:

  • An overview paper
  • Simple baseline code for a working operating system
  • A simulator for a generic personal computer/workstation sample assignments
  • A C++ primer (Nachos is written in an easy-to-learn subset of C++, and the primer helps teach C programmers our subset)

The assignments illustrate and explore all areas of modern operating systems, including threads and concurrency, multiprogramming, system calls, virtual memory, software-loaded TLB's, file systems, network protocols, remote procedure call, and distributed systems.

    
risposta data 17.04.2012 - 03:03
fonte
0

Dai un'occhiata a KOS (Kid OD) e SOS (SO semplice). Entrambi sono sistemi operativi progettati per insegnare le funzionalità interne di un sistema operativo. KOS è il "padre" di SOS, ed è stato costruito sulla base dell'esperienza acquisita da KOS.

Questi progetti sono stati la base di molti articoli educativi su Linux Magazine France.

Sul sito web KOS, puoi anche trovare una pagina in cui puoi scaricare i sorgenti di altri SOs semplici.

    
risposta data 05.11.2011 - 10:29
fonte
0

Se utilizzi la famiglia di tecnologie .NET, puoi consultare Singolarità . Non è stato aggiornato dal 2008, ma può essere scaricato in formato sorgente e ISO da CodePlex qui .

    
risposta data 27.03.2012 - 23:48
fonte
0

Le persone possono comprendere tutte le versioni CP / M e Early DOS. Dopo ciò le cose sono andate fuori controllo e nessuno sa più niente. Non erano progettati per imparare come funziona un sistema operativo, ma molte persone hanno imparato da quei sistemi operativi.

    
risposta data 03.09.2012 - 18:52
fonte
-1

Leggi un libro sulla programmazione in assemblatore. Non devi diventare esperto in questo, ma ti insegnerà molti dei meccanismi interni di un computer.

    
risposta data 17.04.2012 - 08:17
fonte

Leggi altre domande sui tag