Terima kasih telah mengirimkan pertanyaan Anda! Salah satu anggota tim kami akan segera menghubungi Anda.
Terima kasih telah mengirimkan pemesanan Anda! Salah satu anggota tim kami akan segera menghubungi Anda.
Kerangka Materi
Pengenalan
- Tujuan
- Siapa Anda
- The Linux Foundation
- Pelatihan Linux Foundation
- Program Sertifikasi dan Digital Badging
- Distribusi Linux
- Platforms
- Mempersiapkan Sistem Anda
- Menggunakan dan Mengunduh Mesin Virtual
- Hal-hal yang Berubah di Linux
Priliminaries
- Prosedur
- Standar dan LSB
Bagaimana Cara Bekerja di Proyek OSS
- Overview on How to Contribute Properly
- Stay Close to Mainline for Security and Quality
- Study and Understand the Project DNA
- Figure Out What Itch You Want to Scratch
- Identify Maintainers and Their Work Flows and Methods
- Get Early Input and Work in the Open
- Contribute Incremental Bits, Not Large Code Dumps
- Leave Your Ego at the Door: Don’t Be ThinSkinned
- Be Patient, Develop Long Term Relationships, Be Helpful
Compilers
- GCC
- Other Compilers
- Major gcc Options
- Preprocessor
- Integrated Development Environments (IDE)
- Labs
Libraries
- Static Libraries
- Shared Libraries
- Linking To Libraries
- Dynamic Linking Loader
- Labs
Make
- Using make and Makefiles
- Building large projects
- More complicated rules
- Builtin rules
- Labs
Kontrol Sumber
- Kontrol Sumber
- RCS dan CVS
- Subversion
- git
- Labs
Debugging dan Core Dumps
- gdb
- What are Core Dump Files?
- Producing Core Dumps
- Examining Core Dumps
- Labs
Debugging Tools
- Getting the Time
- Profiling and Performance
- valgrind
- Labs
System Calls
- System Calls vs. Library Functions
- How System Calls are Made
- Return Values and Error Numbers
- Labs
Memory Management and Allocation
- Memory Management
- Dynamical Allocation
- Tuning malloc()
- Locking Pages
- Labs
Files dan Filesystems in Linux
- Files, Directories and Devices
- The Virtual File System
- The ext2/ext3 Filesystem
- Journaling Filesystems
- The ext4 Filesystem
- Labs
File I/O
- UNIX File I/O
- Opening and Closing
- Reading, Writing and Seeking
- Positional and Vector I/O
- Standard I/O Library
- Large File Support (LFS)
- Labs
Operasi File Lanjutan
- Stat Functions
- Directory Functions
- inotify
- Memory Mapping
- flock() dan fcntl()
- Making Temporary Files
- Other System Calls
- Labs
Proses I
- What is a Process?
- Process Limits
- Process Groups
- The proc Filesystem
- InterProcess Communication Methods
- Labs
Proses II
- Using system() to Create a Process
- Using fork() to Create a Process
- Using exec() to Create a Process
- Using clone()
- Exiting
- Constructors and Destructors
- Waiting
- Daemon Processes
- Labs
Pipes dan Fifos
- Pipes and InterProcess Communication
- popen() dan pclose()
- pipe()
- Named Pipes (FIFOs)
- splice(), vmsplice() dan tee()
- Labs
Asynchronous I/O
- What is Asynchronous I/O?
- The POSIX Asynchronous I/O API
- Linux Implementation
- Labs
Signals I
- What are Signals?
- Signals Available
- Dispatching Signals
- Alarms, Pausing and Sleeping
- Setting up a Signal Handler
- Signal Sets
- sigaction()
- Labs
Signals II
- Reentrancy and Signal Handlers
- Jumping and NonLocal Returns
- siginfo dan sigqueue()
- Real Time Signals
- Labs
POSIX Threads I
- Multithreading under Linux
- Basic Program Structure
- Creating and Destroying Threads
- Signals and Threads
- Forking vs. Threading
- Labs
POSIX Threads II
- Deadlocks and Race Conditions
- Mutex Operations
- Semaphores
- Futexes
- Conditional Operations
- Labs
Networking dan Sockets
- Networking Layers
- What are Sockets?
- Stream Sockets
- Datagram Sockets
- Raw Sockets
- Byte Ordering
- Labs
Sockets Addresses dan Hosts
- Socket Address Structures
- Converting IP Addresses
- Host Information
- Labs
Sockets Ports dan Protocols
- Service Port Information
- Protocol Information
- Labs
Sockets Clients
- Basic Client Sequence
- socket()
- connect()
- close() dan shutdown()
- UNIX Client
- Internet Client
- Labs
Sockets Servers
- Basic Server Sequence
- bind()
- listen()
- accept()
- UNIX Server
- Internet Server
- Labs
Sockets Input/Output Operations
- write(), read()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- sendfile()
- socketpair()
- Labs
Sockets Options
- Getting and Setting Socket Options
- fcntl()
- ioctl()
- getsockopt() dan setsockopt()
- Labs
Netlink Sockets
- What are netlink Sockets?
- Opening a netlink Socket
- netlink Messages
- Labs
Sockets Multiplexing and Concurrent Servers
- Multiplexed and Asynchronous Socket I/O
- select()
- poll()
- pselect() dan ppoll()
- epoll
- Signal Driven and Asynchronous I/O
- Concurrent Servers
- Labs
Inter Process Communication
- Methods of IPC
- POSIX IPC
- System V IPC
- Labs
Shared Memory
- What is Shared Memory?
- POSIX Shared Memory
- System V Shared Memory
- Labs
Semaphores
- What is a Semaphore?
- POSIX Semaphores
- System V Semaphores
- Labs
Message Queues
- What are Message Queues?
- POSIX Message Queues
- System V Message Queues
- Labs
Persyaratan
Course ini ditujukan untuk pengembang berpengalaman. Peserta harus mahir dalam pemrograman C dan familiar dengan utilitas dasar Linux dan editor teks.
Audience
Course ini ditujukan untuk pengembang berpengalaman. Peserta harus mahir dalam pemrograman C dan familiar dengan utilitas dasar Linux dan editor teks.
Tingkat Pengalaman: Menengah
28 Jam