- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux教程第课内存与设备管理会计学第1页/共44页程序的链接和内存装入第2页/共44页连续分配方式单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间, 提供给用户使用。 第3页/共44页固定分区分配 1. 划分分区的方法 分区大小相等, 即使所有的内存分区大小相等。 (2) 分区大小不等。 第4页/共44页2. 内存分配 固定分区使用表 第5页/共44页4.2.3 动态分区分配 1. 分区分配中的数据结构 空闲分区表。 (2) 空闲分区链。 空闲链结构 第6页/共44页5.4.1 请求分页机制1.分页概念逻辑空间分页 内存空间分页页面和内存块的大小是由硬件确定的 逻辑地址表示 内存分配原则页表 第7页/共44页2.请求分页的基本思想请求分页提供虚拟存储器 在每一个页表项中增加一个状态位表示一个页面是否已装入内存块如果地址转换机构遇到一个具有N状态的页表项时,便产生一个缺页中断 第8页/共44页3.Linux的多级页表Linux进程的虚存空间 Linux系统采用三级页表的方式 第9页/共44页4.内存页的分配与释放Linux系统采用两种方法来管理内存页:位图和链表 页组中内存页的数量依次按2的倍数递增 第10页/共44页5.4.2 内存交换内核的交换守护进程kswapd :有自己的进程控制块task_struct结构,它与其他进程一样受内核的调度。但是,它没有自己独立的地址空间,只使用系统空间,所以也把它称为线程。它的任务就是保证系统中有足够的空闲内存页。当系统启动时,交换守护进程由内核的init(初始化)进程启动。被定时唤醒 。所做的工作主要分为两部分:将若干不常用的活跃内存页面变为不活跃状态;清理不活跃的“脏”页面,或者回收一些内存页,使之成为空闲的内存页。作为交换空间的交换文件实际就是普通文件,但它们所占的磁盘空间必须是连续的7.5 内 存 管 理 第11页/共44页#include void *malloc(size_t size); #include void *calloc(size_t nmemb, size_t size); #include void *realloc(void *ptr, size_t size); #include void free(void *ptr);第12页/共44页5.6 设 备 管 理5.6.1 设备管理概述所有设备都作为特别文件,从而在管理上就具有下列共性:(1)每个设备都对应文件系统中的一个索引节点,都有一个文件名。(2)应用程序通常可以通过系统调用open( )打开设备文件,建立起与目标设备的连接。(3)对设备的使用类似于对文件的存取。(4)设备驱动程序是系统内核的一部分,它们必须为系统内核或者它们的子系统提供标准的接口。(5)设备驱动程序利用一些标准的内核服务,如内存分配等。另外,大多数Linux设备驱动程序都可以在需要时装入内核,不需要时卸载下来。第13页/共44页 设备驱动的分层结构 第14页/共44页5.6.2 设备驱动程序和内核之间的接口1.可安装模块可安装模块是可以在系统运行时动态地安装和拆卸的内核模块,即经过编译但尚未连接的目标文件(后缀为.o)。设备驱动程序或者与设备驱动紧密相关的部分(如文件系统)都是利用可安装模块实现的。 在通常情况下,用户利用系统提供的插入模块工具和移走模块工具来装卸可安装模块。 第15页/共44页2.字符设备用户对字符设备的使用就和存取普通文件一样。在应用程序中使用标准的系统调用来打开、关闭、读写字符设备。 第16页/共44页3.块设备对块设备的存取与对文件的存取方式一样,其实现机制也与字符设备使用的机制相同。 第17页/共44页设备驱动与文件系统的关系 设备驱动是Linux内核的重要组成部分。驱动程序跟一般的用户应用程序不同,它工作在内核态,编程方法和使用的库函数都跟用户级的应用程序有所区别。在Linux内核中,设备驱动跟文件系统联系紧密。每一个设备都是作为一个设备文件,交给文件系统去管理的。 设备驱动程序内部是由一组函数组成的。函数由设备驱动的上层-文件系统来调用,每一个函数被称做一个入口点。入口点的集合被称为设备驱动程序的上半部分,实现设备驱动与文件系统的接口。常用的入口点有:open、close(或release)、read、write、ioctl等。 每一个函数的内部实现被称作驱动程序的下半部分,负责实现具体的设备操作。函数的内部实现通常是靠系统调用提供的函数实现的,不能使用平常我们使用的用户级的C语言库函数。第18页
您可能关注的文档
最近下载
- 教学课件:数字信号的认识2.ppt
- 第13课 清朝前中期的鼎盛与危机 课件(共25张PPT) 2024-2025学年统编版高中历史(必修)中外历史纲要(上).pptx VIP
- 物理重庆巴蜀九年级上册期中试卷检测题.pdf VIP
- ISO9001-2015质量管理体系.pptx VIP
- GB50202-2018 建筑地基工程施工质量验收标准.docx VIP
- 2023高考语文答题卡(彩色可以打印)(反面带有姓名座号).pdf
- 2021年人教版九年级物理上册期中考试及答案【通用】.doc VIP
- 第2讲 FPGA/CPLD结构原理.ppt VIP
- 太平保险公司培训课件.pptx VIP
- 部编六年级上册语文 第四单元表格式整体教学设计.pdf VIP
文档评论(0)