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
Εισαγωγή
- Στόχοι
- Ποιοί Είστε
- Η Linux Foundation
- Εκπαίδευση της Linux Foundation
- Προγράμματα Απόδειξης και Διαφημιστικά Σήματα
- Διανομές του Linux
- Πλατφόρμες
- Ετοιμασία του συστήματος
- Χρήση και Εγκατάσταση μιας Virtual Machine
- Τα πράγματα αλλάνε στο Linux
Προεισαγωγικά Θέματα
- Процедуры (Note: This is in Russian, the correct translation should be "_PROCEDURES_")
- Στандάρδ και LSB
Πώς να εργαστείτε σε Προγράμματα Δημόσιου Κώδικα (OSS) **
- Πανόραμα για τη Σωστή Συμβολή
- Μείνε Νόστιμος στο Mainline για Ασφάλεια και Ποιότητα
- Εξέταση και Συνειδητοποίηση του ΔΝΑ του Προγράμματος
- Βρες ποιο νεύρο θες να σβήσεις (Φράση που δεν μπόρεσε να μεταφραστεί χωρίς τη χάθηκε κατάληψη)
- Αναγνώριση Διαχειριστών και Τρόποι Εργασίας
- Πήγαινε για Πρώτη Συμβουλή και Λάβε την Έρευνα Κατά Υπόθεση
- Συμβάλλε με Μικροσκοπικά Σημεία, όχι Μεγάλες Δυσχέρειες Κώδικα
- Αφήστε τον Εγωϊσμό Ξύψιο: Δεν Θα Πρέπει να Μηδενίζετε
- Είσαι Αποτελεσματικός, Επικεφαλής στα Χρόνια και Καθοστερημένος
Επεξεργαστές (Compilers)
- GCC
- Άλλοι Επεξεργαστές
- Μεγάλες επιλογές gcc
- Προεπεξεργασία
- Integrated Development Environments (IDE)
- Εργαστήρια
Βιβλιοθήκες
- Στατικές Βιβλιοθήκες
- Κοινές Βιβλιοθήκες
- Σύνδεση με Βιβλιοθήκες
- Dynamic Linking Loader
- Εργαστήρια
Make
- Χρήση make και Makefiles
- Δημιουργία μεγάλων προγραμμάτων
- Πιόπλέος Κανόνες
- Εμπερισθεικότα Κανόνες
- Εργαστήρια
Πηγαίος Ελέγχος
- Πηγαίος Ελέγχος
- RCS και CVS
- Subversion
- git
- Εργαστήρια
Στίβουνες Λάθους (Debugging and Core Dumps)
- gdb
- Τι είναι τα αρχεία core dump;
- Παραγωγή Core Dumps
- Εξέταση Core Dumps
- Εργαστήρια
Eργαλεία Στίβουνες (Debugging Tools)
- Πήρε το χρόνο
- Προσωπικοποίηση και Εφαρμογή
- valgrind
- Εργαστήρια
Κλήσεις σύστημα (System Calls)
- Συναφείς κλήσεις σύστημα vs. Βιβλιοθήκη
- Πώς γίνονται οι επικλήσεις του συστήματος
- Τιμές επιστροφής και αριθμοί λάθους
- Εργαστήρια
Διαχείριση Μνήμης και Ανάπτυξη (Memory Management and Allocation)
- Διαχείριση μνήμης
- Ελεύθερη προσόδωση
- Επικυρώσεις malloc()
- Κλείσιμο Σελίδων (Locking Pages)
- Εργαστήρια
Αρχεία και Δικτύωση στο Linux **
- Αρχεία, Καταλόγους και Εξωτερικά μέσα
- Το Πραγματικό Δίκτυο των Αρχείων (Virtual File System)
- Το ext2/ext3 Filesystem
- Δικτύωση και Journaling Filesystems
- Το ext4/ Δίκτυο αρχείων
- Εργαστήρια
File I/O
- UNIX File I/O
- Άνοιγμα και Κλείσιμο
- Ανάγνωση, Γραφή και Ευρετήριο
- Ποθότυπη και Vector I/O
- Στανδάρτος Βιβλιοθήκης I/O
- Υποστήριξη μεγάλων αρχείων (LFS)
- Εργαστήρια
Προχωρημένες Επεξεργασίες Αρχείου
- Συνάρτησες Stat
- Συνάρτησες Καταλόγων
- inotify
- Μνημόπληξη
- flock() και fcntl()
- Δημιουργία Μεσαίων αρχείων
- Άλλες Κλήσεις σύστημα
- Εργαστήρια
Προγράμματα (Processes) I
- Τι είναι ένα πρόγραμμα;
- Ορισμοί προγραμμάτων
- Ομάδες προγραμμάτων
- Το οχήμα proc Filesystem
- Μέθοδοι Διαπείρωσης Προγραμμάτων (InterProcess Communication Methods)
- Εργαστήρια
Προγράμματα (Processes) II
- Χρήση system() για τη Δημιουργία ενός Προγράμματος
- Χρήση fork() για τη Δημιουργία ενός Προγράμματος
- Χρήση exec() για τη Δημιουργία ενός Προγράμματος
- Χρήση clone()
- Εξέλιξη
- Κατασκευαστές και Διαχειριστές
- Μίληση
- Daemon Προγράμματα
- Εργαστήρια
Σωλήνες και FIFOs
- Σωλήνες και Διαπείρωση Προγραμμάτων (Pipes and InterProcess Communication)
- popen() και pclose()
- pipe()
- Ονομαστικός Σωλήνες (FIFOs)
- splice(), vmsplice() και tee()
- Εργαστήρια
Ασύγχρονη I/O**
- Τι είναι η ασύγχρονη I/O;
- Η API Ασύγχρονης I/O του POSIX
- Εφαρμογή Linux
- Εργαστήρια
Σήματα (Signals) I
- Τι είναι τα Σήματα;
- Διαθέσιμοι από τα Signals
- Ανάθεση Συστημικών
- Εξονυχισμός, Παύση και Νυσταγμός
- Ρύθμιση Επεξεργασίας Signals
- Σύνολα Σήματων (Signal Sets)
- sigaction()
- Εργαστήρια
Σήματα (Signals) II
- Ανεπανάληψη και Επεξεργασία Signals
- Κινητοποίηση και NonLocal Returns
- siginfo και sigqueue()
- Πρακτικά Σήματα
- Εργαστήρια
Threads POSIX I
- Multithreading υπό το Linux
- Βασική Συνάρτηση πρόγραμμα
- Δημιουργία και Διαγραφή Threads
- Σήματα και Threads
- Forking vs. Threading
- Εργαστήρια
Threads POSIX II
- Συμπίεση και Race Conditions
- Εργασίες Mutexes
- Sempahores
- Futexes
- Υποθέτουν Επιχειρήσεις
- Εργαστήρια
Δίκτυα και Διαδόχη (Networking and Sockets)
- Μεθοδολογίες Δικτύου
- Τι είναι οι διαδόχες;
- Stream Sockets
- Datagram Sockets
- Raw Sockets
- Η τάξη Βυτών (Byte Ordering)
- Εργαστήρια
Sockets Addresses και Hosts
- Συνεχόμενες Στοιχείων Sockets
- Μεταφράστηκαν IP Adresses
- Πληροφορίες Hosts
- Εργαστήρια
Sockets Ports και Protocols
- Πληροφορίες Service Port
- Πληροφορίες Πρωτόκολου
- Εργαστήρια
Sockets Clients
- Βασική Επίσημη Τάξη
- socket()
- connect()
- close() και shutdown()
- UNIX Client
- Internet Client
- Εργαστήρια
Sockets Servers
- Βασική Επίσημη Τάξη
- bind()
- listen()
- accept()
- UNIX Server
- Internet Server
- Εργαστήρια
Sockets Input/Output Operations
- write(), read()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- sendfile()
- socketpair()
- Εργαστήρια
Sockets Options
- Απόκτηση και Εγκατάσταση Socket Options
- fcntl()
- ioctl()
- getsockopt() και setsockopt()
- Εργαστήρια
Netlink Sockets**
- Τι είναι τα netlink διαδόχες;
- Άνοιγμα ήρωα netlink Socket
- netlink Message
- Εργαστήρια
Sockets Multiplexing και Concurrent Servers
- Multiplexed και Asynchronous Socket I/O
- select()
- poll()
- pselect() και ppoll()
- epoll
- Σήματα που θέλουν και Asynchronous I/O
- Concurrent Servers
- Εργαστήρια
Inter Process Communication
- Μέθοδοι IPC
- POSIX IPC
- System V IPC**
- Εργαστήρια
Συνημμένη Μνήμη (Shared Memory)
- Τι είναι η συνημμένη μνήμη;
- POSIX Shared Memory
- System V Shared Memory**
- Εργαστήρια
Semaphores
- Τι είναι ένα Semaphore;
- POSIX Semaphores
- System V Semaphores**
- Εργαστήρια
Message Queues
- Τι είναι τα Message Queues;
- POSIX Message Queues
- System V Message Queues**
- Εργαστήρια
Requirements
Αυτό το μάθημα απευθύνεται σε έμπειρους προγραμματιστές. Οι μαθητές θα πρέπει να είναι ικανοί στον προγραμματισμό C και να είναι εξοικειωμένοι με βασικά βοηθητικά προγράμματα Linux και επεξεργαστές κειμένου.
Ακροατήριο
Αυτό το μάθημα απευθύνεται σε έμπειρους προγραμματιστές. Οι μαθητές θα πρέπει να είναι ικανοί στον προγραμματισμό C και να είναι εξοικειωμένοι με βασικά βοηθητικά προγράμματα Linux και επεξεργαστές κειμένου.
Επίπεδο εμπειρίας: Μέσο
28 Hours