自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Linux线程机制:从内核到用户态的全面解析

Linux线程机制详解 摘要: 本文全面解析Linux线程的实现机制。线程本质上是共享资源的轻量级进程(LWP),在Linux中通过task_struct结构体实现。内核并无独立线程概念,而是通过pthread库对clone系统调用的封装提供线程功能。线程共享进程地址空间但拥有独立栈,通过页表机制映射物理内存。文章详细介绍了线程创建(pthread_create)、终止(return/pthread_exit/pthread_cancel)和回收(pthread_join)的API及原理,并比较了joina

2025-07-02 10:51:28 1064

原创 信号机制解析:进程背后的异步通知奥秘

信号机制与进程管理摘要 信号是操作系统提供的异步事件通知机制,本质是软件中断。主要特点包括: 信号类型:SIGINT(2)、SIGTERM(15)等普通信号和SIGKILL(9)等强制信号 处理方式:默认行为、忽略或自定义处理函数 接收机制:前台进程接收终端信号(如Ctrl+C发送的SIGINT) 处理流程:产生→保存→等待合适窗口→执行 异常处理方面: 硬件异常(如除零)会触发SIGFPE信号 软件异常(如野指针)产生SIGSEGV信号 进程异常终止可能生成coredump文件用于调试 信号机制实现了进程

2025-07-02 10:27:58 694

原创 文件系统与inode

本文摘要: 本文介绍了Linux文件系统的核心概念: 寄存器不仅存在于CPU,磁盘也有控制、数据和状态三类寄存器; 文件属性不包含文件名,因硬链接机制存在; inode存储文件元数据,每个分区独立管理inode; 硬链接增加inode引用计数,软链接是独立文件; 目录硬链接数包含"."和子目录的".."引用; 格式化是预先设置分区文件系统属性的过程; 删除文件仅修改bitmap而非覆盖数据。

2025-07-02 10:11:35 319

原创 进程间通信

内容解释✅ “你怎么知道是同一个文件”判断标准是路径 + 文件名是否一致✅ “文件缓冲区”实质是管道文件的内核内存缓冲区✅ “单向通信原理”两个进程共享 struct file,读写缓冲区完成信息传递✅ “磁盘是不会被操作的”因为管道文件属于内存级文件,不涉及磁盘 I/O✅ “进程通信前提:看到同一资源”不管是不是父子进程,只要打开同一个管道,就能通信## 管道的分类!## snprintf和vsnprintf!# 共享内存 注:共享内存没有同步与互斥机制。

2025-07-02 01:17:33 937

原创 Linux程序加载与内存管理核心机制

本文摘要: GCC编译选项:介绍了常用编译控制选项如-c(仅编译)、-o(输出文件名)、-Wall(启用警告)等,以及静态库(.a)和动态库(.so)的区别。 内存管理机制:详细讲解Linux虚拟内存映射原理,包括进程地址空间划分、页表转换、共享库加载机制和写时拷贝技术。 库文件使用实践: 静态库创建使用ar工具打包,需指定-L库路径和-l库名 动态库需-fPIC编译,运行时通过LD_LIBRARY_PATH或ldconfig配置路径 常见"undefined reference"等错误

2025-07-02 00:54:57 1226

原创 GitHub的工作原理

2025-07-01 21:20:21 157

原创 C语言循环和指针知识点总结

两种语句的区别是,do 语句的循环体至少要执行一次,而while 语句在控制表达式初始为0 时会完全跳过循环体。这两者都是受限制的:break 语句的目标是包含该语句的循环结束之后 的那一点,而continue 语句的目标是循环结束之前 的那一点。为了存取特定的数组元素,可以在写数组名的同时在后边加上一个用方括号围绕的整数值(称这是对数组取下标 (subscripting)或进行索引 (indexing))如果a 是含有10个元素的数组,那么这些元素可以如下所示依次标记为a[0], a[1] ,…

2024-11-25 13:07:18 1487

原创 c语言表达式和选择语句知识点总结

条件表达式求值的步骤是:首先计算出表达式 1的值,如果此值不为零,那么计算表达式 2的值,并且计算出来的值就是整个条件表达式的值;)[插图] 但是在C99中,除法的结果总是向零截取的(因此-9/7 的结果是-1 ),i%j 的值的符号与i 的相同(因此-9%7 的值是-2 )。由于i 的值为1而j 的值为2,表达式i > j 比较的结果为假,所以条件表达式的值2被赋给k。这个“稍后”有多久呢?变量表示程序运行时需要计算的值,常量表示不变的值,更加复杂的表达式把运算符用于操作数(操作数自身就是表达式)。

2024-11-25 12:36:59 1467

原创 2024年11月7日复盘

近日已经学到了数据结构后偶然发现自己c语言学得不够牢固,这几天开始补基础,也顺便复习一下之前学过的知识,这也是本人第一篇正经博客,希望和大家共勉。

2024-11-07 22:36:33 828 1

原创 【无标题】

最近状态有点差,也感觉到自己前段时间的学习确实不牢固,有点差劲,痛定思痛的我决心从今天开始慢慢改变,我要让一生变得更加精彩,先从学好计算机开始吧,与各位共勉!

2024-11-06 22:34:21 96

原创 纪念第一天写博客

接触编程也有快两周时间了,作为一个非科班生想要毕业以后从事it行业的工作还是挺难的,不过有句话叫做“世上无难事,只要肯登攀。”我相信通过我的努力在未来一定能够成功从事it行业的工作,加油,干就完了,奥利给!

2024-09-15 21:50:05 148

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除