操作系统原理和多任务并发编程思想,是很多嵌入式学员学习的重点和难点。尤其是对于非计算机专业背景的学员,比如自动化、电子、电气、机械、物理等专业背景的人,想真正掌握操作系统和多任务并发编程思想,确实有一些难度和挑战性。而在嵌入式开发中,这些知识是嵌入式系统的理论基础,如果你想真正精通嵌入式核心技术,而不是仅仅满足于流于表面,那就不得不去掌握它。
嵌入式开发是一门交叉学科。它要求我们的嵌入式工程师,不仅掌握C语言、汇编、软件工程等软件层面的知识和技能,还要求对CPU内部工作机制、计算机架构、操作系统原理、编译器都要有一个全局的认识和把握。
而现实情况是,很多嵌入式的学员,大部分是非计算机专业,很大一部分都是电子、电气、自动化、物理甚至一些文科专业。操作系统原理、编译原理、CPU内部机制这些理论知识是他们的理论短板。如果不掌握这些理论知识,对我们后续的Linux内核、驱动开发会造成一定的影响,会让后续的高阶课程学习更加吃力。正所谓:基础不牢,地动山摇。
本期课程,作为《C语言嵌入式Linux高级编程》第9期,就是针对非计算机专业的嵌入式学员和工程师,从C语言编程的角度,以通俗易懂的方式,给大家科普CPU内部工作机制,包括:cache、DMA、IO端口、MMU、外设、外设控制器、寄存器操作、存储器映射、内存、外存等基本原理和基本概念。
以通俗易懂的方式,给大家科普一下操作系统的基本原理和概念,包括:多任务的裸机实现、使用状态机实现多任务、调度器工作原理、可重入函数与临界区、进程栈、中断栈、系统调用原理、中断原理、文件系统等。
通过这些基础理论和基本概念的学习,可以让嵌入式学员对对整个嵌入式系统、CPU内部机制、操作系统都有一个全局的把握和认识,为后续的Linux内核、驱动开发等高阶课程打下良好的理论基础。掌握这些知识后,我们后续的课程学习会更加轻松、更加高效。
视频教程已经在51CTO学院、CSDN学院发布。直接搜“王利涛”到我的个人页面,即可看到相关视频教程;或者直接百度:CPU和操作系统入门,也可以找得到。课程过段时间也会在淘宝平台发布、方便上网不方便的同学学习(具体咨询可加QQ群:475504428)。另外,最近几天外出,有些答疑、咨询可能不能及时回复大家,还请多多见谅。
领取专属 10元无门槛券
私享最新 技术干货