每日面经(十八)

文章介绍了操作系统中的虚拟内存机制,如何扩展物理内存并管理内存资源,以及内存分配、回收和保护。同时,讨论了文件管理的重要性,包括文件创建、读写、权限和备份。此外,提到了物理内存超出申请量时可能发生的情况。最后,概述了虚拟地址到物理地址映射的页表方法和HTTPS连接过程,强调了密钥在安全通信中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.对操作系统哪个印象最深刻

虚拟内存是一种计算机内存管理技术,它允许程序访问比实际物理内存更大的内存空间。通俗地说,虚拟内存是一种将系统硬盘空间视为内存的技术。

虚拟内存通过在程序运行时将一部分程序数据从内存中转移到硬盘上的交换文件(也称为页面文件)中,从而释放出内存空间,使得多个程序可以同时运行在同一个物理内存上,提高了系统资源利用率。虚拟内存还能够将不同程序的内存地址空间同意映射到不同的物理内存地址空间上,从而实现内存隔离和保护。

虚拟内存还能够实现内存共享和动态地址映射等一些高级功能。不过,虚拟内存的实现需要一定的硬件和软件支持,因此不同的操作系统和处理器都有不同的实现方式和参数设置。

2.内存管理

内存管理是指操作系统通过对内存资源的分配、回收和管理,为程序提供合适的内存空间,保证程序的正确运行。内存管理是操作系统的重要功能之一,它直接关系到操作系统的性能、资源利用效率和稳定性等方面。

在现代计算机中,内存单元被划分成固定大小的块,称为页或页面,操作系统以页面为基本单位进行内存管理。常见的内存管理技术包括:

  1. 内存分配:操作系统负责管理和分配内存资源,并且需要考虑内部碎片和外部碎片的问题。内存分配的方式有连续分配和非连续分配等。

  2. 内存回收:当程序不再需要内存空间时,操作系统需要将这些内存资源回收,以便给其他程序使用。内存回收的方式有主动回收和被动回收等。

  3. 内存保护:操作系统需要保护程序所占用的内存空间,防止非法访问和破坏。常见的内存保护方式有地址映射、权限控制等。

  4. 虚拟内存:虚拟内存能够扩展物理内存,对于大量的前台后台程序,可大大提高机器内存利用率。

内存管理是操作系统必不可少的功能,对于编写程序和维护计算机系统都有着重要的意义。

3.文件管理

文件管理是操作系统的另一个重要功能,它是指操作系统通过对文件的创建、读取、写入、删除等操作,为程序和用户提供持久存储的能力,从而保证了计算机系统数据的安全性和可靠性。

文件管理的主要任务包括:

  1. 文件的创建和命名:在文件管理中,需要为每个文件分配一个唯一的标识符,即文件名,并通过文件系统的目录结构进行管理。

  2. 文件的读和写:文件管理需要为程序提供读取和写入文件的接口,程序可以通过这些接口访问文件,进行读写操作。

  3. 文件的保护和权限管理:文件管理需要为每个文件设置访问权限,以便限制非授权用户访问和修改文件。

  4. 文件的共享和保护:操作系统需要通过文件锁定等手段,保障多个程序之间对同一个文件的并发读写安全性。

  5. 文件的备份和恢复:文件管理需要对用户数据进行备份和恢复操作,以便应对系统故障和不可预料的数据丢失等情况。

常见的文件管理系统包括 FAT、NTFS、EXT4、HFS+ 等,不同的文件系统有不同的特性和性能,根据应用场景进行选择。

文件管理是操作系统不可或缺的功能,它为用户和程序提供了持久存储的能力,使得数据得以长期保存,并帮助用户管理和维护自己的数据。

4.物理内存有2G,申请8G多内存会发生什么?

如果你申请超过物理内存的内存大小,通常会发生以下两种情况:

  1. 如果你使用的是虚拟内存系统(Virtual Memory),那么操作系统会将一部分物理内存中较少使用的内容缓存到硬盘的交换文件(Swap File)中,并释放相应物理内存,让出足够的空间给待开辟的大内存。这种技术可以在物理内存不充足时,仍然支持执行大内存程序,但会导致频繁的读写操作,因为硬盘访问速度比真正的物理内存更慢。

  2. 如果你的程序在没有虚拟内存的情况下被执行,那么很可能会发生内存溢出(Out of Memory)异常、或者操作系统因无法为程序分配所需内存而崩溃(crash)。

5.虚拟地址和物理地址的映射,多级页表相比单级页表的优化?

虚拟地址和物理地址的映射是操作系统中的一个重要功能,它可以将程序产生的虚拟地址翻译成对应的物理地址。在这个过程中,页表模型被广泛采用,可以通过单级页表和多级页表两种实现方式来优化这个过程。

单级页表是最简单的页表进行映射的方法。其中包含了所有的虚拟地址到物理地址的映射关系,但是由于需要维护全部的映射信息,当系统内存规模变大时,单级页表所占用的空间也会变得很大,这样会影响系统运行效率。

多级页表则在单级的基础上进一步分为多个级别的页表,每个页表只保存部分虚拟地址与物理地址的映射,通过在不同的页表之间跳转,即可完成整个虚拟地址与物理地址的映射过程。这种方法相对于单级页表更加灵活,对大内存环境更加高效,因为只有实际使用到的页才会被加载到内存中,节省了内存空间。同时,和单级页表相比较复杂,增加了虚拟地址到物理地址的转换时间,而且在大内存环境下,多级页表的效率还有一些局限性,需要合理地选择页表级数以及对各个级表进行管理和优化。 ​

6. https协议建立连接过程。密钥有谁提供

HTTPS(Hypertext Transfer Protocol Secure)是一种基于加密的通信协议,它通过SSL/TLS协议对HTTP进行了加密和认证,以提高数据传输的安全性。建立HTTPS连接包括以下步骤:

  1. 客户端向服务器发送请求:当用户在浏览器中输入网址并请求该网站时,客户端向服务器发送一个HTTPS请求。

  2. 服务器向客户端返回证书:如果服务器支持HTTPS,那么它会向客户端返回一个数字证书。证书包含有关证书颁发机构、域名和公钥等信息。客户端利用其中的公钥与服务器进行通行。

  3. 客户端验证证书:当客户端接收到服务器返回的数字证书后,客户端验证证书的有效性,并查看证书颁发机构是否受受信任。如果证书有效且可信,则客户端可以继续向下一个步骤。

  4. 客户端生成随机密钥并将其用服务器的公钥加密后发送给服务器:在证书验证成功后,客户端生成一个随机值作为对称密钥,然后使用服务器证书中的公钥将该随机值加密并发送给服务器。

  5. 服务器使用私钥解密客户端发送的消息并获得对称密钥:收到客户端发送过来的消息后,服务器利用自己的私钥解密该消息,获得了客户端生成的对称密钥。

  6. 服务器和客户端开始使用对称密钥进行通信:至此,HTTPS连接已建立,服务器和客户端将使用以前的随机密钥来加密和解密彼此之间的数据传输。

在这个过程中,密钥的提供者是客户端。客户端生成并发送一次性对称密钥,服务器再用自己的私钥来进行解密获取该密钥,并与客户端使用该密钥进行后续的加密和解密的通信。这种方式可以确保用户的数据安全,防止数据被黑客截取和篡改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值