Ευχαριστούμε που στάλθηκε η αποσαφήνισή σας! Ένα μέλος της ομάδου μας θα επικοινωνήσει μαζί σας σύντομα.
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