Η αρχιτεκτονική φύση του ENIAC

Στο ερώτημα αν ο ENIAC διέθετε BIOS, η απάντηση του Alan Kay είναι κατηγορηματικά αρνητική. Ο ENIAC δεν ήταν υπολογιστής αποθηκευμένου προγράμματος (stored-program computer) με την έννοια που κατανοούμε σήμερα. Η αρχιτεκτονική του βασιζόταν σε φυσικές συνδέσεις και διακόπτες, καθιστώντας την έννοια του firmware ή του BIOS ανύπαρκτη. Ουσιαστικά, ο προγραμματισμός του ήταν μια διαδικασία hardware configuration και όχι software execution.

Η εξέλιξη του bootstrapping

Πριν την επικράτηση των ROM-based συστημάτων, η εκκίνηση ενός υπολογιστή ήταν μια χειροκίνητη και επίπονη διαδικασία. Οι μηχανικοί χρησιμοποιούσαν πίνακες διακοπτών (toggles) για να εισάγουν έναν μικρό αριθμό εντολών (boot loader) απευθείας στη μνήμη. Αυτός ο κώδικας, με τη σειρά του, αναλάμβανε να διαβάσει το υπόλοιπο πρόγραμμα από μέσα αποθήκευσης, όπως χαρτοταινίες (paper tapes) ή κάρτες.

Από τους διακόπτες στο firmware

Η ιστορική αναδρομή δείχνει ότι η ανάγκη για αυτοματοποιημένη εκκίνηση οδήγησε στη χρήση του ROM. Συστήματα όπως ο CDC 6600 χρησιμοποιούσαν ειδικούς πίνακες για το 'dead start', μια διαδικασία που απαιτούσε βαθιά γνώση του hardware. Η μετάβαση στο CP/M και αργότερα στο IBM PC τυποποίησε το BIOS, μετατρέποντας μια χειροκίνητη διαδικασία χαμηλού επιπέδου σε μια σταθερή, αφηρημένη διεπαφή (interface) μεταξύ hardware και λειτουργικού συστήματος.