Java-进程


前言

        由于CPU进入了多核心时代,这就要求了程序员如果要充分发挥出CPU的运算效率,就必须采用并发编程,进程这个概念也就被引入了。


提示:以下是本篇文章正文内容,下面案例可供参考

一、进程是什么

        进程是程序依次动态执行的过程,它对应了从代码加载、执行到执行完毕的过程.这个过程也是进程本身从产生、发展到消亡的过程。一个进程可分为两个部分,分别为要执行的指令和执行指令时所需的各种系统资源,如CPU、内存等。

        进程是包含线程的. 每个进程至少有一个线程存在,即主线程。进程中的每个线程执行不同的任务,这样就达到了多任务处理的目的。


特点

        进程消耗资源(创建、销毁、调度)多,速度慢。

        在操作系统内部,进程是操作系统进行资源分配的基本单位。


        进程是操作系统对一个正在运行的程序的一种抽象,可以看作是一种资源,并且是由操作系统内核负责管理(描述+组织)的。

PCB-描述

由于操作系统一般由C/C++编写,所以使用了C语言的结构体来描述进程,那么这个结构体就称为了PCB(Process Control Block)。

        PCB包括:pid 进程的身份标识符。内存指针 指向所在内存。文件描述符表 硬盘上的文件等资源。

组织

可以简单认为是通过双向链表将多个PCB串连在一起。 

二、进程调度的特性

进程状态

就绪状态:随时都能到CPU上执行。

运行状态:正在CPU上执行。

阻塞状态:在这一段时间内,无法到CPU上执行。

优先级

进程有优先级,操作系统调度进程也是按照优先级顺序来进行工作的。

上下文-读档 存档

操作系统在进行进程切换的时候,会把进程执行的中间状态记录,当下次再次调用到这个进程的时候,会恢复到上次的状态。保存上下文,是此时CPU寄存器的值,保持到内存中(PCB)。回复上下文,是把内存中的值读出,写回寄存器。

记账信息

操作系统统计每一个进程在CPU上占用的时间和执行的指令数目,据此来判断下一阶段的调度。

那么,以上就是本文的全部内容了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

todd1er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值