BIOS

Στην πληροφορική, το Basic Input/Output System (BIOS), στα ελληνικά Βασικό Σύστημα Εισόδου/Εξόδου, γνωστό και ως το «BIOS του συστήματος» (System BIOS), είναι ένα συμβατικό πρότυπο που προσδιορίζει το λογισμικό διεπαφής για IBM συμβατούς υπολογιστές.
Το BIOS είναι υλικολογισμικό (firmware) εκκίνησης (boot), και είναι ο αρχικός κώδικας που εκτελείται κατά την έναρξη της λειτουργίας του υπολογιστή. Η πρωταρχική λειτουργία του BIOS είναι ο εντοπισμός, ο έλεγχος (POST) και η αρχικοποίηση συσκευών του συστήματος όπως ο προσαρμογέας οθόνης, ο σκληρός δίσκος, ο οδηγός δισκέτας και άλλο υλικό. Αυτό γίνεται ώστε να μεταβεί το μηχάνημα σε μια δεδομένη κατάσταση, έτσι ώστε το λογισμικό που είναι αποθηκευμένο σε συμβατά αποθηκευτικά μέσα να μπορεί να φορτωθεί, να εκτελεστεί, και να αποκτήσει τον έλεγχο του υπολογιστή. Στους σύγχρονους υπολογιστές, το λογισμικό αυτό είναι το λειτουργικό σύστημα, στο οποίο το BIOS μεταβιβάζει τον έλεγχο μετά την ολοκλήρωση της εκτέλεσης του κώδικά του. Η διαδικασία αυτή είναι γνωστή ως εκκίνηση (Αγγλ. booting ή booting up, που αποτελεί συντόμευση του "bootstrapping").

Ορολογία

Ο όρος BIOS επινοήθηκε από τον Gary Kildall και εμφανίστηκε για πρώτη φορά στο λειτουργικό σύστημα CP/M το 1975, περιγράφοντας το μέρος του CP/M που εξαρτώταν από την αρχιτεκτονική του συγκεκριμένου υπολογιστή και φορτωνόταν κατά την εκκίνηση του χρόνου. Αυτό το μέρος του λειτουργικού συστήματος ήταν το μόνο που επικοινωνούσε απευθείας με το υλικό (οι υπολογιστές που εκτελούσαν το CP/M είχαν συνήθως μόνο έναν απλό φορτωτή εκκίνησης στη ROM τους). Οι νεότερες εκδόσεις του CP/M, καθώς του Concurrent CP/M, του Concurrent DOS, του DOS Plus, του Multiuser DOS, του System Manager και του REAL/32 περιλάμβαναν ένα XIOS (Extended Input/Output System) αντί του BIOS. Οι περισσότερες εκδόσεις του DOS είχαν ένα αρχείο που ονομάζεται "IO.SYS", "IBMBIO.COM", "IBMBIO.SYS" ή "DRBIOS.SYS", που ονομαζόταν DOS BIOS και έπαιζε αντίστοιχο ρόλο με το BIOS του CP/M.
Σε άλλες κατηγορίες ηλεκτρονικών υπολογιστών συχνά χρησιμοποιούνται οι γενικότεροι όροι boot monitor, boot loader ή boot ROM. Κάποιοι υπολογιστές Sun και PowerPC χρησιμοποιούν το Open Firmware για το σκοπό αυτό. Υπάρχουν αρκετές εναλλακτικές λύσεις για BIOS παλιού τύπου (Legacy BIOS) στην αρχιτεκτονική x86: το Extensible Firmware Interface, το Open Firmware (που χρησιμοποιείται για το OLPC XO-1) και το coreboot.

Αποθήκευση

