Σχεδίαση και υλοποίηση πυρήνα λειτουργικού συστήματος με χρήση προσομοιωτή
Abstract
Τα λειτουργικά συστήματα καθίστανται απαραίτητα σε ολοένα και μεγαλύτερο αριθμό συσκευών - η λίστα περιλαμβάνει από προσωπικούς υπολογιστές και έξυπνα κινητά, μέχρι έξυπνες τηλεοράσεις και ρολόγια. Στην παρούσα εργασία παρουσιάζεται η σχεδίαση και ανάπτυξη ενός πυρήνα λειτουργικού με τη χρήση προσομοιωτή. Ο προσομοιωτής μειώνει τον χρόνο που απαιτείται για φόρτωση και εκτέλεση σε σχέση με την εκτέλεση του πυρήνα σε πραγματικό υπολογιστικό σύστημα. Ο πυρήνας είναι συμβατός με την οικογένεια επεξεργαστών x86 και τους προσωπικούς υπολογιστές IBM. Στη συνέχεια γίνεται αναλυτική περιγραφή της μεθοδολογίας που ακολουθήθηκε για την ανάπτυξη του πυρήνα. Παράλληλα περιγράφονται οι βασικές αρχές του υλικού που υποστηρίζεται από τον πυρήνα. Σκοπός της εργασίας είναι μέσα από την υλοποίηση να γίνει ανάλυση των υποσυστημάτων του πυρήνα και να προσδιοριστούν οι λόγοι που καθιστούν την υλοποίηση ενός λειτουργικού συστήματος ιδιαίτερα δύσκολη. Operating systems are becoming necessary for an increasing number of devices - the list includes personal computers and smartphones, as well as smart TVs and watches. This paper presents the design and development of an operating system kernel using a simulator. The simulator reduces the time required for loading and execution compared to running the kernel on a real computing system. The kernel is compatible with the x86 processor family and IBM personal computers. A detailed description of the methodology followed for the kernel's development is provided. Additionally, the basic principles of the hardware supported by the kernel are described. The purpose of this work is to analyze the kernel's subsystems and identify the reasons that make implementing an operating system particularly challenging.