CPU 内核数 与 线程数 的关系 一个CPU 内核只能跑一个线程 由于Intel公司引入的超线程技术,使得物理CPU内核和虚拟CPU内核存在一个1:2的关系拓展。 因此如下图,原本4个内核的电脑,同时只能跑4个线程;由于1:2关系,拓展为8个逻辑处理器,因此可以同时跑8个线程。 CPU 时间片轮转 ...
分类:
编程语言 时间:
2020-03-05 22:08:47
阅读次数:
78
一、认识并发和并行 先将两个概念, 并发与并行 并发:同一时间段内可以交替处理多个操作: 图中整个安检系统是一个并发设计的结构。两个安检队列队首的人竞争这一个安检窗口,两个队列可能约定交替着进行安检,也可能是大家同时竞争安检窗口(通信)。后一种方式可能引起冲突:因为无法同时进行两个安检操作。在逻辑上 ...
分类:
编程语言 时间:
2020-03-05 11:54:37
阅读次数:
90
PCB进程控制块 操作系统中重要的记录型数据结构,为了记录进程状态和控制进程运行而引入。 临界资源 为了保护共享数据,不让多个进程同时访问共享资源,也是阻止多个进程访问同一资源的代码段。称为临界区。一次只允许一个进程访问的资源成为临界资源。 时间片 分时系统,CPU分配给每个进程运行所需要的时间。宏 ...
分类:
其他好文 时间:
2020-03-04 19:30:39
阅读次数:
93
操作系统基本原理 计算机的基本介绍 五大硬件: 主板:固化(寄存器,是直接和cpu进行交互的一个硬件) CPU:中央处理器:计算(数字计算和逻辑计算)和控制(控制所有的硬件协调工作) 存储:硬盘、内存 输出设备 输入设备 早期计算机以计算为核心,现代计算机以存储为核心 操作系统 操作系统是一个可以操 ...
分类:
其他好文 时间:
2020-03-04 14:50:28
阅读次数:
70
先说一下UCOSIII:Micrium在2009年推出了UCOSIII,相对于之前的UCOSII版本,在性能上有了进一步的提升,主要是支持时间片轮调度,极短的关中断事件等。 可剥夺多任务管理: 什么是可剥夺多任务管理呢?查相关资料,意思就是这个系统总是在执行当前所有就绪的最高优先级的任务。也就是说, ...
分类:
其他好文 时间:
2020-03-02 14:48:14
阅读次数:
55
习题二 1.提高单机资源利用率的关键技术是多道程序设计技术 2.批处理系统的弱点是无交互能力 3.单道程序设计的基本特征是顺序性 4.操作系统的类型批处理操作系统、分时操作系统、实时操作系统 5.1分时操作系统允许用户和计算机直接交互 5.2中断技术使得多道批处理系统和I/O设备可与CPU并行工作 ...
分类:
其他好文 时间:
2020-02-29 22:44:42
阅读次数:
392
1. LiteOS内核的任务管理 Huawei LiteOS 内核提供任务的创建、删除、延迟、挂起、恢复等功能,以及锁定和解锁任务调度,支持任务按优先级高低的抢占调度及同优先级时间片轮转调度。 1.1. 任务 在 LiteOS 中,一个任务就是一个线程,多个任务按照优先级进行抢占式调度,达到多个任务 ...
分类:
其他好文 时间:
2020-02-29 10:27:11
阅读次数:
139
1. 多进程与多线程 多进程 : 每个独立执行的任务就是一个进程 操作系统将时间划分为多个时间片,在每个时间片内将CPU分配给某一个任务,时间片结束,CPU将自动回收,再分配给其他任务 多进程的缺点:比较笨重不好切换 多线程 : 一个程序可包多个子任务,可串并行 一个子任务可以称为一个线程 在一个线 ...
分类:
编程语言 时间:
2020-02-25 14:42:52
阅读次数:
85
我们知道多线程可以实现同时执行多个任务(只是看起来是同时,其实是CPU的时间片切换特别快我们没感觉而已)。 现在假设一个做饭的场景,你没有厨具也没有食材。你可以去网上买一个厨具,但是这段时间,你不需要闲着啊,可以同时去超市买食材。 设想这是两个线程,主线程去买食材,然后开启一个子线程去买厨具。但是, ...
分类:
其他好文 时间:
2020-02-23 22:03:57
阅读次数:
98
一、 上下文切换问题:时间片一般是几十毫秒,任务从保存到再加载的过程就是一次上下文切换,多线程竞争锁时会引起上下文切换,时间片到了会引起上下文切换 减少上下文切换:1、无锁并发线程 2、CAS算法 3、使用最少线程 4、协程 死锁问题:1、尽量避免一个线程同时获得多个锁 2、尽量避免一个线程在锁内同 ...
分类:
其他好文 时间:
2020-02-22 20:01:20
阅读次数:
60