一、计算机系统介绍
1.完整的计算机系统
应用软件(作用于)——操作系统(作用于)——电脑硬件
例如:通过暴风影音看电影,打开暴风影音后,暴风影音从电脑的硬盘上取出电影文件打开进行播放。
暴风影音(应用软件)——操作系统——取出电影文件 (应用软件只与操作系统打交道,复杂的硬件操作都由操作系统完成)
QQ发消息:QQ软件发消息,消息传送给操作系统,操作系统发给电脑A网卡,
电脑A网卡通过网络发给对方电脑B的网卡,此网卡把消息发给B电脑操作系统,最后传给B电脑上的QQ程序。
应用软件——操作系统——电脑硬件 ……电脑硬件——操作系统——应用软件
2.需要掌握的技能:1,计算机硬件 2,操作系统 3,python编程 4,网络基础
二、计算机硬件
2,1 五大组成部分:运算器 控制器 存储器 输入/输入设备
CPU(运算器+控制器) CPU负责运行,同一时刻只能做一件事
内存 存储的易失性,电脑关机后就不在了,从硬盘上读取内容
硬盘 存储的永久性,基于磁工作,存放命令,文件。
2.2 CPU之寄存器
CPU内部都有一些用来保存关键变量和临时数据的寄存器,它的运行速度和CPU相同。
CPU从内存中取指令,然后执行,最后解码。
寄存器价格比内存贵很多,分为:
A.通用寄存器:
B.程序寄存器:它保存了将要取出的下一条指令的内存地址,在指令取出后,程序寄存器就更新以便执行后期的命令
(电脑可同时运行QQ音乐,暴风影音,浏览器等之类,由于CPU只能同一时刻运行一件事情,CPU切换的时间非常短,对用户来说就像是所有程序在并发运行;切换的 时候,就把上一个程序的内存地址保存下来,切换回来的时候,就继续进行这个程序,不用内存去存,会降低电脑运行速度,只能用寄存器存储。)
C.堆栈寄存器:先进后出,指向内存当前栈的顶端。
D.程序状态字寄存器:CPU需要运行,有自己的章法,CPU内部有自己的指令集。不论操作系统还是应用软件,都要由CPU去运行。CPU指令集包括所有对硬件的操作。
执行应用软件的时候,CPU指令集无法调用硬件。---------用户态,针对应用程序,CPU会限制对硬件指令的执行。
执行操作系统的时候,CPU指令集可以调用硬件。----------内核态, CPU对操作系统完全放行,什么都可以执行。
控制CPU的两种状态,用户态与内核态会不断切换。
程序状态字寄存器有0和1两个状态,用来控制CPU的用户态与内核态。
2.3 用户态下的软件不能操作系统,通过系统调用,就会修改程序状态字寄存器中的0/1状态,完成用户态与内核态的切换。
2.4 CPU向下兼容性:64/32位的CPU 64位意味着一次性可以去除64位二进制,在32位上写的软件可以运行在64位CPU上;64位上的软件不能运行在32位上。
2.5 存储器
容量越小,速度越快;
寄存器即L1缓存;高速缓存即L2缓存。
CMOS是微机主板上的一块可读写的RAM芯片,也是易失性,计算器一般用CMOS来保存当前日期时间。BIOS电池为CMOS供电。一般配置一块电池,耗电量很小。CMOS还可以保存配置的参数,比如启动盘从哪里启动。
2.6 磁盘
写数据时候,按照同心圆写,一圈就是一个磁道,磁道的一部分区域就是一个扇区。
八个二进制位 bit 比特 =1bytes(B)(字节) 1024b=1KB 1024KB=1MB
1个扇区最小单位为512B(字节)
1个block块映射8个扇区=8*512B=4KB
硬盘上的数据都存放于扇区,从磁盘上读取一段数据需要经历寻道时间和延迟时间
虚拟内存:(硬盘上的空间),做的事情又是内存的事情。 比如2G内存运行10G的硬盘数据,这样需要把硬盘空间取出部分来,重要数据便存储在这个空间:虚拟内存。
作用是让电脑内存运行大于物理内存的程序。 linux里swap分区就是虚拟内存。
2.7 控制器和多总线
为显卡装驱动(设备驱动程序,即软件),相当于控制器操作系统。
驱动程序不能独立运行,必须和操作系统结合起来运行。
每一个独立的硬件都连接一个控制器,控制器由驱动程序控制。
2.8 操作系统启动
在计算器主板上有一个程序 BIOS,BIOS相当于一个小的操作系统,有底层的I/O软件,包括键盘,写屏幕,进行磁盘I/O。
启动程序:
1,计算器启动后,加载BIOS程序,(对应的硬盘相当于CMOS)
2,BIOS开始运行,检测硬件:CPU,内存,硬盘等。
3,BIOS读取CMOS存储器中的参数,选择启动设备,
4,从启动盘上读取第一个扇区的内容 [主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码,共512个字节,前446为引导信息,后64为分区信息,最 后两个为标志位]
5,根据分区信息,读取bootloader启动装载模块,启动操作系统
6,然后操作系统询问BIOS已获得配置信息,对于每种设备,系统会检查其设备驱动程序是否存在。如果没有,系统则会要求用户安装设备驱动程序。
有了全部设备驱动程序后,操作系统就将它们调入内核。然后初始有关的表格,开始进程,在每个终端上启动登录程序或者GUI。
2.9 应用程序的启动流程
双击某软件的操作,是交给输入设备,再交给控制器,再交给操作系统。最后在内存中运行该程序。
3.0 应用软件只有在内存里才可以运行。比如用txt写文字,写了很多,此时运行在内存上,关机数据就不在了。点击'保存’,就是把数据保存在硬盘上,存储起来。