操作系统作用详解---进程管理

本文介绍了操作系统的基础知识,包括从用户和OS角度看进程,进程管理的PCB、状态、调度及切换,内存管理的线性地址与物理地址,以及进程通信的基本方式。重点讨论了进程的状态转换、调度策略和上下文切换的过程,同时提到了内存管理和文件管理的角色。
摘要由CSDN通过智能技术生成

目录

前言

一、进程和程序

1.用户角度

2.OS角度

二、OS的职责

1.进程管理

1.进程抽象为(PCB)

2.进程状态

3.如何从就绪队列选择进程

4.OS什么时候介入进程调度

5.进程切换

 2.内存管理

1.作为java程序员眼中的内存

2.线性地址与物理地址

 3.进程通信

 3、文件管理

4.网络模块管理

5.驱动管理

总结



前言

首先,我们需要明白操作系统(OS)是一个管理资源(硬件、软件)的软件。同时OS是一个分配者,分配的主体就是任务。站在任务的角度,就是一切资源都需要找到OS申请后才可以使用。而这个任务就是进程(process)。

一、进程和程序

首先对应程序,就是一套静态的步骤,一套数据处理的步骤。对于进程则可以分为两个视角:

1.用户角度

对于用户来说,进程就是一次程序的执行过程,是动态的。而且一个程序可以多次的执行,甚至可以“同时”执行。

2.OS角度

对于OS来说,进程就是资源分配的基本单位。在这里OS扮演了协调者/管理者的职责,这里的分配的资源就是被OS管理的资源(硬件资源,软件资源)。

二、OS的职责

1.进程管理

OS进行CPU的协调模块:负责进程的调度工作---主持不同的线程在CPU运行的时间的划分。面对进程调度的一些问题下面就是他的应对方法:

1.进程抽象为(PCB)

面向对象的思想,变成数据,更好的被计算机处理。PCB大致的数据如下图:

 

2.进程状态

这个是为了对进程做区分,那些可以分配CPU,那些还没有准备好。

状态转移图:

 

下面是对这里的每个状态的解释:

 

关于就绪队列:装有所有处于就绪状态的进程(一般只有一个)。

关于阻塞队列: 所有处于阻塞状态的进程(一般有多个),因为外部IO设备可能有多个。

3.如何从就绪队列选择进程

大致有以下:

1.先来先服务

2.优先级的划分(PCB中需要管理一个优先级的属性)

3.短作业优先级

4.OS什么时候介入进程调度

 

5.进程切换

OS通过上下文切换来实现进程切换--->可以简单的理解为:保护上一个进程的上下文+恢复下一个进程的上下文--->上下文:指的是以PC寄存器所代表的一组寄存器中的值。

保护上下文:将对应寄存器的值,保存到内存的某一个位置。

恢复上下文:把内存中之前保护的值,写入对应的寄存器中。

下面展示在CPU的视角的进程切换:

 2.内存管理

OS进行内存协调模块:主持内存空间的分配。

内存管理主要研究:

1.那些内存已经被分配,那些暂时没有分配

2.已经分配的内存何时回收、何时回收

3.物理地址<->虚拟地址的转换

4.关于内存碎片

1.作为java程序员眼中的内存

 

2.线性地址与物理地址

 3.进程通信

1.管道通信

2.消息队列

3.信号量

4.信号

5.共享内存

6.网络

 3、文件管理

硬盘是最为主要的二级存储,是比较重要的一个IO设备---OS进行硬盘上数据的协调模块:OS一般不直接去管理硬盘上的数据,一般委托文件系统进行抽象管理---把硬盘的数据抽象成文件的概念。

4.网络模块管理

5.驱动管理


 

总结

每天都要加油哦~~~

实现了如下四种调度算法的模拟: (1)时间片轮转调度 (2)优先数调度 (3)最短进程优先 (4)最短剩余时间优先 模拟过程使用了JProgressBar作为进程状态条,更为直观地观察到每个进程的执行状态。 程序用户说明: 1、在上图标号1处输入要创建随机进程的个数,仅可输入正数,非正数会有相关提示。然后点击标号2处的“创建进程”按钮,随进创建的进程显示在程序界面的中央窗口,如标号3所示。 2、创建好随机进程后,在标号4的单选框选择将要模拟执行的调度算法,然后点击标号5处的“开始模拟”,程序开始执行。标号3的列表会显示相应的调度变化。 3、模拟过程中,可以继续添加新的进程,操作同上。 4、 一个算法模拟执行完毕之后,可以点击标号6的“复位”按钮,可以重置列表的内容为程序模拟运行前的内容。复位成功后,可以继续选择其他调度算法进行模拟。 5、标号7显示为程序模拟过程中的时间,从1秒开始累计。 6、点击标号8的“清空”按钮,可以清空类别的进程,以便程序的下次执行。 题目要求: 题目四 单处理器系统的进程调度 一 、 课 程 设 计 目 的 1. 加深对进程概念的理解, 明确进程和程序的区别。 2. 深入了解系统如何组织进程、 创建进程。 3. 进一步 认识如何实现处理器调度。 二 、 课 程 设 计 内 容 编写程序完成单处理器系统中的进程调度, 要求实现时间片轮转、 优先数、 最短进程优 先和最短剩余时间优先四种调度算法。 实验具体包括: 首先确定进程控制块的内容, 进程控 制块的组成方式; 然后完成进程创建原语和进程调度原语; 最后编写主函数对所作工作进行 测试。 模拟程序只对你所设置的“ 虚拟 PCB” 进行相应的调度模拟操作, 即每发生“ 调度” 时, 显示出当前运行进程的“ 进程标识符”、“ 优先数”、“ 剩余运行时间” 等, 而不需要对系 统中真正的 PCB 等数据进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值