这里先说一下进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基矗在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指..
分类:
系统相关 时间:
2017-07-08 21:12:00
阅读次数:
439
只有一个CPU的情况下,比如作业系统中的调度程序,当一个作业完成后,需要在所有等待调度的作业中选择一个优先级最高的作业来执行(删除),并且也可以添加一个新的作业到作业的优先队列中(插入)。 插入操作 插入操作是将一个元素插入到队列的尾部,然后执行“上浮”操作(调整为堆) 删除操作 优先队列中,在队列 ...
分类:
系统相关 时间:
2017-07-07 23:35:54
阅读次数:
326
一般来说,操作系统能够分为五大管理功能部分: 1) 设备管理:主要是负责内核与外围设备的数据交互,实质是对硬件设备的管理,包含对输入输出设备的分配,初始化,维护与回收等。比如管理音频输入输出。 2) 作业管理:这部分功能主要是负责人机交互。图形界面或者系统任务的管理。 3) 文件管理:这部分功能涉及 ...
分类:
其他好文 时间:
2017-07-05 21:14:57
阅读次数:
146
转自:http://www.cnblogs.com/zfyouxi/p/4504042.html 这篇说说内核的进程调度机制,进程调度是内核的一个重要工作,由调度器完毕。 进程状态 内核调度器调度的实体(KSE, kernal schedule entry)是进程和线程。内核必须知道全部进程和线程的 ...
分类:
系统相关 时间:
2017-07-04 11:09:14
阅读次数:
219
原文出处: ziwenxie 优先队列是在实际工程中被广泛应用的一种数据结构,不管是在操作系统的进程调度中,还是在相关的图算法比如Prim算法和Dijkstra算法中,我们都可以看到优先队列的身影,本文我们就来分析一下优先队列的实现原理。 优先队列 以操作系统的进程调度为例,比如我们在使用手机的过程 ...
分类:
其他好文 时间:
2017-06-25 23:14:07
阅读次数:
316
3、调度函数schedule()分析 当kernel/sched.c:sched_tick()执行完,并且时钟中断返回时,就会调用kernel/sched.c:schedule()完成进程切换。我们也可以显示调用schedule(),例如在前面“Linux进程管理“的介绍中,进程销毁的do_exit ...
分类:
系统相关 时间:
2017-06-22 10:11:10
阅读次数:
347
1 可运行队列 (基于实时进程调度) 调度程序中最主要的数据结构式运行队列(runqueue)。可运行队列是给定处理器上的可运行进程的链表,每一个处理器一个。每一个可投入运行的进程都唯一的归属于一个可运行队列。此外,可运行队列中还包括每一个处理器的调度信息。所以,可运行队列也是每一个处理器最重要的数 ...
分类:
系统相关 时间:
2017-05-30 15:53:43
阅读次数:
253
0.多进程调度的本质我们都知道UNIX上有一个著名的nice调用。何谓nice,当然是“好”了。常规的想法是nice值越大越好,实际上,nice值越好,自己的优先级越低。那么为何不用badness呢? 其实。假设我们理解了操作系统多进程调度系统是一个“利他”系统,这个问题就不是个问题了。nice当然 ...
分类:
其他好文 时间:
2017-05-27 16:06:17
阅读次数:
237
cgroup限制cpu是通过进程调度子系统来限制的,因此要了解cgroup cpu子系统。就要结合进程调度子系统来看。 ...
分类:
系统相关 时间:
2017-05-26 21:41:36
阅读次数:
392
进程/线程同步的方式和机制,进程间通信 一、进程/线程间同步机制。 临界区、互斥区、事件、信号量四种方式临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数 ...
分类:
系统相关 时间:
2017-05-20 16:36:57
阅读次数:
262