哈工大操作系统课程学习笔记

L8 CPU管理的直观想法

视频:B站
1.管理CPU最直观的方法:设置好PC就完事了

2.多道程序交替执行,也就是并发,就是CPU管理的核心思想

3.CPU真正工作起来的样子
在这里插入图片描述
4.运行的程序和静态程序是不一样的,因为运行中的程序会有一个称为PCB的数据结构,这个数据结构是用来记录当前程序运行的状态信息的。我们把运行中的程序称为进程。

5.进程和程序不一样的地方都会记录在进程的PCB里,下面是两者的一些区别:
在这里插入图片描述

6.操作系统是通过多进程图像来管理CPU的,多个进程一起向前跑的样子就是多进程图像

L9 多进程图像

1.课程开始时,先提几个问题:
1)什么是多进程图像?
2)操作系统为了实现多进程图像需要做些什么事情?

2.操作系统只需要把进程记录好,按照合理的次序推进(分配资源、进行调度),这就是多进程图像。

3.用户只关心有多少个进程在运行,操作系统则负责推进这些进程

4.多进程图像一直存在于操作系统启动到关机的这一整个过程中

5.main开始运行后,会执行一堆init函数,最后执行该代码:if(!fork()){init();},Linux就是启动了shell,Windows就是启动了桌面。接着shell就通过如下代码启动其它进程:
在这里插入图片描述

6.用户启动计算机就是启动了一堆进程,用户管理计算机就是管理一堆进程

7.进程是怎么组织和存放的?操作系统感知进程全靠PCB,所以就可以把PCB这个数据结构组织起来,通过不同的状态放在不同类型的队列中来管理进程:
在这里插入图片描述
这个图的意思是,有些进程正在执行,有些进程正在等待被执行,还有一些进程没有在等待执行的队列里,而是在其它等待队列里等待其它事件

8.进程状态图
在这里插入图片描述
而各种状态之间的转换的由OS来完成的。也就是说OS基于状态转换图对进程的状态进行转换

9.“来回切换”才是多进程交替的灵魂

10.切换进程的一个实例:
在这里插入图片描述
schedule()函数是非常重要的,它里面的那句pNew = getNext(ReadyQueue)称为调度

11.交替的3个部分:队列操作+调度+切换

12.进程切换:
在这里插入图片描述
13.如果多个进程同时存在于内存中,可能会出现访问同一个地址的问题,解决这个问题的方法是限制对地址的读写,也就是地址空间分离,这也是内存管理的主要内容。

14.但是多进程图像也需要通过映射表来实现多进程地址空间的分离

15.多进程管理的核心在于进程同步(合理的推进顺序)

16.如何形成多进程图像
1)读写PCB,这是OS中最重要的结构,贯穿始终
2)要操作寄存器完成切换
3)要写调度程序
4)要有进程同步与合作
5)要有地址映射

L10 用户级线程

1.在这一页PPT中,老师说yield函数中最后那一句jmp 204是可以删掉的。我在这里记录一下我的理解:如果删掉jmp语句后,yield函数就只剩两个赋值语句了。执行完第二个赋值语句,也就是esp=TCB1.esp后,栈就切回到了指令序列1中,也就是存着104和204的这个栈,我把这个栈称为栈1;接着执行到yield函数的右大括号,也就是作为函数结尾的那个大括号,然后就从栈1中弹栈,执行204处的指令,这样,就正常地在指令序列1中执行了
在这里插入图片描述
2.所谓线程,就是能够交替执行的一些指令序列

3.内核级线程的调度函数称为schedule(),用户级线程的调度函数称为yield()

L11 内核级线程

1.多处理器和多核的区别:
在这里插入图片描述
这里的MMU就是内存映射

2.内核级线程和进程实际上是非常像的,内核级线程加了映射表和资源后,就变成进程了。

L12核心级线程实现实例

1.描述符就是个指向段的指针

2.用TR选择子找到描述符,然后再用描述符找到段

3.在C函数中,越在后面的参数就越早压入栈中,所以位置越靠前的参数,越靠近栈顶

4.mem_map = 0的那一页就是空闲的页

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值