进程和线程

本文介绍了进程和线程的概念,进程的三种状态:运行、就绪、阻塞,并以创建记事本进程为例,详细阐述了如何使用CreateProcess()函数创建进程。同时,讨论了进程控制块(PCB)在操作系统中的作用,以及如何获取进程基本信息结构地址。
摘要由CSDN通过智能技术生成

1.概念

        进程是执行程序的实例,每个进程拥有自己的虚拟地址空间和控制线程。线程是操作系统调度器,分配处理器时间的基础单元。每个进程都有自己的地址空间和一个控制线程。

2.解释进程模型

       系统初始化 

       正在运行的进程执行创建进程的系统调用

      用户要求创建新进程

      启动批处理作业

3.进程的三个状态

     运行

     就绪

     阻塞

以下例子展示了创建一个打开记事本进程的例子

#incldue "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
    STARTUPINFO startupInfo={0};
    PROCESS_INFORMATION processInformation={0};
    BOOL bSuccess=CreateProcessA(
         TEXT("C:\\Windows\\System32\\notepad.exe"),NULL,NULL,
         NULL,FALSE,NULL,NULL,NULL,&startupInfo,
         &processInformation );
    if(bSuccess)
    {
        cout<<"Process started."<<endl
        <<"Process ID:\t"
        <<processInformation.dwProcessId<<endl;
    }
    else
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值