计算机硬件基础(一)
1、编程语言的作用及与操作系统和硬件的作用? 任何一种编程语言最终的作用是通过Windows/Linux等操作系统来控制硬件工作。 应用程序发送指令给操作系统后,操作系统首先将收到的指令进行解码然后传送给过内存,内存将硬盘对应路径的数据逐步提取供CPU使用。 2、cpu与寄存器,内核态与用户态及如何切换? 计算机的大脑就是CPU,它从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。 寄存器特性读写速度快,内存小。非常重要的寄存器就是程序状态字寄存器(Program Status Word,PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。在系统调用和I/O中,PSW非常非常非常非常非常非常重要。 内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件) 用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下