进程:创建、终止 1. 进程创建基础 (fork 函数) 1.1 函数接口与头文件 函数名称: fork 所需头文件: #include <sys/types.h> #include <unistd.h> 函数原型: pid_t fork(void); 参数: 无参数。 返回值: pid_t (进程 ID 类型,通常 2026-03-05 技术学习 4 八角星
进程、程序 1. 进程查看命令详解 在 Linux 系统下,可以通过多种命令查看和管理进程信息。以下是课程中详细介绍的几个关键命令及其区别: 1. top 命令 功能:查看系统当前的资源信息及进程状态。 特点: 展示的是**实时(Real-time)**的进程信息。 可以动态看到哪个进程正在运行、哪个处于暂停状 2026-03-04 技术学习 6 八角星
UNIX/Linux:简史与标准化 1. Unix 标准与手册页 背景引入 在学习进程、线程编程之前,通常接触过文件 I/O。 常用函数:open 是一个系统调用(System Call)。 在手册页(man page)中查看 open(Section 2)时,会看到系统调用层面的描述。 在手册页中查看 open 和 creat 函数 2026-03-04 技术学习 4 八角星
静态库与动态库 1. 程序库概述 1.1 库的基本概念 定义:库是预先编译好的二进制文件形式,包含了一系列函数接口。 作用:提供复用功能,类似标准库(Standard Library),开发者可以自定义库供他人调用。 形式: 源代码(.c)经过编译打包后形成二进制库文件。 调用时直接调用打包好的库,而非直接使用 . 2026-03-04 技术学习 3 八角星
文件属性获取 1. 课程概述与目标 核心主题:学习如何获取文件的详细属性(File Attributes)。 背景:上一节课学习了访问目录,但仅能获取文件名字和文件类型。 目标:实现类似 ls -al 命令的效果。 展示文件的时间戳(Time Stamp)。 展示文件的读写权限(Read/Write/Execut 2026-03-03 技术学习 5 八角星
标准IO:目录操作 1. 概述 背景:在 Linux I/O 课程中,之前主要学习的是针对文件(设备文件、文本文件)的操作。但在实际场景中,经常需要访问目录(Directory),查看目录下的文件列表。 需求:需要专门的接口来处理目录的打开、读取和关闭操作。 核心接口:系统提供了关于目录操作的标准接口,主要涉及 ope 2026-03-02 技术学习 5 八角星
标准 IO:刷新、定位 1. 文件缓冲区刷新 (fflush) 1.1 问题背景 在使用标准 IO 进行格式化输出到文件时,有时会出现以下情况: 调用写函数(如 fprintf)显示成功。 立即使用 cat 命令查看文件,发现内容为空。 原因:标准 IO 是全缓存(Full Buffered)的。 在没有调用 fclose 2026-03-02 技术学习 1 八角星
标准IO:对象、格式化读写 1. 文本文件与二进制文件概念 在开始学习标准 I/O 的二进制读写之前,需要区分两个核心概念:文本文件与二进制文件。 文本文件 (Text File) 存在形式:通常以人类可读的字符形式存在(例如 .c, .txt 文件)。 存储内容:内部存储的是字符对应的 ASCII 值。 计算机存储原理:虽然 2026-02-28 技术学习 4 八角星
标准IO:字符、行 读写 1. 文件读写的三种基本方式 C 语言标准 I/O(Standard I/O)库提供了三种主要的文件读写方式: 字符方式(Character-wise):一次读/写一个字符。 行方式(Line-wise):一次读/写一行文本。 对象方式(Object-wise):以结构体或自定义数据块为单位进行读写 2026-02-27 技术学习 11 八角星
标准IO:打开关闭、错误处理 1. 文件打开与关闭的基本概念 打开(Open):占用系统资源(如文件、设备等)。 关闭(Close):释放已占用的资源,避免其他程序无法访问。 在操作系统底层(文件描述符层面),通过 open() 和 close() 实现资源的占用与释放。 在 C 标准库中,使用 FILE* 流指针进行操作,接口 2026-02-27 技术学习 5 八角星
标准IO:缓存机制 1. 标准 IO 与文件 IO 的对比 1.1 核心区别 文件 IO (File I/O): 属于系统调用 (System Call)。 每次操作(如 read, write)都会触发内核态与用户态的切换。 频繁的系统调用会降低效率。 使用 文件描述符 (File Descriptor, FD),是 2026-02-26 技术学习 2 八角星
文件IO:文件定位、权限修改 1. 文件定位接口 lseek 1.1 为什么需要 lseek 在文件读写过程中,文件指针(光标)会随着 read 或 write 操作自动移动。 读后写:读完文件后,指针在末尾,直接写入会追加内容,符合预期。 写后读:写入一行内容后,指针位于写入内容的末尾。如果此时想读取刚才写入的内容,由于指针不 2026-02-25 技术学习 3 八角星
文件IO:读写 Linux 系统编程:文件 I/O 操作详解 (read/write/open) 本笔记基于视频内容整理,并结合 Linux 标准文档(man pages)进行了技术细节的校正与补充。内容涵盖 read、write、open 函数的核心用法、参数详解、返回值处理、文件权限标志以及命令行参数传递的最佳 2026-02-25 技术学习 5 八角星
文件IO:文件描述符、打开与关闭 1. 系统调用与库函数概述 1.1 应用程序与内核的交互 内核(Kernel):操作系统的核心部分,负责管理硬件资源和提供服务。 保护机制:应用程序不能直接访问内核空间或直接进行数据访问、数据后续等操作,必须经过保护。 系统调用(System Call): 内核提供的接口,允许应用程序请求内核服务。 2026-02-25 技术学习 15 八角星