Το λογισμικό του BIOS βρίσκεται αποθηκευμένο σε ένα ολοκληρωμένο κύκλωμα της μητρικής κάρτας, που αποτελείται από EEPROM ή μνήμη flash στα σύγχρονα μοντέλα μητρικών καρτών. Παλιότερα το τσιπ του BIOS ήταν απλή μνήμη ROM αλλά αυτού του τύπου οι μνήμες δεν επαναπρογραμματίζονται με αποτέλεσμα η ανάγκη για ενημερώσεις του BIOS να οδηγήσει στη χρήση flash/EEPROM. Το λογισμικό αυτό περιλαμβάνει μια μικρή βιβλιοθήκη βασικών λειτουργιών εισόδου/εξόδου οι οποίες μπορούν να κληθούν για τη λειτουργία και τον έλεγχο περιφερειακών συσκευών, όπως το πληκτρολόγιο, η οθόνη και ούτω καθεξής. Σε ορισμένα μοντέλα μητρικών το τσιπ του BIOS είναι αφαιρούμενο, έτσι ώστε να μπορεί να αντικατασταθεί σε περίπτωση καταστροφής του χωρίς να αλλαχθεί ολόκληρη η μητρική κάρτα. Τα τσιπ είναι επαναπρογραμματιζόμενα και σε ορισμένες περιπτώσεις, όπως για παράδειγμα όταν συνδεθεί στον υπολογιστή κάποιο υλικό για το οποίο δεν υπάρχει υποστήριξη στο BIOS, μπορεί να ανανεωθεί στην τελευταία έκδοση με τη χρήση δισκέτας ή ειδικού λογισμικού μέσω Ιντερνέτ (το λεγόμενο «φλασάρισμα» του BIOS).

POST

Το BIOS κατά την έναρξή του διενεργεί έναν έλεγχο του συστήματος, προκειμένου να εξασφαλιστεί ότι τα βασικά του υποσυστήματα (άρα και το ίδιο το σύστημα) είναι σε κατάσταση να λειτουργήσουν. Η όλη διαδικασία περιγράφεται με τον όρο Power-On-Self-Test (Αυτο-έλεγχος τη στιγμή της έναρξης παροχής ισχύος) που είναι πιο συνοπτικά γνωστή με το αρκτικόλεξο POST. Αυτό που πραγματοποιείται είναι ο έλεγχος της μητρικής πλακέτας, της μνήμης RAM, του επεξεργαστή και της κάρτας γραφικών. Αυτά είναι τα βασικά συστήματα του υπολογιστή. Χωρίς αυτά ο υπολογιστής δεν εκκινεί. Η ειδοποίηση του χρήστη για την κανονική ή μη λειτουργία των συστημάτων αυτών γίνεται από τη μητρική μέσω ηχητικών σημάτων από το μεγάφωνο συστήματος, καθώς επειδή πρόκειται για χαμηλού επιπέδου λειτουργίες, τα γραφικά μπορεί να μην είναι ακόμα διαθέσιμα σε αυτό το στάδιο της εκκίνησης (αν και σε υπολογιστές όπως η Amiga το σήμα ήταν οπτικό). Όταν όλα λειτουργούν σωστά, πριν ανάψει η οθόνη ακούγεται ένα μόνον σύντομο ηχητικό σήμα (γνωστό και σαν "Post signal"). Αυτό καταδεικνύει ότι τα απαραίτητα συστήματα και υποσυστήματα του υπολογιστή είναι εγκατεστημένα και λειτουργούν σωστά. Σε αντίθετη περίπτωση, δηλαδή στην περίπτωση που κάτι δεν λειτουργεί σωστά από τα ζωτικά συστήματα του υπολογιστή, θα ακουστούν περισσότερα ηχητικά σήματα, εκτός αν η μητρική πλακέτα έχει καταστραφεί εντελώς και δεν είναι σε θέση να στείλει το μικρό αυτό σήμα. Ο κώδικας των σημάτων για τα διάφορα σφάλματα βρίσκεται συνήθως στο φυλλάδιο οδηγιών της μητρικής, και είναι διαφορετικός για κάθε εταιρία κατασκευής BIOS.
Αν το POST των βασικών συστημάτων ολοκληρωθεί με επιτυχία και ακουστεί ο σύντομος ήχος (κάτι που περιγράφεται με την έκφραση "ποστάρισμα" ή "το σύστημα ποστάρει") το BIOS περνά στο δεύτερο τμήμα του ελέγχου, αυτό των βασικών περιφερειακών συσκευών (οπτικά μέσα αποθήκευσης, USB και PCI θύρες και συσκευές, κλπ).