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

计算机基础

1. 编程语言

         编程把我们希望由计算机来完成工作写下来,然后交给计算机去执行。
    计算机编程语言可分低级语言、汇编语言、高级语言。
      低级语言---机器语言(二进制)由0和1组成。
    汇编语言---跟机器语言差不多。由一连串数字表示单词。
    高级语言---C、C++、JAVA、Python、GO等。


2.操作系统

   常见操作系统:Unix , Linux , Windows , Android , ISO 等。

   计算机:硬件--操作系统--应用软件。

    操作系统位于底层硬件与用户之间,是两者沟通的桥梁。
    操作系统拥有使用硬件的全部指令,而应用软件只有其中一个子集。

3.硬件

  处理器(CPU): CPU是计算机核心,它一直重提取指令-->解码-->执行过程。

     cpu从存储器中取出指令,放入指令寄存器并对指令进行解码,把指令分解为一系列微操作,

           然后发出各种控制命令,执行微操作,从而完成指令的执行。

      处理器有内核态和用户态

     操作系统可以在内核态运行,应用程序只能在用户态运行。

            操作系统处于内核态时,可以执行cpu所有指令 。

      应用程序处于用户态时,只能执行cpu的一部分指令。

     内核态,用户态的切换
           操作系统由操作系统内核(工作于内核态)和系统调用(工作于用户态)组成

     应用软件需要使用硬件资源时,通过使用系统调用,然后操作系统使用TRAP指令把
     用户态转换成内核态,由操作系统使用硬件资源为应用软件提供服务。

     存储器

              技术分享

 

    寄存器即L1缓存:第一级缓存称为L1总是在CPU中,通常用来将已经解码的指令调 入cpu的执行引擎
              高速缓存即L2缓存:二级缓存L2,用来存放近来经常使用的内存字

      L1与L2的差别在于对cpu对L1的访问无时间延迟,而对L2的访问则有1-2个时钟周期(即1-2ns)的延迟。

        CMOS也是一种存储器:它是易失性的,许多计算机利用CMOS存储器来保持当前时间
    和日期。CMOS存储器和递增时间的电路由一小块电池驱动,所以,即使计算机没有
    加电,时间也仍然可以正确地更新,除此之外CMOS还可以保存配置的参数,比如,
      哪一个是启动磁盘等,之所以采用CMOS是因为它耗电非常少,一块工厂原装电池往
        往能使用若干年,但是当电池失效时,相关的配置和时间等都将丢失

      磁盘

技术分享

    每个磁头可以读取一段换新区域,称为磁道
    把一个戈丁手臂位置上所以的磁道合起来,组成一个柱面
    每个磁道划成若干扇区,扇区典型的值是512字节


    数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一 段数据需要经历寻道时间和延迟时间

             平均寻道时间:机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间, 找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道
           数据具体这个圆圈的具体位置
     平均延迟时间:机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下, 这段时间成为延迟时间

 
    虚拟内存:实际是硬盘分出一部分空间,当做内存来使用。系统将正在使用的程序 放入内存取执行,而暂时不需要执行的程序放到虚拟内存中。

 4.计算机启动

 

启动流程

 

1.计算机加电

 

2.BIOS开始运行,检测硬件:cpu、内存、硬盘等

 

3.BIOS读取CMOS存储器中的参数,选择启动设备

 

4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为
分区信息,最后两个为标志位)

 

5.根据分区信息读入bootloader启动装载模块,启动操作系统

 

6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否
存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系
统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启
动登录程序或GUI

 

计算机基础