当前位置:网站首页>进程调度的基本过程
进程调度的基本过程
2022-07-23 17:39:00 【小李爱吃川菜】
这篇文章主要是简单讲述一下进程调度的基本过程,如果想详细了解进程和线程的知识,请进入这篇文章的入口进程与线程详解
目录
1.什么是进程
要知道进程的调度过程,首先我们要了解什么是进程,我们打开任务管理器,就会发现它的第一栏就是进程,如下图所示:

如果我们每多打开一个软件,就会发现任务管理器进程中就回多一栏,这就是软件对应的进程,我们可以理解为一个进程就是一个任务,当关闭任务时,对应的进程就会结束。这里面的进程,有些是系统自动打开的,有些是我们手动打开的。
2.操作系统是如何管理进程的
从刚刚到任务管理器中,我们可以看到有非常多的进程,那他们是如何被系统管理着的呢?
Tip1:先描述一个进程
我们需要明确指出进程中的相关属性。
例如:要形容一个学生,我们需要学生的学校,专业,姓名等等。
Tip2:将若干个进程组织起来
系统会利用适合的数据结构,将每个进程的相关信息存放起来,方便以后的增删改查。
Tip3:让进程正常工作
一个进程如果要正常的工作,我们需要给他分配一些系统资源,在一个进程启动前,其对应的文件是存储在硬盘上的,当我们双击某个软件时,实际上是启动了对应的.exe程序,就会加载到内存中,我们都需要哪些资源呢?
1.内存(用于加载.exe文件)
2.硬盘(用于操作文件)
3.CPU(用于执行进程上的指令)
3.进程的调度过程
进程调度只会发生在多任务操作系统中,因为单任务操作系统每次只会执行一个任务(进程),所以就不存在调度的说法。
多任务操作系统意味着每一时刻都有多个进程在运行,所谓的调度,其实就是时间管理。
假设张三是帅的一塌糊涂的美男子,身材还很好。
这就导致张三会被很多妹子追求。
原则上来说:同一时刻,张三只能谈一个女朋友。
张三希望未来的女朋友:贤惠,有钱、肤白貌美。(站在现实生活的角度,作者还没有见过这样的人)
然而身边的追求者,不存在这样的人。
因此,张三(操作系统)就同时谈3个女朋友(3个进程/任务),来集齐上述理想女友的所有特点。(三个任务同时执行)
A:有钱,长得一言难尽
B:贤惠:非常贴心,多的不说。
C:肤白貌美:美若天仙,就是有点脾气、
集合三人的特点,张三将拥有完美的体验。
但显然不科学,为此张三需要合理的安排时间。
避免同一时刻,这三个人碰面。只要不碰面,就是安全的。
在这个前提,张三就能将这种状态为此下去。
名副其实的时间管理大师。
怎么样去管理时间呢?
制作一个时间表
周一:和A 去逛街
周二:和 B 去图书馆
周三:和 C 去看电影
周四…
每个人依次安排一个具体的时间,通过这样的一张时间表,合理的去管理。
从宏观角度来说:张三同时谈了3个女朋友。
从微观角度来说:同一时刻,张三只是和一个女朋友在一起。
这个就是并发(广义上的并发)。
所以现在张三通过这样的一张时间表,就把这些女朋友很好的进行一个“调度”。
规划时间表的过程,也就是“调度”的过程。
边栏推荐
- What is the difference between preamplifier and power amplifier?
- (CVPR-2022)BiCnet
- 【pm2】pm2常用命令
- J9数字论:数字行业的FOMO现象我们应该怎么克服?
- Tcl 语言之Synopsys Tcl篇(3)(数字IC)
- CTF misc learning summary "suggestions collection"
- LeetCode刷题:回文数
- LeetCode每日一题(1514. Path with Maximum Probability)
- Little fish sends lidar | just dinner is the first lottery
- Tuple error caused by different regularization
猜你喜欢

【开发经验】开发项目踩坑集合【持续更新】

正则化不同导致的tuple错误

Mee | Zhejiang University Chenglei group develops a new method for designing and constructing synthetic flora

Todo fix bug tag feature and other configurations

Leetcode daily question (1514. path with maximum probability)

Digital security giant entrust revealed that it was attacked by blackmail software gangs in June

Data link layer -------- Ethernet and ARP

What content does the software test plan include and how to write it. Share test plan template

DHCP:在网络中防止 Rogue DHCP Server

canvas绘制文本和清除绘制
随机推荐
Alibaba's latest masterpiece! It took 187 days for the liver to come out. 1015 pages of distributed full stack manuals are so delicious
impala的详细写入流程
There is great competition pressure for software testing jobs, and the "migrant workers" who graduated from 985 also suffer
什么是堆栈以及堆栈的区别
Error "failed to fetch" XXX "temporary failure resolvingw: some index files failed to download" solution
人脸识别系统技术方案
C # startup program loses double quotation marks for parameters passed. How to solve it?
【leetcode天梯】链表 · 203 移除链表元素
ES6其他语法及扩展语法总结
Fragment
树莓派ssh登录
Application of jishili electrometer in testing scheme of new energy battery
Rapid establishment of devstack cloud computing platform
去中心化存储面临的挑战
elk笔记25--快速体验APM
Implementation of IIC protocol with FPGA (I) IIC bus protocol
在Hyper-V中手动将.avhd合并到.vhd
How to understand: common code block, construction block, static block? What does it matter?
【leetcode天梯】链表 · 206 反转链表
从txt中读取数据转成yolo格式数据