首页 > 代码库 > 计算机基础

计算机基础

一、编程语言的作用及与操作系统和硬件的关系(应用程序>>操作系统>>硬件)

1、编程语言是人和计算机之间的沟通语言,实现人对计算机的控制,使其实现某些功能

2、计算机是由硬件—系统—软件组成,软件(应用程序)通过操作系统实现对硬件的控制,应用程序通过编程实现其功能,必须运行在系统之上,系统是程序的载体,所有硬件的操作,需要系统进行控制,如图

技术分享

3、CPU-》内存-》磁盘

CPU即人的大脑,负责运算,内存即人的记忆,负责临时存储,磁盘即笔记本,负责长期的存储

 

二、CPU与寄存器,内核态与用户态及如何切换

1、CPU就是计算机的大脑,通过提取指令-解码-执行,每个CPU都有一套执行指令,任何程序的运行都需要被解码成CPU所认识的指令去执行,CPU通过提取内存中的程序,然后       去执行操作

内存的运行速度比CPU慢,所以CPU在访问内存指令所花费的时间,比CPU在执行的指令的时间要长,所以CPU会有一个地方用来保存临时数据,就是寄存器,将内存所常用的指令保存在寄存器,让CPU更快的提取,保证计算机更快的运行

寄存器分为通用寄存器、程序计数器、堆栈指针、程序状态字寄存器

2、CPU通过指令解码运行时,一般会同时运行多个程序,当多个指令同时取出和运行时,CPU为了保证所有程序在同一时间运行,将所有指令装入一个保持缓冲区,然后同时运行

CPU一般有2种运行模式,即内核态和用户态

内核态:当CPU在内核态运行时,CPU可以执行集中所有的指令

用户态:当程序在用户态下运行,仅仅只能执行CPU整个指令集的一个子集,该子集中不包含操作硬件功能的部分

用户态在工作状态中所运行的程序,不可以访问硬件,但大部分程序是需要通过硬件才可以实现其功能的,这时将启用系统调用,实现用户态向内核态的转换

 

三、存储器系列,L1缓存,L2缓存,内存(RAM),EEPROM和闪存,CMOS与BIOS电池

计算机第二重要的就是存储器了,存储区一般分为寄存器、高速缓存、内存、磁盘、磁带,寄存器容量最小,速度最快;磁盘容量最大,速度最慢

寄存器即L1缓存,材质就是CPU材质,所以速度最快,高速缓存即L2缓存

L1与L2的差别在于对cpu对L1的访问无时间延迟,而对L2的访问则有1-2个时钟周期(即1-2ns)的延迟。

内存,是系统存储器的主力,通常称为随机访问存储RAM,内存的容量在不断增多,主要是临时性存储,断电后就会消失

EEPROM(Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory),属非易失性的,在便携式电子设备中中,闪存通常作为存储媒介。闪存是数码相机中的胶卷,还应用于固态硬盘

CMOS与BIOS电池

CMOS是主板上的一块可读写的RAM芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。CMOS可由主板的电池供电,即使系统掉电,信息也不会丢失

 

四、磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MMU

磁盘的结构如下:

技术分享

数据存放在每一段一段的扇区,从磁盘中读取数据时,都会产生一定的寻道时间和延迟时间

平均寻道时间就是,当要读取数据时,磁盘读写头找到数据所存在的磁道所花费的时间,但是还不知道具体的位置

平均延迟时间就是,在磁道上找到所要读取数据的时间,这段时间要延迟时间

虚拟内存,当计算机运行的程序大于实际的物理内存时,将不需要执行的程序放入磁盘的某个地方,这个地方就是虚拟内存

MMU即存储器管理单元Memory Management Unit),是CPU其中的一个部件,更快实现虚拟内存和物理内存中程序的转换

 

五、磁带

在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份。(常见于大型数据库系统中)

 

六、设备驱动与控制器

当计算机装上系统之后,要实现一些硬件的功能,比如声音和显示,这时就需要安装驱动去实现这些功能,驱动在实现这些功能的过程,就需要通过控制器这个端口去实现

 

七、总线与南桥和北桥

计算机由很多硬件组成,让它们有效的运行,就需要将它们进行连接

北桥即PCI桥,连接高速设备

南桥即ISA桥,连接慢速设备

技术分享

 

 

八、操作系统的启动流程

1、计算机通电

2、BISO(基本输入输出系统)开始运行,检测硬件

3、BISO读取CMOS(只可读RAM的芯片)存储器的参数,选择启动设备

4、从读取设备上读取第一个扇区的内容

5、根据分区信息读入bootloader启动装载模块,启动操作系统

 

九、应用程序的启动流程

1、点击程序

2、计算机查找程序路径

3、内存抓取数据

4、CPU提取—解码—执行

5、启动程序

 

计算机基础