深入理解计算机系统之旅(一)计算机系统漫游

1、计算机系统是什么?

我们直观的可以看到的计算机系统就是一台电脑,包括主机、显示器、键盘鼠标,然后显示器上会显示不同界面,用鼠标点击,键盘输入界面就会相应操作。

2、深入一点,他们是如何工作的?

计算机系统是由硬件和系统软件组成,它们共同工作来运行应用程序。

3、再深入一点,硬件是什么?系统软件是什么?应用程序是什么?

硬件是组成计算机系统的基础,大家耳熟能详的就是CPU、内存、硬盘、主板等。

系统软件是运行在硬件之上的一层控制软件,就是我们经常听到的Windows XP、WIN7、Linux,它们的目的就是管理好各个硬件,屏蔽硬件的差异性,提供一个统一的应用软件工作的平台。

应用程序是运行在系统软件之上的一层软件,他们受到系统软件的管理,同时也享受系统软件提供的各种资源和功能接口,就是我们经常用的QQ、迅雷等等。

4、进入正题,计算机工作时的原理,它一直在做着什么样的处理工作?

计算机工作时一直在处理的是数据,计算机内部能处理的数据只有两种形式,0和1,这是组成计算机硬件的半导体的电气特性。如何让0和1能过表示现实世界的各种信息?那么就需要对他们进行组合和编码。

CPU的指令是由一组组的0和1编码构成。

我们在显示器上看到的各种字符和文字也是由0和1的组合编码而成,最终通过一定的方式在显示器上模拟出字符和文字的形状显示出来。

同样的0和1组成的位数据在不同的地方表示的意义不同,如何区别这样的数据?

计算机系统中所有的信息、数据——包括磁盘文件、内存中的程序、用户的数据以及网络上传送的数据,都是由一串比特表示,也就是0和1的位。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。比如,在不同的上下文中,同样的字节序列可能表示一个整数、字符串或者机器指令。

5、程序在不同阶段的表示——由人类易懂的高级语言到机器易懂的低级指令

高级语言(比如C语言)编写的程序源码能够被人读懂,但是计算机却不懂,为了能让计算机能够知道如何运行程序,就需要把每条C语言程序语句都转化为一系列的低级机器语言指令,然后这些指令按照一种可执行目标程序的格式打包并以文件的形式存储在硬盘上。

6、执行程序——存放在存储器中的机器能够懂的低级指令被读取、解释、执行

硬盘上的程序被执行时会首先由操作系统按照一定规则和格式读取并加载到内存中,然后调度并交由CPU执行,运行一个程序的过程非常复杂,它需要系统中不同功能的硬件、软件一起协调工作。
无论如何整个过程中的数据信息流遵循输入——》输入出的原则,被各个器件处理然后流转。

7、漫游结束

计算机系统是由硬件和系统软件组成,它们共同协作以运行应用程序。计算机内部的信息被表示为一组组的0和1二进制位,它们依据不同的上下文有不同的解释方式。程序被其他程序编译成不同的形式,开始时是源代码文本,然后被编译器和连接器翻译成二进制可执行文件。
处理器读取并解释存放在主存里的二进制指令。因为计算机花费了大量的时间在存储器、I/O设备和CPU寄存器之间拷贝数据,所以系统中的存储设备就被按层次排列,CPU寄存器在顶部,接着是多层的硬件高速缓存存储器,DRAM主存储器,DRAM主存储器和磁盘存储器。在层次模型中位于更高层的存储设备比低层的存储设备要快,但是单位存储价格也更高。

操作系统内核是应用程序和硬件之间的媒介。它提供三个基本的抽象概念,文件是对I/O设备的抽象概念,虚拟存储器是对主存和硬盘的抽象概念,进程是处理器、主存和I/O设备的抽象概念。

最后网络提供计算机系统之间通信的手段,从某个系统的角度来看,网络就是一种I/O设备。

时间: 2024-10-25 10:17:18

深入理解计算机系统之旅(一)计算机系统漫游的相关文章

深入理解计算机系统之旅(五)优化程序性能

1.前言 好的算法和数据结构在编写高性能的程序时固然重要,但是却不是全部,如果我们想要写出性能更好的程序就需要了解编译器是否如何工作和优化我们的代码的,当然并不是要求所有的程序员都去了解和掌握此技能,仅仅对程序性能要求比较苛刻在现有情况下已经无法通过其他方法优化的情况下才会凸显重要性. 未完待续

