
Linux_C_Note
文章平均质量分 70
不归醉
这个作者很懒,什么都没留下…
展开
-
Linux_C 高级IO
有限状态机(Finite State Machine,FSM)是一种计算模型,它将计算过程分为一系列离散的状态,每个状态能够接收输入并执行一定的动作,然后转移到下一个状态。在使用文件锁时,可以将一个文件或其中的某个区域标记为“被锁定”,从而防止其他进程对其进行修改或删除。函数时,操作系统会为该文件或设备分配一段虚拟内存地址,并将其映射到指定的文件或设备上,从而实现了对文件或设备的直接访问。在 Linux 系统中,推荐使用。函数相比,其使用方法更为简单,但是其只能实现基于文件和进程的互斥锁,不支持共享锁。原创 2023-11-12 22:12:51 · 53 阅读 · 0 评论 -
Linux_C 线程
如果互斥量当前没有被其他线程锁定,则该线程会锁定互斥量,并且可以访问共享资源。为了避免线程竞争,可以采用各种同步机制,如锁、信号量、条件变量等,保证每次只有一个线程能够访问共享资源,从而避免产生冲突。线程竞争是指多个线程在同时访问共享资源时,由于执行顺序不确定或者执行时间片长度的随机性,导致对该资源的操作产生了冲突,从而引发程序错误或者结果不正确的情况。总的来说,互斥量和锁都是用于同步并发程序的机制,它们可以防止多个线程同时访问共享资源,从而避免竞态条件等问题的发生。posix线程是一套标准,而不是实现。原创 2023-11-12 22:08:17 · 44 阅读 · 0 评论 -
Linux_C 文件系统
inode节点:stat,亚数据,隐藏内容,数据块指针组(15个),前12个指针:直接数据块指针,13:一级间接块指针(直接数据块指针数量:大小/指针大小)14:二级间接块指针(直接数据块指针数量:大小/指针大小)15:三级间接块指针(直接数据块指针数量:大小/指针大小) inode位图:0/1确实inode是否使用,确定inode是否使用,确定数据块的使用。stat:通过文件路径获取属性,面对符号链接文件时获取的是所指向的目标文件。原创 2023-04-16 21:59:44 · 179 阅读 · 0 评论 -
Linux_C I/O:一切实现的基础
分类:行缓冲:换行时刷新,满的时候刷新,强制刷新[fflush()],(stdout是这样的,stdout是终端设备)区别:响应速度(文件IO快,实时响应),吞吐量(标准IO大,缓存区) 全缓冲:满的时候刷新,强制刷新(默认,只要不是终端设备)/dev/fd/目录:虚目录,显示当前进程的文件描述符信息。文件描述符的概念(int类型,本质是数组下标) 标准IO合并以后统一调用系统IO。在二者都可用的情况下,优先使用标准IO。 标准IO与文件IO不可混用。分类:stdio 标准IO。原创 2023-04-13 20:56:07 · 94 阅读 · 0 评论