首页 > 代码库 > 计算机基础
计算机基础
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
计算机基础