Linux操作系统学习记录与总结
Linux操作系统学习记录与总结
一、 学习背景与目标
在职坐标的AI与物联网开发课程中,Linux操作系统作为底层核心支撑技术被重点学习。本次学习旨在掌握Linux环境下的基础操作与系统编程能力,重点围绕文件操作、进程管理以及进程间通信(IPC)三大核心模块展开,为后续在嵌入式、服务器后台及物联网设备开发中构建全链路开发能力打下坚实基础。
二、 核心学习内容记录
1. Linux文件操作基础
文件操作是Linux系统交互的基石。学习过程中,首先掌握了文件与目录的常规管理命令,如ls(列出文件)、cp(复制)、mv(移动/重命名)以及rm(删除)等,并熟悉了tar命令在文件压缩与打包中的应用。此外,深入学习了系统查找命令,包括which(查找命令路径)、whereis(查找文件/源码)以及find(全盘搜索),为在复杂的Linux目录结构中快速定位资源提供了有效工具。
2. 进程概述与生命周期管理
进程是操作系统资源分配和调度的基本单位。学习中明确了“程序”与“进程”的本质区别:程序是存放在磁盘上的静态二进制文件,而进程是程序加载到内存后动态运行的实例。深入剖析了进程的核心载体——进程控制块(PCB),以及Linux系统中树形结构的父子进程关系。在实操层面,熟练掌握了ps(静态查看进程)、top(动态实时监控)以及pstree(查看进程树)等常用命令,并重点学习了进程控制中的信号机制,理解了kill -15(优雅结束)与kill -9(强制终止)的区别,以及前台进程与后台进程(守护运行)的切换与管理方法。
3. 进程间通信(IPC)机制
由于Linux进程拥有独立的虚拟地址空间,进程间的数据交互必须依赖IPC机制。本次学习系统梳理了多种通信方式及其适用场景:
管道(Pipe):包括仅适用于父子进程的匿名管道(pipe)和可在任意进程间使用的命名管道(FIFO),实现了数据的单向或双向流动。
信号(Signal):作为一种异步通信机制,用于通知进程发生特定事件(如暂停、终止),支持默认处理、忽略及自定义捕捉处理。
共享内存(Shared Memory):多个进程直接映射同一块物理内存,无需数据拷贝,是效率最高的IPC方式,但需配合互斥锁或信号量解决数据竞争问题。
消息队列(Message Queue):提供带有类型标识的异步消息传递,支持优先级投递,常用于需要有序和可靠消息传递的解耦场景。
三、 学习总结与工程实践思考
通过本次系统学习,深刻认识到Linux系统编程是连接底层硬件与上层应用的桥梁。在物联网与AI开发场景中,文件操作是设备配置与日志管理的基础;进程管理确保了多任务并发执行时的资源隔离与系统稳定性;而多样化的IPC机制则为多进程协同工作(如传感器数据采集与云端数据上传的解耦)提供了灵活高效的解决方案。
后续的学习与实践中,应注重将理论转化为工程能力。例如,在开发嵌入式网关或边缘计算节点时,需综合运用fork创建多进程、利用共享内存实现零拷贝数据交换,并结合epoll等多路复用I/O模型处理高并发网络请求。通过持续在真实项目场景中打磨这些核心技能,逐步构建起从硬件交互、并发控制到网络互联的完整技术体系。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)