操作系统
文章平均质量分 86
七年蝉
什么也没有,谁也不会来。。。。
展开
-
go函数栈帧
程序在编译的时候, 得到的可执行文件分为代码段(机器指令)和数据段。程序运行时会分配虚拟内存, 将代码段和数据段都加载到虚拟内存中, CPU去代码段读取一条条的机器指令来执行。 我们的函数里面的指令就存在代码段中(有个函数名)。 当我们调用一个函数的时候, 其实会触发一个call指令, 引导CPU去该函数名对应的机器指令地址去指向函数体。 我们最后被调用的函数里面使用的内存资源总是需要最先被释放掉的(他里面的局部变量等其他函数用不了)。 所以使用栈来给函数分配变量,所谓的先进后出, 是以函数为单位的..原创 2021-09-11 00:22:15 · 398 阅读 · 0 评论 -
Go内存管理
Go内存管理一、虚拟内存是什么?为什么会有虚拟内存?操作系统管理内存的机制——为什么要设置虚拟内存? - wj_hubei - 博客园如何理解虚拟内存 - 知乎总结如下 :使用虚拟内存和不使用虚拟内存的区别 :使用虚拟内存后程序只能访问属于自己的内存地址, 避免进程数据被其他进程修改。 程序直接使用的内存地址(虚拟内存地址)是确定的(大家都是从0x00000000 开始), 然后通过页表将这些地址映射到内存中一个不确定的地址中。 在管理内存的时候不使用虚拟内存需要把整个程序作原创 2021-09-10 20:38:36 · 526 阅读 · 0 评论 -
go语言锁机制
根据极客课堂晁岳攀 老师的《Go 并发编程实战课》总结而来锁是什么 :在操作系统层面, 多个线程在操作一块共享内存的时候, 需要先获取原来的数据, 然后进行修改。这一个过程存在两个步骤, 为了保证这两个操作的原子性, 需要对这个操作“上锁” 。linux中的锁其实也是一个在共享内存中的变量, 所有线程在要执行 “修改共享内存“ 的代码(临界区)的时候,都需要对这段代码进行加锁。相当于先获取一个全局变量,看他的值是0还是1, 如果是1表示这个 锁 已经被其他线程获取到了,自己需要等他变成0.原创 2021-08-17 21:52:03 · 3909 阅读 · 0 评论 -
进程、线程、协程
一、什么是进程?通俗来说, 进程可以理解为 运行着的程序。我们需要运行一个程序, 总是要有条件的。常见的编程语言分为 编译型语言 和 解释型语言 。编译型语言写出来的程序最终得到的程序是一个二进制可执行文件, 里面包含 数据段(定义的各种变量) 和 代码段(非变量部分) 。代码段里面放的是cpu可以直接执行的机器指令。解释型语言写出来的程序需要依赖解析器来执行。 解析器一般是一个C/C++写的可执行文件,解析器可以被cpu直接执行。 我们写的代码再被解析器读取、解析, 最后才被解析...原创 2021-08-14 20:58:25 · 448 阅读 · 0 评论 -
操作系统之进程
stdin 标准输入 0 stdout 标准输出 1 stderr 标准错误 2进程1.程序 数据结构+算法=程序 程序是存放在磁盘中的可执行文件。 程序是静态的(指令的集合) 2.进程 运行起来的程序称为进程 进程是独立的活动单位,是程序执行和资源管理的最小单位 ...原创 2018-09-28 21:16:56 · 164 阅读 · 0 评论 -
操作系统之进程间通信
进程间通信:/************************ 当出现白色的a.out文件且无法在虚拟机和电脑上删除该文件时: 1.到该目录下编译指令 【ps -ef】找到该.out进程的进程号 2.用指令 【kill -9 该进程的进程号】 终止该进程***************************/ 1.基...原创 2018-09-28 21:18:00 · 378 阅读 · 0 评论 -
操作系统之线程
线程【本质】:线程就是在进程上下文中的一个执行流基本概念 进程: 是操作调度运行的独立实体,它从main()函数开始,并按程序控制流顺序执行, 通常情况下,这个执行过程一直持续到main()结束或遇到exit()为止, 我们称这条【从开始到结束所构成的执行轨迹】为一个【执行流】。 线程: 1.线程是比进程更小...原创 2018-09-29 20:06:32 · 241 阅读 · 0 评论 -
操作系统之信号量
信号量/*********************信号量就相当于共享内存中的一个盒子,把信号量初始化成多少就是最开始的时候往盒子里放了多少个信号!P操作就是从盒子里拿信号,只有盒子里有信号时才能拿,若盒子里没有信号,你就只能在盒子旁边等到什么时候盒子里有信号了,拿到信号才能走!V操作就是往盒子里放信号,不管盒子里有没有信号,你都可以往里面放信号!*****************...原创 2018-09-29 20:06:24 · 1564 阅读 · 0 评论