计算机系统的一些概念

句柄

句柄是windows用来标识应用程序实例使用的对象的唯一整数。
类似C语言中的文件句柄。

句柄的本质是一种指向指针的指针。应用程序启动后,组成这个程序的各对象是驻留在内存的。那是否我们获知了这个内存的首地址,就可以随时用这个地址访问对象呢?
答案是否定的,因为windows是一个以虚拟内存为基础的操作系统,在这种系统环境下,windows内存管理器经常在内存中来回移动对象,依此满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。那我们该如何去找这个对象呢?

windows为各应用程序腾出一块固定的内存,用于记录各应用对象在内存中的地址变化,windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。我们只需要记住这个句柄地址就可以间接知道对象具体在内存中的位置。这个句柄地址是对象装载时由系统分配的,当系统卸载时又释放给系统。

由上可知,windows程序并不是用物理地址来标识一个内存块的,相反的,windows给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作

CPU三级缓存

1.1 存储器的金字塔结构
现代计算机系统为了寻求容量、速度和价格最大的性价比会采用分层架构,从 “CPU 寄存器 - CPU 高速缓存 - 内存 - 硬盘”自上而下容量逐渐增大,速度逐渐减慢,单位价格也逐渐降低。

1、CPU 寄存器: 存储 CPU 正在使用的数据或指令;
2、CPU 高速缓存: 存储 CPU 近期要用到的数据和指令;
3、内存: 存储正在运行或者将要运行的程序和数据;
4、硬盘: 存储暂时不使用或者不能直接使用的程序和数据。
存储器金字塔
在 CPU Cache 的概念刚出现时,CPU 和内存之间只有一个缓存,随着芯片集成密度的提高,现代的 CPU Cache 已经普遍采用 L1/L2/L3 多级缓存的结构来改善性能。自顶向下容量逐渐增大,访问速度也逐渐降低。当缓存未命中时,缓存系统会向更底层的层次搜索。

L1 Cache: 在 CPU 核心内部,分为指令缓存和数据缓存,分开存放 CPU 使用的指令和数据;
L2 Cache: 在 CPU 核心内部,尺寸比 L1 更大;
L3 Cache: 在 CPU 核心外部,所有 CPU 核心共享同一个 L3 缓存。

CPU的处理速度 Ghz

频率的单位是赫兹,简称赫,以符号“Hz”表示。常用的频率单位有千赫(kHz)、兆赫(MHz)、吉赫(GHz)等。赫兹(H·Hertz)是德国著名的物理学家。1887年,他通过实验证实了电磁波的存在。后人为纪念他,将“赫兹”设为频率的单位。

GHz即十亿赫兹(10^9 Hz 10 0000 0000Hz)。GHz是CPU的处理频率,换言之,即CPU的处理速度。现今大多CPU是多核的,如双核、4核、8核、16核等。但主频并不是以核心数乘以单核主频。主频值愈大,CPU的运行速度不一定愈强。决定CPU性能的还有架构、缓存等。像奔腾G4400@3.3GHZ的性能就没有i5 8400@2.8GHZ的性能好。此外,其还用于表微处理器的时钟频率。内存现多以“MHz”为单位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃早餐的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值