操作系统概念
文章平均质量分 74
lqadam
这个作者很懒,什么都没留下…
展开
-
MySql 日志 简单总结,很简单的那种
文章目录参考:undo log作用:如何做:redo log作用如何做LSN 和 CheckPoint作用binlog作用如何做redo log和binlog 的区别参考:https://www.cnblogs.com/wy123/p/8365234.htmlhttps://www.cnblogs.com/wy123/p/8353245.htmlhttps://www.cnblogs.c...原创 2019-12-08 16:19:27 · 138 阅读 · 0 评论 -
Log Struct Merge Tree
文章目录参考LSM Tree 和B+Tree的不同之处LSM Tree 基本算法合并操作LSM Tree的问题针对上述问题 LSM Tree工程实践上的优化参考https://wiesen.github.io/post/leveldb-introduction/http://www.benstopford.com/2015/02/14/log-structured-merge-trees/...原创 2019-12-08 16:18:31 · 402 阅读 · 0 评论 -
零拷贝
今日看rocketMQ的设计,读到如何提高broker的发送性能,看到了使用mmp(文件内存映射)的技术,零拷贝,提高了数据从文件到内存再到网络的传输效率。这里有点迷糊,所以详细google了一把。特写下来留作记录。内容都是来自于已有的东西,都放到后文的参考文档里面,参考文档比我详细多了,有图有解释,有理论,甚至有代码,如果能看参考文档的原文的话,建议看原文。概念澄清“零拷贝”:在...原创 2018-12-14 23:27:11 · 1412 阅读 · 1 评论 -
[操作系统概念]第五部分——死锁
死锁概念解释:计算机存在若干种资源,一任务可能需要若干个资源才能执行完成。如果几个进程都仅仅保持获得一部分资源,但都没有获得执行完成所需的所有资源,它们都在等待其他进程释放自己所需的资源,那么没有任何一个进程可以前进、执行完成,这种僵局叫做死锁。死锁的必要条件(特征):都满足时才会出现死锁互斥:一个资源只可以被独享占有并等待:进程占有一个资源不释放,并且等待其他资源非抢占:资源不能被抢占,只能原创 2017-02-24 21:48:22 · 593 阅读 · 0 评论 -
[操作系统概念]第六部分——内存管理(3):虚拟内存
虚拟内存虚拟内存目的是为了扩大用户视角的内存空间,在使用虚拟内存之前,进程能使用的内存空间只能比物理空间小,而且整个进程都必须位于内存中(尽管进程中的某些数据不经常被使用),这大大限制了进程的大小和内存的使用率。 虚拟内存的思路是当进程使用CPU时,并不立刻将所有进程使用的空间都调度入物理内存,而是挑选一些最可能使用的帧进入物理内存,其他帧保存在磁盘等外部储存环境中,如果进程需要使用位于外部储存环原创 2017-02-24 22:04:20 · 577 阅读 · 0 评论 -
[操作系统概念]第九部分——安全
安全权限最小特权原则:类似于特征耦合,即不要将对方不需要知道的信息、不必要的到的权限给对方,这样有利于将可能的伤害降到最低访问域:访问域是若干个有序对的集合,有序对为{资源对象名,权限集},表示进程可以对资源进行哪些权限的操作。一个进程可以有若干个访问域,而且访问域可以又重合。访问矩阵:对进程的访问域的抽象,行表示一个访问域,列表示资源对象,矩阵每一个元素表示权限集。访问矩阵的实现: 全局原创 2017-02-24 22:11:24 · 373 阅读 · 0 评论 -
[操作系统概念]第七部分——文件与目录
目录 这部分总结的比较简略 * 文件包含文件本身和文件相关的信息。 * 不同类型文件的开头几个字节有特定的次序,用于表示该文件是什么类型,需要如何操作。 * 对文件的组织管理需要有目录这种形式的数据结构。通过目录可以索引文件,存储和文件相关的位置等信息,文件信息也保存在目录中。目录的结构单层结构:较简单的目录用单层的目录,实现是一个MAP,每一个目录中文件的条目索引一个真实原创 2017-02-24 22:08:11 · 1242 阅读 · 0 评论 -
[操作系统概念]第八部分——磁盘I/O
磁盘的分配方法:连续分配:文件连续存放,则顺序读取寻道时间短,但是文件的大小不好修改,容易在文件与文件之间形成碎片链接分配:文件块使用指针串联起来,解决了连续分配的问题,但是查找起来效率低,只能跟着磁盘里的指针次序查找索引:比起链接分配,多了一个保存所有文件块指针的索引块,解决直接访问效率低的问题,但是索引块的大小调整是一个问题,索引块本身也可以使用磁盘的分配方法再划分。对磁盘中空闲块的处理原创 2017-02-24 22:10:39 · 973 阅读 · 0 评论 -
[操作系统概念]第六部分——内存管理(4):帧分配
帧分配算法之前说的都是操作系统给进程分配了一定数量的帧(少于页的数量),用于虚拟内存的页置换,但是这个一定数量如何而来?由帧分配算法来决定。 首先,我们需要知道,给一个进程的帧有上限,不能超过内存可容纳的帧数;有下限,不能出现进程需要一次性访问3帧(间接引用)才能寻到址,但因为给的帧太少,比如只有2帧,所以怎么也寻不到址的情况。帧的下限由计算机的结构来确定,计算机允许几次间接寻址,一次可以有几个寻原创 2017-02-24 22:06:52 · 3673 阅读 · 0 评论 -
[操作系统概念]第六部分——内存管理(2):分页分段
分页分页是指,将逻辑地址分成固定大小的块,每一块成为一页,对应的物理地址按同样大小分块,成为帧。此外,系统还需要硬件支持称为 “页表” 用于充当索引的功能,因为CPU每次生成的地址并不对应内存地址,而是一个包含页号和页偏移两部分的地址,页号在页表中映射到一个表示物理的基地址,基地址+页偏移后才是真实的物理地址。 分页不会产生外部碎片,但是还会产生内部碎片。 页大小及地址空间页的大小(和帧一样)和原创 2017-02-24 21:57:51 · 715 阅读 · 0 评论 -
[操作系统概念]第六部分——内存管理(1)
内存管理为了让进程只访问自己的内存空间,有两种类型的寄存器:基地址寄存器和界限寄存器保存一个进程使用内存的开始地址和地址长度,这两个寄存器内容的修改是内核的特殊命令,只能在内核模式调用,也就是说用户程序不能修改,只有操作系统可以。用户程序的生成步骤:编译时间:源程序首先被编译生成目标模块加载时间:然后与其他模块链接在一起,成为加载模块,系统库加载入模块中,生成二进制数据执行时间:最后动态链接原创 2017-02-24 21:55:10 · 495 阅读 · 0 评论 -
[操作系统概念]第四部分——同步
进程同步一些概念: * 竞争条件: 多个进程并发访问和操作公共变量,并且执行结果和访问数据有关的情况。 * 临界区:这个区间进程的代码会改变公共变量.临界区有一个特征:一个时间只有一个进程可以进入临界区,进而不会导致公共变量混乱。进入临界区的进程必须要先请求进入临界区以便协调。 * 实现请求进入临界区的代码段称为进入区。处理临界区问题,算法一定要满足三个条件:互斥(只有一个进程可以进入临界区原创 2017-02-24 21:47:13 · 477 阅读 · 0 评论 -
[操作系统概念]第一部分——双重模式与进程
关于双重模式操作系统为了机器防止运行对机器有害的代码,将指令分为用户模式和监督程序模式(也称管理模式、系统模式、内核模式或特权模式),可能造成危害的指令都是监督程序模式的指令,需要操作系统通过系统条调用来执行。为了区分这两种模式,计算机硬件中增加了模式位来表示当前模式(早期并没有硬件支持,所以早期系统在这方面更薄弱)。为了防止一个用户进程无休止地抢占资源,进而妨碍其他进程运行,操作系统必须维持对原创 2017-02-24 21:44:48 · 4749 阅读 · 0 评论 -
[操作系统概念]第三部分——CPU调度
CPU调度CPU调度的方案可以分为“非抢占式”调度(又称“协作式”调度),以及“抢占式”调度。 所谓抢占,是指在稍后的时间启动的一个进程,因为优先级或者所需资源少等原因,可以打断当前CPU执行的进程,抢占当前进程的CPU资源(以及其他资源)归自己所用。现代操作系统基本都是抢占式的调度,非抢占式的调度主要用于嵌入式的系统,因为非抢占式不需要特别的硬件。 CPU调度可能出现在4种情况下:一个进原创 2017-02-24 21:46:13 · 908 阅读 · 0 评论 -
[操作系统概念]第二部分——多线程
线程线程的由来以及可进程区别在多道任务处理系统的设计中,多进程是一种方案,但是进程太“重”了,创建、切换、管理进程的额外花费多,所以引入了线程的概念。 传统的进程中只有一个线程,二者可以说是一样的,但是现在的进程中可以包含多个线程,各个线程共享进程的代码、打开的文件、数据;但是各个线程又拥有自己的程序堆栈、寄存器数据和临时数据。因此,线程的创建、切换和维护的开销更小,而且也可以处理多道任务。线程的原创 2017-02-24 21:45:32 · 458 阅读 · 0 评论