3. 进程概念



最理想的多任务模型



进程的数据结构:PCB



进程状态迁移示例



PCB示例



进程调度队列,动态反应操作系统全貌

Job queue 等待进入计算机系统的待处理任务

Ready queue 驻留内存,准备就绪,等待CPU

Device queue 等待I/O设备的进程

进程一经创建,即在这些队列之间迁移,直至被终止



进程上下文切换

  • CPU任何时候只能为一个进程服务
  • 当CPU转向为另一个进程服务时,由于CPU内部资源有限,它必须保存原有进程的状态,装入待服务进程的状态,也即"进程上下文切换"
  • 状态指寄存器,标志位,堆栈等当前值
  • 上下文切换时间是一种额外开销,因为期间CPU不做对用户进程直接有益的事
  • 上下文切换直接决定于CPU硬件支持力度
时间: 2024-10-11 13:20:52

3. 进程概念的相关文章

Linux进程概念与管理

一.Linux进程概念 1.进程:Process,是运行中的程序的一个副本,有生命周期,都由其父进程创建 Linux内核存储进程信息的固定格式:taskstruct 多个任务的的taskstruct组件的链表:task list 2.进程优先级:0-139 0:一般不使用 1-99:实时优先级:数字越大优先级越高,系统自动安排 100-139:静态优先级:数字越小优先级越高,可手动更改 3.Nice值:-20至19,对应于100到139 普通用户只能将自己的优先级调低,root用户可以随意调制

进程概念

1.进程 狭义定义:进程是正在运行的程序的实例 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元. 进程是由进程控制块.程序段.数据段三部分组成 2.程序 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念.而进程是程序在处理机上的一次执行过程,它是一个动态的概念. 进程和程序区别      1.程序是静态概念,本身作为一种软件资源长期保存:而进程是程序的执

僵尸进程和孤儿进程----概念

这里仅给出僵尸进程和孤儿进程的概念.来源<深入了解计算机系统(原书第3版)>和网上的博客,下面会给出博客来源. 前言:回收子进程 当一个进程由于某种原因终止时,内核并不是立即把它从系统中清除.相反,进程被保持在一种已终止的状态中,直到被它的父进程回收(reaped).当父进程回收已终止的子进程时,内核将子进程的退出状态传递给父进程,然后抛弃已终止的进程.从此时开始,该进程就不存在了. 1.基本概念 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitp

线程,进程概念

当多个客户端访问服务端的时候,每个客户端都会对服务端说:’嗨,我想连接你‘.服务端的sorcket通过while循环,一直监听着是否有client请求连接,当有请求(一个或者多个)连接过来的时候:就会分配(一个或者多个)进程或者线程给client,并保持连接,进行通话. 线程是应用程序的最小单位, #!/usr/bin/env python # -*- coding:utf-8 -*- import threading import time def show(arg): time.sleep(

守护进程 概念

1.概念 守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控.此类程序会被以进程的形式初始化.守护进程程序的名称通常以字母“d”结尾:例如,syslogd就是指管理系统日志的守护进程. 通常,守护进程没有任何存在的父进程(即PPID=1),且在UNIX系统进程层级中直接位于init之下.守护进程程序通常通过如下方法使自己成为守护进程:对一个子进程调用fork,然后使其父进程立即终止,使得这个子进程能在init下运行.这种方法通常被称为“

进程概念总结

最近刚刚学习多进程,对于多进程的概念我自己总结一下 每一个程序启动后都会在系统中产生一个进程来处理这个程序 但是一个进程运行速度毕竟有限,在程序中有一些比较耗时的操作程序就只能是卡死的状态,为了解决这个问题,就出现了多进程.让耗时的工作创建一个子进程让子进程去工作,主进程运行自己的.但子进程多了也会出现问题:1.孤儿进程2.僵尸进程 但是使用多进程的时候又出现了进程之间数据共享的问题,这时候进程间的通信就需要解决.目前知道的解决办法是用:1.文件2.管道3.队列4.共享内存以上数据共享类型的区别

Python-操作系统、进程概念

操作系统 多道操作系统 第一次提出了多个程序可以同时在计算机中计算 1.遇到IO就让出cpu 2.把cpu让给其他程序,让其他程序能够使用cpu 3.cpu的让出这件事要占用时间 4.两个程序来回在cpu上切换,不会乱 每个程序有独立的内存空间 每个程序在切换的前后会把当前的状态记录下来 cpu计算和不计算(IO)的操作 IO操作不占cpu IO操作(网络操作  文件操作):输入输出(相对内存) 阻塞:sleep/input/recv/accept/recvfrom/是不需要cpu参与的 对文件

进程(一)—— 进程概念

进程和线程 进程的定义 进程是指一个具有一定独立功能的程序 在一个 数据集合 上的一次 动态执行 过程 进程的组成 进程包含了正在运行的一个程序的所有状态信息 代码 数据 状态寄存器 CPU状态CR0, 指令指针IP 通用寄存器 AX,BX, CX... 进程占用系统资源 打开文件.已分配内存.... 进程的特点 动态性 并发性 进程可以被独立调度并占用处理机运行 独立性 制约性 因访问共享数据/资源或进程间同步而产生制约 进程与程序的联系 进程是操作系统处于执行状态程序的抽象 程序 = 文件(

线程、进程 概念理解

1 .什么是线程? 线程是指程序在执行过程中,能够执行程序代码的一个执行单元,在 Java 语言中,线程有四种状态:运行,就绪,挂起,结束. 2 .线程与进程的区别? 进程是一段正在运行的程序,而线程有时也被称为轻量级进程,它是进程的执行单元,一个进程可以拥有多个线程,各个线程之间共享程序的内存空间,但是,各个线程拥有自己的栈空间. 3 .为什么使用多线程? ( 1 ).使用多线程可以减少程序的响应时间.单线程如果遇到等待或阻塞,将会导致程序不响应鼠标键盘等操作,使用多线程可以解决此问题,增强程