Η Microsoft αποκαλύπτει πώς λειτουργεί το υποσύστημα Windows 10 Linux

ο Bash στο Ubuntu στα Windows επιτρέπει στα εγγενή δυαδικά Linux ELF64 να εκτελούνται σε Windows μέσω του Υποσυστήματος Windows για Linux (WSL). Αν και πολλοί άνθρωποι σοκαρίστηκαν από την ανακοίνωση του Bash on Ubuntu, αξίζει να σημειωθεί ότι ανοίγει νέες πόρτες για τη συμβατότητα μεταξύ διαφορετικών λειτουργικών συστημάτων. Η Microsoft κάνει ένα ακόμη βήμα μπροστά και αποκαλύπτει πώς λειτουργεί το WSL, ώστε να μπορούμε να κατανοήσουμε καλύτερα πώς επικοινωνούν τα δύο συστήματα μεταξύ τους.

Το WSL δημιουργήθηκε από την ομάδα του Microsoft Windows Kernel και περιέχει στοιχεία λειτουργίας χρήστη και λειτουργίας πυρήνα. Πιο συγκεκριμένα, το σύστημα αποτελείται από:

  • μια υπηρεσία διαχείρισης συνεδρίας λειτουργίας χρήστη που χειρίζεται τον κύκλο ζωής παρουσίας Linux
  • Προγράμματα οδήγησης παρόχου Pico (lxss.sys, lxcore.sys) των οποίων ο ρόλος είναι να μιμηθεί έναν πυρήνα Linux μεταφράζοντας το Linux syscalls
  • Οι διεργασίες Pico φιλοξενούν το μη τροποποιημένο Linux mode χρήστη (π.χ. / bin / bash).

Η σύνδεση μεταξύ των τριών συστατικών περιγράφεται ως εξής:

Είναι ο χώρος μεταξύ των δυαδικών λειτουργιών Linux της λειτουργίας χρήστη και των στοιχείων του πυρήνα των Windows όπου συμβαίνει η μαγεία. Με την τοποθέτηση μη τροποποιημένων δυαδικών αρχείων Linux σε διαδικασίες Pico επιτρέπουμε τις κλήσεις συστήματος Linux να κατευθύνονται στον πυρήνα των Windows. Τα προγράμματα οδήγησης lxss.sys και lxcore.sys μεταφράζουν τις κλήσεις συστήματος Linux σε API NT και μιμούνται τον πυρήνα Linux.

Η κύρια πρόκληση στη διαδικασία είναι να λειτουργήσουν τα δύο συστήματα:

Το WSL εκτελεί μη τροποποιημένα δυαδικά αρχεία ELF64 Linux εικονικοποιώντας μια διεπαφή πυρήνα Linux πάνω από τον πυρήνα των Windows NT. Μία από τις διεπαφές πυρήνα που εκθέτει είναι κλήσεις συστήματος (syscalls). Το syscall είναι μια υπηρεσία που παρέχεται από τον πυρήνα που μπορεί να κληθεί από τη λειτουργία χρήστη. Τόσο ο πυρήνας Linux όσο και ο πυρήνας των Windows NT εκθέτουν αρκετές εκατοντάδες syscalls στη λειτουργία χρήστη, αλλά έχουν διαφορετική σημασιολογία και γενικά δεν είναι άμεσα συμβατές. Για παράδειγμα, ο πυρήνας Linux περιλαμβάνει πράγματα όπως το πιρούνι, το άνοιγμα και το kill, ενώ ο πυρήνας των Windows NT έχει τα συγκρίσιμα NtCreateProcess, NtOpenFile και NtTerminateProcess.

