从计算机底层架构到操作系统和计算机网络概念(本科知识)

以下完全属于个人框架总结,如有异议可自行查阅

一、从起源到计算机体系架构
1、 从计算机的起源开始,顾名思义 计算机是一台会计算的机器。人们为了让工业代替工人劳动力而发明出来的。早期的计算机就像一个电源开关,只有开和关 两种状态,也就是0和1. 后来呢,聪明的人类发现,0 和1 只能有两种状态,能不能用00 01 10 11 来表示四个功能,所以人们开始使用了逻辑电路,也就是说,我给你两条线,两条都关的话就是某个功能,其中一个开是另一个功能等等。后来,你知道,人嘛总是欲壑难填,永远不满足,就想通过更多的线路来实现更多的功能,所以出现的“总线”这个词,接着就出现了“位”这个词,等于说,有多少根总线就有多少位。在大一的数字逻辑电路里面学到,通过两根线可以实现“与、或、非、异或、同或”等数学逻辑计算功能门,啥叫“门”呢?就是有进有出,中间经过逻辑计算,所以引出了“输入输出”。经过多个逻辑电路门组合可以得到更多的功能门,所以有了“计算器、定时器、计数器、寄存器”等。后来有了人类的第一台计算机,冯罗伊曼计算机,所以我们学的东西基本上都是基于冯罗伊曼体系结构。
2、 经过慢慢延伸,有了计算中心,也就是cpu,早期的cpu只有4位和8位微型处理器,慢慢出现了16 32 64 位的cpu,也就是我们所说的多少位总线。后来人们发现数据这些2进制多了很难表示,所以有了字节,字,位等概念,进而延伸出“数”的表示等问题,也就是整形,浮点型等 组成原理第二章讲的应该就是“数的计算”。至于怎么转换,就你自己看书了。后来有了小型计算机,也就是8051单片机,是集8位cpu,计数器,寄存器,输入输出的微型计算机,属于冯罗伊曼体系结构。
3、 然后再延伸,计算机要做一件事,你总要告诉它怎么做,在哪里做,放在哪儿等前提吧?所以出现了“指令”这个概念,就是说,我给你很多门和很多房间(房间号),每个房间放有东西,你去拿出来做某个事情,然后放在某个房间里面去,或者执行相应的输出功能。所以有了“指令,寻址,编码”等词汇。这些都是概念。然后拿出来了怎么计算呢?要干什么呢?所以有了“加减乘除”的运算模式。然后计算完了要放进房间的话怎么放呢?房间就是存东西的,在计算机里面叫“存储器”,在对存储器来讲,就讲了ram和rom 等概念,一个是你很容易拿的,一个是你拿起来需要花费时间的!因为这个原因所以有了数据结构里面的时间复杂度和空间复杂度。
4、 然后是cpu,cpu里面就理解一个功能,“计算”,呐,要计算总要告诉它怎么算,什么时候开始算吧。所以有了“指令”每个指令代表一个功能,对指令的划分有简繁之分,所以有了精简指令集RISC和复杂指令集,和“时序”就是什么时候开始算,算多久。然后人们又发现,一个人干事太慢了,干脆再加一个人,所以有了“多核”这个概念,也就是多个“运算单元”。然后计算机做完事情要反馈给用户,所以有了输出,也就是IO,IO分鼠标键盘显示器和硬盘光盘磁盘等。

