Linux操作系统
文章平均质量分 96
本专栏聚焦 Linux 操作系统的核心技术、应用场景与实战技巧,既适合零基础入门者建立系统认知,也能为进阶开发者提供深度技术参考,助力读者掌握这一开源操作系统的精髓
澪贰
专业:双一流软件工程
个人博客网站:https://general.zzh-blog.club/
荣誉:极星会KOL,HCSD华为云校园大使认证,亚马逊AI从业资格认证,支付宝季度优质创作者认证,腾讯云微服务开发者认证,华为云技术开发者认证
擅长技术和测评博文撰写,欢迎大家找我互三(„• ֊ •„)੭,一起见证更好的自己⌯oᴗo⌯,推广学习交流请加Wechat:zzh1478943685(备注来意)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Linux操作系统】简学深悟启示录:线程同步与互斥
本文展示了一个多线程抢票系统的实现,通过模拟5个线程并发访问共享变量tickets=1000,揭示了多线程环境下数据竞争的问题。文章详细分析了线程互斥的概念,包括临界资源、临界区和互斥锁的使用方法。通过引入pthread_mutex_t互斥锁机制,解决了数据混乱问题,保证了线程安全。同时探讨了互斥锁的原理,解释了CPU通过swap/exchange指令实现原子操作的过程,以及单核CPU环境下线程通过上下文切换实现逻辑隔离的机制。最后指出互斥锁虽然解决了数据竞争,但可能引发线程饥饿问题,需要合理设计锁的使用策原创 2025-12-02 12:57:45 · 18328 阅读 · 19 评论 -
【Linux操作系统】简学深悟启示录:线程概念与控制
本文介绍了线程的基本概念和控制方法。线程作为轻量级进程,共享进程资源但拥有独立执行流,是操作系统的调度基本单位。文章详细讲解了线程与进程的区别,线程的创建、终止和等待操作,包括使用pthread_create创建线程、pthread_exit终止线程以及pthread_join等待线程回收资源。同时介绍了线程特有的ID、栈和寄存器等私有数据,以及共享的文件描述符等资源。通过对比用户态TID和内核态LWP,阐明了线程在用户态和内核态的不同表现形式。最后指出线程退出时返回值的内存管理注意事项,强调线程控制的关键原创 2025-11-25 14:10:09 · 27263 阅读 · 16 评论 -
【Linux操作系统】简学深悟启示录:信号
本文介绍了Linux系统中信号处理的基本概念和工作原理。 首先通过快递的比喻解释了信号处理的三个关键步骤:信号产生、信号保存和信号处理。进程能够识别和处理信号,可以选择默认处理、自定义处理或忽略信号。 文章详细区分了前台进程和后台进程,指出前台进程能接收用户输入而后台进程默默运行。介绍了通过signal函数自定义信号处理的方法。 讨论了信号的多种产生方式:键盘组合键、kill命令、系统调用(kill/raise/abort)、硬件异常和软件条件。其中重点分析了除零异常和管道读端关闭时触发的信号机制。 最后讲原创 2025-11-18 12:49:57 · 1257 阅读 · 21 评论 -
【Linux操作系统】简学深悟启示录:进程间通信
本文主要介绍了进程地址空间和进程间通信的相关知识。第一部分补充了进程地址空间的内容,解释了程序加载到内存前的逻辑地址分布、动态库的加载机制以及CPU执行指令的流程。第二部分重点讲解了匿名管道的原理和应用,包括管道的创建、单向通信特性、实现代码以及管道的5种属性,最后展示了管道在进程池中的应用实例。文章通过示意图和代码示例,系统性地阐述了操作系统如何管理进程地址空间以及进程间通过管道通信的具体实现方式。原创 2025-10-20 08:09:13 · 1610 阅读 · 27 评论 -
【Linux操作系统】简学深悟启示录:动静态库
本文首先补充了文件系统的相关知识,包括内存与硬盘以4KB为单位交互数据的设计原理、系统通过页框数组管理内存的机制,以及文件读写过程中涉及的inode、dentry和address_space等关键数据结构。然后重点讲解了动静态库的创建和使用方法:通过具体示例演示了如何制作静态库(libmymath.a)和动态库(libmymethod.so),详细说明了编译命令中的-I、-L、-l等参数含义,并针对动态库使用时常见的加载问题提供了四种解决方案。文章通过代码示例和流程图相结合的方式,清晰地展现了文件系统管理和原创 2025-09-29 13:33:36 · 1589 阅读 · 45 评论 -
【Linux操作系统】简学深悟启示录:Ext系列文件系统
本文深入探讨了文件系统的基本概念和磁盘存储结构。首先介绍了文件=内容+属性的核心思想,并详细解析了磁盘的物理结构(磁头、磁道、扇区)和逻辑结构(LBA寻址)。重点分析了ext2文件系统的组织方式,包括inode Table(存储文件属性)、Data blocks(存储文件内容)以及它们之间的映射关系。同时解释了目录文件的本质是文件名与inode的映射,以及文件增删查改的具体过程。文章还涉及Super Block、Group Descriptor Table等关键数据结构的作用,全面展示了操作系统原创 2025-09-22 11:02:45 · 2101 阅读 · 20 评论 -
【Linux操作系统】简学深悟启示录:重定向&&缓冲区
本文主要探讨了Linux系统中的文件重定向和缓冲区机制。在重定向部分,通过代码示例演示了文件描述符分配规则及dup/dup2函数实现原理,解释了输出重定向的本质。同时介绍了多文件重定向的操作方法,包括分离输出和合并输出到同一文件。 缓冲区部分通过三组实验对比分析:1)仅含换行符时缓冲区正常刷新;2)无换行符且关闭文件描述符时,C接口函数内容无法刷新;3)存在换行符且调用fork时,父子进程共享缓冲区导致重复输出。最后总结了三种缓冲区类型:无缓冲、行缓冲和全缓冲的特性及其应用场景。文章还从VFS层面对&quo原创 2025-09-15 07:00:00 · 3998 阅读 · 32 评论 -
【Linux操作系统】简学深悟启示录:文件fd
本文回顾了文件系统的基本概念和C语言文件操作接口。首先解释了文件的组成(内容+属性)和两种状态(打开/未打开),重点分析了打开文件与进程的关系。接着通过代码示例演示了fopen、fwrite等C文件函数的使用,以及如何修改默认文件路径。文章还介绍了标准输入输出流(stdin/stdout/stderr)及其文件描述符(0/1/2)。随后详细讲解了系统调用open和write函数的使用方法,包括flags参数的各种选项组合原理。最后深入探讨了文件描述符的本质,指出它是进程文件描述符表中的索引,并解释了FILE原创 2025-09-08 14:25:37 · 3750 阅读 · 44 评论 -
【Linux操作系统】简学深悟启示录:进程控制
本文主要介绍了Linux进程管理的三个关键方面:进程终止、进程等待及相关系统调用。首先补充了进程创建时的写时拷贝机制,当子进程修改共享数据时系统会触发只读保护并分配新空间。其次详细讲解了进程退出的三种情况及查看方法,对比了exit和_exit函数的区别。重点阐述了进程等待的必要性,通过wait和waitpid函数回收子进程资源并获取退出状态,其中waitpid可解析子进程退出码和信号信息。文章通过代码示例展示了如何正确使用这些系统调用来处理进程终止和等待,避免僵尸进程的产生。原创 2025-09-03 22:38:37 · 2365 阅读 · 56 评论 -
【Linux操作系统】简学深悟启示录:环境变量&&进程地址
本文主要介绍了Linux环境变量和进程地址空间的概念。环境变量包括PATH、HOME等系统预定义变量,可通过env命令查看或getenv()函数获取,具有全局性,子进程会继承父进程的环境变量。进程地址空间是虚拟地址而非物理地址,通过页表映射到物理内存,实现进程隔离和保护。地址空间包含代码区、数据区等划分,由mm_struct结构体管理。进程地址空间和页表的存在使进程管理和内存管理解耦,确保安全访问和资源隔离。原创 2025-08-26 13:46:16 · 2864 阅读 · 53 评论 -
【Linux操作系统】简学深悟启示录:进程初步
在操作系统中,进程(Process) 是程序的一次动态执行过程,是系统进行资源分配和调度的基本单位。简单来说,当你运行一个程序(如打开浏览器、启动一个 Python 脚本),操作系统就会创建一个进程,并为其分配内存、CPU 时间等资源,使其能够执行原创 2025-08-04 10:19:21 · 1907 阅读 · 53 评论 -
【Linux操作系统】简学深悟启示录:Linux环境基础开发工具使用
本文介绍了Linux系统下的三大核心工具:软件包管理器yum、编辑器vim和编译器gcc/g++。yum作为常用的软件包管理工具,能自动解决依赖关系,简化安装过程,文章详细说明了yum的安装、删除等基本操作。vim编辑器部分重点讲解了其三种主要模式(命令模式、插入模式和底行模式)的切换及常用操作命令,包括移动光标、复制粘贴、查找替换等技巧。gcc/g++编译器部分则系统阐述了程序的四个编译阶段:预处理、编译、汇编和链接,并给出了每个阶段的具体命令示例。这些工具是Linux系统下进行软件开发的基础原创 2025-07-28 21:41:39 · 2500 阅读 · 52 评论 -
【Linux操作系统】简学深悟启示录:Linux权限
Linux 权限是系统通过对文件 / 目录设置读(r)、写(w)、执行(x)权限,分别管控文件所有者、所属组及其他用户对其的访问操作,以保障系统安全原创 2025-07-14 06:00:00 · 2361 阅读 · 56 评论 -
【Linux操作系统】简学深悟启示录:Linux基本指令
本篇将开启Linux操作系统的全面学习,默认使用的是CentOS操作系统,使用Xshell进行远程登录服务器进行操作测试原创 2025-07-07 20:31:51 · 1688 阅读 · 54 评论
分享