ICode9

精准搜索请尝试: 精确搜索
  • Linux fork隐藏的开销-过时的fork(正传)2019-09-06 14:08:55

    本文来自《Linux fork那些隐藏的开销》 fork是一个拥有50年历史的陈年系统调用,它是一个传奇!时至今日,它依旧灿烂。 一个程序员可以永远不用read/write,也可以不懂mmap,但必须懂fork。这是一种格调! fork没有参数,它是如此简单,是UNIX哲学的布道者或者说卫道者们的首选,它被写进了

  • 存储管理——虚拟内存管理2019-09-05 22:08:04

    一、页式虚拟内存管理概念 目标: 使得大的程序能在较小的内存中运行 使得多个程序能在较小的内存中运行(能容纳) 使得多个程序并发运行时地址不冲突(方便,高效) 使得内存利用效率高:无碎片,共享方便 实现思路 在数据运行中,只把当前必要的很小一部分代码和数据装入内存。其余代码和数据

  • 操作系统面试题(一)2019-07-08 13:00:21

    ● 请你说一下进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的 参考回答: 基本概念: 进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发; 线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内

  • 操作系统-内存管理2019-06-16 17:01:30

        内存管理 内存管理及其功能   所有用户进程和系统所需要的全部程序和数据不可能都放入到主存中,操作系统将内存空间进行合理的划分和有效地动态分配,这就是内存管理。   内存管理主要需要满足的需求包括;重定位、保护、共享、逻辑组合和物理组织。   内存管

  • 操作系统----内存管理(段式、段页式)2019-05-31 11:50:29

    分段存储当中有段长和基址。 1MB = 1024KB = 1024*1024B   1GB=1024MB=1024*1024KB=1024*1024*1024B=2^10*2^10*2^10B=2^30B 每一个段表项的大小是相同的。都是36位或者都是32位的。 比如判断缓存区是否可用,是否满了,就可以让多个段表中的某一个指针指向同一个块,实现共享。

  • 操作系统——HugePage2019-05-27 21:53:04

    TLB:页表一般都很大,并且存放在内存中,所以处理器引入MMU后,读取指令、数据需要访问两次内存:首先通过查询页表得到物理地址,然后访问该物理地址读取指令、数据。为了减少因为MMU导致的处理器性能下降,引入了TLB,TLB是Translation Lookaside Buffer的简称,可翻译为“地址转换后援缓冲器”,也

  • Windows内存之内存分页2019-05-17 15:48:48

    前面说道操作系统的每个进程都拥有自己的虚拟地址空间,对于这个32位操作系统,虚拟内存空间大小为4G。现代操作系统都使用分页来管理内存,把4G分成每一页为2^12 = 4K大小的页,一共有1M个的页(虚拟页VP,VirtualPage)。每一个虚拟页映射到物理内存空间的一个页——物理内存地址空间也划

  • CSAPP阅读笔记-虚拟内存-寻址和内存映射-来自第九章9.1-9.8的笔记-P559-P5862019-05-15 12:42:29

    虚拟内存的概念:   我的理解:虚拟内存是一种对主存的抽象概念,虚拟内存由虚拟地址标记,虚拟内存一般比实际物理内存大,但其实它并不是真正的物理内存,对外部来说,似乎内存很大,实际上虚拟地址标记是与磁盘上的文件关联的,实现了对物理内存的“感官性的放大”,实际要使用关联的文件时再把它

  • linux性能优化实战-内存性能指标2019-04-20 08:53:58

    转自:https://blog.csdn.net/san_77227487/article/details/87938546 https://blog.csdn.net/zxcc1314/article/details/86751559 内存映射 Linux内核给每个进程提供了一个独立的连续虚拟地址空间(独立!可以将进程内存隔离)。 每个进程的虚拟地址分为内核空间和用户空间。但内核空间,其

  • PCB表 页表 设备表2019-04-18 10:53:56

                前段时间读过操作系统,操作系统常常使用线性表来记录一些重要信息,因此PCB表 页表 设备表 这些必须要常驻内存,但我知道磁盘才是放置文件的地方。那么究竟这些表会不会被放到磁盘呢。             做个小实验:在linux Centos7 上切换到root,输入指令 ll -d

  • 转载--为什么使用多级页表? 修改个别错别字2019-04-13 20:54:00

    转载--https://blog.csdn.net/ibless/article/details/81275009 分页管理机制,对于32位处理器来说,32位的线性地址被分成三部分,如下图。 其中,最低12位表示偏移量,中间的10位表示页表项,最高10位表示页目录项。 由线性地址转换成物理地址经过两步,也就是所谓的二级页表。 32位线性地

  • 异常控制流&虚拟内存学习总结2019-03-31 16:49:58

      异常控制流(Exceptional Contrl Flow, ECF) 概念: ECF: 现代系统通过使控制流发生突变,用来响应处理器状态中的某些变化。 异常的类别: 中断 异步发生,来自外部IO设备。、 系统调用 用户程序调用内核接口。 故障 缺页异常。 终止 进程 抽象 = 独立CPU + 独立内存。

  • DPDK(二):准备知识1---hugepage2019-03-16 16:54:52

    原文:https://blog.csdn.net/jy1075518049/article/details/43610569两种内存管理方式:1、内存寻址--段式管理三个名词:逻辑地址、线性地址、物理地址物理地址:最容易理解的,它就是实实在在物理内存上的地址,你PC上有1G内存,那最大地址就是0x40000000,0x800就是代表1KB的地址。线性地址:这是

  • KVM实现客户机内存2019-03-10 22:37:32

    1、虚拟机运行在QEMU进程地址空间中 KVM利用malloc()或者mmap系统调用,在QEMU主线程的虚拟地址空间中申明一段连续大小的空间用于客户机物理内存映射,在QEMU的内存管理结构中逐步添加subregion。 QEMU进程的运行跟普通的Linux进程一样,通过malloc()或者mmap()函数来申请它自己的内存,ma

  • swapper_pg_dir主内核页表、init和kthreadd、do_fork时新建子进程页表、vmalloc与kmalloc2019-03-10 21:39:19

    都是以前看到一个点扯出的很多东西,当时做的总结,有问题欢迎讨论,现在来源难寻,侵删! 1、Init_task、idle、init和kthreadd的区别和联系 idle进程其pid=0,其前身是系统创建的第一个进程(我们称之为init_task),也是唯一一个没有通过fork或者kernel_thread产生的进程。 init_task是内核中所

  • 程序的执行过程(进程)2019-02-04 22:02:35

      •1 程序间的聊天    我们这些执行 程序都安安静静地躺在 硬盘的某个角落中,满心期待地等待被主人使用,被操作系统装载,然后进入内存工作,确 切地说:被 CPU阿甘执行。进入内存是我们的使命,如果只是在硬盘上呆着,那我们就是一堆二进制的代码而已,除了占用硬盘的空间,没有什么作用。

  • openstack-KVM-Memory(5)2019-02-02 11:38:47

      一、Memory 1、查看memory信息   free -g   cat /proc/meminfo   dmesg | grep Memory 2、xml文件中的内存信息:       vim /etc/libvirt/qemu/虚拟机名.xml <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMe

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有