查看: 165|回复: 0

[原创] 【从0教学嵌入式Linux】第二十八集

[复制链接]

90

主题

1

好友

2665

积分

版主

Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    奋斗
    2016-6-24 09:52
  • 签到天数: 112 天

    [LV.6]常住居民II

    发表于 2016-6-24 11:42:19 |显示全部楼层
    28课:创建进程和创建线程
    图片100.jpg
    (一)创建进程
    1.概述
    进程的概念主要有两点:第一,进程是一个实体,每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)和堆栈(stack region),文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体。我们称其为进程。
    进程是操作系统中最基本、最重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。
    2.创建进程代码
    图片1.jpg
    (二)创建线程
    1.概述
    在多线程os中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程具有以下属性。
    1)轻型实体
    线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源,比如,在每个线程中都应具有一个用于控制线程运行的线程控制块TCB,用于指示被执行指令序列的程序计数器、保留局部变量、少数状态参数和返回地址等的一组寄存器和堆栈。
    2)独立调度和分派的基本单位
    在多线程OS中线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小。
    3)可并发执行
    在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行,同样,不同进程中的线程也能并发执行
    4)共享进程资源
    在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间),这意味着,线程可以访问该地址空间的每一个虚地址;此外,还可以访问进程所拥有的已打开文件、定时器、信号量机构等。
    2.创建线程代码
    图片2.jpg
    图片3.jpg

    www.sinlinx.com
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-5 18:29 , Processed in 0.117319 second(s), 11 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部