计算机基础
一.编程语言的作用及与操作系统和硬件的关系
编程语言就是程序员和计算机之间沟通的介质。而操作系统是用来控制硬件的,所以说我们开发时,需要调用操作系统为我们提供接口就可以。比如程序员给计算机输入指令,计算机在接收指令之后给cup开始收取指令,分析指令,执行指令。之后交给计算机的硬件去执行。
1.应用程序-》操作系统-》硬件
2.cpu-》内存-》磁盘
二.cpu与寄存器
1.cpu
cpu从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。
2.寄存器
a.通用寄存器:保存变量和临时结果
b.程序计数器:保存将要取出的下一条指令的内存地址
c.堆栈指针:包含已经进入但是还没有退出的每个过程中的一个框架
d.程序状态字寄存器:包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位
三.内核态与用户态及如何切换
内核态:cpu可以执行指令集中所有的指令
用户态:只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分
如何切换:用户程序必须使用系统调用,系统调用陷入内核并调用操作系统,TRAR指令把用户态切换成内核态,并启用操作系统从而获得服务
四.存储器系列
1.L1缓存:用和cpu相同的材质制成,cpu访问它没有延时
2.L2缓存:高速缓存的存取
3.内存(RAM):随机访问存储RAM“主存是易失性存储,断电后数据全部消失”
4.EEPROM和闪存:非易失性,可以擦除和重写
5.CMOS与BIOS电池:易失性,CMOS主要用来保持当前时间和日期;BIOS电池给CMOS通电,保持正常运行
五.磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MMU
1.磁盘结构:扇区,磁道,柱面
2.平均寻道时间:机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻道时间
3.平均延迟时间:机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间
4.虚拟内存与MMU:讲正在使用的程序放在内存取执行,而暂时不需要执行的程序放到磁盘的模块地方,这块地方成为虚拟内存,在linux中成为swap,这种机制的核心在于快速的映射内存地址,由cpu中的一个部件负责,成为存储器管理单元(Memory Management Unit MMU)
六.磁带
磁带:在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份
七.设备驱动与控制器
1.设备驱动:可以使计算机和设备通信的特殊程序
2.控制器:负责控制连接的设备,它从操作系统接收指令;比如读取硬盘,然后就对硬盘设备发起读请求来读出内容
八.总线与南桥和北桥
如图:北桥连接高速设备,南桥连接慢速设备
九.操作系统的启动流程
启动流程
1.计算机加电
2.BIOS开始运行,检测硬件:cpu,内存,硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloadar启动装载模块,启动操作系统
6.操作系统询问BIOS并获得配置信息
十.应用程序的启动流程
使用鼠标双击应用程序快捷方式向系统发出请求,操作系统在硬盘路径中找到应用程序软件数据后存入内存,cpu向内存中提取并将处理结果反馈给操作系统,操作系统做出相应,应用软件打开。