1.什么是内存管理
内存管理就是对内存架构进行管理,内存架构如下图。
用户无需担心自己的程序存在哪里,反正输入,计算,输出的结果是一样的。让内存管理实现这种媒介透明的手段就是虚拟内存,提供给用户一个比物理主内存大的多的地址空间。
2.随着程序在内存与磁盘之间进行交换,内存将变得越来越碎片化,假设有8个程序,
此时总内存足够,但是因为碎片化,无法提供连续的200KB地址空间。这种散布在进程之间的闲置空间叫做外部碎片。
解决方案:碎片整理,将内存上的数据导出到硬盘上,然后再重新按顺序加载到内存上,但这种方式比较耗时间。
更好的解决方案:分页
3.分页的原理
将虚拟内存和物理内存都划分为大小相同的部分,称为页,然后按页进行分配。程序太大的话,部分放在页中,部分放在硬盘中,这样就能够运行很大的程序了
4.地址翻译的原理
MMU如何完成翻译?查页表
页表是一个硬件数据结构
5.多级页表采用相同的方式,内存中只存顶级页表,次级页表等存放到磁盘上,需要的时候再放到内存中。
实现多级页表需要多次访问内存,降低了效率,如何解决这个问题呢?通过硬件TLB解决,TLB是硬件,所以很快就能得出结果。
6.分页太大,一个页面没有全部用完,剩下的部分就是内部碎片。减小内部碎片的办法就是减小分页的大小,但是分页太小的话,页表记录就会增多,页表级数增加,降低效率。
7.内存抖动
多次访问的虚拟内存,都不在物理内存上,都要发出缺页中断,整个系统的效率急剧下降,这种现象就叫内存抖动。
8.分段管理系统
分页系统的缺点:很难共享;数据增长时,地址空间受到限制。如何解决这个问题?
这种分段式内存管理模式,在运行程序的时候,要将程序所有的段放到内存中,又面临之前的问题,于是,人们对段进行分页,出现了段页式内存管理模型。
9.文件系统就是磁盘的抽象
10.文件系统让磁盘变得容易使用,用户不需要知道数据存放的细节
11.当用户给出一个文件名的时候,文件系统就会找出这个文件在磁盘上的所有数据块。具体如何查找数据块呢?就是将文件名翻译成其数据块在磁盘上存放的地址
12.块文件
块文件是关于输入,输出设备的。具体来说,块文件是模拟输入,输出的,对于每一个输入输出设备,我们以一个文件来表示,需要与该设备发生数据交换时就以该文件来替代,这样,输入输出与文件系统就统一了。
13.临时文件
是为了保存程序的中间结果而创建的,进程结束后,临时文件就被删除了
14.给定一个文件名,操作系统如何知道文件在磁盘上的位置?
这当然需要一个数据结构来记录,这个数据结构就是文件夹。文件夹的角色就是来跟踪文件的,里面存放的是文件名到磁盘地址的映射,即相当于从虚拟地址到实际地址的翻译。
15.磁盘为什么必须要分区
必须分区的理由是对磁盘空间的使用,计算机的内存字长度有限,而磁盘地址需要存放在内存字里面。因此操作系统能够访问的地址数是一个有限的值,如果磁盘的空间很大,那么操作系统将不能够访问到多余的空间
16.磁盘的结构如下图
17.为什么一个分区只能建立一个文件系统呢?
一个磁盘有多个扇面,第0个扇面有重要意义,该扇面存放主引导记录,就是一个小程序,用来启动计算机,如果该扇面损坏,那么这个分区就不可用。主引导记录之后就是磁盘分区表,磁盘分区表给出的是磁盘所有分区及其开始地址和终结地址。其中的一个分区是主分区,操作系统就装载在这个主分区里,主分区最前面是引导记录。
18.文件的实现
文件的实现,归根结底,就是能够把文件的内容存放在合适的地方, 并能够在需要时很容易地读出这些数据。
文件的实现需要解决以下几个问题:
- 1.给文件分配磁盘空间
- 2.记录这些磁盘空间的位置
- 3.将文件内容放在这些空间
19.FAT文件系统
FAT文件系统的表太大了,FAT表的大小与物理磁盘的大小和磁盘数据块大小有关,这与内存的分页一样,太大了占据的空间就大,如何解决这个问题呢?非对称多级索引。
20.硬链接的实现
硬链接就是将文件的地址映射直接加到链接目录下
21.文件系统的挂载
挂载是将一个文件系统并入另外一个文件系统的方法,
光盘,U盘本身也是一个文件系统,当我们要访问U盘时,就要将U盘挂载到"我的电脑"
22.文件系统访问控制
地址保护如何实现?
有2种方式,一种是从文件角度出发,一种是从用户角度出发。
由此产生了访问控制表和能力表
23.保护域
访问控制表和能力表都有一个缺点,针对个体的文件需要设置个体的访问控制。
保护域是将访问控制权限一样的文件和对象组织成同一个域,一个进程必须处在某个域中。
24.文件要保持一致性需要的功能
事务,日志。但是事务和日志在复制数据的时候,源数据就暂时不能使用了,这时怎么办?
使用随影技术,随影就是保持2个版本,等到复制或者更新完毕后,再改动数据。
相关推荐
计算机的心智操作之哲学原理
心智计算是指通过计算机模拟人类大脑的认知过程,以实现人工智能系统的智能化。心智计算的研究主要集中在人类大脑的认知机理、计算模型、算法和应用等方面。 本白皮书的主要内容包括心智计算的发展历程、科学问题、...
七维大脑原理:探索人类心智的多元维度七维大脑原理:探索人类心智的多元维度七维大脑原理:探索人类心智的多元维度七维大脑原理:探索人类心智的多元维度七维大脑原理:探索人类心智的多元维度七维大脑原理:探索...
- **《计算机的心智:操作系统之哲学原理》**:Jorge E. Lopez, Mark G. Sinder著,介绍操作系统的哲学和原理。 - **《现代操作系统(第 2 版)》**:Andrew S. Tanenbaum著,全面阐述现代操作系统的各个方面。 - ...
心智哲学认为,心灵是程序,大脑是计算机系统的硬件。这意味着,我们可以通过计算机来模拟人类的智能活动。然而,这也引发了一个核心的问题:心灵和我们的身体关系到底是怎样的?心灵哲学问题认为,心灵和机器是否有...
本书从历史和跨学科两个视角,对认知科学基础问题进行了导论性质的...它描绘了从19世纪到当代认知科学领域某些核心概念的发展轨迹,考察了哲学、心理学、神经科学和计算机科学等学科对认知科学发展的重要贡献和影响。
品牌定位是商业策略中的关键环节,其核心目的在于通过准确地在消费者心智中定位,使品牌脱颖而出,成为市场上具有独特价值和辨识度的存在。本文将深入探讨品牌定位的精髓,即研究心智,以及如何通过简化信息和策略来...
Zig 操作系统。 Zig 语言的简单操作。零操作系统使用Zig写的简单操作,供复旦大学2023年秋季学期《操作》课程的操作实验。名字随便起的,寓意零操作系统就是自己的第一个操作系统。不如放一只可爱的猫猫用 Zig?因为...
"基于MEC理论与心智模型的高铁出行APP设计研究" 本文探讨了基于MEC理论与心智模型的高铁出行APP设计策略。随着生活水平的提高,高铁用户需求逐渐呈现多元化趋势。不同类型的用户在使用高铁出行APP的过程中,需求和...
本文从数据、过程、内容和方法三个方面阐述心智模型(Mental model)的复杂特性,并通过链接表分解心智模型节点,结合不同节点的链接关系,通过EC算法、PR算法分析识别心智模型网络关键节点,从口语数据分解、节点...
2. 静电场学习中的心智模型: 静电场是中学物理教学中的一个重要知识点,它涉及到电荷、电场、电场力、静电平衡和电势差等概念。学生在学习这些概念时会形成自己的心智模型,这些模型可能与科学心智模型相符合,也...
### 通用人工智能与人类心智模型 #### 摘要与背景 本文《通用人工智能与人类心智模型》由Roman V. Yampolskiy(路易斯维尔...此外,跨学科的合作也将是解决这些问题的关键,涉及哲学、伦理学、计算机科学等多个领域。
这份报告旨在全面解码美妆消费者的心智,并开辟美妆行业中针对心智人群的赛道。 首先,该报告基于阿里妈妈的营销研究中心、市场公关部和营销创意中心的专业经验,利用阿里巴巴生态内的大数据进行深入分析,为品牌...
同时,哲学课程内容也应当重视跨学科的交流与融合,将哲学的普遍原理应用于具体学科之中,让学生认识到哲学对其他学科的深刻影响。 通过这些改革措施,哲学课程将能更好地发挥其在高等教育中的核心作用。哲学不仅是...
心智模型是人类对信息、任务或系统的一种心理表征,它反映了用户对于系统操作的认知习惯和期望。在电子商务平台中,有效的目录导航设计是至关重要的,因为这直接影响到用户查找商品的效率和满意度。 文章首先指出了...
### 软件开发的哲学思考 #### 一、引言 在《软件开发的哲学思考》这篇译文中,作者探讨了软件开发的本质及其面临的挑战。尽管文章写作于1996年,但对于当今的软件开发领域仍然具有深远的意义。本文将深入分析该...
数学哲学问题是一个深邃的领域,它探讨了数学的基础、逻辑和无穷的性质,同时也触及了哲学的核心议题。从标题和描述中,我们可以看到数学哲学问题不仅涉及数学本身的发展,也涉及数学家如何通过数学来思考哲学问题。...
把时间当作朋友:运用心智获得解放。很好的书,每个人都应该读一下