内存管理、用户操作和文件操作 预备知识: 1、Linux系统的内存分为物理内存和虚拟内存。物理内存是指安装在计算机当中的主存储器;虚拟内存是一段虚拟的逻辑上连续的储存空间,虚拟内存是由多个内存碎片组成,只有正在使用的虚拟内存被存放在内存上,对于暂时不使用的虚拟内存空间其实是储存在外存中。虚拟内存空间 ...
分类:
系统相关 时间:
2019-12-08 10:50:18
阅读次数:
109
进程 狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本 ...
分类:
系统相关 时间:
2019-12-07 23:15:20
阅读次数:
169
网络中进程之间如何通信 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道、FIFO、消息队列) 同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量) 共享内存(匿名的和具名的) 远程过程调用(Solaris门和Sun RPC) 但这些都不是本文的主题!我们要讨论的是 ...
分类:
编程语言 时间:
2019-12-07 14:19:00
阅读次数:
77
在python中,对象的赋值、拷贝(深浅)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果。 其实这些问题是由共享内存导致的结果 拷贝原则上是把数据分离出来,复制其数据,以后修改互不影响。 =是赋值,数据完全共享(=赋值是在内存中指向同一个对象,如果是可变类型,如列表,修改其中一个(不是重 ...
分类:
编程语言 时间:
2019-12-05 18:43:10
阅读次数:
74
恢复内容开始 1. java内存模型即java Memory Model,简称JMM.JMM定义了Java虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。 2.并发编程有两个关键问题:线程之间的通信和同步。 3.线程之间的通信机制有两种:共 ...
分类:
编程语言 时间:
2019-12-03 19:38:23
阅读次数:
89
k8s核心的资源对象:Pod:是运行以及调度的原子单位,也就是k8s中最小的资源单位,同一个pod可以同时运行多个container,多个container之间共享:(UTS(主机名和域名),IPC(消息队列和共享内存),NET(网络栈,端口等),namespace(名称空间)),但USR(用户和组),MNT(挂载点),PID(进行编号)是相互隔离的。pod有两种类型的pod:一类是由控制器控制的
分类:
其他好文 时间:
2019-12-02 15:20:49
阅读次数:
176
翻译自PGI Compiler User's Guide 1.6. 使用PGI编译器进行并行编程 PGI编译器支持多种样式的并行编程: 使用pgf77,pgf95,pgfortran,pgcc或pgc +++的-?Mconcur选项的 自动共享内存并行程序(Automatic shared-memo ...
分类:
其他好文 时间:
2019-11-30 11:12:44
阅读次数:
104
由于本人从事行业关系,Linux环境下的低延迟通信是我关注的技术之一。要达到极端的低延迟,当然同机器内IPC比网络通信快,而Linux IPC方式中无疑是共享内存延迟最低。不过相对于TCP这种通用的通信方式来说,共享内存缺少了一些控制层的协议,比如进程A和B通过一个基于共享内存的消息队列通信,A很难 ...
分类:
编程语言 时间:
2019-11-25 23:59:26
阅读次数:
158
1.打开大文件需要注意的地方 2.打开文件系统所发生的的过程 3.linux下静态库和动态库的区别. 4.对于一个int变量如何保证多线程同步安全 volatile 5.数据模块没有考虑数据缓存层 6.内存泄漏如何检测,工具不靠谱,那就自己封装new方法. 7.死锁如何解除 8.进程间共享内存. 9 ...
分类:
其他好文 时间:
2019-11-25 23:46:13
阅读次数:
95
在多进程程序中(vfork创建的多进程除外),即使是全局变量也无法共享,各个进程都会保存局部变量或全局变量的副本,供自己使用。 共享内存将文件地址映射到内存中即可让多个进程共享内存中的数据。 内存映射API #include<sys/mman.h> void *mmp(void *addr, siz ...
分类:
其他好文 时间:
2019-11-25 18:12:54
阅读次数:
80