09_1_线程的基本概念 1. 线程的基本概念 线程的一个程序内部的顺序控制流。 线程和进程的区别 每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销。 线程可以看成是轻量级的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小。 ...
分类:
编程语言 时间:
2018-04-28 10:55:57
阅读次数:
175
多线程 进程:每个进程都是独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1-n个线程。(进程是资源分配的最小单位) 线程:是运行在一个单一进程上下文中的逻辑流,由内核进行调度。同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线 ...
分类:
编程语言 时间:
2018-04-17 11:36:03
阅读次数:
183
转载:http://blog.csdn.net/evankaka 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小 ...
分类:
编程语言 时间:
2018-04-15 22:51:44
阅读次数:
226
第十一章线程 11.3线程标识 每个线程也有一个线程ID,线程ID只有在它所属的进程上下文中才有意义。 /* 比较两个线程ID,相等返回非0数值,否则返回0*/ #include<pthread.h> int pthread_equal(pthread_t tid1, pthread_t tid2) ...
分类:
编程语言 时间:
2018-04-15 21:05:46
阅读次数:
261
1.进程有两个组成部分,一个进程内核对象和一个地址空间。线程也有两个组成部分: 一个是线程的内核对象,操作系统用它管理线程。系统还用内核对象来存放线程统计信息的地方。 一个线程栈,用于维护线程执行时所需的所有函数参数和局部变量。 2.线程要在其进程的地址空间内执行代码和处理数据,假如一个进程上下文中 ...
分类:
编程语言 时间:
2018-03-29 19:07:28
阅读次数:
209
线程&进程 进程:每个进程都有独立的代码和数据空间(进程上下文);进程间的切换会有较大的开销,一个进程包含1 n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是 CPU 调度的最小单位) PS: 线程是一个 ...
分类:
编程语言 时间:
2018-03-25 19:25:23
阅读次数:
222
工作队列是进程上下文,可以休眠。系统默认的工作者线程为events,也可以创建自己的工作者线程。1. 工作\工作队列\工作者线程关系 推后执行的任务叫作工作,work_struct工作以队列结构组织成工作队列(workqueue),workqueue_struct工作线程就是负责执行工作队列中的工作 ...
分类:
其他好文 时间:
2018-03-10 14:11:46
阅读次数:
167
1、特权级 Intel x86架构的cpu一共有0~4四个特权级,0级最高,3级最低,ARM架构也有不同的特权级,硬件上在执行每条指令时都会对指令所具有的特权级做相应的检查。硬件已经提供了一套特权级使用的相关机制,软件自然要好好利用,这属于操作系统要做的事情,对于UNIX/LINUX来说,只使用了0 ...
分类:
系统相关 时间:
2018-02-27 19:30:29
阅读次数:
528
1、前言 最近在学习linux内核方面的知识,经常会看到用户空间与内核空间及进程上下文与中断上下文。看着很熟悉,半天又说不出到底是怎么回事,有什么区别。看书过程经常被感觉欺骗,似懂非懂的感觉,很是不爽,今天好好结合书和网上的资料总结一下,加深理解。 2、用户空间与内核空间 我们知道现在操作系统都是采 ...
分类:
系统相关 时间:
2018-02-23 11:57:34
阅读次数:
227
一、前言 在linux kernel的实现中,经常会遇到这样的场景:共享数据被中断上下文和进程上下文访问,该如何保护呢?如果只有进程上下文的访问,那么可以考虑使用semaphore或者mutex的锁机制,但是现在中断上下文也参和进来,那些可以导致睡眠的lock就不能使用了,这时候,可以考虑使用spi ...
分类:
系统相关 时间:
2018-02-13 22:55:45
阅读次数:
531