POSIX 消息队列
摘要:POSIX 消息队列 定义 POSIX消息队列,它允许进程之间以消息的形式交换数据,即数据交换的基本单位是整个消息 消息队列就是存储消息的队列 特性 引用计数 POSIX 消息队列是引用计数的。只有当所有当前使用队列的进程都关闭了队列之后会对队列进行标记以便删除 优先级排队 POSIX消息有一个关联
阅读全文
posted @
2024-10-27 11:43
Dylaris
阅读(25)
推荐(0) 编辑
内存映射
摘要:系统调用(mmap和munmap) mmap 内存映射类型 mmap() 系统调用用于在调用进程的虚拟地址空间中 创建内存映射,主要分为两种类型: 文件映射:将文件的一部分直接映射到虚拟内存中,允许通过内存访问文件内容,映射的分页会在需要时自动加载 匿名映射:没有对应文件,分页初始化为0,可以视为一
阅读全文
posted @
2024-10-21 22:40
Dylaris
阅读(101)
推荐(0) 编辑
机器学习(2)
摘要:线性分类(LinearClassification) 线性可分性(Linear Separability) 线性可分性是指在一个特征空间中,能够用一个 超平面 将不同类别的数据点完全分开。换句话说,如果存在一个 线性函数(通常是一个线性方程或线性组合),能够将两类数据点划分为两侧,则这些数据被称为线
阅读全文
posted @
2024-10-18 22:08
Dylaris
阅读(68)
推荐(0) 编辑
机器学习(1)
摘要:什么是回归 回归分析是一种 基于已有数据建立模型的方法,旨在帮助我们进行未来的预测。通过回归分析,我们可以探索因变量(目标变量)与一个或多个自变量(特征变量)之间的关系。 损失函数 在回归分析中,我们通常需要衡量模型的预测效果,这就涉及到损失函数。常见的损失函数包括 绝对值损失和最小二乘损失。损失越
阅读全文
posted @
2024-10-18 14:14
Dylaris
阅读(46)
推荐(0) 编辑
简单介绍机器学习
摘要:什么是机器学习 机器学习,其实就是字面意思,让机器学习,它和让人类学习其实差不多 机器学习就是通过已有的数据,去训练出一个模型,然后在接受输入数据,对未来进行一些预测,只不过这里加入了许多数学和编程的知识 机器学习分类 无监督学习 (Unsupervised Learning) 模型在 没有明确标签
阅读全文
posted @
2024-10-17 17:38
Dylaris
阅读(45)
推荐(0) 编辑
在 C 语言中通过指针访问结构体内存
摘要:在 C 语言中,指针是用于引用内存地址的变量,通过指针可以有效地访问和操作内存。即使未显式创建结构体实例,只要指向的内存区域足够大且对齐方式正确,指针也能够按照特定结构体的布局访问数据。以下是这个机制的详细解读。 1. 指针与内存布局 指针的类型(如 Block*)告诉编译器 如何解释其指向的内存。
阅读全文
posted @
2024-10-15 23:05
Dylaris
阅读(109)
推荐(0) 编辑
管道和FIFO
摘要:管道 概述 管道为一个常见需求提供了一个优雅的解决方案:给定两个运行不同程序(命令)的进程,在shell中如何让一个进程的输出作为另一个进程的输入呢?管道可以用来在相关进程之间传递数据。 管道其实就和真实的管道类似,它可以进行数据的传递,比如说水管,它就可以把水流从一端送到另一端。管道也是一样的,它
阅读全文
posted @
2024-10-14 21:05
Dylaris
阅读(25)
推荐(0) 编辑
C语言中输入/输出缓冲区行为乱序的问题
摘要:问题代码 这一串代码就是输出提示,读取输入,这样做3遍 但是看到运行结果会发现,第二个和第三个的提示字符串输出到同一行了,没法输入操作符 原因 这是因为输入缓冲区的缘故 当我们输入第一个数字1的时候,按下回车确认,但同样的,回车的 换行符也同样保留在输入缓冲区了, 数字1被读取消耗掉了,所以输入缓冲
阅读全文
posted @
2024-10-13 23:19
Dylaris
阅读(36)
推荐(0) 编辑
linux中的进程内存布局
摘要:虚拟内存 在我们编写程序的时候,我们使用的是虚拟内存布局,它是建立在真实的物理内存之上,虚拟内存一般是比物理内存要大,并且每个进程都享有独立的虚拟内存 所以我们要明白我们在程序中使用的是虚拟内存,虚拟内存经过一些内存映射,才能被映射到真实的物理内存 局部性 空间局部性(Spatial localit
阅读全文
posted @
2024-10-12 13:51
Dylaris
阅读(44)
推荐(0) 编辑
linux中的线程
摘要:线程 一个进程可以包含多个线程。同一程序中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段(initialized data)、未初始化数据段(uninitialized data),以及堆内存段(heap segment) 多线程的进程内存布局 文本段、数据段这些,线
阅读全文
posted @
2024-10-11 22:40
Dylaris
阅读(106)
推荐(0) 编辑
c语言中的变量存储区域
摘要:栈 局部变量和函数参数通常存储在栈中。函数调用时,栈空间用于存储函数参数、返回地址和局部变量。 int func(const char *str1, char *str2, int count) { count++; printf("%s %s\n", str1, str2); return cou
阅读全文
posted @
2024-10-06 14:03
Dylaris
阅读(80)
推荐(0) 编辑
数据库系统------函数依赖与范式
摘要:码属性和非码属性 在讲函数依赖和范式前,我们需要了解码属性和非码属性 码属性就是构成候选码的属性,非码属性就是不构成候选码的属性,主属性是指构成主码的属性 候选码是能够确定关系R的最小属性集合,可以有多个,即多种匹配方法,超码就是一个候选码随便加上另一个属性,主码就是候选码中选一个来当,所以主属性也
阅读全文
posted @
2024-10-03 20:36
Dylaris
阅读(171)
推荐(0) 编辑
linux中进程的创建和终止
摘要:进程的创建 fork fork函数用来创建一个子进程 子进程获得父进程的栈、数据段、堆和执行文本段的拷贝 内存节约 需要注意的是,执行文本段其实就是代码段,这个段是父子进程共享的,换句话说,虚拟的进程空间各自有一份,但是指向的物理空间共享一份 还有,对于父进程数据段、堆段和栈段中的各页,内核采用写时
阅读全文
posted @
2024-10-02 21:09
Dylaris
阅读(49)
推荐(0) 编辑
stdio流缓冲区
摘要:文件流缓冲区 每个进程都各自维护一个文件流表,和文件描述符表类似,并且这些文件流都有自己对应的缓冲区 缓冲区的设计就是为了减少磁盘io,加快io的速度 缓冲区模式 通过setvbuf或者setbuf两个函数设置缓冲区的模式 无缓冲区 就是禁用缓冲区的意思,这种模式下,就相当于直接调用write函数,
阅读全文
posted @
2024-10-02 20:17
Dylaris
阅读(11)
推荐(0) 编辑
c语言中的链接性和作用域
摘要:什么是链接性 链接性 指的是标识符(如变量、函数)在多个翻译单元(通常是多个源文件)之间共享和可见的能力。链接性决定了标识符的作用范围,即它能在多大范围内被访问或引用 链接性 无链接性:标识符只能在局部作用域内使用,通常用于局部变量 内部链接性:标识符只能在定义它的文件内使用,使用 static 关
阅读全文
posted @
2024-10-01 20:08
Dylaris
阅读(49)
推荐(0) 编辑