首页 > 代码库 > 计算机基础

计算机基础

---恢复内容开始---

计算机基础

  一.引言

     基础计算机课程共分成四大块:计算机组成原理,数据结构,操作系统和计算机网络。今天兄弟总结了一点点干货给大家瞧一瞧,算做一个入门,嘿嘿!

  二.计算机基础介绍

   (一)计算机组成

    1.计算机层次结构

    计算机硬件 +系统软件+应用软件

    2.计算机组成和计算机体系结构

    计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、寻址地址组成及I/O机理等。计算机组成是指如何实现体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的系统和功能,及相互连接方法等。

    3.计算机的构成

    硬件系统+软件系统

      硬件系统 :运算器+控制器+存储器+输入设备+输出设备

        运算器:是负责算数运算与逻辑运算。与控制器共同组成了中央处理器(CPU)

        控制器:是负责发送和接收指令

        存储器:是用来存储正在进行程序,将要进行程序的数据及刚处理完的数据

        输入设备:是用来进行输入的设备。如键盘,扫描仪等

        输出设备:是用来进行输出的设备。如显示器,音箱等。

        主板:安装了组成计算机的主要电路系统,一般有BIOS芯片,I/O控制芯片,键和面板开关接口,指示灯插接件,扩充插槽,主板及插卡的直流电源供电接插件等元件。

技术分享

 

      软件系统:系统软件+应用软件

    4.硬件,软件及用户的关系:

       硬件是基础,硬件通过系统软件控制来启动硬件,并让各个硬件之间相互协同工作,在系统软件的基础上是用户,用户操纵的是操作系统,并在系统软件的基础上安装相应的应用软件,来完成用户所需的工作。所以说最底层的是硬件,硬件上是系统软件,系统软件上一层是应用软件,而最上层的是用户。

    5.编程语言

      1.用来定义计算机程序的形式语言,分为机器语言,汇编语言和高级语言。

      2.编程语言被设计专门使用在计算机上,用来定义算法和数据结构。

 

   (二)数据结构

   1.数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关  

 

   (三)操作系统

   1.操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口,功能包括管理计算机系统的硬件,软件及数据资源,控制程序运行,改善人机界面,为其他应用软件提供支持,为其他软件的开发提供必要的服务和相应的接口等。实际上,用户不用接触操作系统的,操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源,如划分CPU时间,内存空间的开辟,调用打印机等。

  2.操作系统发展

   第一代(真空管和穿孔卡片)——第二代(晶体管和批处理系统)——第三代(集成电路芯片和多道程序设计)——第四代(个人计算机)

     (四)计算机网络

  1.计算机网络,是指将地理位置不同的具有独立功能的多肽计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

  2.网络七层模型

  应用层: 网络服务和最终用户的一个接口 HTTP FTP SMTP TFTP SNMP DNS TELNET HTTPS POP3 DHCP

  表示层:数据的表示,安全,压缩。(若5层则加入应用层)格式: JPEG ASCII DECOIC 加密格式

  会话层: 建立,管理,终止回话。(若5层则加入应用层)对应主机进程,指本地主机和远程主机正在进行的回话。

  传输层: 定义传输数据的协议端口号,以及流控和差错校验。TCP UDP 数据包一旦离开网卡即进到网络传输层。

  网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。ICMP IGMP IP(IPV4 IPV6) ARP RARP

  数据链路层:建立逻辑链接,进行硬件地址寻址,差错校验等功能。(由底层网络定义协议)将比特组合成字节从而组合成帧,用MAC地址访问介质,错误发现但不能纠正。  

  物理层:建立,维护,断开物理衔接。(由底层网络定义协议)

  3.IP地址分类

    (1)公有地址:Inter NIC机构分配给注册组织机构的IP地址。

    (2)私有地址:

            A类:10.0.0.0~10.255.255.255      子网掩码:255.0.0.0

            B类:172.16.0.0~172.31.255.255     子网掩码:255.255.0.0

            C类:192.168.0.0~192.168.255.255    子网掩码:255.255.255.0

    

 

 

    三.计算机工作过程

    根据冯·诺依曼的设计,分为:1.取出指令 2.分析指令 3.执行指令 4.为执行下一条指令做好准备,即取出下一条指令地址

