系统和进程1

操作系统

1.操作系统的主要职责就是协调——专门的软件来协调工作
2.硬件(资源)会被多个任务同时访问,操作系统协调不同任务对硬件资源的访问,操作系统管理着硬件资源,分配给不同的任务去使用
3.操作系统是一个管理者,管理硬件软件的资源;操作系统是一个协调者,协调不同的任务队硬件资源的访问;操作系统是一个分配者,分配的主体就是任务,站在任务的角度解释一切硬件资源都要找操作系统申请后才能被授权使用
在这里插入图片描述

程序 进程 任务 作业

1.程序就是一套做数据处理的步骤,程序=指令+数据,程序是静态的,一般表现为一个或一组文件是一套静态的步骤(菜谱)

(站在用户的角度看什么是进程)

2.进程是程序的一次执行过程(按照菜谱的一次做菜过程),进程是动态的,一个程序可以进行多次执行(表现为多个进程),甚至可以同时执行(多个进程同时存在),进程是程序在运行阶段的视角主体。

(站在OS角度看什么是进程)

1.进程是OS进行资源分配的基本单位
2.进程是OS进行资源分配的最小实体
3.换言之,同一个进程中的资源是共享的(如果存在比进程更低级的单位,是共享的);不同进程之间的资源是隔离的
2.A进程只能访问A进程自己的资源(这里主要讨论内存),A进程无法访问B进程的资源(内存),更无法访问被OS直接管理的资源。

(深入理解进程)

1.动态过程
2.绑定着一个程序
3.允许同时存在
4.OS内部进行资源申请的最小个体

操作系统职责的划分

1进行内存协调的模块——内存管理模块
2.主持内存空间分配的模块——进程通信模块
3.进行硬盘上数据协调的模块——硬盘最为主要的二级存储设备,是比较重要的一个IO设备
4.OS一般不去直接管理硬盘上的数据二十委托文件系统进行抽象管理,吧硬盘上的数据抽象成文件的概念——文件管理模块
5.网络管理模块
6.其他硬件——以文件驱动的形式进行管理——驱动管理
进程管理,内存管理,文件管理,网络管理,驱动管理
在这里插入图片描述

进程调度

1.需要把进程这个抽象的概念用数据表示——面向对象的思想,变成数据才能被计算机进行处理才能被OS进行处理
2.class Progress/PCB Process Control Block//队一个进程的对象化(进程中在管理过程中重要的数据的抽象)
0.pid(全局唯一)
1.关联程序的信息
2.关于运行的一些信息
哪个用户启动的、什么时候开始的、什么时候结束的、进程工作目录
3.分配的资源
CPU:CPU的占用率:之前过去的一段时间分配给该进程的时间占比
内存:分配出去的内存
4.调度时用到的信息
OS需要管理多个进程,通过数据结构组织起来管理List/Map/Queue

进程的区分:哪些可以分配CPU了,哪些还没有准备好

通过对进程做状态划分,来区分出处于不同情况下的进程——进程状态
1.新建(进程处于正在创建中)
2.就绪(万事俱备,欠CPU)
3.运行(进程的指令真正在CPU运行着)
4.阻塞(进程由于等待外部条件暂时无法继续)
5.结束(进程的所有指令执行结束,但CPU暂时保留,OS还需要做一些其他工作)
在这里插入图片描述

进程状态转变

新建:随着程序的启动运行
新建——》就绪:进程的初始化工作完全完成(该工作由OS指令完成)
就绪——》运行:进程被OS选中,并分配给了CPU之后
运行——》结束:进程的最后一条指令执行结束 (main方法执行结束了)
运行——》就绪:1.被高优先级的进程抢占了2.时间片耗尽3.进程可以执行一些OS提供的系统调用,主动放弃
运行——》阻塞:等待一些外部条件:等待IO设备、进程休眠一段时间
阻塞——》就绪:外部条件满足:IO设备来了、休眠时间到了
结束——:进程PCB彻底被OS回收

站在OS角度看进程状态

1.同一时刻,处于不同状态下的进程不止一个
处于新建,有n1个;就绪n2;运行只有一个;结束n3个;阻塞n4个
2.就绪队列:装有所有处于就绪状态的进程,这里装的都是等待被分配CPU的进程,一般就一个
阻塞队列:等待某些外部条件的进程组成的队列,一般每个条件都可以有一个
在这里插入图片描述

CPU资源分配

3.现在手上有等待分配CPU的所有进程列表-一就绪队列, 下一个问题,选择哪个进程上CPU? 要求:要有消息、要保证公平性、要让更紧急的任务被更紧急的处理、低成本解决…
先来先服务
优先级划分(进程PCB中需要管理一个优先级的属性)短作业优先级
4. OS什么时候会介入进程调度:需要选择一个新的进程,进行CPU分配

  1. -一个新的进程刚处于就绪状态时,当该进程的优先级较高时-一具备这种能力的OS被称为抢占式(实时)2.运行状态的进程->结束。-一个进程结束了
  2. OS每隔一-段时间,会调度一-次:进程的时间片耗尽| CPU空闲下来的时候
    4.进程主动放弃CPU
    1.运行->阻塞
    2.运行->就绪
    5.OS具体怎么进程切换:通过上下文切换——保护上一个进程的上下文+恢复下一个进程的上下文
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值