哈工大os学习笔记六(整理前面学习的内容)
前言
前面学习的线程进程知识是核心 总结前面学习的内容
一、 Linux所形成的复杂大树
1.复杂系统
李老师带领我们的从0开始到形成上图这个大树的过程 。 复杂系统将成为核心。无论多复杂的系统都开始于一个小点。
2.火
求知、发散、思考、找到方法、的过程
二、OS整理(os成长的过程)
1.运转CPU
管理CPU,使用CPU,取值执行
2.CPU有没有好好运转
IO阻塞,CPU利用率
3.提高CPU利用率
让CPU好好运转,一个简单地思维,烧水洗衣服同时收拾房间,并发,并行,多线程。跳转我们并不陌生,可以用栈来做 。
4.一个栈+yield造成混乱
不会顺利的切换回来
5.两个栈+两个用户TCB
6.一直在用户态那怎么行?
现在是能从baidu切到Google (由于是用户态嘛)而一旦进入内核以后,从Baidu切不回Google,所以不能一直执行用户态。
7.引入内核栈的切换
8.实现idea
交替的打出AB fork是怎么做的?eax是父子进程的关键点 int 0x80对应的就是system_call ——>sys_fork sys_call——>copy_process, copy_process 就是在内核中做出这样的一套东西(pcb,栈)
这个就是子进程,负责打印A,他的eip实际上是父进程的那段,实际上是int 0x80那段代码 父进程等待,调用schedule 线性思维,发散思维 时钟中断来解决
|