【操作系统】-- 李治军老师《操作系统》笔记整理3

本文主要概述了操作系统如何管理CPU和实现多进程,介绍了CPU的工作原理、多进程图像的概念,以及进程调度的基本策略,如FIFO和优先级调度。同时,讨论了进程间的内存访问问题和解决方案,以及操作系统如何通过PCB(进程控制块)进行进程状态的切换。
摘要由CSDN通过智能技术生成

00 写在前面

本系列内容主要是对李治军老师的《操作系统》课程的笔记整理。
b站地址:https://www.bilibili.com/video/BV1d4411v7u7?spm_id_from=333.337.search-card.all.click

01 操作系统的核心

操作系统的核心就是管理计算机硬件:CPU、内存等等。
1、多进程图像是操作系统的核心,因为把CPU管理好了,其他硬件自然也会带动管理好

02 CPU工作原理

要管理CPU,就要会使用CPU
在这里插入图片描述
CPU如何工作? 取指执行
只要把PC设置好,CPU自动取指执行
在这里插入图片描述管理、使用CPU,最直观的方法,就是设置好PC指针;

03 CPU这样工作,效率低(IO指令特别慢)

在这里插入图片描述
后面的指令有可能依赖于IO的结果,所以不能跳过去。(比如:IO是输入银行卡号密码,知道密码之后才能继续执行)

如何解决?多个程序在内存中,即多道程序、交替执行
在这里插入图片描述在这里插入图片描述

04 此时ax和bx没有切换

在这里插入图片描述
在这里插入图片描述
静态程序和运行程序不一样的地方,运行的程序要记录切换时候相关信息,即新名字:进程
在这里插入图片描述

05 什么是多进程图像?为了支持这个多进程图像,需要做几件事?多进程图像的样子:

上层用户启动多个运行程序,即启动多条进程;在OS中,就是用3个PCB来记录这个信息;
在这里插入图片描述

06 Linux里面的shell就等于Windows里面的桌面

在这里插入图片描述

07 Windows下如何查看进程

在这里插入图片描述
发现电脑特别慢,就打开任务管理器,发现哪个进程的CPU利用率特别高,就代表着这个进程占用CPU的资源比较多

07 操作系统要知道各个PCB存放的位置

在这里插入图片描述

08 就绪态 → 运行态 (由OS来控制)

在这里插入图片描述

09 如何交替的切换?

在这里插入图片描述
在这里插入图片描述阻塞态
在这里插入图片描述将这个进程放在阻塞磁盘等待队列上

Schedule 切换函数(重点);
Swith_to完成切换
Getnext获得下一个进程 调度(选择哪一个进程合适)
Pcur、pNew 就是PCB

10 进程的调度?通常一个调度怎么做

在这里插入图片描述最基本的调度:
FIFO:第一个先
Priority:优先级的方式
在这里插入图片描述PCB1现场需要先保存下来,将CPU里面的东西,放到PCB1(将寄存器的值保存到PCB结构体中)
把PCB2进程中的信息赋值给CPU
因为需要用精细的控制,所以要用汇编代码来写;
在这里插入图片描述

11 多个进程都会在内存中,进程1的100有可能是进程2的100,这种访问会导致进程2崩溃;

此时都是用户态程序,DPL都等于3,CPL==3;在这里插入图片描述

解决办法:通过映射表
在这里插入图片描述

12 进程1和进程2都觉得此时是空闲的,如果是顺序执行就不会有问题,但因为是交替执行,所以会乱掉

在这里插入图片描述在这里插入图片描述

13 解决方法

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值