二、数据结构
还有就是,计算机在计算的时候,拿什么来算呢?当然是数据咯,呐,数据是什么,是计算机的计算对象。也就是把一连串的数据,拿到计算机里面去执行相应的功能。那数据怎么存呢?用什么样的形式呢?也不能什么数据都能往计算机里面扔吧,不然就乱了!所以有了数据结构,什么数据结构呢?
1、 百度百科是这么说的:数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
所以数据结构就是把一连串的2进制代码按照特定的关系组合起来,然后计算机好算。这个地方先讲一下“语言”,最开始的计算机是2进行码来实现的,后来因为位数太多,发现二进制太长容易出错,就有了汇编语言,也算是用一种规定的指令形式去表示一长串二进制的功能,那计算只接受2进制怎么办呢?任何事情都难不倒聪明的人类,所以有了编译器,把汇编语言编译为2进制码。所以编译器就诞生了!后来人们又发现,汇编指令太多,很多容易忘记,而且容易写错,慢慢的人们就发明了一种高级语言——C语言,记住,C语言是第一门高级语言!
2、 人类是真的聪明,用高级语言去把数据组合起来,然后再编译为2进制码,然后给计算机执行。数据结构最前面应该是讲顺序表把?顺序表不用多说,就是按照顺序存放的,这样放有好处也有坏处,好处呢就是所有的都按照顺序放就没事, 但如果我只想改变其中一个呢?我还得从头开始找,一间一间房间问,喂,你是不是XXX啊?不是啊,不是我去下一家!喂,你是不是我好朋友啊?是啊!好了,就是你 ,然后你跟着我走了。找了好久才找到你,你说麻烦不麻烦嘛!所以人们希望后人们不要这么累,想直接一点,快一点,不要浪费时间!所以有的链表,给你每个人发一个身份证,告诉我你的地址,然后我就可以很快的去按照门牌号找你了呀,就不需要敲门问你是不是了!人们发现还是有点慢,还浪费空间,所以有了栈、队列、到后面的树、图、堆、散列表等概念。
3、 数据结构讲到最后就一件事——“数据的存取”。“时间复杂度和空间复杂度”是衡量一套数据存取方法的标量。也就是围绕这几个词去干事情!呐,到后面有用一个“增删改查排”把整本书给打发了。好像也没讲什么重要知识哈?

三、操作系统
接下来呢,人们发现基本的计算机是可以用了,但那时候人们的计算机就一个黑白界面,也就是我们用windows的cmd和linux里面的字符界面一样,全是一行一号的去写,还有我得让人们清晰的看到计算机计算过程中的输出和表达吧。所以人们又发明了操作系统。什么是操作系统呢?是管理计算机软、硬件的一个计算机程序。记住,他是一个程序,是人们编写出来的,和硬件组成无关。只是人们为了好管理硬件和使用软件才发明的程序。既然他是一个程序,咱就很容易理解了,程序有什么,有输入输出啊!操作系统干的事就是,把数据从存储拿出来放到cpu去计算,然后反馈到IO。就这么简单不过了。
那它具体干了些什么呢?处理器管理、存储器管理、设备管理、文件管理。按照这个划分去看书,应该没什么大问题吧?说白了,就是管理,具体怎么管理,就你去看书了哈。这里我讲操作系统的发展,第一种操作系统是一个实验室叫贝尔还是啥写出来的unix操作系统,当时系统比较精简,没有公开使用,后来一个学生去那边参观了该系统后,自己回实验室按照unix自己写了一个操作系统,叫linux,他写出来后就发到网上,作为开源系统,让全世界的能人使用和往里面添加功能,所以发展到今天,linux是唯一一个很好用,使用比较广泛,且开源的操作系统。在多年后才有了windows,该系统在linux下去改动,但实现方法和功能上基本一致。到今天出现很多操作系统,都应该归功于linux那个小哥哥吧!!!
还有很多专业知识,我看的一本书叫《linux 内核操作系统》。

四、计算机网络
计算机网络,网络这个东西,是人们在使用电脑后,发现我电脑上的东西和你电脑上的东西不能互传,必须借硬盘或者移动磁盘的硬件设备,所以人们为了让数据的共享,也就创造了计算机网络。记住一句话:到目前为止,计算机网络还没有一套很成熟的体系结构。所以不要往体系结构上扯!!!
所以整本书讲到最后,好像都只是在讲实现技术。也许将来的某一天,人们就成立了一套计算机网络体系结构,或者网络被其他媒介替换掉吧。
1、 网络是怎么形成的呢?就是把每台电脑设置成相同的协议进行组合,就好像结婚一样,某A和B结婚的话,将组成一个新的幸福美满家庭!A对B说xxx我爱你!我想和你结婚。 然后通过孩子中间这个媒介,让我和你进行数据的传输!
2、 按照大小来分,网络分为局域网,城域网、广域网、无线网。除了两点之间,三个以上都必须要有媒介,也就是中间商赚差价,网络服务器就是中间商,他可挣钱了。
3、 写累了,还有很多,得以后你自己慢慢去总结!我相信没多久,你自己脑子中也会有一套你自己的计算机框架!(其实每个人都有一套自己的框架吧)我好多都是本科一位超级棒的专业老师告诉我的,他可爱吹牛了,一喝酒就吹牛!不过还是学到了很多东西!感恩!

你可能感兴趣的:(从计算机底层架构到操作系统和计算机网络概念(本科知识))