一、编程语言的作用及与操作系统和硬件的关系
编程语言的作用是为了与计算机进行沟通。
操作系统和硬件的关系,操作系统是硬件系统的首次扩充,可以控制和管理计算机硬件和软件资源,合理对各类作业进行调度,以及方便用户使用的一组程序的集合。
二、应用程序-》操作系统-》硬件
应用程序是由编程语言有逻辑得组成,软件必须运行在操作系统上方可使用。操作系统的作用是为了高效得应用计算机硬件而诞生。
如果要开发应用程序,只需要调用操作系统开放的接口即可。
三、cpu-》内存-》磁盘
CPU相当于人的大脑,是为了处理信息。
内存相当于人的记忆,是为了临时信息。
硬盘相当于人的笔记,是为了保存信息。
四、cpu与寄存器,内核态与用户态及如何切换
1、 寄存器是CPU得某些特性,为了保存关键变量和临时数据的寄存器。
寄存器分为通用寄存器、程序计数器、堆栈指针、程序状态字寄存器。
通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。
程序计数器是用于存放下一条指令所在单元的地址的地方。
堆栈指针按“先进后出”的原则存取数据,主要程序用来保存临时数据,局部变量和中断/调用子程序程序的返回地址。
程序状态字寄存器用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,另一类是存放控制信息。
2、内核态与用户态的切换,是发生在应用程序和操作系统之间。例如应用程序需要从磁盘读取文件,但是应用程序不能直接操作硬件,
这是就需要通过系统调用(system call)来得到操作硬件的权限。用户态的特性是有限制,内核态的特性是没有限制。
五、存储器系列,L1缓存,L2缓存,内存(RAM),EEPROM和闪存,CMOS与BIOS电池
1、存储器分为寄存器、告诉缓存、内存、硬盘、磁带。读写速度依次递减。
2、L1缓存即是寄存器,是CPU内部得某些功能,L1和CPU之间访问无时间延迟。
3、L2缓存即是高速缓存,是CPU内部得某些功能,L2和CPU之间访问有延迟。
4、内存是易失性存储,断电后数据全部消失。
5、EEPROM 是电可擦除可编程ROM,非易失性的,可擦除和重新。
6、闪存也是可擦除和重新,非易失性的,闪存擦除次数过多,会被磨损。
7、CMOS是易失性的,不加电即丢失。BIOS电池的作用是为CMOS供电得。
六、磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MMU
1、磁盘结构是由金属盘片、磁头、机械臂等组成。
2、平均寻道时间就是机器手臂从一个柱面移动到相邻的柱面的时间。
3、平均延迟时间机械臂到达正确的磁道后,等待旋转到数据所在的扇区的时间。
4、虚拟内存是磁盘为不需要执行的程序提供存放的某个地方。MMU是存储器管理单元,由cpu中的一个部件负责。
七、磁带
磁带比硬盘便宜、移动性强,常被大型数据库系统中用来做备份。
八、设备驱动与控制器
控制器是负责控制连接的设备,查找主板上的一块芯片或一组芯片等,从操作系统接收命令。
设备驱动是为了调用设备而开发的驱动程序,以供操作系统使用。
九、总线与南桥和北桥
总线是计算机各种功能部件之间传送信息的公共通信干线。
北桥是连接高速设备,例如是连接CPU、内存、告诉缓存的设备等。
南桥是连接慢速设备,例如是连接磁盘、USB、鼠标、键盘的设备等。
十、操作系统的启动流程
1、POST加电
2、BIOS运行,检测硬件:CPU、内存、硬盘等。
3、BIOS读取CMOS存储器参数
3、加载BootLoader(MBR)
4、kernel初始化自身,启动操作系统,检测操作系统和硬件是否有故障。
十一、应用程序的启动流程
应用程序通过快捷方式执行启动,操作系统是时刻监控着用户的输入,当检测到有输入指令,操作系统进而对磁盘进行访问,并把数据加载进内存中,CPU再执行。
参考文档:http://www.cnblogs.com/linhaifeng/p/6523843.html