本课程是《嵌入式工程师自我修养》自学教程六步走中的第3步:Linux系统编程第04期。
进程,是Linux系统中任务调度运行的基本单元:一个程序的运行,都要被操作系统包装成“进程”,统一管理,调度运行。
本期课程首先将会带领大家了解什么是进程,通过编程,学习使用fork/exec/wait/exit等函数去创建一个进程、管理控制一个进程的运行、终止一个进程。接下来,会带领大家打通进程与终端之间的关系。为什么一个进程可以读取用户的键盘输入、可以将运行结果打印到我们面前?为什么我们使用SSH登录服务器时,也可以运行程序?而且程序的结果可以通过SSH客户端打印到我们面前?为什么守护进程不可以?我们在Ubuntu上打开一个shell终端,为什么看不到系统的一些log信息,当我们reboot时为什么系统的log信息会显示在黑乎乎地背景下显示(虚拟终端)?通过进程与终端的学习,都可以很快找到答案。课程的最后,会给大家介绍Linux系统在运行过程中的各种进程:前台进程、后台进程、守护进程、僵尸进程、孤儿进程等,最后可以通过pstree查看Linux的整个进程树,以及它们之间的父子关系、协作关系等。
-------------------------------------------------------------------
《嵌入式工程师自我修养》自学系列教程
作者:王利涛
-------------------------------------------------------------------
一线嵌入式工程师精心打造,嵌入式学习路线六步走:
第 1 步:Linux三剑客(更新完毕)零基础玩转Linux+Ubuntu
Git零基础实战:Linux开发技能标配
vim基础与提升基础篇:零基础学习vim基本命令
vim基础与提升定制篇:使用插件打造嵌入式开发IDE
makefile工程实践基础篇:从零开始一步一步写项目的Makefile
makefile工程实践第2季:使用Autotools自动生成Makefile
软件调试基础理论
printf打印技巧
Linux内核日志与打印
使用QEMU搭建u-boot+Linux+NFS嵌入式开发环境
第 2 步:C语言嵌入式Linux高级编程(更新完毕)第1期:C语言进阶学习路线指南
第2期:计算机架构与ARM汇编程序设计
第3期:程序的编译、链接和运行原理
第4期:堆栈内存管理
第6期:数据存储与指针
第7期:嵌入式数据结构与Linux内核的OOP思想
第8期:C语言的模块化编程
第9期:CPU和操作系统入门
搞内核驱动开发、光会C语言是不行的!
你还需要学习的有很多,包括:计算机体系架构、ARM汇编、程序的编译链接运行原理、CPU和操作系统原理、堆栈内存管理、指针、linux内核中的面向对象思想、嵌入式系统架构、C语言的模块化编程.....
第 3 步:Linux系统编程(更新中...)第00期:Linux系统编程入门
第01期:揭开文件系统的神秘面纱
第02期:文件I/O编程实战
第03期:I/O缓存与内存映射
第04期:打通进程与终端的任督二脉
第 4 步:Linux内核编程
练乾坤大挪移,会不会九阳神功,是一道坎。搞驱动内核开发,懂不懂内核也是一道坎。
第 5 步:嵌入式驱动开发
芯片原理、datasheet、硬件电路、调试手段、总线协议、内核机制、框架流程....
第 6 步:项目实战
嵌入式、嵌入式人工智能、物联网、智能家居...