深入理解计算机系统之旅(二)信息在计算机中的表示和处理

1.前言 计算机只能处理和认识0和1,但是0和1的位数多了,就能对现实世界的各种信息进行编码,同样的0和1的序列在不同场景和上下文中的意义也不尽相同,所以通过一定的规则进行合理的编码和解码,然后就能将现实世界的信息放在计算机中运算和处理,最后按照预先设定好的程序将结果反馈给用户. 2.信息的存储 3.整数的表示 4.整数的运算 5.浮点数(小数) 6.小结 未完待续

深入理解计算机系统之旅(四)处理器(CPU)的体系结构

1.前言 处理器是非常复杂的系统,它不是一蹴而就的,它是经过不断的升级.更新.设计之后的产物,并且现在还在保持着不断的更新. 处理器只能执行一系列的指令,每条指令都只是执行某个简单的操作,比如数字相加.指令同样也需要被编码,这些编码是由一定规则的0和1的二进制位组成,这些指令编码的统称就是处理器的指令集. 未完待续

深入理解计算机系统之旅(三)程序的机器级表示

1.前言 我们在使用高级语言比如C语言.OBjective-C以及Java等编写程序时,我们被屏蔽了程序的具体机器级的实现,这个屏蔽的工具就是编译器(Java是解释执行,但是它同样也需要将文本的源码进行一定的翻译,转换为字节码). 未完待续

《计算机组成原理》----第1章 计算机系统体系结构 1.1 什么是计算机系统体系结构

第1章 Computer Organization and Architecture: Themes and Variations 计算机系统体系结构 "弹珠游戏受到物理方面的约束,从根本上说是受到控制小金属球运动的物理规律的约束.视频世界却不知道这样的限制.弹珠在视频世界中飞翔.旋转.加速.改变形状和颜色.消失和再次出现.它们的行为就像计算机程序创造的任何物体的行为一样,仅仅受限于程序员的想象力.视频游戏中对象仅仅是真实对象的一种表现形式.视频游戏中的一个球和真实的球不一样,从不需要遵循重力定

C#中委托,事件理解入门

目录 l        导论 l        什么是委托 l        事件的理解 l        事件 关键字 l        最后     导论     在学习C#中的委托和事件过程中,我读了许多文章来理解他们二者究竟是怎么一回事,以及如何使用他们,现在我将整个的理解过程陈述以下,我学到的每一方面,恐怕也是你们需要掌握的 :-). 什么是委托?     委托和事件这两个概念是完全配合的.委托仅仅是函数指针,那就是说,它能够引用函数,通过传递地址的机制完成.委托是一个类,当你对它实例

[译] AI 能解决你的 UX 设计问题吗?

本文讲的是[译] AI 能解决你的 UX 设计问题吗?, 原文地址:Can AI Solve Your UX Design Problems? 原文作者:Mukund Krishna 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:Changkun Ou 校对者:Tina92.shawnchenxmu AI 能解决你的 UX 设计问题吗? AI Powered UX 马克·扎克伯格在 2016 年的重要新年决定之一就是建立属于自己的「简单 AI 机器人

王志东:云计算是个筐真云假云不重要

点击科技总裁王志东 "现在云计算很火,好像每个人都在讨论云计算. 说法很多,很多人都想知道,到底什么是云计算?"在昨天下午的CSDN CTO俱乐部第24期主题沙龙上,点击科技总裁王志东向与会的数十名技术管理者分享了他对云计算的理解. 云计算是个筐,什么玩意儿都可以往里装 "原来云计算是个筐,什么玩意儿都可以装:用户议论的其实是SaaS和Utility Computing(公用计算):工程师和学者关心虚拟化.网格.分布计算.并行计算:至于厂商嘛,看看自己口袋,里面有啥,云计算就

Introduce event delegate

导论     在学习C#中的委托和事件过程中,我读了许多文章来理解他们二者究竟是怎么一回事,以及如何使用他们,现在我将整个的理解过程陈述以下,我学到的每一方面,恐怕也是你们需要掌握的 :-). 什么是委托?     委托和事件这两个概念是完全配合的.委托仅仅是函数指针,那就是说,它能够引用函数,通过传递地址的机制完成.委托是一个类,当你对它实例化时,要提供一个引用函数,将其作为它构造函数的参数.   每一个委托都有自己的签名,例如:Delegate int SomeDelegate(string