
Advanced C Language
jikim1770
By understanding the internal structure of the C language, you can implement faster and more memory-optimized programs.
Intermediate
C, Computer Architecture, device-driver
This course will guide you through the complexities of the Linux operating system, from a strong understanding of the Linux kernel to invoking system calls, process management, and file operations. You will also learn threading and interprocess communication techniques.
212 learners
Level Basic
Course period Unlimited


Reviews from Early Learners
5.0
bridge130
The lectures are practical and step-by-step, making them easy to understand and very helpful~ Thank you for creating such a great course~~
5.0
진민우
Your skills naturally improve as you follow along with the code and practice. I think it's manageable up to IPC pipes, but the difficulty level rises sharply after that..! Thank you.
5.0
이재형
I can feel the instructor's incredible expertise even through the monitor lol The calm and well-organized explanations really work well for me, so I'm understanding everything clearly as I listen.
Learn about Linux and its tools for compiling, debugging, building, and source analysis.
Learn the characteristics and application implementation of the Linux file system.
Learn about process concepts and process handling (creation, execution, termination, destruction).
Learn about Pthreads, the Linux thread library.
Learn about System V IPC (semaphores, message queues, shared memory), which is an inter-process communication method.
You can learn all the elements necessary for development in Linux, including development tools, files, processes, threads, and IPC.

Section (1) Development Tools
Learn how to set up and use a Linux development environment, including Gcc, Gdb, Vim, and Make.
Section (2) File System
Learn the overall Linux file system, which consists of Super Block, Inode Block, and Data Block.


Section (3) Process
We will learn about the memory structure of a process and the control process of process creation/execution/termination/destruction.
Section (4) Thread
Learn the internal structure of Pthreads, the Linux thread library, and how to implement various applications.


Section (5) IPC
Learn about basic interprocess communication methods through signals and pipes, and System V IPC methods such as message queues, semaphores, and shared memory.
Operating System and Version (OS): Ubuntu 16.04, 18.04
Editing tools: Ubuntu VIM, Gcc, Gdb, Make, Ctags
Compiler: Gcc
Learning material formats provided (PDF, source code)
During class, we use PPT to write on the board and share it as class material.
Prerequisite knowledge for this course: C language basics, Linux basics
This lecture video specifications: FPS-60, resolution-1280*720, audio sample rate-44,100
Please feel free to ask questions, and the lectures may be revised when the open source version is upgraded.
The learning materials distributed during lectures are for class use only and unauthorized distribution is prohibited.
Who is this course right for?
Anyone who needs to program on Linux
Those who want to understand the Linux system structure and do optimized programming
Linux Kernel and Device Driver Developer
Need to know before starting?
Introduction to C language and Linux
Career Verified
1,067
Learners
139
Reviews
12
Answers
4.9
Rating
9
Courses
Instructor Jung-in Kim emphasizes the importance of open source, saying that
He is an open-source enthusiast who analyzes the implementation source code of the Linux kernel and deep learning every day as a hobby.
Since he believes in understanding through code and tries to grasp every principle by recklessly analyzing the source,
Be careful of the source code overload when taking the course.
Lecture Inquiries : jikim@imguru.co.kr
All
59 lectures ∙ (17hr 44min)
Course Materials:
All
22 reviews
4.9
22 reviews
Reviews 2
∙
Average Rating 4.5
Reviews 6
∙
Average Rating 5.0
Reviews 6
∙
Average Rating 5.0
Reviews 15
∙
Average Rating 5.0
Reviews 3
∙
Average Rating 5.0
5
This is an excellent lecture! It easily explains parts that are difficult to understand in books or things you might miss, and you can learn through the lecture things that you can only know by actually experiencing them. I highly recommend it to people working in the field as well. Regardless of experience level, you can take another look at Linux systems and find what you've missed. Personally, I think if companies had their employees take the instructor's lectures, it would be tremendously helpful for both the employees and the company.
Check out other courses by the instructor!
Explore other courses in the same field!