计算机硬件系统与游戏,第一课:计算机硬件与操作系统 | 章鱼哥的Linux小课堂...

硬件简介

计算机这个名词对于99%的人可能都不陌生,也就是我们常说的”电脑“,为啥叫电脑呢?因为其就像使用电的大脑一样,具有无穷无尽的能力和智能。

每个人购买计算机的用途都不同,有的为了打游戏,有的为了上网、看电影、网购、学习等,但想想我们当初第一次遇见计算机时,我们是什么样的心情和心态?为什么这样一台”铁疙瘩“能够满足我们那么多需求?

Personal_Computer.jpg

当我们按下开机按钮的那一刻,屏幕上瞬间显示了绚丽的蓝天白云的画面并伴随着清脆的”当啷当啷啷“开机音效,然后我们就可以嘿嘿嘿了,鼠标点一点、键盘敲一敲,这个图标点点,那个图标点点。

可是到底是什么原因,能让一台冰冷的机器显现出如此美好的景象:

计算机图形学:利用算法在计算机中表示、存储、显示二维/三维图形。

计算机的强大的计算能力:如它的名字一样,其目的就是为了辅助计算。 计算机组成 可能大多数人都有装机的经验,我们从市场、网购平台购买机箱、电源、主板、CPU、内存、硬盘、显卡等设备进行计算机的DIY,组装出属于我们自己独一无二的计算机固然令人激动,但我们更应该了解计算机的基本组成。 为了完成计算任务,每一台计算机都应有以下五个基本部件:

输入设备(Input Device):在计算之前,难道我们不应该将需要计算的数据或计算过程输入给计算机吗?最基本的输入设备是键盘。

输出设备(Output Device):当计算机根据我们输入的计算过程将数据计算之后,计算机怎么告诉我们它计算的结果呢?总不能进行意念传输吧,所以我们还是需要某些设备将计算机的输出结果返回给我们,最基本的输出设备是显示器、打印机。

存储设备(Storage Device):当我们把数据和计算过程输入到计算机之后,计算机可能并不会立即进行计算,拿我们自身来说,计算一个复杂的函数可以使用心算吗?emm..当然要排除那些天赋异禀的神童,通常我们会将函数和数据写在纸上,然后一步一步的对其进行计算,那么计算机也是一样的,其需要某种设备存储输入数据、计算过程、中间数据和结果,最基本的存储设备是内存和硬盘。

逻辑算术单元(Arithmetic And Logic Unit):计算机中最核心的部件之一,为了完成计算任务我们有了输入设备、输出设备、存储设备,但是谁帮我们计算呢?总不能还是动用我们聪明的大脑去计算吧?所以聪明的人类就使用某种机械装置来替我们完成算术运算和逻辑运算,例如加减乘除等。

控制单元(Control Unit):输入设备是怎么知道什么时候输入的数据会进入存储设备?为什么输出设备输出的是计算结果而不是中间数据呢?ALU又是怎么知道收到数据后应该怎么做呢?总要有个指挥的人吧?一个交响乐团没有指挥还能演凑出那么美妙的音乐吗?控制单元就相当于交响乐团中的指挥家,它调动着其他设备协同工作,具体的说控制单元通过读取、解释、执行特殊的指令指挥其他设备工作。

ALU和Control Unit通常被集成进一个硬件,也就是我们熟悉的中央处理单元(CPU) 冯·诺依曼

约翰·冯·诺伊曼原名诺依曼·亚诺什·拉约什,是出生于匈牙利的美籍犹太数学家,是现代电子计算机与博弈论的重要创始人。

xvon_Neumann.gif.pagespeed.ic.vUDg-zr8Bf.webp

诺伊曼与戈德斯坦、勃克斯等人在1945年6月联名发表了一篇长达101页的报告,也就是计算机史上著名的EDVAC报告书,该报告书是现代计算机科学发展里程碑式的文献,在不久的1951年,EDVAC计算机宣告完成。

该报告书中明确规定使用二进制代替十进制运算,并将计算机分成五大部件,这一卓越的思想为电子计算机的逻辑结构设计奠定了基础,这种结构也被叫做冯·诺伊曼结构或普林斯顿结构,具有如下特点:

以运算单元为中心

采用存储程序原理

存储器是按地址访问、线性编址的空间

控制流由指令流产生

指令由操作码和地址码组成

数据以二进制编码

这种开创性的结构解决了当时计算机仅包含固定用途程序的窘境,例如我们现在使用的计算器就只能进行数学计算等,它不能进行文字处理,更不能进行游戏,要想改变计算器的这种行为,我们必须更改其结构、线路,甚至重新设计它。

而冯·诺伊曼结构这一概念改变了这种行为和窘境,通过创造一组指令集结构将计算机的运算转化成了一串程序指令的运行细节,让计算机更富有弹性,从而实现更多更丰富的功能。

