Linux System Programming | A Complete Beginner's Guide

preview_player
Показать описание
About this course:
This course aims to skim the book and produce highly efficient tutorials that make learning system programming in Linux a piece of cake. It focuses on removing unnecessary information that is not required for system programming while maintaining accurate and fluff-free learning material.

Things Covered in this course:
This course covers the following fundamental Linux concepts with a lot of detail and code implementation:
Linux Introduction
Linux Basics
File System
Input / Output to File System
File Descriptors of Linux
Processes in Linux
Process Creation
Process Termination
Process Monitoring
Threads
Threads Creation
Threads Monitoring
Thread Scheduling
POSIX standards
Inter-Process Communication and much more

Prerequisites for this Course:
You need to have a good understanding of the C Programming language to follow this course. Although we have explained how to run C Programs in the Linux Operating System, this course doesn’t go over the basics of C Programming Language.

Who is this course for?
This course is designed for beginners to intermediate professionals who want to learn Linux and Utilize the Open Source platform to help build their careers related to the field of Linux systems Design and Development.

What will be the outcome of this course?
After completing this course, you will have a Substantial understanding of Linux System Programming. This course is undoubtedly an excellent guide to crack interviews for newbies to Linux. It will be an excellent tool for already working professionals to further sharpen their skills on Linux.

Which Linux Distro has been used for this course?
Ubuntu 20.04 LTS was used to compile this course. You can see any Linux distro as all the fundamentals are the same for every Linux distro.

Complete Contents of this Course:
1. Introduction to Linux systems.
Linux architecture + fundamentals of Linux
Writing a basic program, compiling using GCC and its execution.

2. What is a system call and standard library function calls

3. Kernel and User mode in Linux

4. File operations
open(), close(), read(), write(), lseek()
Atomic operations, Race condition.

5. Memory Management and Virtual Memory
Stack segment, Code segment, Heap segment, Data segment,
Functions related to Memory allocation - Malloc(), calloc()

6. Process Management
Process creation, Process termination, wait(), Process ID, fork() system call, Exec() system call, Parent-Child Process management,
Command-line arguments of Process.

7. Signals
signal(), signal handlers, sending signals to process, ignoring and default signal actions.

8. Posix Threads
Thread creation, thread termination, thread ID, joinable and detachable threads.

9. Thread synchronization
Mutex, Condition variables.

10. Posix - Inter-Process communication.
Pipes, FIFO, Posix Message Queue, Posix Semaphores, Posix Shared Memory.

11. Misc.
Time Functions
Accessing Users & Groups
Рекомендации по теме
Комментарии
Автор

Join LinuxHint Society (#1 Linux Community):

linuxhint
Автор

This is the best Linux programming course from zero I ever saw

vasyapetrov
Автор

Really good course about Linux System Programming. Content was good, and presentation was good as well. I enjoyed to follow the course. A lot of thanks about contribution for Linux world. I can recommend this course to everyone Linux friend.

MaHab
Автор

Any plans to make videos on how to USE linux drivers?

For example, given a simple piece of hardware (a $5 USB to Ethernet adapter with VID0A46 / PID9621 ), the driver source code for it

How do you compile/load the driver, so that you can call the driver functions (dm_write_eeprom_word()).. ideally from a bash prompt?

For example, looking at the DM9620 driver, I don't see any reference to USB, yet it's a usb device!

bennguyen
Автор

Hey dude i love the video. One thing that i think you should add are timestamps. You still can you just have to add it to the description.

InvisibleNinja
Автор

For someone teaching linux person doesn't know that .. refers to previous and . refers to current directory refer 38.59 in video...

arunsippy
Автор

very good, 5 star rating from my side.

IndeepSinghSidhu
Автор

Please put bookmarks on where what is taught

chiragdate
Автор

Funny that Linux is considered a Unix family OS being that Linux is just the Kernel (I'm guessing they meant GNU Linux, not that I'm a stickler on that), and that Linux stands for "Linux Is Not UniX". 😁

jdmaze
welcome to shbcf.ru