Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Εισαγωγή
- γρήγορη ιστορία του GNU/Linux αδειοδότησης έκδοσης πυρήνα έκδοσης κύκλου κυκλοφορίας δέντρα πυρήνα κύρια γραμμή πυρήνα έναντι μηχανισμού χώρου χρήστη έναντι εναλλακτικών προγραμμάτων οδήγησης πυρήνα πολιτικής RTOS έναντι Linux
Μνήμη Management
- Εικονική μνήμη έναντι εκχώρησης φυσικής μνήμης σε ζώνες API σελίδων πυρήνα
Patch πυρήνα
- κύκλος ζωής πηγή πυρήνα git δημιουργία κώδικα ενημερωμένης έκδοσης κώδικα επιθεώρησης επιδιόρθωσης ενημέρωσης κώδικα
Ενότητες πυρήνα
- λήψη πηγών πυρήνα διαμόρφωση/κατασκευή/εγκατάσταση προγραμμάτων οδήγησης συσκευών (στατικά συνδεδεμένα, φορτωμένα κατά την εκτέλεση) αδειοδότηση έναρξης/έξοδος ΕΞΑΓΩΓΗ ΣΥΜΒΟΛΟΥ GPL εκτός δέντρου ενότητα makefile module-init-tools σε δέντρο πυρήνα Η παράμετρος Kconfig περνάει αραιή
Char Drivers
- αρχιτεκτονική διεπαφή χρήστη/πυρήνα Υποσύστημα εισόδου/εξόδου VFS sysfs (συσκευές, δίαυλος, προγράμματα οδήγησης, κλάσεις), kobject/ktype/kset πρόγραμμα οδήγησης linux μοντέλου αρχείου συσκευής αρχείου αρχικοποίησης προγράμματος οδήγησης char, έκδοση cdev, προσθήκη cdev, cdev del,... κύριοι/ελάσσονες αριθμοί udev, udevmonitor, udevadm
Προηγμένες λειτουργίες προγράμματος οδήγησης χαρακτήρων
- ioctl ξεκλείδωτο ioctl compat ioctl χώρος χρήστη API kernel space Διαδικασία API κύκλος ζωής ύπνος/αποκλεισμός ύπνος/αφύπνιση ουρά αναμονής βροντή κοπάδι δημοσκόπηση/επιλογή
Εντοπισμός σφαλμάτων πυρήνα
- εντοπισμός σφαλμάτων εντοπισμός σφαλμάτων στη δυαδική αναζήτηση του πυρήνα με υποστήριξη εντοπισμού σφαλμάτων git από τον πυρήνα printk syslogd, klogd, loglevels, όριο ρυθμού, επίπεδα εντοπισμού σφαλμάτων, εντοπισμός σφαλμάτων επιλεκτικών υποσυστημάτων εντοπισμός σφαλμάτων μέσω ερωτήματος εντοπισμού σφαλμάτων oops εντοπισμού σφαλμάτων, διεκδίκησης oops Magic SysRqbd kgd
Ιχνηλασία
- gcov lcov oprofile ftrace nop tracer λειτουργία ιχνηθέτη sched switch λειτουργία ιχνηθέτη γράφημα ιχνηθέτης δυναμικός ιχνηλάτης
διακόπτες έναντι ψηφοφορίας διακοπής ενότητες προγράμματος συμβάντα επανεισαγωγής χειριστής διακοπής κοινόχρηστος χειριστής διακοπής έλεγχος διακοπής ροής διακοπής
- Αναβολή Εργασίας
πάνω/κάτω μισά softirq tasklets εργασίας ουρές με νήματα διακοπές
- Συγχρονισμός
κρίσιμη περιοχή/τμήμα ατομική φυλή κατάσταση συγχρονισμός κλείδωμα λύσεις κλειδώματος αδιέξοδο διαμάχη τι να κλειδώσω; τι μπορεί να χρησιμοποιηθεί; ατομικές λειτουργίες spin locks αναγνώστης-συγγραφέας spin locks σηματοφόρος δυαδικός σηματοφόρος mutex μεταβλητές ολοκλήρωσης σηματοφόρου διαδοχικές κλειδαριές απενεργοποίηση σειράς προκαταβολής και φραγμοί
- χρόνος
Το HZ Jiffies μεγάλο/μικρό καθυστερεί τους χρονομετρητές πυρήνα
- I/O υλικού
Θύρες εισόδου/εξόδου Μνήμη εισόδου/εξόδου Πώς να αντιμετωπίσετε τις παρενέργειες κατά την πρόσβαση σε καταχωρητές;
- Χρήστης-πυρήνας Communication
put(get)_user() copy to(from)_user() Αντιστοίχιση μνήμης I/O πυρήνα procfs sysfs debugfs relayfs netlink ioctl
- Φορητότητα
μέγεθος λέξης αδιαφανείς τύποι υπογεγραμμένο/ανυπόγραφο στοίχιση δεδομένων χαρακτήρων ενσωματωμένος κωδικός προώθησης επαναχρησιμοποίηση συστήματος endianess σημαδεύετε οδηγίες μεγέθους σελίδας παραγγελία SMP/preemption/υψηλή μνήμη
- Εκτός εάν αναφέρεται διαφορετικά, το περιεχόμενο και η περιγραφή αυτού του μαθήματος αδειοδοτούνται σύμφωνα με το Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
Requirements
- Βασική εξοικείωση με τη χρήση ενός συστήματος GNU/Linux ως τελικός χρήστης
- Βασική εξοικείωση με ένα κέλυφος γραμμής εντολών
- Βασικές γνώσεις χώρου χρήστη / ανάπτυξη εφαρμογών
- Γνώσεις προγραμματισμού μεσαίου επιπέδου C
- Θα έπρεπε να έχει παρακολουθήσει το Embedded GNU/Linux Systems Architecture πριν (συνιστάται ανεπιφύλακτα!) ή/και να έχει καλή κατανόηση των θεμάτων που περιγράφονται εκεί
35 Hours
Testimonials (4)
That the trainer adapts to our needs
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Course - The Yocto Project - An Overview - hands-on
Ότι υπήρχαν πολλές ασκήσεις.
Katarzyna Straszewska - Swiss AviationSoftware Ltd.
Course - Build Native iOS and Android Apps with Flutter
Machine Translated
Περισσότερα στο εργαστήριο.
Sarbin - Cagayan Electric Power And Light Co., Inc.
Course - Flutter Development Bootcamp with Dart
Machine Translated
On time, training resources is readily available