socket: OSI七层: 上三层:用户空间 下四层:通信子网,内核空间 ip:主机到主机通信 MAC:设备到设备 传输层:提供进程地址 POrt number tcp:传输协议,面向连接的协议,通信前需要建立虚拟链路,结束后拆除链路 ... ...
分类:
Web程序 时间:
2018-10-22 12:55:37
阅读次数:
246
一个linux进程的虚拟地址空间分布如上图所示,分为内核空间和进程空间,对于一个32位操作系统来说,4GB的空间分成两部分,低地址的0~3G给用户空间,高地址的3G~4G给内核空间。 内核空间 与进程有关的数据结构段 每个进程都自己独特的PCB和页表,映射到不同的物理内存。 内核代码段 所有进程的内 ...
分类:
系统相关 时间:
2018-10-17 14:52:10
阅读次数:
1105
三 multiprocessing模块 Multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing pa ...
分类:
编程语言 时间:
2018-10-17 11:13:23
阅读次数:
165
第三周总结 寻址方式经历三代 1. DOS时代的平坦模式,不用区分用户空间和内核空间,很不安全 2. 8086的分段模式 3. IA32的带保护模式的平坦模式 两个抽象 1. 指令集体系结构(ISA):定义了指令的相关规则,且多条指令是并发执行的,结果像是顺序执行; 2. 虚拟地址:存储器系统是将多 ...
分类:
其他好文 时间:
2018-10-14 20:41:31
阅读次数:
144
内存属性: 1.大小 2.位置 int a; 默认方式 (段) ———————————————————————————————————————————————————————————————————————————————————————— 内核空间 应用程序不许访问 3g 栈空间 局部变量 读写 ...
分类:
编程语言 时间:
2018-10-13 19:52:27
阅读次数:
153
内存属性: 1.大小 2.位置 int a; 默认方式 (段) 内核空间 应用程序不许访问 3g 栈空间 局部变量 读写 (运行时,函数内部使用的变量,函数一但返回,就释放,生存周期时函数内) 运行时的堆空间 malloc (运行时,可以自我管理的分配和释放的空间,生存周期由程序员觉得) 分配: m ...
分类:
编程语言 时间:
2018-10-11 15:11:28
阅读次数:
172
一、问题背景通常我们下载一个centos镜像至少有3G,在docker容器中使用dockerpullcentos下载的镜像为啥只有200M呢?带着问题一起学习、思考这个问题Linux操作系统分别由两部分组成1.内核空间(kernel)2.用户空间(rootfs)内核空间是kernel,Linux刚启动时会加载bootfs文件系统,之后bootf会被卸载掉,用户空间的文件系统是rootfs,包含常见
分类:
其他好文 时间:
2018-10-11 13:43:17
阅读次数:
582
1.标准I/O缓冲区 要理解标准I/O,就要先知道文件I/O的业务逻辑。 下面图示为文件I/O 如执行下面的代码: write(fd, buf2, sizeof(buf2)); 图中 buf:就是buf2。 缓冲区:是文件系统的页缓存。 当执行写操作时,buf中的数据会被复制到内核空间的页缓冲区,如 ...
分类:
其他好文 时间:
2018-10-11 01:46:17
阅读次数:
137
概述 通过 sysfs 方式控制 GPIO,先访问 /sys/class/gpio 目录,向 export 文件写入 GPIO 编号,使得该 GPIO 的操作接口从内核空间暴露到用户空间,GPIO 的操作接口包括 direction 和 value 等,direction 控制 GPIO 方向,而 ...
分类:
其他好文 时间:
2018-10-01 12:26:13
阅读次数:
198
又一个进程启动了,操作系统老大叹了一口气,毕竟自己的肩头又多了一份责任。让人烦恼的是,新来的家伙们很无知,几乎就是一张白纸。有些老实本分的会按照自己的规矩来做事,有些刺头儿喜欢问这问那,时不时还想搞点非法的访问,想访问别的进程的地址空间,甚至想访问内核的代码和数据!这时候,我只有把他kill掉祭天,留下一个coredump的尸体让码农们去分析。规矩很重要!想到此处,老大又看了一眼自己的内核空间,这
分类:
Web程序 时间:
2018-09-25 16:08:45
阅读次数:
244