操作系统原理:程序、进程、线程的概念



在日常对操作系统的使用中,大家肯定对程序、进程和线程多少有所耳闻。作为操作系统的重要一部分,这三个的概念必须要清楚。今天我来简要总结一下,包括三者之间的关系。

程序、进程、线程的概念

程序(Program)

  • 定义:程序是计算机指令的集合,用于指导计算机完成特定的任务或功能。程序以某种编程语言编写,并经过编译或解释后成为计算机可以直接执行的指令序列。
  • 特点:程序是静态的,存储在计算机的存储介质(如硬盘)上,直到被加载到内存中并由操作系统执行。

进程(Process)

  • 定义:进程是操作系统中资源分配的基本单位,是程序执行的实例。每个进程都有自己独立的内存空间、系统资源(如文件描述符)和一组系统调用。
  • 简述:执行起来的代码,就是进程。
  • 特点
    • 唯一性:每个进程都有一个唯一的标识符(PID),用于区分不同的进程。
    • 动态性:进程是程序执行的动态过程,具有生命周期,包括创建、执行、等待和终止等状态。
    • 独立性:进程之间相对独立,每个进程都有自己独立的地址空间和数据。
    • 并发性:多个进程可以在操作系统中并发执行,提高系统的资源利用率和吞吐量。

线程(Thread)

  • 定义:线程是进程中的一个实体,是CPU调度和分派的基本单位。线程是进程内的一个相对独立的执行流,可以共享进程的资源(如内存和文件描述符)。
  • 简述:是进程的真正执行者
  • 特点
    • 轻量级:线程比进程更轻量级,创建和切换的开销较小。
    • 共享性:同一进程内的多个线程共享进程的地址空间和数据资源,便于数据共享和通信。
    • 并发性:多线程可以在多核处理器上并行执行,提高程序的执行效率。
    • 独立性:虽然线程共享进程的资源,但每个线程都有自己独立的执行栈和程序计数器。

关系总结

  • 程序与进程:程序是静态的,进程是程序执行的动态过程。一个程序可以多次执行形成多个进程,每个进程都是程序的一个独立实例。
  • 进程与线程:进程是资源分配的基本单位,线程是CPU调度的基本单位。一个进程可以包含多个线程,这些线程共享进程的资源并并发执行。
    在这里插入图片描述

注:图片来源于网络,侵删。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值