[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kernel_ική ερώτηση




Ευχαριστώ Κωνσταντίνε. Ναι το έχω το βιβλίο αυτό και το
LINUX Programming Manual, και κάποια άλλα, και έχω δεί
την περιγραφή του monolithic nature of Linux kernel,
αλλά λάβε υπ' όψη ότι η χρήση του flat address space με
pointers γίνεται μέσω queues που ταυτοποιούν τα
communicating members και τα address pointers sequences.
Mutexing & semaphoring έχω καταλάβει ότι χρησιμοποιούνται
κυρίως για prioritization access μεταξύ πολλών communicating
members.
 
Εκείνο που προσπαθώ να καταλάβω και δεν βρίσκω ούτε στο debian
documentation, είναι το πως τροποποιούνται αυτές οι λειτουργίες
του kernel σε multi-core/multi-processors πλατφόρμες. Κάνει την
δουλειά ο compiler με συγκεκριμένα switch? Κάνει την δουλειά το
version του kernel? Γίνεται με kernel extensions? Αλλά και το
πώς υλοποιείται σε επίπεδο υλικού το σπάσιμο των function του
kernel.
 
Αν έχεις κάποια συγκεκριμένα link θα με υποχρέωνες.
 
Να 'σαι καλά και πάλι σ' ευχαριστώ,
Γιάννης
----- Original Message -----
Sent: Tuesday, October 17, 2017 12:32 PM
Subject: Re: kernel_ική ερώτηση

Στις 17-10-2017, ημέρα Τρι, και ώρα 12:15 +0300, ο/η IOANNIS PILIOUNIS - ATLASCOM έγραψε:

Παίδες καλημέρα.
Γνωρίζουμε ότι σε επεγεργαστική απόδοση ο linux kernel, λόγω
χρήσης pipe για την επικοινωνία όλων των embedded functional
τμημάτων του, είναι σαφώς ταχύτερος από την windows micro-kernel
based architecture, όπου όλα τα functional layer είναι από
πάνω του και επικοινωνούν με αυτόν μέσω IPC, έναν σαφώς πιο
slow μηχανισμό.

Δεν ισχύει αυτό. Τα pipes δε χρησιμοποιούνται για ενδοεπικοινωνία στον πυρήνα.
Ο πυρήνας είναι στο ίδιο process/memory space, οπότε αρκεί η ανταλλαγή pointers -με τα κατάλληλα mutex/semaphores/κλπ.

Για τα windows δεν ξέρω αλλά το ότι είναι micro-kernel αλλά δεν σημαίνει ότι σέρνονται.

Γνωρίζει κανείς τι γίνεται όταν ο linux kernel έχει απλωθεί
σε περιβάλλον με 2 ή 4 και παραπάνω επεξεργαστές multicore;
Ο piping μηχανισμός του διαμοιρασμένου kernel συνεχίζει να
λειτουργεί αδιαφανώς ως πρός το υποκείμενο hardware, ή σε
αυτή την περίπτωση έχουμε κατατμημένη λειτουργία του kernel
και για την intra-shared λειτουργία του χρησιμοποιείται το
IPC schema.
Αν υπάρχουν διαθέσιμα και κανά-δυό σχετικά link θα βοηθούσε.
Σας ευχαριστώ,
Γιάννης Πηλιούνης

Θα σου πρότεινα το βιβλίο Linux Kernel Development (Love), Addison-Wesley. Δεν ξέρω αν έχει βγει καινούρια έκδοση από την 3η που έχω, πάντως θα σου λύσει αρκετές απορίες για το πως λειτουργεί ο πυρήνας.

Κωνσταντίνος

Reply to: