调度算法 1.时间片轮转(相当于时分复用) 2.优先级调度 并发:任务数量大于cpu核心数量(看起来像是同时进行,需要调度) 并行:任务数量小于cpu核心数量(真正同时进行,所有任务不需要调度) 程序:可运行的文件(代码),还没运行 进程:正在运行的程序(代码) fork一般不用 windows下o ...
分类:
其他好文 时间:
2018-08-16 23:49:21
阅读次数:
312
先来先服务 (FCFS,first come first served) 在所有调度算法中,最简单的是非抢占式的FCFS算法。 算法原理:进程按照它们请求CPU的顺序使用CPU.就像你买东西去排队,谁第一个排,谁就先被执行,在它执行的过程中,不会中断它。当其他人也想进入内存被执行,就要排队等着,如果 ...
分类:
编程语言 时间:
2018-08-14 21:06:57
阅读次数:
163
在一个CPU(一核)的电脑上, 程序的运行是并发运行的,调度的算法叫时间片轮转法,也叫轮询法 在多CPU(多核)的电脑上,一个CPU跑一个程序,刚程序运行数量小于核心数时,程序是并行的 并发:看上去一起执行,同时在发生 并行:真正的一起执行,同时在进行 进程的概念: 计算机程序是存储在磁盘上的可执行 ...
分类:
编程语言 时间:
2018-08-14 16:15:32
阅读次数:
173
如何理解开多线程可以充分利用CPU? <1>操作系统采用时间片轮转调度算法分配的时间片给每个进程中的线程 <2>操作系统的时间片轮转调度算法分配的时间片 在别的进程中都没有准备好( 比如在访问网络)的时候,自己的主线程也在访问网络,导致这个时间片空闲浪费了,但是当此时这个进程中有多个子线程的时候,而 ...
分类:
编程语言 时间:
2018-08-07 21:59:31
阅读次数:
176
单核cpu之所以能够实现多进程,主要是依靠于操作系统的进程的调度算法 如时间片轮转算法,在早期,举例说明:有5个正在运行的程序(即5个进程) : QQ 微信 有道词典 网易云音乐 chrome浏览器, 操作系统会让单核cpu轮流来运行这些进程,一个进程只运行2ms,这样看起起来就像多个进程同时在运行 ...
分类:
系统相关 时间:
2018-08-06 16:25:09
阅读次数:
598
理论知识 操作系统背景知识 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统,点击进入 ...
分类:
系统相关 时间:
2018-07-24 18:05:55
阅读次数:
168
本篇先介绍多任务的概念、随后介绍关于threading模块下thread类创建子线程的流程以及理解,最后关于互斥锁。死锁以及如何避免死锁等知识。而关于进程在下一篇进行介绍。 一、概念 在了解多任务或者线程等知识之前,我们首先需要对一些概念性知识有一定的了解。 1、时间片轮转 假如终端为单核CPU,而 ...
分类:
编程语言 时间:
2018-07-10 23:37:58
阅读次数:
238
什么是进程? 进程是指可执行程序并存放在计算机存储器的一个指令序列,它是一个动态的执行过程; 多任务可以同时进行什么是线程? 线程是比进程更小的运行单位,线程相当于一个子程序; cpu通过时间片轮转的方式来达到多任务同时运行的效果线程的创建: 1.创建Thread类的子类 2.创建实现Runnabl ...
分类:
编程语言 时间:
2018-07-03 12:02:02
阅读次数:
216
linux内核的三种 调度策略 : SCHED_OTHER 分时调度策略,(默认的) SCHED_FIFO实时调度策略,先到先服务 SCHED_RR实时调度策略,时间片轮转 实时进程将得到优先调用,实时进程根据实时优先级决定调度权值,分时进程则通过nice和counter值决定权值,nice越小,c ...
分类:
编程语言 时间:
2018-06-30 23:42:43
阅读次数:
244
基本概念 线程:进程中的某一个处理流程 一个进程可以有多个线程,进程是线程的父进程 所有线程与父进程共享资源 线程分类 内核态线程 由内核调度程序直接调度,充分发挥多处理器的优势 目前linux系统标准线程库采用内核线程方式实现多线程 用户态线程 一个进程包含多个线程,这些线程从内核调度角度来看只是 ...
分类:
编程语言 时间:
2018-06-23 01:31:54
阅读次数:
160