目录

一、计算机系统概述

 1、计算机系统发展历史

 2、计算机系统组成

      硬件,软件

二、计算机工作原理

 1、存储程序和程序控制原理

 2、计算机的工作过程实际上是周而复始地读取指令、分析指令、执行指令的过程

三、shell

 1、CLI、GUI

 2、API,ABI


一、计算机系统概述

1、计算机发展历史

wKioL1g5o3fD_r9uAAIn7JBpNtg102.png

       在第二次世界大战中,美国政府寻求计算机以开发潜在的战略价值。这促进了计算机的研究与发展。1944年霍华德.艾肯(1900-1973)研制出全电子计算器,为美国海军绘制弹道图。这台简称 Mark I 的机器有半个足球场大,内含500英里的电线,使用电磁信号来移动机械部件,速度很慢(3-5秒一次计算)并且适应性很差只用于专门领域,但是,它既可以执行基本算术运算也可以运算复杂的等式。
   1946年2月14日,标志现代计算机诞生的ENIAC(The Electronic Numerical Integrator And Computer)在费城公诸于世。ENIAC代表了计算机发展史上的里程碑,它通过不同部分之间的重新接线编程,还拥有并行计算能力。ENIAC由美国政府和宾夕法尼亚大学合作开发,使用了18,800个电子管,70,000个电阻器,有5百万个焊接点,耗电160千瓦,其运算速度比Mark I快1000倍,ENIAC是第一台普通用途计算机。


2、计算机的组成

       一个完整的计算机系统应包括硬件系统和软件系统两大部分 

     计算机硬件是指组成一台计算机的各种物理装置,由各种器件和电子线路组成。各种物理器件,是计算机进行工作的物质基础。是计算机的“躯壳”。 

     计算机软件是指在硬件设备上运行的各种程序以及有关的资料。所谓程序是用于指挥计算机执行各种操作以便

完成指定任务的指令集合。计算机程序通常都是由计算机语言来编制,编制程序的工作称为程序设计。它是计算机的“灵魂”。 

“裸机”:没有软件的计算机通常称为“裸机”。 

理解:它们的区分犹如把一个人分成躯体和思想一样,躯体是硬件,思想则是软件。

wKioL1g5k5TQG2JQAADxgZ3R1L0309.png

1)计算机硬件系统 

  计算机硬件的基本功能是接受计算机程序的控制,并实现数据输入、运算、数据输出等一系列根本性的操作。在基本的硬件结构方面,一直沿袭着冯·诺伊曼的传统框架,即计算机硬件系统由运算器、控制器、存储器、输入设备、输出设备五大基本部件构成,


2)计算机软件系统 

      计算机软件,就是指支持计算机运行或解决某些特定问题而需要的程序、数据以及相关的文档。一台性能优良的计算机硬件系统能否发挥其应有的功能,取决于为之配置的软件是否完善、丰富。因此,在使用和开发计算机系统时,必须要考虑到软件系统的发展与提高,必须熟悉与硬件配套的各种软件。

分类:从计算机系统的角度划分,计算机软件分为系统软件和应用软件


系统软件

       系统软件是由计算机厂家作为计算机系统资源提供给用户使用的软件总称。指维持计算机系统正常运行和支持用户运行的应用软件的基础软件。 

功能:使用和管理计算机,为其他软件提供服务的软件,是支持应用软件运行的平台。它最接近计算机硬件,其他软件都要通过它利用硬件特性发挥作用。 

包括操作系统、程序设计语言、数据库管理系统和常用服务程序等。 


操作系统(Operating System简称OS):用户和计算机之间的接口 

① 概述:操作系统是计算机中用来控制和管理系统中的硬件资源和软件资源,并且提供用户支持的程序以及与之有关的各种文档。操作系统是最底层的系统软件,也是最重要的系统软件,它是对硬件系统的首次扩充,是整个计算机系统的管理控制中心。 

理解:它实际上是一组程序,用于统一管理计算机资源,合理的组织计算机的工作流程,协调计算机系统的各部分之间、系统与用户之间、用户与用户之间的关系。 

由此可见,操作系统在计算机系统占有重要的地位,所有其他软件(包括系统软件与应用软件)都建立在操作系统的基础之上,并得到它的支持和取得它的服务。从用户的角度来看,当计算机配置了操作系统后,用户不在直接操作计算机硬件,而是利用操作系统所提供的命令和服务去操作计算机,也就是说,操作系统是用户与计算机之间的接口。 

