程序、进程与线程的概念

1、程序与进程的概念 

程序是计算机存储系统中的数据文件

       - 源代码程序 

            ★ 文本文件,描述程序行为和功能 

     -可执行程序 

            ★ 二进制文件,直接加载并执行 

进程的概念 

     -广义概念 

            ★ 程序关于某个数据集合的一次运行活动 

     -狭义概念 

            ★ 程序被加载到内存中执行后得到进程 

 

程序和进程的区别 

     -程序是硬盘中静态的文件 

            ★ 存储系统中的一段二进制表示 

     -进程是内存中动态的运行实体

            ★ 数据段,代码段,PC指针,等 

 

程序和进程的联系 

     -一个程序可能对应多个进程 

            ★ 一个程序多次运行,每次运行产生一个进程 

     -一个进程可能包含多个程序 

            ★ 一个程序依赖多个其它动态库 

值得注意的地方 

        在当代操作系统中,资源分配的基本单位是进程;

         而 CPU调度执行的基本单位是线程! 

 

面试中的小问题 

                  包含脚本代码的文本文件是—种类型的可执行程 

                  序吗?如果是,对应什么样的进程呢?

 

2、线程的概念 

线程的概念 

     -进程内的一个执行单元 

     -操作系统中一个可调度的实体 

     -进程中相对独立的一个控制流序列 

     -执行时的现场数据和其他调度所需的信息 

 

再论main函数 

         C/C++程序被执行后从main函数开始 

         运行,那么这中间经历了什么样的过程? 

                                                     线程是进程使用CPU资源的基本单位! 

 

深入理解进程和线程 

     -进程中可以存在多个线程共享进程资源 

     -线程是被调度的执行单元,而进程不是调度单元 

     -线程不能脱离进程单独存在,只能依赖于进程运行 

     -线程有生命期,有诞生和死亡, 

     -任意线程都可以创建其它新的线程 

                      进程中的多个线程并行执行,共享进程资源! 

       例如:

               百度网盘同时下载多个文件,并行下载,进程内部

               创建多个线程,每个线程负责下载一个文件

 

3、小结 

程序是物理存储空间中的数据文件 

进程是程序运行后得到的执行实体 

线程是进程内部的具体执行单元 

一个进程内部可以有多个线程存在 

进程是操作系统资源分配的基本单位 

线程是操作系统调度执行的基本单位 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值