Si, sembra che la distinzione a cui si riferisce la professoressa, che non sembra proprio una suddivisione ufficialmente riconosciuta, e pertanto difficile da ritrovare in rete, riguardi gli aspetti anche citati da
@Andretti60
Essendo io anche appassionato di retrocomputing, diciamo che l'argomento mi appassiona.. e ce l'ho abbastanza chiaro, forse attualmente riguarda appunto i sistemi embedded, ma non necessariamente.. insomma i kernel monoprogrammati quasi non dovrebbero esserci.
Il concetto, giustamente, non si riferisce ai "sistemi operativi", cioè al software di gestione del computer (infatti i computer monoprogrammati sono precedenti all'invenzione dei sistemi operativi), ma eventualmente a "sistema" nel senso più generale di macchina hardware/software.
In effetti applicare questo concetto al kernel è corretto, infatti il kernel è lo strato più vicino tra l'hardware e il software di un computer ed il primo passo verso il concetto di sistema operativo.
Oltre ai mainframe fino agli anni 60, precedenti al time-sharing, penso anche ai primi microcomputer (che direi di conoscere davvero molto molto bene) che sono buoni esempi di "sistemi" monoprogramma.
Alcuni, come il mitico commodore64 e forse anche il predecessore vic20, possedevano anche una sorta di kernel (nello specifico lo chiamavano Karnal, come acronimo di qualcosa) che era praticamente una piccolissima libreria di microcodice in ROM con cui gestire chiamate al sistema.. non ha avuto seguito, ma l'intenzione era di unificare il software.
Attenzione però a non generalizzare in questa valutazione dei microcomputer perché vale solo per alcuni home e non per tutti i vecchi microcomputer.. i primi PC con z80 e CP/M, i8088 e MSDOS, i primi Macintosh (praticamente tutto il macOS) erano computers con sistemi operativi "monotask" ma non c'entra nulla con il monoprogrammato! Il commodore Amiga, addirittura, era multitasking nel 1986! Il CP/M era un sistema operativo multiutente...
Mi riferisco a computer che non disponevano di sistemi operativi e potevano eseguire un solo programma per volta, seppure i microprocessori, fin quasi dalla loro origine (1970) già prevedevano a livello hardware gli "interrupt", cioè la possibilità di "congelare" lo stato di esecuzione di un programma per eseguire altre operazioni (in genere di sistema, cioè previste dall'hardware stesso: come l'aggiornamento di un timer interno o refresh del video) piuttosto che del codice previsto dal programmatore.. e in tal caso, però, parte dello stesso programma in esecuzione (si tratta di interrupt di altro genere), che poi è il modo con cui altri software quali i "sistemi operativi", cioè gli ambienti (lo strato) in cui vengono eseguiti i programmi, utilizzano per dare forma al multitasking.
Ovviamente macchine come i sistemi batch o primissimi computer, magari precedenti anche al concetto di macchina di Von Neumann, erano sicuramente monoprogramma. Ma anche tutti i SUPERcomputer, compresi quelli contemporanei, sono praticamente monoprogramma, a volte vengono progettati appositamente per eseguire quello specifico programma!
A questo punto solo la tua professoressa può dire qual'è la distinzione che intende, mentre noi possiamo solo puntare a caso.. ciò perché tale distinzione non sembra riconosciuta ufficialmente dalla letteratura sull'argomento (ma potrei sbagliarmi)
per la tua ricerca avrei trovato questi:
https://users.dimi.uniud.it/~ivan.s...FjAHegQIAhAB&usg=AOvVaw3AT2VI-oZVC_AGRgWok1m5
E forse potrebbero tornare utili anche queste Elide con timelime:
https://cs.unibg.it/gherardi/so2013...FjAEegQIAhAB&usg=AOvVaw0JTkhloqeAPRuL_D6G4OHj
https://www.issgreppi.gov.it/corsi/...FjAFegQIBRAB&usg=AOvVaw1lAkAZn7h9zfJPeJPBIrqS
Inviato dal mio Nexus 5 utilizzando Tapatalk