|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/linux-system-programming-f/
课程评论:没有评论
课程名称:Linux系统编程 - 程序员/实用方法 课程概述:本课程由IT领域的在职专业人士主讲,并非专业讲师。课程专注于“使用Linux学习编程”,不涉及C语言的教学。由于课程由行业内的专业人士授课,旨在弥补学术教育与实际工作的差距。同时,课程最后的附加环节“学生问答”部分包含了学员收集的问题及其解决方案,并且这一部分会定期更新。 先决知识:课程从Linux编程的基础开始,一直到高级内容,因此不要求有Linux的先前知识,但学员需要有学习Linux技术的热情。 课程对象:本课程面向从初学者(学生)到中级专业人士,旨在帮助他们学习Linux并利用开源平台发展与Linux系统设计和开发相关的职业生涯。 课程成果:完成课程后,学员将对Linux系统编程有深刻的理解。对于新手来说,这将是一次很好的面试指南;对于已经在职场中的专业人士,他们可以在自己的项目中独立工作,技能水平将与有经验的同事持平。 课程内容:在本课程中,您将学习以下Linux系统编程的内容,重点在编程部分: 1. Linux系统介绍: a. Linux架构 b. 编写“Hello World”程序,使用GCC进行编译和执行。 2. 系统调用与标准库函数调用。 3. Linux中的内核模式与用户模式。 4. 文件操作:open()、close()、read()、write()、lseek()、阻塞与非阻塞调用、原子操作与竞争条件。 5. 内存管理与虚拟内存:堆栈段、代码段、堆段、数据段、虚拟内存管理及与内存分配相关的函数(如Malloc()、calloc()、Realloc()、自动变量、静态变量)。 6. 进程管理:进程创建、进程终止、wait()、进程ID、fork()系统调用、Exec()系统调用系列、父子进程管理及进程的命令行参数。 7. 信号:signal()、信号处理程序、发送信号给进程、忽略信号与默认信号动作。 8. Posix线程:线程创建、线程终止、线程ID、可连接与不可连接线程。 9. 线程同步:互斥锁、条件变量、线程安全。 10. Posix - 进程间通信:管道、FIFO、Posix消息队列、Posix信号量、Posix共享内存。 注意:本课程所有演示均使用Ubuntu发行版(Linux)。
Note: This course is conducted by IT working Professional, and not by a Professional Instructor.Q. What is the speciality of this course? A. This is purely a Course on "Learning Programming using Linux", This course does not teach 'C'. Since this course is conducted by industry working professionals, This course tries to cover gap between academics and Industry, Also the last section Bonus - Students Q & A, contains the collective students questions and its solution to them. It is a regularly updating section.Q. What is the Prior knowledge required for this course?A. This course teaches from Basics of Linux Programming to Advanced, hence no prior knowledge on Linux is assumed, but should be energetic to learn Linux technology.Q. Who is this course for?A. This course is designed in mind from beginners(students) to intermediate professionals who want to learn Linux and Utilise the Open Source platform to help build their careers related in field of Linux systems Design and Development.Q. What will be the outcome of this course?A. The students upon completion will definitely have a SOLID understanding of Linux System Programming, For freshers this can be a good guide to crack interviews, for already working professionals they can start working as individual contributor in their projects, and definitely will be in par with the experienced colleagues.Q. What are the contents of course?In this course you will be learning the below Linux system programming. And more emphasis is given on the Programming part.1. Introduction to Linux systems. a. Linux architecture. b. Writing 'Hello World' program, compiling using GCC and its execution.2. What is system call and standard library function calls3. Kernel and User mode in Linux4. File operations open(), close(), read(), write(), lseek() Blocking and Non-Blocking calls. Atomic operations, Race condition.5. Memory Management and Virtual Memory stack segment, code segment, heap segment, data segment, Virtual memory management. functions related to Memory allocation - Malloc(), calloc(), Realloc(), Auto variables, static variables.6. Process Management Process creation, Process termination, wait(), Process ID, fork() system call, Exec() family of 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 synchronisation Mutex, Condition variables, Thread safe.10. Posix - Inter Process communication. Pipes, FIFO, Posix message Queue, Posix Semaphores, Posix Shared Memory.NOTE - Ubuntu Distribution (Linux) is used for all Demo in this course.