技术分享

 

    四.计算机硬件介绍

    (一)流程:内核-CPU(发送指令集)-寄存器—内存-操作系统-应用软件

        (二)CPU:发送指令集(取指令-解码-执行)

    (三)内存:负责临时存储

    (四)寄存器:保存关键变量和临时数据

            分类:1.通用寄存器 帮忙保存临时变量

               2.程序计数器 保存将要取出的下一条指令的内存地址,指令取出后,程序计算器就被更新以便执行后期的指令。

               3.堆栈指针 指向内存中当前栈的顶端,该栈包含已经进入但还没有推出的每个过程中的一个框架,在一个过程的堆栈框架保存了有关的输入参数,局部变量及那些没有保存在寄存器中的临时变量。

               4.程序状态字寄存器(PSW)包含条码位(由比较指令设置),CPU优先级,模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但只对其中少量的字段写入。在系统调用和I/O中,PWS!!!

    (五)堆栈,堆,队列 !!!

       队列只能在队头做删除工作,在队尾做插入工作,而栈只在栈顶做插入和删除操作。队列好比火车进洞,“先进先出,后进后出“,

       栈就是一个桶,“先进后出,后进先出“

       堆是在程序运行时,不是在程序编译时,申请某个大小的内存空间,即动态分配内存。堆可以随心所欲的增加和删除变量,不遵循什么次序,开心就好-.-

       堆是程序运行中申请的动态内存,栈只是一种使用堆的方法“先进后出”,两者都是存放数据的地方。

    (六)处理器的设计

        流水线式的设计,执行n,对n+1解码,并读取n+2。

    (七)CPU的两种模式

        内核态:执行指令集所有指令(全能)

        用户态:仅执行指令集中一个子集(权限控制)

        内核态?用户态 (系统调用) 通过操作系统改二进制

    (八)多线程和多核芯片

        1.进程:资源单位(地铁n号线)   线程:执行单位(线路)

        2. Intel和AMD      (L2缓存比内存快点)

        技术分享

 

          技术分享

 

 

     (九)存储器

        1.分类:  寄存器,高速缓存,内存,磁盘,磁带

        2.寄存器:L1缓存

           高速缓存:L2缓存

           主存:随机访问存储RAM,易失性存储,断电后数据全部消失

         非易失性随机访问存储:ROM(不能修改),EEPROM和闪存(flash memory) (可擦除和重写,但时间比ROM多)

         易失性存储:CMOS,保存当前时间和日期,如电池驱动,还可以保存配置的参数,省电。

     (十)磁盘

        1.数据存放一段段的扇区

        2.8个bit=1Bytes    bit:二进制位

         1024Bytes=1kB

         1024kB=1MB

           一个block=8个扇区

        3.虚拟内存

          将正在使用的程序放入内存中执行,暂时不需要的程序放到磁盘的某个地方。

          swap交换分区

          PCB:上下文切换,CPU从一个进程或线程到另一个进程或线程,只发生在内核态中。

      (十一)磁带

         1. 同价钱比硬盘更大存储量,易携带,但速度慢。

         2.平均寻道时间:机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置

         3. 平均延迟时间:机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间

      (十二)I/O设备

         1.组成:设备控制器和设备本身

         2.设备驱动:逻辑设备名转换成设备的物理地址,启动指定的I/O设备,完成程序规定的I/O操作,并对由设备发来的中断请求进行及时响应,根据中断类型进行相应的处理。

         3.控制方式:

  有四种I/O控制方式,即程序I/O控制方式、中断驱动I/O控制方式、直接存储器访问DMA控制方式及I/O通道控制方式。

 

程序直接控制方式的工作过程非常简单,但在循环测试中浪费了大量的CPU处理时间,所以CPU的利用率相当低。

 

用中断方式交换数据时,每处理一次I/O数据交换,都会耗去一定的CPU处理时间,为减少中断对CPU造成的负担,对于一些高速的外围设备,以及成组交换数据的情形来说,例如磁盘驱动器,仍然显得速度太慢。可以将一部分I/O任务交给一个的专用DMA控制器。

 

DMA方式一般用于高速传送成组的数据。其优缺点如下:

 

优点:操作均由硬件电路实现,传输速度快,CPU仅在初始化和结束时参与,不干预数据传送,可以减少大批量数据传输时CPU的开销。CPU与外设并行工作,效率高。

 

缺点:DMA方式也有一定的局限性,这是因为DMA方式在初始化和结束时仍由CPU控制,DMA方式周期挪用内存总线,CPU和DMA交替访问内存,通过硬件线路分时地控制这两者对总线的使用权,使得CPU计算效率下降。

 

      (十三)总线

         1.北桥: 即PCI桥,连接高速设备

         2.南桥:即ISA桥,连接慢速设备

      (十四)计算器启动过程

         加电——BOIS运行,检测硬件(cpu,内存,硬盘)——BIOS读取CMOS存储器中的参数,选择启动设备——从启动设备行读取第一个扇区的内容(MBR)——根据分区信息读入bootloader启动装载模块,启动操作系统——操作系统询问BIOS,获得配置信息——初始化相关表格,加载进程,并在终端启动登录或GUI

      (十五)应用程序的启动过程

        点击应用程序(软件)→软件将数据写入内存→CPU从内存中读取数据并执行然后返回内存→启动软件

       

      

        

 

 

 

 

 

 

---恢复内容结束---

计算机基础