多任务编程概念

  • 多任务编程
    意义:充分利用计算机的资源提高程序的运行效率
    定义:通过应用程序利用计算机的多个核心达到同时执行多个任务的目的,一次提高计算机运行效率。
    实施方案:多进程 多线程
  • 并行
    多个计算机核心在同时处理多个任务,这时多个任务间是并行关系。
  • 并发
    同时处理多个任务,内核在多个任务间不断的切换,达到好像都在处理运行的效果。但实际一个时间点内核只能处理其中一个任务。
  • 进程(Process)
    定义:程序在计算机中的一次运行过程
    程序:是一个可执行的文件,是静态的占有磁盘文件,不占有计算机的运行资源
    进程:进程是一个动态过程的描述,占有计算机的资源,有一定的生命周期
    *同一个程序的不同运行过程是不同的进程,占有资源和生命周期都不一样。
  • 进程的创建流程
    1、用户空间通过运行程序或者调用接口发起创建进程
    2、操作系统受用户请求,开始创建进程
    3、操作系统分配计算机资源,确定进程状态,开辟进程空间等工作
    4、操作系统将创建好的进程提供给应用程序使用
  • cpu时间片
    如果一个进程占有计算机核心,我们称为进程占有计算机时间片
    *多个任务之间是争夺cpu的关系
    *谁占有cpu最终是操作系统决定
  • PCB(进程控制块)
在内存中开辟的一块空间,用来记录进程的消息
	* 进程控制块是操作系统查找识别进程的标志
	进程信息:ps -aux

PID(process ID):在操作系统中每个进程都有一个唯一的ID号
用来区别于其他进程。ID号由操作系统自动分配,是一个大于0
的整数

父子进程:在操作系统中除了初始化的进程,每一个进程都有一个
父进程,可能有0个或者多个子进程。由此形成父子进程关系。

查看进程树:pstree
查看父进程的PID:ps -ajx
  • 进程的状态
三态:执行 就绪 等待/阻塞
	*就绪态:进程具备执行条件,等待系统分配资源
	*运行态:进程占有cpu处于运行状态
	*等待态:进程暂时不具有执行条件,阻塞等待满足条件后
	再执行

五态:新建、就绪、执行、等待/阻塞、终止
	*新建态:创建一个新的进程,获取资源的过程
	*终止态:进程执行结束,资源释放回收的过程
	
$ ps -aux  ---->STAT
S 等待态 (可中断等待)
D 等待态 (不可中断等待)
T 等待态 (暂停状态,后台挂起)
R 运行态 (包含就绪态)
Z 僵尸进程
< 优先级较高
N 优先级较低
l 有子进程的
s 会话组组长
 + 前台进程(正在执行的进程)

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

  • 进程的优先级
    作用:决定了一个进程的执行权限和占有资源的优先程度
查看进程的优先级:
	top - - ->NI 
	动态查看系统中的进程信息,用左右箭头翻页
	取值范围:-20 ~ 19  20最高

使用指定的优先级运行程序
	nice :指定运行的优先级
		指定0以下的优先级需要sudo命令
	eg: nice -9 ./while.py 以优先级9运行
		nice --9 ./while.py 以-9优先级运行
  • 进程特征
1、进程之间运行互不影响 各自独立运行
2、进程是操作系统分配的最小单位
3、每个进程空间独立,各自占有一定的虚拟内存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值