计算机系统
lw_yang
喜欢学习,努力工作,也享受生活,崇尚简单的快乐和幸福 ,为理想而奋斗
展开
-
计算机系统之旅
计算机系统是由硬件和软件组成的,接下来我们跟踪hello程序的生命周期开始学习。#include <stdio.h>int main(){ printf("hello, world\n"); return 0;}hello程序从一个源文件(hello.c)开始,实际上就是由0和1组成的位序列,8个位被组织成一组,成为字节。从源文件到目原创 2018-12-20 19:51:24 · 336 阅读 · 0 评论 -
计算机系统的信息表示和处理
信息存储计算机使用8位的块,或者字节(byte),作为最小的可寻址内存单位。机器级程序将内存视为非常大的字节数组,称为虚拟内存,内存的内一个字节都由唯一数字标识,称为它的地址,所有可能的地址集合称为虚拟地址空间。顾名思义,这个虚拟地址空间只是展现给机器程序的概念性映像,实际的实现是将动态随机访问存储器、闪存、磁盘存储器、操作系统软件结合起来,为程序提供一个看上去统一的字节数组。十六进制表示法...原创 2018-12-21 10:54:06 · 794 阅读 · 0 评论 -
程序的机器表示
计算机执行机器代码,用字节序列编码低级操作,在本篇文章中,我们会观察机器代码,以及人类可读表示–汇编代码。为什么要学习机器代码呢?即使编译器承担了生成汇编代码的大部分工作,对于严谨的程序员,能够阅读和理解汇编代码仍是一项很重要的技能,阅读汇编代码,能理解编译器的优化能力,并分析代码中隐含的低效率。代码示例:在命令行上使用‘-S’,就能看到C语言编译器产生的汇编代码linux> gc...原创 2018-12-21 15:58:42 · 402 阅读 · 0 评论 -
虚拟内存
更加有效的管理内存,系统提供了一种对主存的抽象概念,叫做虚拟内存物理寻址:虚拟寻址:虚拟内存被组织为一个由存放在磁盘上的N个连续的字节大小的单元组成的数组,每个字节有一个唯一的虚拟地址,作为数组的索引。VM系统将虚拟内存分割为虚拟页,物理内存被分割为物理页(页帧)如图有一个8个虚拟页的虚拟内存,虚拟页0、3未被分配,因此磁盘上还不存在,虚拟页1、4、6被缓存到物理内存中,页2、5、7已...原创 2018-12-24 16:39:26 · 264 阅读 · 0 评论