1.进程基本概念
进程是操作系统对一个正在运行的程序的一种抽象,比如打开QQ、打开播放器这里都是一个进程,而你可以边聊天边听歌,没什么影响,你可能会说我们电脑是4核的,这里暂且不考虑这个,加入我们电脑都是1个cpu在运转,那么我们也是可以边聊天和边听歌的。因为在一个系统上(单核)CPU只能在任一时刻运行一个任务,而我们却感觉同时完成了好多任务。这时为什么呢?
运行多个程序实际也就是同时运行多个进程,而每个进程都好像在同时的运行,都占有系统资源。看上去是在并发的执行多个进程,主要是通过在进程之间切换实现的,操作系统实现这种交错执行的机制称为上下文切换。(并发是通过上下文切换实现的)
2.上下文切换
上下文切换:操作系统保持跟踪进程运行所需的所有状态信息,这种状态也就是上下文。包括许多信息,例如PC和寄存器文件的当前值,以及主存的内容。在任何一个时刻,单处理器系统都只能执行一个进程代码。当操作系统决定把控制权从当前进程转移到某个新线程时,就会停止上下文切换,保存当前进程上下文、恢复新进程的上下文,然后将控制权传递到新进程。新进程就会从上次停止的地方开始执行。
3.进程特征
1)结构性: 通常的程序是不能并发执行的。为使程序能独立运行,应为之配置一进程控制块,即(PCB process control block)。而由程序段和PCB三部分便构成了进程实体。在多数情况下所说的进程,实际上就是指进程实体。所谓的创建进程,实质上是指创建进程实体中的PCB,撤销进程是撤销进程中的PCB。
2)动态性
3)并发性:并行性和并发性是既相似又有区别的两个概念,并行性是指两个或多个时间在同一时刻发生,而并发性是指两个或多个时间在同一时间间隔内发生。并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中每时每刻只能运行一道程序,所以微观上这些程序是分时交替的运行的,宏观上也就是所谓的并发。
4) 独立性:在传统的OS中,独立性是指进程实体是一个能独立运行,独立分配资源和独立接受调度的基本单位。
5) 异步性:简单的说就是同步是阻塞模式,而异步是非阻塞模式,同步是指两个任务是相关的,其中一个任务要等待另一个任务运行(操作数据库的增删),异步两个线程无关都是运行自己的
4.进程状态
1)就绪状态
当进程已分配到除CPU以外的所有必要资源后,只要获得CPU便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列
2)执行状态
进程已经获得CPU,其程序正在执行,在单处理机系统中,只有一个进程处于执行状态;在多处理机系统中,则有多个进程处于执行状态
3)阻塞状态
正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。致使进程受阻的典型事件有:请求IO操作、申请缓冲空间等。
B.另外2个状态
1)挂起状态:在不少系统中除上述三种状态外,还加入了挂起状态。当终端用户在自己程序运行期间发现有可疑问题时,希望暂时使自己的程序静止下来,使正在执行的进程暂停执行,我们把这种静止状态称为挂起状态。
相对上述状态图,增加了挂起和激活状态
挂起:将进程从内存搬到外存
激活:将进程从外存搬到内存
2)创建状态和终止状态
创建状态:创建一个进程一般通过两个步骤,首先为一个进程创建PCB,并填写必要的管理信息,其次把进程转入就绪状态并插入就绪队列中,当一个新的进程被创建时,系统已经分配了PCB,但由于该进程所必须的资源或其他信息,如主存资源尚未分配,即未进入主存,创建工作尚未完成,进程还不能被调度运行,其所处状态就是创建状态。
终止状态:将pcb清零,释放资源
相关推荐
进程和线程是计算机操作系统中的两个基本概念,对于任何软件开发者,尤其是系统级或服务器端开发者来说,理解和掌握它们至关重要。下面将详细解释这两个概念,以及它们在实际应用中的作用。 首先,我们来理解“进程...
#### 二、进程间通信的基本概念 进程间通信是指不同进程之间互相交换信息的过程。在Linux环境下,进程间通信不仅限于同一台计算机上的进程通信,也可以跨网络进行。进程间通信机制的设计目的是为了提高程序的模块化...
### 进程与线程详解:深入理解操作系统的核心概念 #### 一、进程与线程的概念及作用 **进程(Process)** 是操作系统中的一个重要概念,代表了一个正在运行的程序实例,是系统进行资源分配和调度的基本单位。一个...
**总结:** 本章节介绍了进程的基本概念、特点、状态转换以及构成要素等内容,重点强调了进程在操作系统中的核心作用,以及如何通过状态转换和挂起机制来管理和优化多道程序系统的性能。通过理解这些基础概念,初学...
C#进程和线程详解 C#进程和线程是指在计算机科学中,进程(Process)和线程(Thread)是操作系统中两种基本的执行单元。其中,进程是应用程序的一次动态执行,具备独立的内存空间和系统资源,而线程是进程中的一个...
#### 基本概念与作用 系统进程是操作系统的核心组成部分,它们负责管理和执行各种系统级任务,确保计算机系统的稳定运行。本文档将详细解析Windows操作系统中的关键系统进程,涵盖从基本的系统进程到附加的系统进程...
基于线程、并发的基本概念 线程和进程是两个经常混淆的概念,但实际上它们是不同的。进程是表示资源分配的基本单位,而线程则是进程中执行运算的最小单位,即执行处理机调度的基本单位。一个程序有一个进程,而一个...
### 进程间通信(IPC)详解 进程间通信(Inter-Process Communication,简称IPC)是计算机科学中的一个核心概念,涉及到多个独立进程之间如何共享数据、同步操作以及协调资源分配的问题。在现代操作系统中,提供了...
【进程控制实验】是Linux操作系统课程中的一个重要环节,旨在...通过这些实验,学生不仅能理解进程的基本概念,还能实际操作和体验进程的创建、执行和通信过程,为后续学习进程同步、互斥、通信等高级主题奠定基础。
进程是一个计算机科学中的基本概念,指的是操作系统为了管理程序的执行而抽象出的一个单位。它不仅包含正在执行的程序本身,还包含了该程序运行时所需要的环境,如地址空间、执行堆栈、文件描述符表等。 #### 进程...
进程是操作系统中的基本概念,它是程序执行的实例。在Windows操作系统中,任务管理器是查看、管理和控制系统进程的主要工具。当我们谈论“任务管理器进程详解”时,我们需要理解几个核心概念:进程、线程、内存管理...
《C进程和线程详解》 进程和线程是计算机科学中的核心概念,尤其是在多任务并行处理中扮演着至关重要的角色。进程是操作系统资源分配的基本单位,代表着一个正在执行的程序实例。在C#中,我们可以使用Diagnostics...
在Windows操作系统中,进程是计算机执行的基本单元,它们代表了运行中的程序实例。每个进程都有自己独立的内存空间,包括代码、数据、堆栈等。理解Windows操作系统中的进程工作原理对于优化系统性能、解决系统问题...
提供的“WINDOWS XP服务和进程优化详解(1).txt”和“WINDOWS XP服务和进程优化详解(2).txt”文件可能包含了更详细的步骤和案例,建议详细阅读以获取更多优化技巧和实战经验。 总的来说,了解并优化Windows XP的服务...
【进程、线程、调度详解教程】 在操作系统中,进程和线程是并行和并发执行的基本单位,而调度则是确保这些单位有效运行的关键机制。本文将深入探讨进程的引入、描述,线程的概念,以及调度的相关内容。 1.1 进程的...
进程是操作系统的核心概念,它是操作系统分配资源的基本单位。每个进程都有一个独立的内存地址空间,包含代码、数据、堆栈和环境变量等。进程可以分为用户进程和系统进程,前者由用户启动,如应用程序;后者由操作...
在Linux操作系统中,进程是程序执行的实例,是系统资源分配的基本单位。本文将深入探讨Linux进程控制,包括进程通信、同步与异步的概念,并提供相关的演示代码。 首先,我们来理解什么是进程通信。在多进程环境中,...
一、进程的概念与结构 1. 进程定义:进程是操作系统中运行着的程序的实例,它拥有独立的内存空间,包含程序计数器、堆栈、全局变量等。每个进程都有一个唯一的进程ID,确保它们在系统中可以被正确地管理和调度。 2. ...
#### 一、基本概念与作用 在Windows 7操作系统中,服务进程是指在后台运行以支持各种系统功能和服务的一系列进程。这些进程对于系统的正常运行至关重要,它们通常在系统启动时自动运行,并在系统运行期间持续工作。...