介绍进程
进程具有动态性,并发性,独立性,异步性,一次性活动可执行活动的程序。 而程序具有静态性。

此图的顺序为就绪——执行——阻塞。
进程ID是标识进程唯一的数字。
在父进程PPID与启动用户进程DID之间,不能两者同时的使用一个进程,在进程互斥中,他是操作系统的控制部分,在一时刻只允许一个进程使用,即操作系统只允许一个用户访问,操作系统让他们分开对资源的访问。这就是临界资源。在访问临界资源的那段程序代码保证访问者进入各自的临界区。
进程的同步由一组并发的进程按一定的顺序执行的过程,在调度的算法中,他是按一定的算法,只有一个执行状态,占有cpu。分为:
先来先服务;短进程优先;高级优先;时间片轮转。前面三者很容易理解,第四种解释如图:

假设A进程先运行0.5s后,A进程必须释放cpu,将A进程放入堆栈中,接着C进程的后面,B进程运行0.5s后,B进程必须释放cpu。将B进程放入堆栈中,接着A进程的后,C进程运行0.5后,像这样循环的工作,一直完成每个进程需要工作的时间。
多个进程因竞争资源而形成一种僵持的状态,称为进程死锁。如图:

A进程占有资源1,B进程占有资源2,A进程试图占有资源2,B进程试图占有进程1,导致进程出现了死锁。进程死锁的解决措施就是让两个进程获取资源保持一致,同时去获取一个资源。
系统调用获取正在运行的进程PID(pid_t getpid(void))和PPID(pid_t getppid(void))。
创建子进程 pid_t fork(void),他是进程的核心。fork被调用一次,返回两次,它有可能返回三中值。在父进程中,pid返回新创建的子进程的PID,在子进程中,pid返回0,在错误中,pid返回负数。

int main(){
//创建进程
pid_t pid;]
int count =0
//调用进程
pid=fork();
count++;
//printf会输出几次,从count的值
printf("count %d\n",count)
}

Printf会输出两次,每一次的count都是1,
在fork()之前打印,不会有输出,因为不会运行,main函数是从上至下的,还有他是产生的是共享代码,拷贝了空间数据段,堆栈数据段。所以父进程只算父进程对应的count,而子进程只算子进程对应的count。而每一次count都会是1。可是vfork()就不一样了。如下表格分析:
fork
|
子进程拷贝父进程的数据段
|
vfork
|
子进程与父进程共享数据段
|
fork
|
父子进程执行的次序没有确定
|
vofrk
|
子进程先运行,父进程后运行
|
而vfork代替fork的话,count子进程是2,父进程是1,因为他是共享父进程的数据段,即是子进程共享count。
<!--EndFragment-->

- 大小: 3.7 KB

- 大小: 4.8 KB

- 大小: 3.5 KB

- 大小: 8 KB

- 大小: 6.2 KB
分享到:
相关推荐
### 所有的Windows进程解析 #### 进程概述与重要性 在Windows操作系统中,进程是计算机系统资源分配的基本单位,也是程序运行时的具体表现形式。一个程序在启动后会成为一个独立的进程,在该进程中执行代码、管理...
### Windows系统进程解析 #### 一、概述 Windows操作系统中,进程是系统资源分配的基本单位,也是应用程序执行的实体。每个进程都有一个唯一的进程标识符(PID),并且有自己的虚拟地址空间。了解这些进程的功能和...
IOS7.1.2,199进程解析列表.简化,优化参考
vista 进程 解析 vista 进程 解析 vista 进程 解析
在资源管理器中,你可以看到多个进程,这些进程可以分为系统进程和用户进程。系统进程主要负责维持操作系统的基本功能,如内存管理、设备驱动等;用户进程则是用户启动或系统为用户服务而创建的,例如浏览器、文字...
在Windows操作系统中,进程是操作系统的核心组成部分,它们是程序运行时的实例,承载了实际的计算活动。系统进程和用户进程构成...因此,掌握Windows系统进程列表完全解析的知识,对任何IT专业人员来说都是必不可少的。
**Windows XP系统重要进程解析** 在Windows XP操作系统中,系统进程是维持系统稳定运行的关键元素。这些进程在后台默默地执行各种任务,确保操作系统能够提供必要的服务和支持。理解这些进程的功能和作用,对于优化...
Init进程解析 ##### 3.1 /system/core/init/init.c 分析 `init`进程的核心代码位于`/system/core/init/init.c`文件中。该文件包含了`init`进程的主要逻辑处理部分。其中最核心的功能是读取并解析`/init.rc`文件,...
Windows 进程完全解析 system process 进程文件: [system process] or [system process] 进程名称: Windows内存处理系统进程 描述: Windows页面内存管理进程,拥有0级优先。 是否为系统进程: 是
"Multipath用户进程代码解析" Multipath用户进程代码解析是指对Multipath用户进程的代码进行详细的分析和解释。Multipath用户进程是指multipath和multipathd两个程序,旨在实现多路径存储系统的管理和维护。 ...
init 进程的启动过程主要包括以下几个步骤:kernel 启动 init 进程、init 进程解析配置文件、init 进程启动系统服务、init 进程挂载文件系统等。其中,init.rc 文件是 init 进程的配置文件,用于配置系统服务的启动...
#### 进程表中的重要进程解析 根据提供的部分内容,我们可以了解到一系列在Windows XP系统中常见的核心进程及其功能: 1. **smss.exe (Session Manager):** 负责初始化用户会话,并创建会话管理器和窗口管理器进程...
Windows系统进程完全解析.mht Windows系统进程完全解析.mht Windows系统进程完全解析.mht Windows系统进程完全解析.mht Windows系统进程完全解析.mht
3. **进程解析**:在Wireshark中,解析进程信息可能涉及读取操作系统提供的数据结构,如Windows的ETW(Event Tracing for Windows)或Unix系统的procfs。 4. **协议解析**:理解不同网络协议如何与进程交互也是关键...
Socket 通讯,XML 解析和进程模式是计算机科学中的三个重要概念,特别是在开发分布式系统、数据交换和系统架构设计时尤为关键。 首先,让我们详细探讨一下 Socket 通讯。Socket 是网络编程中的一个接口,它允许应用...
### Windows常见进程列表完全解析 #### 进程与线程概念 进程是程序在计算机上的一次执行活动。当你运行一个程序时,实际上就是在启动一个进程。程序本身是静态的,而进程则是动态的。在Windows操作系统中,进程...
1. 解析:服务器进程解析DML语句。 2. 执行:更新数据并在重做日志缓冲区记录操作。 3. 写入:DBWR(Database Writer)进程将更改写入数据文件。 4. 回滚:如果需要,回滚段记录旧数据以备回滚操作。 5. 重做日志:...
1.从XML中读取要运行的程序列表 2.根据程序列表分别创建子进程 3.读取tasklist,删除(终止)某一进程的运行 其中,tasklist.exe在C:\windows\system32文件下
Windows系统进程完全解析是对操作系统核心运行机制的深入了解,其中包含了进程的基本概念、分类以及Windows系统中的典型进程。进程是计算机中程序执行时的一个实例,是操作系统分配资源的基本单位。它具有独立的内存...