自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Ext系列文件系统

本文深入解析了磁盘存储结构与文件系统的工作原理。主要内容包括:1) 磁盘的物理结构、存储结构和逻辑结构,介绍了CHS和LBA两种寻址方式;2) 文件系统核心概念,如块、分区和inode,解释了Linux如何通过inode管理文件属性和数据;3) ext2文件系统的具体实现,包括块组组成、inode映射机制和路径解析过程;4) 软硬链接的区别及实现原理。文章从硬件存储到操作系统管理层层递进,完整呈现了文件从磁盘存储到用户访问的全过程,特别强调了inode在文件系统中的核心作用。

2026-07-21 23:59:48 251

原创 基础I/O

本文深入讲解Linux系统中"一切皆文件"的核心思想。首先对比了C语言文件接口(fopen/fwrite/fread)与系统文件I/O(open/write/read/close),指出C标准库本质上封装了系统调用。重点解析了文件描述符fd的管理机制:进程通过struct files_struct维护文件描述符表,每个打开的文件对应一个struct file对象,fd即为数组下标。文章详细阐述了重定向原理——通过dup2修改文件描述符表的指向,实现输入输出重定向(>、<、>>),并给出了在myshell中实

2026-05-31 22:44:33 243

原创 进程的控制

本文主要介绍了Linux进程管理的核心概念和操作。首先讲解了进程创建中的fork机制和写时拷贝技术,分析了fork的常规用法和失败原因。接着阐述了进程终止的三种场景和退出方法,比较了exit与_exit的区别。重点讨论了进程等待的必要性和实现方法,包括wait、waitpid的使用以及如何获取子进程状态。然后详细说明了进程程序替换的原理和exec系列函数的使用。最后通过myshell的实现案例,展示了如何构建一个简单的shell程序,包括命令行解析、命令执行、内建命令处理和环境变量管理等关键技术。

2026-05-18 17:12:21 363

原创 进程的概念

本文深入探讨了计算机体系结构、操作系统进程管理及内存管理的核心概念。首先介绍了冯诺依曼体系结构的输入输出原理,解释了数据为何需先存入内存而非直接传输到CPU。随后详细阐述了操作系统的进程管理机制,包括进程状态(运行、阻塞、僵尸等)、进程调度算法(时间片轮转)和优先级控制(PRI与NI值)。在内存管理部分,重点讲解了虚拟地址空间的实现原理,包括页表映射、缺页中断和写时拷贝技术,分析了虚拟地址如何实现内存保护和有序访问。最后,文章还讨论了环境变量的工作机制及其在进程继承中的作用,以及命令行参数的解析原理。

2026-05-01 17:36:22 447

原创 基础开发工具

本文介绍了Linux系统下的常用开发工具:1. 软件包管理工具yum,能自动解决依赖关系;2. 文本编辑器vim的多模式操作;3. GCC/G++编译器的编译流程及库文件知识;4. make/Makefile自动化构建工具;5. Git版本控制的基本操作;6. GDB/CGDB调试器的使用方法。重点讲解了各工具的核心概念、基本操作命令和使用场景,帮助开发者掌握Linux环境下的软件开发工具链。文章内容涵盖从软件安装、代码编辑、编译构建到版本控制和调试的完整开发流程。

2026-03-09 17:18:39 571

原创 Linux基础指令

Linux基础指令操作指南摘要:本文介绍了Linux常用指令及其功能,包括文件管理(ls、pwd、cd、touch、mkdir、rm)、文件操作(cp、mv、cat、more/less)、系统信息查询(date、cal、find、which)以及权限管理(chmod、chown、chgrp)。重点讲解了文件路径(绝对/相对路径)、文件权限(rwx)、用户切换(su/sudo)等核心概念,并特别说明了目录权限与粘滞位的作用。文章强调Linux中一切皆文件的理念,所有操作都通过指令完成,建议通过实践掌握而非死记

2026-03-03 16:40:22 723

原创 2.C语言数据类型和变量

头文件:stdio.hprintf() 的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的 f 代表 format (格式化),表⽰可以定制输出⽂本的格式。上⾯命令会在屏幕上输出⼀⾏⽂字“Hello World”。printf() 不在⾏尾⾃动添加换⾏符,运⾏结束后,光标就停留在输出结束的地⽅,不会⾃动换⾏。printf() 可以在输出⽂本中指定占位符。占位符的第⼀个字符⼀律为百分号 % ,第⼆个字符表⽰占位符的类型。所谓 “占位符”,就是这个位置可以⽤其他值代⼊。

2024-10-26 11:10:36 771

原创 1.初识C语言

C语言是一门通用计算机编程语言,C语言源代码是文本文件,文本文件本身无法执行,必须通过编译器翻译和链接器的链接(编译和链接),生成二进制的可执行文件,可执行文件才能执行C语言源代码 --预处理->扩展源代码 --编译-> 汇编代码 --汇编-> 目标代码--链接->可执行程序.c文件.i文件 .s文件 .o文件.exe文件编译生成.obj文件(目标文件)链接生成.exe文件(可执行程序)

2024-09-28 23:07:24 980 1

空空如也

空空如也

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

TA关注的人

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