Εκτελέσιμο αρχείο: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Egmontaz (συζήτηση | συνεισφορές)
→‎Παραπομπές: διόρθωση προτύπου
Γραμμή 4:
Κάποια [[λειτουργικό σύστημα|λειτουργικά συστήματα]] ορίζουν ένα αρχείο σαν εκτελέσιμο με βάση την επέκταση του ονόματός του (π.χ. '''.exe''') ή τα μεταδεδομένα του (metadata), όπως η χρήση μιας άδειας "εκτέλεσης" στα λειτουργικά συστήματα τύπου [[Unix]]. Τα περισσότερα λειτουργικά συστήματα ελέγχουν επίσης ότι το αρχείο είναι έγκυρο εκτελέσιμο, ώστε να μην είναι δυνατό να εκτελεστεί οποιαδήποτε τυχαία ακολουθία από [[bit]]. Τα σύγχρονα λειτουργικά συστήματα κρατούν τον έλεγχο στους πόρους του υπολογιστή, απαιτώντας κάθε πρόγραμμα να καλεί [[Κλήση συστήματος|κλήσεις συστήματος]] για την πρόσβαση σε κάποιους πόρους. Επειδή κάθε οικογένεια λειτουργικών συστημάτων έχει τη δική της αρχιτεκτονική κλήσεων συστήματος, γενικά ένα εκτελέσιμο αρχείο λειτουργεί σε συγκεκριμένα λειτουργικά συστήματα.
 
Υπάρχουν πολλά εργαλεία που μπορούν να εκτελέσουν σε κάποιο λειτουργικό σύστημα αρχεία που προορίζονται για άλλο λειτουργικό σύστημα, υλοποιώντας μια παρόμοια ή συμβατή δυαδική διεπαφή εφαρμογών (application binary interface, ABI). Για παράδειγμα, το [[Wine (λογισμικό)|Wine]], υλοποιεί μια βιβλιοθήκη συμβατή με τη διεπαφή [[Διεπαφή Προγραμματισμού Εφαρμογών Windows|Win32]] για επεξεργαστές [[x86]].
 
Όταν η δυαδική επαφή του υλικού για το οποίο [[Μεταγλωττιστής|μεταγλωττίστηκε]] διαφέρει από αυτήν στην οποία το εκτελέσιμο τρέχει, το πρόγραμμα που κάνει τη μετάφραση ονομάζεται [[εξομοιωτής]] (emulator). Διαφορετικά αρχεία που μπορούν να εκτελεστούν αλλά δεν συμφωνούν με κάποια συγκεκριμένη δυαδική διεπαφή υλικού, ή [[σύνολο εντολών]] (instruction set), μπορούν να αναπαρασταθούν σε [[κώδικας byte|bytecode]], ή σαν [[πηγαίος κώδικας]] για χρήση από κάποια [[γλώσσα σεναρίων]] (scripting language). (''βλ. [[Shebang (Unix)]]'')