Το Υποσύστημα Windows για Linux περιλαμβάνει προγράμματα οδήγησης λειτουργίας πυρήνα (lxss.sys και lxcore.sys) που είναι υπεύθυνα για τον χειρισμό αιτημάτων κλήσεων συστήματος Linux σε συντονισμό με τον πυρήνα των Windows NT. Τα προγράμματα οδήγησης δεν περιέχουν κώδικα από τον πυρήνα του Linux, αλλά αντ 'αυτού είναι μια καθαρή εφαρμογή των διεπαφών πυρήνα συμβατών με Linux. Σε εγγενές Linux, όταν ένα syscall γίνεται από εκτελέσιμο τρόπο λειτουργίας, το χειρίζεται ο πυρήνας Linux. Στο WSL, όταν ένα syscall γίνεται από το ίδιο εκτελέσιμο, ο πυρήνας των Windows NT προωθεί το αίτημα στο lxcore.sys. Όπου είναι δυνατόν, το lxcore.sys μεταφράζει το Linux syscall στην αντίστοιχη κλήση των Windows NT, η οποία με τη σειρά της κάνει τη βαριά ανύψωση.

Λαμβάνοντας υπόψη το ενδιαφέρον της Microsoft για πλατφόρμες ανοιχτού κώδικα, πολλοί αναρωτήθηκαν εάν Ο τεχνολογικός γίγαντας θα πρέπει να αποκτήσει μεγάλες εταιρείες με επίκεντρο το Linux, όπως η Canonical, η εταιρεία πίσω από το λειτουργικό σύστημα Ubuntu. Παρόλο που η Microsoft και η Canonical συνεργάστηκαν σε λογισμικό ανοιχτού κώδικα, κανένα δεν εξέδωσε σχόλια σχετικά με αυτήν την πιθανότητα.

Εάν ενδιαφέρεστε για το πώς εξελίσσεται η αλληλεπίδραση Linux - Windows, μεταβείτε στο Ιστολόγιο της Microsoft. Η ομάδα υποσχέθηκε ότι θα ακολουθήσουν περισσότερες δημοσιεύσεις ιστολογίου σε αυτό το θέμα.

ΣΧΕΤΙΚΕΣ ΙΣΤΟΡΙΕΣ ΠΟΥ ΠΡΕΠΕΙ ΝΑ ΕΛΕΓΞΕΤΕ:

  • Οι χρήστες Linux αναφέρουν προβλήματα "Τα ακουστικά σταμάτησαν να λειτουργούν στα Windows 8.1"
  • Η Microsoft και η Canonical φέρνουν το Bash στα Windows 10 στο Build 2016
  • Το Μόναχο ξεκινά τη διανομή δωρεάν CD Ubuntu σε χρήστες των Windows XP
Η Microsoft φέρνει πολλές βελτιώσεις στο Bash στο Ubuntu στα Windows 10

Η Microsoft φέρνει πολλές βελτιώσεις στο Bash στο Ubuntu στα Windows 10Windows 10υποσύστημα Linux των Windows

Η Microsoft παρουσίασε πολλές βελτιώσεις στην προεπισκόπηση των Windows 10 με η τελευταία έκδοση 14361. Ένα χαρακτηριστικό που πιθανότατα έλαβε τον υψηλότερο αριθμό αλλαγών είναι Bash στο Ubuntu στ...

Διαβάστε περισσότερα
Τώρα μπορείτε να βρείτε το Linux Oracle στο Microsoft Store

Τώρα μπορείτε να βρείτε το Linux Oracle στο Microsoft StoreLinuxΜαντείουποσύστημα Linux των Windows

Σας ενδιέφερε να κατεβάσετε την πιο πρόσφατη έκδοση του Oracle Linux;Μην ψάχνετε πέρα ​​από το Microsoft Store, καθώς εκεί θα το βρείτε.Η εφαρμογή θα κατεβάσει και θα εγκαταστήσει το Oracle Linux 8...

Διαβάστε περισσότερα
Πώς να προσαρτήσετε, να διαβάσετε ή να μορφοποιήσετε το EXT4 στα Windows 11

Πώς να προσαρτήσετε, να διαβάσετε ή να μορφοποιήσετε το EXT4 στα Windows 11Linuxυποσύστημα Linux των Windows

Πρώτα, βεβαιωθείτε ότι το WSL2 είναι εγκατεστημένο και ενημερωμένοΤο WSL2 σάς επιτρέπει να προσαρτάτε και να διαβάζετε EXT4 στα Windows 11 με λίγες μόνο γραμμές εντολών στο PowerShell.Πριν ξεκινήσε...

Διαβάστε περισσότερα