
操作系统
吕白_
希望自己技术越来越强
展开
-
C/C++ 栈帧笔记
原创链接 非原创, 有删改,仅做个人笔记 1.我们在调用它的时候系统做了什么? 2.main函数中如果还有另一个函数,在跳转后运行完这个函数时,编译器怎么知道下一行执行哪个语句呢?会不会又从头执行了? 3.函数在结束之后(运行到反花括号“}”处),系统又是怎么处理的? 4.不同的语言对函数形参内存的处理都是一样的吗? 5.函数的返回值有哪些类型?都是怎么从函数中返回回来的呢? 示例代码: #...原创 2020-04-21 21:06:13 · 1341 阅读 · 0 评论 -
进程调度与死锁
1.进程调度的功能 记录系统中所有进程的状态、优先数和资源的需求情况 确定调度算法。决定将CPU分配给哪个进程及多长时间 分配处理机给进程2.进程调度方式 非抢占式 :直到进程完成或因为某时间而不能运行时,才将CPU分配给其他进程 。通常用在批处理系统中。主要优点是简单、系统开销小 抢占式 :当一个进程正在执行,系统可以基于某种策略剥夺CPU给其他进程。剥夺的原则有:优先权原则、短进程原创 2018-04-14 22:18:09 · 1605 阅读 · 0 评论 -
Linux 下 IPC 之 System V 共享内存的使用和原理初探
文章目录前言原理初探共享内存的创建过程系列 API 的使用ftokshmgetshmatshmdtshmctl共享内存实例 前言 总结一下最近对于共享内存的学习, 可能比较浅显或者有疏漏, 欢迎指正! 原理初探 我们知道, 进程空间相互隔离, 互相对立, 但是共享内存允许多个进程可以访问同一块内存来达到进程间通信的目的. 共享内存是最高效的 IPC 机制, 它不涉及任何进程间的数据传输, 而且...原创 2018-11-08 23:11:47 · 924 阅读 · 0 评论 -
进程线程的区别与联系
文章目录前言进程概念线程概念地址空间通信手段调度和切换进程何时调度线程切换进程的创建过程fork 函数task_struct父子进程间的文件共享线程的实现一对一模型 (内核级线程) 1:1多对一模型 (用户级线程) M:1多对多模型 两级模型 M:N 前言 书本上的定义: 线程是调度的基本单位, 进程是资源分配的基本单位 应该大家都知道这个概念, 但是进程和线程之间的异同绝不仅仅是这一句话这么简...原创 2019-01-19 20:36:07 · 381 阅读 · 0 评论 -
计算机硬件组成(寄存器, 内存, 缓存的关系)
emmm 个人笔记篇… 本篇博客为了我一直记不住这些知识点, 写篇博客日后每次翻开看看 如果有问题, 欢迎指正! 距离 CPU 最近的是寄存器, 其次是缓存, 内存最远, (更远的就是外存了, 磁盘啥的) 缓存是存储一部分内存中的数据, 来提高性能, 不用让 CPU 每次都访问内存 缓存又分为了一级缓存, 二级缓存 我们说栈比堆快, 是因为栈基于一级缓存, 堆基于二级缓存 一级缓存二级缓存是 ...原创 2019-04-17 19:48:06 · 1121 阅读 · 0 评论 -
浅谈 Linux 下的内存管理
文章目录前言面临的问题虚拟内存分段分页页表快表 TLB多级页表缺页错误进程的内存布局内存分配机制(不做详述)mm_struct 和 vm_area_structs 前言 因为春招的缘故, 经历了一次自我整体全面的知识上的查漏补缺, 接下来应该也会陆陆续续对这些知识点做一个总结吧, 今天就先总结一下Linux对内存管理方面的知识, 博主水平有限, 如果文章中有错误或遗漏的点, 欢迎指正和补充 面...原创 2019-04-26 22:23:46 · 433 阅读 · 2 评论