② 功能:内存储器管理、处理器管理、设备管理、文件管理、作业管理,即操作系统的五大任务。

③ 分类:按操作系统的功能可分为实时操作系统和作业处理系统。  

按操作系统所管理地用户数目可以分为单用户操作系统和多用户操作系统  

按操作系统使用环境和对作业处理的方式的不同,操作系统一般可分为:批处理操作系统、分时操作系统、实时操作系统、个人计算机操作系统、网络操作系统和分布式操作系统。 

④ 目前在微机上运行的操作系统主要有MS-DOS、Windows(Win98、Win2000、WinNT、Windows XP)、Unix、Linux等。  

DOS操作系统:是过去几年世界上最为流行的操作系统之一,它属于单用户、单任务、磁盘操作系统;

UNIX操作系统:是世界上应用最为广泛的一种多用户、多任务操作系统。 

Windows操作系统:为用户提供了最友好的界面,是一个多窗口单用户多任务的图形用户界面,目前已在各种微

机上得到了广泛地应用,对计算机的普及与应用的深入起到了明显的作用。 

理解:多用户操作系统一般来讲就是分时操作系统,若干终端联机使用同一台电脑。终端机只是一个输入输出设备(比如只有键盘、显示器、打印机),没有运算与存储能力。每个用户通过各自的终端机使用同一台计算机,计算机按设定好的时间片轮转为各个终端服务,使得每个用户感觉只有自己一人在使用计算机。多用户操作系统具有很强的交互性能。如UNIX、Linix,而最常见的Windows操作系统属单用户操作系统。 


程序设计语言 

① 概述:程序设计语言:用来编制程序的计算机语言,它是人们与计算机之间交换信息的工具,也是人们指挥计算机工作的工具。通常用户在用程序设计语言编写程序时,必须要满足相应语言的文法格式,并且逻辑要正确。只有这样,计算机才能根据程序中的指令做出相应的动作,最后完成用户所要求完成的各项工作。 

② 分类:一般它可分为机器语言、汇编语言和高级语言。

低级语言: 

       机器语言:由二进制代码组成、完全面向机器的指令序列。用机器语言编写的程序称为机器语言程序,又称为目标程序。 

       汇编语言:用自然符号来代替二进制指令代码,每一个符号对应一条机器指令的符号语言,即符号化了的机器语言。 

高级语言:接近于自然语言、易于理解、面向问题的程序设计语言。 

理解:机器语言和汇编语言都是面向机器的低级语言,它们对机器的依赖性很大,用它们开发的程序通用性很差,而且要求程序的开发者必须熟悉和了解计算机硬件的每一个细节,因此,它们面对的用户是计算机专业人员,普通的计算机用户是很难胜任这一工作的。而高级语言与计算机具体的硬件无关,其表达方式接近于被描述的问题,接近于自然语言和数学语言,易被人们掌握和接受。目前,计算机高级语言已有上百种之多

③ 计算机语言的发展:

wKiom1g5mWeBZ9yoAAA50_1VZ5Y700.png

语言处理程序:

① 概述:语言处理程序是将用程序设计语言编写的源程序转换成机器语言的形式,以便计算机能够运行,这一转换是由翻译程序来完成的。翻译程序除了要完成语言间的转换外,还要进行语法、语义等方面的检查,翻译程序统称为语言处理程序。 

② 分类:汇编程序、编译程序和解释程序三种。 

汇编程序:将用汇编语言编写的程序(源程序)翻译成机器语言程序(目标程序),这一翻译过程称为汇编。下面是汇编程序功能示意图:

wKioL1g5m7Tg5r22AABZPurb0HA183.png

编译程序:将用高级语言编写的程序(源程序)翻译成机器语言程序(目标程序)。这一翻译过程称为编译。对汇编语言而言,通常是将一条汇编语言指令翻译成一条机器语言指令,但对编译而言,往往需要将一条高级语言的语句转换成若干条机器语言指令。高级语言的结构比汇编语言的结构复杂得多。 

解释程序:边扫描边翻译边执行的翻译程序,解释过程不产生目标程序。解释程序将源语句一句一句读入,对每个语句进行分析和解释。 

③ 工作方式:采用以下两种方式工作 

编译方式:把高级语言源程序整个翻译成目标程序。(编译程序) 运行编译 

