
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
PCB 是进程的内核实体,负责进程整体管理;PID 是进程的全局编号,用于快速识别进程;inode 是文件的底层标识,用于管理磁盘文件。三者分别服务于进程管理与文件管理,是操作系统资源管理的三大核心基础,也是进程访问文件的底层支撑。
本文完全抛弃伪代码,基于标准 Linux System V 信号量 API(ftok、semget、semctl、semop),通过多进程并发实验,真机复现死锁与安全状态不死锁最小资源数 = n(m-1) + 1本文所有代码可直接编译、运行、复现现象,适配操作系统课程、期末实验、面试原理题。系统只有一种同质资源、多个进程竞争。n:并发进程数m:单个进程运行完成需要的最大资源数n(m-1):临界危险
Socket(套接字)是 TCP/IP 网络体系中,位于应用层与传输层之间的标准网络编程接口。套接字本质是一种特殊的文件描述符,操作系统将网络通信行为抽象为文件读写,开发者可通过 read、write 等文件操作函数,实现跨主机、跨进程的网络数据收发,完成双向网络通信。TCP 协议对应流式套接字(SOCK_STREAM)面向连接、可靠传输、有序无重复。通信前通过三次握手建立专属连接通道,保障数据可

STM32F103C8T6它是单独的主控芯片(MCU),是一块集成电路裸片,仅承担运算、控制、信号处理的核心功能,本身无法独立工作。STM32F103C8T6 开发板它是一整块成品电路板,核心元器件就是上面这颗 F103C8T6 芯片,再搭配完整外围电路、接口和外设,通电即可直接使用。
并发只存在逻辑层面的同时,不存在物理层面的同时。微观上,操作系统通过进程调度时间片轮转,让多个进程交替、串行占用 CPU 执行,进程可在任意指令间隙被打断。宏观上,由于时间片切换速度极快,多个进程看起来是“同时运行”。逻辑并发、物理串行。多个就绪进程 产生并发,单核依靠进程调度,实现假同时、真交替的逻辑并发效果。
进程等待外部事件:IO读写、资源等待、sleep、等待信号,在这个事件发生之前,进程无法继续往下执行,此时操作系统会让进程下CPU 这个进程进入阻塞态。当两个或多个进程处于Ready 状态时 CPU通过调用程序选择下一个上CPU运行的进程 ,通过调度算法(eg:时间片轮转、顺序调度、优先级调用)调度。当进程创建完成之后,便进入"就绪态" 处于就绪态的进程表明其已经具备了运行条件,但由于没有空闲的C
字母 V 为罗马数字 5,全称 System Five,是 AT&T 贝尔实验室发布的第五代商用 Unix。早期 Unix 仅用于实验室内部,1983 年 AT&T 推出商用版本 System V,前缀 “System” 代表完整商用操作系统套件。消息队列、共享内存、信号量这套进程间通信接口诞生于此系列,得名 System V IPC,相关接口至今被 Linux 兼容保留。
数组定义之后不能直接用 = 整体赋值,必须依靠循环或库函数;strcpy /strncpy/strcat 仅适用于合法 C 字符串,不能拷贝 int 数组等非字符数据;严格区分初始化与赋值:仅数组定义时支持 char str[]="xxx";strcpy 隐患:缓冲区容量不足、源数组缺少\0;strcat 必要条件:目标内存预先存在合法\0;strncpy 隐患:源字符串超长时,不会自动补充末尾\
你的代码用查询法等 EOC=1,是最简单直接的方式,适合入门场景;理解 EOC 的本质后,后续遇到高频采集需求,就能轻松切换到中断法,让代码更高效。







