zoukankan      html  css  js  c++  java
  • linux系统编程之进程(一):进程与程序

    本节目标:

    • 什么是程序
    • 什么是进程
    • 进程数据结构
    • 进程与程序区别与联系

    一,什么是程序?

    程序是完成特定任务的一系列指令集合

    二,什么是进程?

    • 从用户的角度来看进程是程序的一次动态执行过程
    • 从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。
    • 进程是资源分配的最小单位
    • 每一个进程都有自己独立的地址空间与执行状态。
    • 像UNIX这样的多任务操作系统能够让许多程序同时运行,每一个运行着的程序就构成了一个进程

    三,进程数据结构

    进程的静态描述:由三部分组成:PCB、有关程序段和该程序段对其进行操作的数据结构集。

    进程控制块(PCB):用于描述进程情况及控制进程运行所需的全部信息,是操作系统用来感知进存在的一个重要数据结构。

    代码段:是进程中能被进程调度程序在CPU上执行的程序代码段。

    数据段:一个进程的数据段,可以是进程对应的程序加工处理的原始数据,也可以是程序执行后产生的中间或最终数据

    进程=代码段(编译后形成的一些指令)+数据段(程序运行时需要的数据)+堆栈段(程序运行时动态分配的一些内存)+PCB(进程信息,状态标识等)

    数据段包括:

    • 只读数据段:常量
    • 已初始化数据段:全局变量,静态变量
    • 位初始化数据段(bss)(0初始化段):未初始化的全局变量和静态变量(实际上不分配内存,因为都为0,只有一些标记信息)

    四,进程与程序区别与联系

    • 进程是动态的,程序是静态的
    • 进程的生命周期是相对短暂的,而程序是永久的。
    • 进程数据结构PCB
    • 一个进程只能对应一个程序,一个程序可以对应多个进程。

    原文地址:

    http://www.cnblogs.com/mickole/p/3185610.html

  • 相关阅读:
    BTRON 八十年代日本夭折的操作系统。
    zz白话说学计算机图形学
    陈怀临时间–浅谈微内核QNX/Neutrino
    java封装详解
    maven基础学习为什么要用maven,帮助解决了什么问题,怎么解决的,希望以后学习每个知识点都可以这样问下自己
    vscode开发vue,热更新
    Vue.js到前端工程化
    简洁好用的数据库表结构文档生成工具
    Java的修饰符
    1.谷粒商城000前言
  • 原文地址:https://www.cnblogs.com/shan2017/p/7770964.html
Copyright © 2011-2022 走看看