解释方式:把高级语言源程序的语句逐条解释执行,但是并不产生目标程序。(解释程序)解释 


数据库管理系统(Data Base Management System,DBMS): 

① 概述:以数据库的方式组织和管理数据,通过DBMS实现数据的整理加工、存储、检索和更新等日常管理工作。 

② 功能: 

对数据库的建立与维护功能; 

对数据库中的数据进行排序、检索和统计的功能;  数据或查询结果的输出功能;

方便的编程功能; 

数据的安全性、完整性以及并发控制等功能; 

③ 目前常用的数据库管理系统有Microsoft Access 、Oracle、Sybase、Visual FoxPro等。


2、应用软件

① 概述:应用软件指专门为解决某个或某些应用领域中的具体任务而编写的功能软件。

② 目前常用的应用软件有: 文字处理软件  Word   WPS 表格处理软件   Excel 

辅助设计软件   AutoCAD  3DS Max  Photoshop 

信息管理的软件  财务管理系统、仓库管理系统、人事档案管理系统、设备管理系统、计划管理系统 


二、计算机的工作原理

冯.诺依曼思想:存储程序和程序控制原理 

计算机的工作过程实际上是周而复始地读取指令、分析指令、执行指令的过程,计算机的工作过程如下: 

(1)五大部分之间的关系如图所示:

wKiom1g5ngSypZuPAABy3rU16mw546.png

  程序输入到计算机中,存储在内存储器中(存储程序),在运行时,控制器按地址顺序取出存放在内存储器中的指令(按地址顺序访问指令),然后分析指令,执行指令的功能,遇到转移指令时,则转移到转移地址,再按地址顺序访问指令(程序控制)。程序存储在内存中。计算机执行程序,就是从内存中读出一条指令到CPU内执行,执行完后再从内存中读出下一条指令到CPU内执行。 

例如:建立一个word文件并打印输出。这一案例的操作和数据处理过程如下: 

① 通过windows操作系统建立一个新的word文件,这实际上是在内存中开辟了一块存储区,用来暂存文件内容,以便于用户对文件进行编辑加工。 

② 用户通过鼠标和键盘操作输入文件内容,对文件进行编辑加工等,这实际上是对内存区中的数据进行录入和修改操作。

③ 文件内容输入和编辑加工完成之后,进行“保存或另存为”操作以防止文件丢失,这实际上是将内存中的文件存储到硬盘中。此时若文件未关闭则内存、硬盘中同时存有文件内容。若文件关闭则文件内容只在在硬盘中。 

④ 当发出“打印”操作命令时,计算机将内存中的文件内容送到打印机打印成文件形式。此时,若文件不在内存中需要通过鼠标单击打开文件,即将文件内容从外存调入内存。在整个过程中CPU不停地执行相关的软件程序,协调人、内存、外存和输入/输出设备之间的工作,使每一项指令得到准确的执行,保证任务顺利完成。


三、shell

1、shell是什么

     在计算机语言中,shell是指一种命令行解释器,是为用户和操作系统之间通信提供的一种接口。

它接受来自用户输入的命令,并讲其转换为一系列的系统调用送到内核执行,并将结果输出给用户。

wKiom1g52YKz5J4FAAONXz_uPHc609.png

shell分为两大类:

一类是图形界面shell(Graphical User Interface):

        Gnome,KDE,Xface(嵌入式轻量级桌面系统)

另一类是命令行式shell(command Line Interface):

        sh,bash,ksh,zsh,tcsh


用户模式:用户指令:

系统模式(内核模式)特权指令:访问硬件

库(动态库):应用程序的共享部分

                      提供共享功能模式,减少程序体积

                      windows:dll文件(dynamic link labrary)

                      so:shared object 

   

源代码可移植性:

API:Application Programing Interface     应用编程接口

        定义库和库的调用编程规范

       IEEE(电气和电子工程师协会):POS(Portable Operating System)-->POSIX

                       定义了统一的API接口规范 

二进制:

ABI:Application Binary Interface       应用二进制接口
         编译后成二进制就和编译时的平台(内核,cpu(32位,64位))有关联,就不能再移植了

         二进制格式:exe 和 ELF


CPU架构类型:

复杂指令集:

     x86:intel,and 32bits,64bits    

    arm:32bits,64bits


精简指令集:

IBM Power:                      

       Powerpc:

SUM sparc,unlrasparc

HP alpha: