一:编程语言的作用
编程语言首先是一门语言,其实与汉语、英语等语言的作用相同,语言是沟通介质。只不过编程语言是与计算机沟通,是让计算机读的懂的语言。从而达到让计算机来做人类希望计算机要做的工作。
但只有编程语言开发软件是不可以的,虽然自己本身也可以通过了解各个硬件的结构与工作原理,通过编程语言来控制各个硬件,再开发自己的程序。但这样大大限制了程序设计人员的效率,每次写程序都要考虑硬件的运用。所以就诞生了操作系统。
二:操作系统与硬件的关系
操作系统的作用是链接应用程序以及硬件的程序,操作系统本身也是程序。操作系统可以为应用程序以及硬件提供各个接口。这样,程序设计人员不用考虑底层硬件的作用,只考虑自己程序的设计,大大提高了程序设计人员的效率。
三:计算机的基本硬件
(1)CPU
如果把计算机比喻为一个人,那么CPU就相当于人的大脑。CPU有逻辑运算与数学运算两种运算。
(2)内存
内存是计算机负责临时存储的器件
(3)硬盘
硬盘是计算机永久存储数据的器件
CPU负责计算机的高速运算,计算机所有的计算都是通过CPU完成的。CPU中有用来保存关键变量和临时数据寄存器。CPU通过从内存读取数据来处理数据,内存从硬盘中加载数据。
CPU中有一种非常重要的寄存器叫程序状态寄存器(PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。在系统调用和I/O中,PSW非常重要。
CPU有内核态与用户态两种模式,是通过PSW中的一个二进制来控制这两种模式。
内核态:CPU在内核态模式下,可以直接控制硬件。CPU可以执行所有的指令。
用户态:CPU在用户态模式下,CPU只能执行一部分指令,不可以直接操作硬件。
内核态与用户态之间的切换,由于CPU在用户态下不可以操作硬件,但应用程序必须要通过硬件来运行结果,所以内核态与用户态就需要不断地切换,来完成工作。应用程序是通过系统调用(system call),系统调用嵌入内核并调用操作系统,TRAP指令把用户态切换成内核态,从而控制硬件。
(4)存储器的分类
L1缓存:即寄存器,寄存器与CPU的材质相同,与CPU的速度一样快,速度在1ns,容量小于1KB
L2缓存:高速缓存是由硬件控制。最常用的高速缓存放置在CPU内部或者非常接近CPU的高速缓存中。高速缓存可以不通过总线把访问请求送往内存。
内存:内存是存储系统的主力,通常称为随机访问存储RAM,是易失性存储,断电后数据全部消失。
EEPROM和闪存:两者可擦除重写的,不过速度要比RAM慢。在便携式电子设备中,闪存通常作为存储介质。闪存是数码相机的胶卷,可应用固态硬盘。闪存擦除的次数过多,会被磨损。
CMOS与BIOS电池:CMOS是易失性的,计算机用CMOS存储器来保持当时的时间,CMOS是由BIOS的电池供电的,所以计算机断电后,时间仍然可以正确的更新。CMOS还可以保存配置参数,比如是哪一块启动磁盘来启动。
(5)磁盘的结构
磁盘是一种机械装置,磁盘中有一个或多个金属盘片,机械臂,磁头等组成。数据存储的最小单位是扇区,扇区有磁道组成。不同盘面的扇区构成了柱面。不同的柱面可以用来分区。
平均寻道时间:寻找数据时,磁头从一个柱面移动到数据所在的柱面成为寻道时间,找到磁道不代表找到了数据的位置。
平均延迟时间:机械臂到达正确的磁道后,必须等待旋转到数据所在的扇面,这段时间叫延迟时间。
虚拟内存与MMU:虚拟内存是使计算机运行大于物理内存的程序,是把多余的程序运行至专门空出得磁盘中,一般设置的大小是内存的1.5~2倍。但最好不超过8G。MMU是存储器管理单元,核心在于快速的映射内存地址。
(6)磁带
磁带的存储速度比硬盘慢,但是容量更大,价钱便宜,一般做备份使用。
四:设备驱动域控制器
控制器:是查找主板上的一块芯片或一组芯片(硬盘,网卡,声卡等都需要插到一个口上,这个口连的便是控制器),控制器负责控制连接的设备,它从操作系统接收命令,比如读硬盘数据,然后就对硬盘设备发起读请求来读出内容。
设备驱动:操作系统要控制不同厂商的硬件,机制与原理不同,所以需要各个厂商提供操作其硬件的接口,即为驱动程序。
五:总线与南桥北桥
总线:总线处理I/O设备及CPU到存储器的速度都更快。
北桥即PCI桥:连接高速设备。
南桥即ISA桥:连接慢速设备。
六:计算机启动顺序
(1) 计算机通电
(2) 启动BIOS,检查CPU、内存、硬盘
(3) BIOS获取CMOS的信息,选择要启动的设备
(4) 启动设备通过进入MBR(硬盘的第一扇区,有512字节,前446存储系统的启动信息,后64存储分区信息,最后2位是标志位)
(5) 根据启动信息grub来启动要启动的系统
(6) 系统询问BIOS,检查所有的硬件是否有驱动,如果没有提示安装驱动
七:应用程序启动顺序
(1) 通过系统操作,查找应用软件在硬盘中的位置
(2) 把应用系统加载到内存中
(3) 通过PSW把CPU调整到用户态,CPU获取指令
(4) PSW把CPU由用户态调整到内核态,处理相应的硬件
(5) PSW再把CPU由内核态调整到用户态,把处理的结果返回至软件
浙公网安备 33010602011771号