Λειτουργικά Συστήματα
Οι πρώτοι ηλεκτρονικοί υπολογιστές δεν διέθεταν κάποιας μορφής λειτουργικό σύστημα. Ένοιες όπως διαχείρηση μνήμης, διαχείριση διεργασιών και διαχείρηση εισόδου / εξόδου δεν υφήσταντο. Σε αυτούς τους προιμους υπολογιστές (mainframes) κάθε χρήστης είχε την αποκλειστική χρήση του μηχανήματος για μια προγραμματισμένη χρονική περίοδο και έφτανε στον υπολογιστή με το πρόγραμμα και τα δεδομένα, είτε σε διάτρητες κάρτες απο χαρτί είτε σε μαγνητική ή χάρτινη ταινία. Η όλη διαδικασία είχε ως εξής: Ένας προγραμματιστής με το έτοιμο πρόγραμμα του πήγαινε στο κέντρο διάτρησης, όπου βάσει του προγράμματος, γινόταν διάτρηση σε μια σειρά από κάρτες. Στη συνέχεια έπρεπε να πάει στο δωμάτιο του υπολογιστή και να τοποθετήσει τις διάτρητες κάρτες σε μια ουρά από κάρτες. Μόλις έφτανε η σειρά των καρτών να εκτελεστούν ο υπολογιστής διάβαζε το πρόγραμμα, το μετέτρεπε σε γλώσσα μηχανής και το εκτελούσε. Σε περίπτωση όπου υπήρχε ένα bug στο πρόγραμμα η όλη διαδικασία έπρεπε να γίνει από την αρχή.
Παρακάτω θα αναφερθούμε στην ιστορία μερικών απο τα περισσότερα γνωστά λειτουργικά συστήματα.