一、编程语言的作用及操作系统与硬件的关系
<1>、语言有英语、法语、葡萄牙语等,但凡是语言,都是用来沟通的介质。而编程语言就是程序员与计算机沟通的介质
<2>、一套完整的计算机系统分为:硬件、操作系统、软件、网络,而操作系统控制的硬件。
二、硬件(CPU、寄存器、存储器)
<1>、计算机大脑就是CPU(CPU就是用来计算的),是从内存中取指令->解码->执行。然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。计算机里面运行速度最快的就是CPU。
<2>、寄存器的分为:通用寄存器、程序计算器、堆栈指针、程序状态字寄存器。<最快的存储设备是寄存器>
<3>、程序状态字寄存器简称为(PSW),它包含了条码位、CPU优先级、模式(用户态和内核态),以及各种其他控制位。
<4>、CPU中有两种模式即内核态和用户态。通常,CPU中有一个二进制位控制着这两种模式
CPU处于内核态控制操作系统,能控制硬件。CPU处于用户态控制的是应用软件,不能控制硬件。内核态、用户态是指CPU的运行模式
操作系统可以控制所有的硬件,而用户程序控制操作系统。
内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)
用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的。
CPU有两种指令一种指令是正常的逻辑指令另一种是专门控制其他硬件
<5>寄存器即L1缓存:
用与cpu相同材质制造,与cpu一样快,因而cpu访问它无时延,典型容量是:在32位cpu中为32*32,在64位cpu中为64*64,在两种情况下容量均<1KB。
三、磁盘
<1>、每个磁头可以读取一段换新区域,称为磁道,每个磁道划成若干扇区,扇区典型的值是512字节
<2>、数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间。
<3>、平均寻道时间
机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置
四、总线
<1>北桥即PCI桥:连接高速设备
南桥即ISA桥:连接慢速设备
五、操作系统的启动流程应用程序的启动流程
<1>、BIOS读取CMOS存储器中的参数,选择启动设备从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)。
<2>、操作系统的启动流程:BIOS---MBR---grub----kernel
六、应用程序的启动流程
<1>、双击应用程序将指令发给控制器,控制器通过驱动将指令发给操作系统,操作系统到硬盘寻找这个文件的位置,然后将它读到内存中,
在由CPU调用,从而启动应用软件。