计算机漫游

计算机系统是由硬件和软件组成的,理解计算机系统内硬件和软件的具体实现方式对于学习计算机与软件编程都有着至关重要的作用。下面将对计算机系统内的一些主要概念做一个系统的介绍。

1.位与字节

一个由程序员创建的程序最终要被解释成机器代码,即由0和1组成的代码段,其中每个0或1称为一个位(或比特),8个位称为一个字节,在大多数计算机系统内,采用ASCII字符集对每一个字节对应表示一个字符,由ASCII字符构成的文件称为文本文件。

要点:*系统中所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由一串比特表示的,区别不同数据对象的唯一方法是我们读到这些数据对象时的上下文。

2.编译系统

编译系统由四部分程序组成:预处理器、编译器、汇编器、链接器。如下图:
这里写图片描述
预处理:预处理器主要用于处理头文件,根据#字符开头的命令读取相应的头文件并将其直接插入到程序文本中。
编译:编译是将预处理后的程序语言翻译成汇编语言。汇编语言的作用是为不同的高级语言的不同编译器提供通用的输出语言。
汇编:将汇编程序翻译成机器语言指令,并打包成可重定向目标程序。
链接:处理不同目标程序的合并,得到一个可执行目标文件,被加载到内存中,由系统执行。

3.系统的硬件组成

一个典型的近期Intel产品模型如下:典型系统的硬件组成
总线:总线是贯穿系统的一组电子管道,其作用是携带信息字节并在各个部件间传递,总线传输定长的字节块,也称为字,典型的字长一般是4个字节,32位或8个字节,64位。
I/O设备:系统与外部的联系,鼠标,键盘,显示器等。每个I/O设备都通过一个控制器或适配器与I/O总线相连。
主存:由一组动态随机存取存储器(DRAM)组成,是一个临时存储设备,用来存放程序和程序处理的数据。
处理器:又称中央处理单元(CPU),作用是解释存储在主存中的指令。其核心是一个大小为一个字的存储器:程序计数器(PC)。处理器从程序计数器指向的内存处读取指令,解释指令中的位,执行该指令指示的简单操作,然后更新PC,使其指向下一条指令,而这条指令不一定和在内存中刚刚执行的指令相邻。
一些简单操作:加载、存储、操作、跳转。

4.高速缓存

高速缓存即高速缓存存储器,简称cache,是一种更小更快的存储设备,作为数据的暂时集结区域,存放处理器近期可能会需要的信息。典型系统中的高速缓存存储器如图:这里写图片描述
存储器层次结构:图为一个具有三层高速缓存的存储器层次结构,L1和L2高速缓存是用一种叫做静态随机访问存储器(SRAM)的硬件技术实现的。这里写图片描述
在层次结构中,从上到下,设备的访问速度越来越慢,容量越来越大。存储器层次结构的基本思想是上一层的存储器作为第一层存储器的高速缓存。

5.操作系统

操作系统可以看成是应用程序和硬件之间插入的一层软件,操作系统的两个基本功能:
1)防止硬件被失控的应用程序滥用;
2)向应用程序提供简单一致的机制复杂多样的低级硬件设备。
操作系统提供了对计算机内硬件的抽象表示,这对于理解计算机内系统的工作非常重要,如下图:
这里写图片描述
文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、主存和I/O设备的抽象表示。
进程:进程是操作系统对正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程,而每个进程好像独自在占用硬件。并发运行指的是一个进程的指令和另一个进程的指令是交错执行的。操作系统实现这种交错执行的机制称为上下文切换
线程:一个进程由多个称为线程的执行单元组成,每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。多线程比多进程更容易共享数据,更高效。
虚拟内存:对进程所占用地址的一个抽象表示,也称为虚拟地址空间。
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值