文章目录
第二章 处理器管理
前言:课上的讲解方式不是照本宣科,而是有选择性的进行深入讲解。我这里会把课上讲过的东西做一个总结,同时会列出需要去补习的内容
-
补习内容
汇编语言:要能看懂,讲CPU时用的不少
看书:一本是linux内核,一本是80386保护模式编程,两本书都存在坚果云中,电子版
注:这个80386芯片是接在cpu一个引脚上的,而io,外部设备,时钟金振等设备,是接在80386芯片上的,也就是说,对80386芯片进行编程,就能设定计算机的时钟频率,从而更改计算机的中断时间间隔(中断时间间隔太短,有时候不是好事,这在后面2.2中断的时候再讲)
2.1 处理器环境
-
实模式,保护模式
实模式:
无论多么先进的CPU,在PC机刚通电的时候,都是以实模式运行的
实模式使用的是 CS:IP 寄存器 ,IP 16位 ,但是16位的CS会提供4位的移位,也就是说,CS:IP一共是20位,即2^20,即1M,即实模式下的CPU,只能在1M的范围内取指令
保护模式:
保护模式,就是我们用户一般情况下用电脑时,CPU处于的模式
保护模式使用的是CS:EIP,EIP(enhance ip) 提供32位,此时的CS就不再提供移位操作
之所以叫保护模式,是因为保护模式可以保证两个进程不会取到相互的线程或者信息
两个进程各自运行,互不干扰
-
内核态和用户态
内核态:
每个进程开启的时候,系统都会给每个进程产生一个虚拟的操作系统,这个就是内核态,内核态的权限高,为0 0
用户态:
用户态权限比内核态要低,为1 1,
内核态,用户态转换:
内核态因为权限高,所以在转移到权限低用户态的时候没有限制。
但是,用户态转移到内核态,只有一种方式,那就是中断
进程有了内核态后的作用:
两个进程可能要发生数据交换(就是复制、粘贴),这个时候内核态就
起作用了
-
用户栈和核心栈
用户栈:
与用户相关,比如下面这段程序
void main() { int x; }
这个x,就是压在用户栈里的 (11 级)
核心栈:
与内核态有关,比如中断操作,要压入核心栈 (00 级)