爱妃科技Linux内存管理 | | 爱妃科技
正在加载
请稍等

菜单

红楼飞雪 梦

15526773247

Tag: Linux内存管理

Home 标签归档: Linux内存管理
Home 标签归档: Linux内存管理

执行函数

android 嵌入式开发, linux开发学习 by

在执行fork()之后,同一进程有两个拷贝都在运行,也就是说,子进程具有与父进程相同的可执行程序和数据(简称映像)。但是,子进程肯定不满足 于仅仅成为父进程的“影子”,因此,父进程就要调用execve()装入并执行子进程自己的映像。execve()函数必需定位可执行文件的映像,然后装 入并运行它。当然开始装入的并不是实际二…

阅读全文

 

28 2015-10

程序执行

android 嵌入式开发, linux开发学习 by

与 Unix类似,Linux 中的程序和命令通常由命令解释器执行,这一命令解释器称为 shell。用户输入命令之后,shell 会在搜索路径(shell 变量PATH中包含搜索路径)指定的目录中搜索和输入命令匹配的映象(可执行的二进制代码)名称。如果发现匹配的映象,shell 负责装载并执行该映像。shell 首先利用 fork 系统调用建立子进程…

阅读全文

 

27 2015-10

进程的创建

android 嵌入式开发, linux开发学习 by

新的进程通过克隆旧的程序(当前进程)而建立。fork() 和 clone()(对于线程)系统调用可用来建立新的进程。这两个系统调用结束时,内核在系统的物理内存中为新的进程分配新的 task_struct 结构,同时为新进程要使用的堆栈分配物理页。Linux 还会为新的进程分配新的进程标识符。然后,新 task_struct 结构的地址保存在链表…

阅读全文

 

26 2015-10

刷新机制

android 嵌入式开发, linux开发学习 by

1、软件管理TLB 前面我们介绍的TLB管理和TLB故障的处理都完全由MMU硬件完成,只有一个页面不在内存时才会陷入操作系统。 而实际上,在现代的一些RISC机中,包括MIPS、Alpha,HP PA,几乎全部的这种页面管理工作都是由软件完成的。在这些机器中,TLB条目是由操作系统显式地装入,在TLB没有命中时,MMU不是到页表中找到并装…

阅读全文

 

26 2015-10

翻译后援存储器(TLB)

android 嵌入式开发, linux开发学习 by

页表的实现对虚拟内存系统效率是极为关键的。例如把一个寄存器的内容复制到另一个寄存器中的一条指令,在不使用分页时,只需访问内存一次取指令,而在使用分页时需要额外的内存访问去读取页表。而系统的运行速度一般是被cpu从内存中取得指令和数据的速率限制的,如果在每次访问内存时都要访问两次内存会使系统性能降低三分…

阅读全文

 

26 2015-10

缓冲区高速缓存

android 嵌入式开发, linux开发学习 by

Linux 采用了缓冲区高速缓存机制,而不同于其他操作系统的“写透”方式,也就是说,当你把一个数据写入文件时,内核将把数据写入内存缓冲区,而不是直接写入磁盘。 在 这里要用到一个数据结构 buffer_head 它是用来描述缓冲区的数据结构,缓冲区的大小一般要比页面尺寸小,所以一页面中可以包含数个缓冲区,同一页面中的缓冲…

阅读全文

 

24 2015-10

Linux使用的缓存

android 嵌入式开发, linux开发学习 by

不管在硬件设计还是软件设计中,高速缓存是获得高性能的常用手段。Linux 使用了多种和内存管理相关的高速缓存。 1、缓冲区高速缓存: 缓冲区高速缓存中包含了由块设备使用的数据缓冲区。这些缓冲区中包含了从设备中读取的数据块或写入设备的数据块。缓冲区高速缓存由设备标识号和块标号索引,因此可以快速找出数据块。如果…

阅读全文

 

24 2015-10

交换空间的应用

android 嵌入式开发, linux开发学习 by

一、建立交换空间 作为交换空间的交换文件实际就是通常的文件,但文件的扇区必须是连续的,也即,文件中必须没有“洞”,另外,交换文件必须保存在本地硬盘上。 由于内核要利用交换空间进行快速的内存页面交换,因此,它不进行任何文件扇区的检查,而认为扇区是连续的。由于这一原因,交换文件不能包含洞。可用下面的命令建…

阅读全文

 

22 2015-10

页面交换守护进程kswapd

android 嵌入式开发, linux开发学习 by

从原理上说,kswapd相当于一个进程,它有自己的进程控制块task_struct结构。与其它进程一样受内核的调度。而正因为内核将它按进程 来调度,就可以让它在系统相对空闲的时候来运行。不过,与普通进程相比,kswapd有其特殊性。首先,它没有自己独立的地址空间,所以在近代操作系统理 论中把它称为“线程”以与进程相区别。那么…

阅读全文

 

14 2015-10