semplice: con l'ambiente di sviluppo di un altro sistema operativo, tendenzialmente quello della generazione precedente
so che puo' sembrare un po' la storia dell'uovo e della gallina, ma e' proprio cosi'... non devi pensare a un pc come una cosa programmabile da zero, piuttosto concentrati sul percorso tecnologico che ha portato alla sua creazione: in principio c'erano i calcolatori meccanici, poi quelli elettromeccanici, poi le schede preforate, poi i calcolatori valvolari, poi arrivarono i transistor e cosi' via... ogni generazione e' stata creata con gli strumenti della generazione precedente
ad esempio windows xp e' stato sviluppato in C++ su windows nt, windows nt in C++ su windows for workgroup, windows fw e precedenti in C sul dos, il dos in C/assembly sul CP/M e il CP/M in assembly sull'IMSAI, e cosi' via fino ad arrivare al primo elaboratore programmabile direttamente in linguaggio macchina; ad ogni "pezzo" della catena si collegava poi un'interfaccia per poter dialogare col pezzo successivo, vuoi un semplice floppy su cui installare un bootloader e relativo sistema, vuoi una connessione seriale, vuoi una scheda di rete o una qualsiasi altra interfaccia che sia compatibile con entrambe le macchine, purche' si possa fare in modo di trasferire il software da una all'altra; se tu ti trovassi davanti un pc "vuoto" e ci volessi mettere su un sistema operativo da zero dovresti fare tutto il percorso inverso, oppure piu' sensatamente sfruttare gli strumenti che la tecnologia attuale ti offre: ovvero, un altro sistema operativo (che volendo potresti gia' far girare sulla stessa macchina che intendi programmare da zero, nulla te lo vieta)
quando si parla di programmare in linguaggio macchina non si intende trasferire direttamente una sequenza di 0 e 1 in un pc: e' impossibile; la programmazione in linguaggio macchina e' una attivita' puramente manuale che riguardava i calcolatori valvolari e precedenti, si trattava di spostare fisicamente degli switch per porre diversi stati agli ingressi dei processori e relativi componenti... allo stato odierno non e' possibile in alcun modo programmare in linguaggio macchina se non con una di queste macchine che accetti il linguaggio direttamente, oppure con un chip posto direttamente su una basetta e a cui inviare la trafila di segnali 0V e +5V che identificano rispettivamente 0 e 1 in binario
spero di non averti confuso le idee...

Rispondi quotando