简单的来讲,我们事先编写程序,然后存储程序到存储器中,输入程序所需数据,经过运算单元运算,通过输出设备得到输出结果。

可以看到,这就是我们现在所使用的计算机的操作流程。

流量瓶颈,通常运算单元和控制单元所组成的CPU是非常快速的,但存储器的读取和访问却相对较低,这就造成了CPU大多数时间都在等待数据的读入和读出。

操作系统

上面我们也说了,现代计算机多采用冯诺依曼结构,需要采用特殊的指令(由硬件厂商实现)编写程序并存储才能够操作我们购买的这一坨“铁疙瘩”,这种繁琐的行为太专业了,无法使得计算机对个人推广(并不是每个人都有使用指令操作机器的能力),正因为如此,我们有了操作系统(Operation System)。

操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,其主要作用是管理好硬件设备,提高它们的利用率和系统的吞吐量,并为用户和应用程序提供一个简单的接口,便于用户使用。

WindowsXP.jpg

操作系统的目标

方便性:没有装OS的计算机你敢用吗?你会用吗?反正我是不会。

有效性:提高资源利用率,你手里的计算器你用了多少回?是不是空闲状态比较多?

可扩充性:OS从早期的无结构发展成模块化结构,进而发展成层次化结构甚至微内核结构

开放性:OS并不能单打独斗,应遵循世界标准规范,例如现在的网络,系统中没有实现TCP/IP协议栈你还玩吗? 操作系统的作用

OS作为用户与计算机硬件系统之间的接口 OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统,换句话说,用户在OS的帮助下,能够方便、快捷、可靠地操作计算机硬件和运行自己的程序,如下图所示:

OS作为计算机系统资源的管理者 在计算机系统中,通常都含有多种硬件和软件资源,概括的可以将这些资源分为四类:处理机、存储器、IO设备以及文件(数据和程序),OS的主要功能也正是对这四类资源进行有效的管理,例如处理机管理是用于分配和控制处理机,存储器管理主要负责内存的分配与回收,IO设备管理负责IO设备的分配与操纵,文件管理则实现对文件的存取、共享和保护等。

OS实现了对计算机资源的抽象 对于一台完全无软件的计算机系统来说,由于它提供的仅仅是硬件接口,因此用户必须对物理接口的实现有充分了解才能够操纵它,而OS则应当对这种物理接口进行抽象,从而简化用户的操作,例如对于IO设备来说,由OS将其抽象为一组数据结构和IO操作指令,例如read和write命令,使得用户不必充分了解硬件的实现细节也可操作硬件,如下图所示:

操作系统的分类

分类总归是要有个标准的,以下将按照操作系统的工作方式进行分类:

批处理操作系统:作业以批次为单位顺序处理,一批作业没有处理完毕后才能继续进行处理下一批作业。

分时操作系统:将CPU分为时间片,将资源在时间上切割,轮流的让多道作业或程序运行一定的时间。

实时操作系统:当某个作业或程序运行时,操作系统会“马上”执行该任务,不会有较长的延时。

网络操作系统:在网络环境下实现对网络资源的管理和控制。

分布式操作系统:有多台物理上独立但互联的计算机系统组成,当需要处理某个任务时,需要协调每个节点共同完成。

操作系统的主要功能

处理机管理

进程控制 使程序和作业能够并发执行,应为程序或作业创建一个或多个进程并分配相应的资源,当进程运行结束时应撤销该进程并回收该进程占用的资源。

进程同步 为使多个进程有条不紊地运行,系统中应设置相应的进程同步机制,例如进程互斥的方式。

进程通信 进程间往往是合作的关系,这就要求为其设置某种通信机制,使其可以互相通信,例如共享内存和管道。

调度 为了更好的利用处理机,系统应当对进程进行调度,什么时候应该执行哪个进程,什么时候不应执行哪些进程。

存储器管理功能

内存分配 为进程分配内存空间,减少内存碎片

内存保护 每个进程的内存空间应为独立的,不受其他进程干扰的。

地址映射 依据冯诺依曼结构,存储空间应为线性编址的,但为了每个进程所占内存空间的独立性,进程所在内存空间通常都是从0进行编址的,这也叫做逻辑地址空间,如何将逻辑地址空间映射为物理地址也是操作系统需要处理的。

内存扩充

设备管理功能

缓冲管理 在IO设备和CPU之间引入缓冲,可以有效地缓和CPU和IO设备速度不匹配的矛盾。

设备分配

设备处理

文件管理功能

文件存储空间管理

目录管理

文件的读/写管理和保护

操作系统与用户之间的接口

用户接口

程序接口

以上这么多功能在章鱼哥的Linux小课堂中都…..

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值